If you think you've found a bug or would like to see a feature in one of the upcoming releases, file an issue. Please make sure that your explanations are clear and coherent; do the homework of understanding the problem and searching for existing solutions before posting.
If you're in a hurry, the fastest way to have bugs fixed or features added are code contributions. Good code contributions, to be precise; if you want to contribute, read on ...
Before writing any code, please read the
Pull requests are our favorite channel for code contributions and the quickest way to get your fix or feature upstreamed and released. Here's a quick guide.
-
Fork the macchina.io repo
-
Keep your repo synced with the upstream to ensure smooth progress (i.e. that your changes do not interfere or conflict with someone elses's work). Note that the develop branch is where most of the ongoing development happens. For new features or libraries, create a new branch with a descriptive camel-cased name. See the mentioned branching model for details.
-
Write the code changes; make sure they compile
-
Write the tests (if applicable, and it is in most cases); make sure they pass
-
Test your changes (preferably at least on major platforms - Linux, Windows, Mac)
-
Send pull request with a descriptive and clear commit message
At this point, it's our turn; if you've done everything well, we may just thank you and merge your request. Otherwise, we may provide some comments or suggestions to steer the contribution in the right direction.
Q: Is there any type of contributing license agreement that I have to sign to contribute new features to macchina.io?
A: Currently, you are not required to sign a contributing license agreement. What we require is that you put all your contributions under the Apache 2.0 License. Also, for contributions that go into existing libraries, you are requested, for reasons of maintaining consistency, to assign the copyright to "Applied Informatics Software Engineering GmbH and Contributors", by putting the corresponding license header in your source file (see the existing source files). If you want to contribute a complete library, you are free to keep the copyright to yourself, if you want, as long as you put the sources under the Apache 2.0 license used by macchina.io.
Q: How can I get write access to the Git repository?
A: For simplicity purposes, we keep the direct write access to the main repository within a small group of core contributors. Since git forks, merges and pull requests are very easy and simple, this was not an obstacle so far. If you believe you really, really need write access to main repo, please contact the project maintainers at [email protected].