Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A few suggestions to attract contributors and make the project more robust #35

Open
1 of 6 tasks
wetneb opened this issue Jul 19, 2019 · 4 comments
Open
1 of 6 tasks
Assignees
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@wetneb
Copy link

wetneb commented Jul 19, 2019

Hi!

This project is great! It seems to be very advanced, I will try to play with it. If you are interested in growing this as an open source project, there are a few things that could be improved:

  • use tests as part of the development, and keep an eye on test coverage. This should be done even at early stages: the later you start doing it, the more painful it gets;
  • add continuous integration to run these tests automatically to review changes;
  • add a LICENSE file which contains the stated license (AGPLv3), this will let GitHub (and many other tools) detect the license of this software;
  • use tags and releases to provide the compiled snapshots of the software;
  • do not ship dependencies as .jar files stored in the repository: Maven/Gradle can already fetch them from the project configuration. When using an IDE, just use plugins to integrate with one of these build systems. That makes Eclipse project creation much easier (the configuration is directly derived from the build system config);
  • use informative commit messages, which link to the issues that they solve. For instance if you add "Closes #123456" in your commit message, this will automatically close the corresponding issue.

These little habits should make development much more pleasant, and they will lower the bar for other contributors (be they from your team or external).

@wisnesky
Copy link
Contributor

Welcome to the project! I have added a license file. Let me speak to a few of your other points:

  • There is a "self-test" menu item in the IDE that runs all the built-in examples and checks for exceptions. It would be great to extend that test to capture row counts and also integrate with e.g., Travis CI.
  • A few folks (most recently @phreed, aka Fred, who I can't seem to tag here) have created maven/gradle configuration files before, but they are out of date. It is indeed better to use maven to fetch dependencies, but even with those scripts working I like to keep jars in the repo, even if they aren't used, so that the whole project is self-contained.
  • We do plan to move to tags and releases (and a signed jar), but the pace of change is still high enough that we aren't quite ready to do that yet. It will probably happen later this year. The IDE does have an auto-update now (this is relatively recent).

There is also this for me to do:

  • Comment the code

@wisnesky wisnesky added good first issue Good for newcomers help wanted Extra attention is needed labels Jul 19, 2019
@wisnesky wisnesky self-assigned this Jul 19, 2019
@wetneb
Copy link
Author

wetneb commented Jul 20, 2019

Great! But the license you have added is just the preamble that is designed to be added as header to the source files, I think. It is generally expected that you put the full text of the license:
https://www.gnu.org/licenses/agpl-3.0.txt
This way GitHub should detect it more easily.

@wisnesky
Copy link
Contributor

Oh, ok, fixed!

@wetneb
Copy link
Author

wetneb commented Jul 20, 2019

Awesome, now it registers the license correctly:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Development

No branches or pull requests

2 participants