Contributing to op4j: Terms

In order to contribute to op4j, there are some terms with which you must agree:

Who can contribute?:

  • Anyone, with the unique condition that he/she must be a private individual, acting in his/her own name, and not being endorsed in their contributed work by any company or government.
  • Note that this condition will not only refer to the ownership of the effort invested in contributing to the project, but also to the fact that no private or public company will be mentioned as a a part of your contribution on the project's website or code, including but not limited to email addresses or package names.

About your contributed code:

  • First and important: your code must both compile and work correctly. Also, the addition of any new patches to the codebase should not render it unstable in any way.
  • There should be no compilation warnings.
  • All your code should follow the Java Code Conventions. The only exception for this is that column limit is not the usual 80 characters (this is a matter of convenience -just don't make them 200 characters long and it will be OK).
  • Remember that indentation is made of four spaces, not tabs.
  • All your code should compile and run in Java 1.5, and it should be easy to read and understand by a human.
  • All public methods and classes directly available to the op4j users should have comprehensive javadoc (e.g: functions, operators), and code should have a reasonable amount of comments in it (when needed, of course, not just comment for the sake of comment).
  • All comments, names of classes and variables, log messages, etc. must be in English.

About your relation to the op4j project:

  • First and most important: please, don't feel any obligation to do anything. If you like/want/feel happy about contributing, go for it. If not, don't feel any kind of commitment just for having discussed technical details with the project maintainers or other members, just leave it behind and it will be absolutely fine, even if it is after months and you have already coded thousands of lines.
  • You will be @author for any new classes that you code and also co-author to any existing classes to which you make significant changes. Of course you can say "no" to this, but unless you do, it is a matter of basic fairness to give the credit and merit to the person who deserves it.
  • Your contributions will be applied as patches that you will send to the project maintainers, and you will have the consideration of contributor in the team page. This means that you will not have read+write direct access to the CVS repository. This is something reserved for developers who are author to a very significant percent of the total code base. Of course, this consideration can change in the future.
  • And importantly: You will have to take the required measures, under your entire responsibility, to ensure that neither you nor the company/ies you work for will ever claim any rights over your contributed code, and that all the code you contribute is original and will rise no claims over its intellectual property by any third persons or companies. Also, you agree to contribute your code or documentation completely for free and under the terms established by the Apache License 2.0 in a time-unlimited basis.

Contributing to op4j: Steps

If, after carefully reading the above terms, you are willing to contribute some of your effort to op4j, first of all... THANK YOU!

The steps you should take are:

  • 1. First, send an email to the project maintainers talking about the new features or fixes you would like to contribute. Don't forget to include your full name :-).
  • 2. If your contribution is approved, send the project maintainers an email including a copy of the terms above, with your complete name, and stating clearly that you agree with these conditions.
  • 3. If you work for a company which, by the way or place in which your code was written, by your contract terms or by the laws in your contry, could claim any rights (including intellectual property) over your contributed code, you will have to send the project maintainers (either by email from your authorised superiors or by signed fax), a statement indicating that your company agrees with the terms explained in this page, and that it both authorises your contribution to op4j and states that will never claim any kind of rights over it.