We are excited about people using our software and we welcome contributions from our users.
Anyone wishing to contribute code or documentation to the EFS repository will need to:
To be able to contribute code, you must do the following:
Submit the signed document:
When your Contributor Agreement has been received by the EFS team, a team member will notify you whether it has been accepted or rejected due to incorrect data entry (like missing a physical signature), and what the next steps are.
See the child links below to see instructions on actually contributing your code once you have been accepted as a contributor.
Once your Contributor Agreement has been accepted, you can then submit code:
To see the process we use to accept contributions please see our Contribution process.
Thank you for your contribution!
We also have mailing lists you can contribute your experience with EFS and discuss issues or questions you may have. Also, check the child links below for more information and other contribution options.
| Attachment | Size |
|---|---|
| EFS Contributor Agreement.doc | 35.5 KB |
Code contributions are made as patches attached to tickets. After a ticket with an attached contribution is made, it is reviewed by the EFS project team. Public discussion about contributions is made either on the efs-dev mailing list, or as comments within the ticket. Status changes, like acceptance and rejection, are always made in the ticket system.
Contributors who have provided patches which are included in a release are mentioned in the AUTHORS file inside the release.
If you encounter an error while working with EFS, and don’t understand what is causing it, then create a bug report.
However, if you do know how to fix the problem you encountered, then think about submitting a patch, or getting commit privileges (see below).
Try to keep your patches specific to a single change, and ensure that your change does not break any tests. Do this by running
make test
If there is no test for the fixed bug, please try to provide one.
The preferred method of creating a patch is to use the current head of master in the EFS git repository. This ensures that the patch works with the most recent EFS source code, and makes it easier for the EFS team to apply the patch.
git clone git@git.openefs.org:efs-core.git
$ cd efs # ...modify code... $ git commit -a
$ git format-patch origin/master # generates a patch file (e.g. 0001-foo.patch)
Each and every patch is an important contribution to EFS and it’s important that these efforts are recognized. To that end, the Authors file contains an informal list of contributors and their contributions made to EFS. Patch submitters are encouraged to include a new or updated entry for themselves in AUTHORS as part of their patch.The format for entries in AUTHORS is defined at the top of the file.
If you have a new feature to add to EFS, such as a new test:
cd efs-core diff -u /dev/null newfile.t > newfile.patch
Trac creates a ticket for the submission, and you will receive an automatic reply with details of the ticket identifier. This identifier should be used in all further correspondence concerning the submission.
Everyone on the list sees the submission, and can comment on it. An EFS project team member will make sure you have submitted your EFS Contributor Agreement before the patch or feature is accepted. A developer with git commit authority will commit it to git once it is clear that it is the right thing to do.
Even developers with git commit authority stick to this scheme for larger or more complex changes, to allow time for peer review.
A list of all unresolved tickets is available.
You may wish to apply a patch submitted by someone else before the patch is incorporated into the master branch on the git origin.
For single diff patches or svn patches, copy the patch file to efs, and run:
cd efs patch -p0 < some.patch
For recursive diff patches, copy the patch file to workingdir, and run:
cd workingdir patch -p0 < some.patch
In order to be on the safe side run ‘make test’ before actually committing the changes.
Sometimes new files will be created in the configuration and build process of EFS. These files should not show up when checking the distribution with
git status
The list of these ignore files can be set in .git/ignore:
cd <efs-core root directory> vim .git/ignore # modify list of ignored files, and save...
If git status is now ignoring the correct files, submit a patch as described above.
The http://www.openefs.org website is hosted in a Drupal CMS. Submit changes through the usual ticket interface in Trac.