The process for contributing code is evolving, based on feedback from the community and the core development team.
Contributions in the form of bug fixes will often come through our bug tracking system. For small, simple, or relatively "obvious" fixes, this medium is perfect and users should feel free to do this.
Got a Patch? File a Bug!
If you are awesome and made a code fix or patch that addresses an issue in the application, we wan to see it so we can review it and incorporate it into Benerator. Just file a bug and include your patch as an attachment on the bug.
Terms of Contribution
Databene, in accordance with many other notable open source projects, requires that contributors sign (or an electronic equivalent) a Contributor Agreement. In this agreement the contributor assigns the copyright of their contribution to Databene.
In so agreeing, the developer gets the following benefits:
- Databene takes full responsibility for the maintenance of the contribution
- Databene takes full responsibility for the testing and quality assurance of the contribution
- Credit will be maintained and attributed to the developer in the source code, documentation and web site
Why does Databene make this requirement?
The revenue generated by the Benerator commercial product supports and subsidizes the continued development as Benerator as a whole. To serve the thousands upon thousands of Benerator commercial customers, Databene requires the flexibility of being able to license Benerator in a variety of ways. In other words, Databene needs the ability to dual license Benerator.
To modify or change the licensing terms of software requires permission from all the copyright holders. Therefore, to make this process of dual licensing easiest on all parties involved, Databene asks that contributors assign their copyright upfront.
Will code I contribute ever be turned into closed source software?
All contributed source code made under the terms of GPL will always and forever be open source. That is the benefit and guarantee of the Gnu Public License and why Volker chose it for Benerator.
My copyright is important to me, is there anything I can do to retain it?
We recognize that the copyright assignment requirement may be controversial to some, which is why we provide a number of different ways people can contribute to the project without relinquishing the copyright to their code. Benerator's plugin API provides a vast number of interfaces into the product and can be used by developers to build a great many features and applications on top of the platform.
There is a great deal of precedent even for popular and valued plugins to be bundled with Benerator in such a way that allows the original author to retain their copyright.
Do I need to do a lot of paperwork just for contributing a simple bug fix?
Legally ad technically, copyright assignment is only required for contributions which are unique and demonstrate clear innovation. As such, if it a bug fix is "obvious" then no, a contribution agreement is not required.
How are contributions evaluated and on what basis are they accepted?
All incoming code contributions are evaluated by a reviewer. Incoming contributions are reviewed to ensure security and the integrity of the overall product.
The reviewer will also assess the contribution's adherence to the overall objective and mission of the overall project. To that end, the reviewer first determines if a contribution is better implemented as a plugin in an effort not only to keep the core platform as lean as possible, but also to give end users as much choice as possible regarding how they wish to extend the core platform with additional functionality. If the reviewer feels that the contribution is best implemented as a plugin then he/she will encourage the contributor to package their contribution as such. If it is determined that changes are needed to the core to facilitate such a plugin then the reviewer will encourage the contributor to resubmit a smaller patch that will enable such a plugin to be built.