| = Contributing |
| |
| Apache Felix is a volunteer effort, so there is always plenty of work that needs to be accomplished. |
| If you want to help support Felix, this page is intended as a starting point for specific contribution ideas. |
| To further understand how the Felix community operates, refer to the https://www.apache.org/foundation/how-it-works.html[Community Roles and Processes] document and/or join the xref:community/project-info.adoc[mailing lists]. |
| |
| The Felix project organizes its "to do" list using the https://issues.apache.org/jira/browse/Felix[JIRA] issue tracking system. |
| Specific items from Felix' JIRA issue tracking system are highlighted on this page, but are not limited to it. |
| The purpose of the list here is to highlight issues that are either more important or serve as good entry points for new contributors. |
| |
| It is important to point out that you do not need to be a programmer to contribute to Felix. |
| As such, we will break out the list of issues below for non-programmers and programmers. |
| |
| == Non-Programmers |
| |
| * Improve web site or documentation (e.g., create/propose FAQ entries). |
| There is no specific JIRA issue for this task, but any contributions could be posted as new JIRA issues for the Documentation component. |
| |
| == Programmers |
| |
| Before contributing, make sure to be subscribed to the xref:community/project-info.adoc[developer mailing list]. |
| If you don't have your own issue to scratch, you can browse open issues in https://issues.apache.org/jira/browse/Felix[JIRA] and submit a patch. |
| |
| Source code contributions fall into two categories: pull requests or grants. |
| This document describes both and how to handle each. |
| |
| === Pull Requests |
| |
| A pull request is a small change to existing code, typically in response to a bug fix or improvement. |
| If you have created a change, you should: |
| |
| . Create a https://issues.apache.org/jira/browse/Felix[JIRA] issue (or find a pertinent existing issue) describing the issue needing to be addressed. |
| . Create a pull requests against the git repository containing the code. |
| . The pull request will eventually be reviewed and applied (if accepted) by a Felix committer, but feel free to bug us [nicely]({{ refs.nicely.adoc) if you get impatient. |
| |
| Providing pull requests is a very good way to become a committer at Felix, since we'd rather have you review and apply the patches than us. |
| :-) |
| |
| === Grants |
| |
| A grant involves donating a larger chunk of code developed elsewhere. |
| The line dividing a patch and a grant is sort of like the definition of pornography, we know it when we see it. |
| The steps for granting software are a little more complicated since we need to ensure proper IP handling. |
| For grants, you should: |
| |
| . Verify that you have the authorization to donate the code. |
| . Review our xref:development.adoc[developer documentation] as well as the general https://www.apache.org/foundation/getinvolved.html[Apache documentation] to determine whether you would really like be involved with us and how we work. |
| . Assuming you're still interested, create a https://issues.apache.org/jira/browse/Felix[JIRA] issue describing the code you wish to donate. |
| . Attach an archive containing the code along with an MD5 signature of the archive to the above issue. |
| You should remove any existing headers from the source files and add the standard Apache header to each. |
| Note that you keep the rights to your code and can do anything with it you want, you will just grant us the right to use it too. |
| . Allow the community time to discuss the contribution, after which a vote will be called to accept the contribution. |
| . If the vote passes, then you will need to submit a https://www.apache.org/licenses/software-grant.txt[software grant] form. |
| . It is also a good idea to submit an https://www.apache.org/licenses/icla.txt[ICLA] to ease future contributions. Depending on the company you work for, they may also want to contribute a https://www.apache.org/licenses/cla-corporate.txt[CCLA], although this isn't strictly necessary from an Apache point of view, since it is your responsibility to verify your ability to submit an ICLA. |
| . Once all of this information is received, then we will gather it and perform https://incubator.apache.org/ip-clearance/index.html[IP clearance]. |
| . After a few days, if no red flags are raised, then we'll commit the code and we're good to go. |
| |
| Granting code is also a path to committership at Felix, since we look more highly on contributions from developers who wish to stay involved in the continuing evolution and maintenance of the donated code. |