WARNING: This is the _old_ Lustre wiki, and it is in the process of being retired. The information found here is all likely to be out of date. Please search the new wiki for more up to date information.

Difference between revisions of "Contribution Policy"

From Obsolete Lustre Wiki
Jump to navigationJump to search
 
(34 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Lustre Check-in Policy =
+
<small>''(Modified: July 2013, FURTHER CHANGES PENDING)''</small>
  
== Submitting Patches for Review ==
+
Before you contribute code to Lustre® or obtain write access to the Git repository, you must sign a Contributor Agreement] and return it to [mailto:lustre@xyratex.com lustre@xyratex.com]. We require this step for several reasons:
  
To have your changes accepted into a mainline Lustre branch, you must have your code reviewed and approved. The following steps will speed up your review and increase the likelihood of success:
+
* We need to make sure that you only contribute code that you own. By certifying that you wrote the code (and that you control the rights), you take legal responsibility for your contribution.
  
1. Read, complete, and return the form found at http://www.lustre.org/contribute.html We can't accept your contributions without it.
+
* By agreeing to joint ownership of the copyright, you make it easier for us to protect the project and company from license violations, as only the copyright holder is empowered to act against violations (see the [http://www.gnu.org/licenses/why-assign.html Free Software Foundations's comments] about this topic).
  
2. Generate a patch with the "-upN" flags to diff or cvs diff. Please don't send other kinds of patches unless your reviewer requests them.
+
* By signing the agreement, you also make it possible for us to continue to sell and distribute Lustre under other licenses, including non-free licenses. This business model is what pays the bills, allowing us to maintain and improve Lustre, release the code under an open source license, and participate in open development.
  
3. Find or file a bug for your issue at http://bugzilla.lustre.org/ . Read the Bugzilla user guide for more information.
+
Because you remain a copyright holder of the code you contribute, you can use the code  in almost any fashion. Of course, this only applies to the software that you contribute, not software written by others.
  
4. Attach your patch as an Attachment (not a comment):
+
We will gladly acknowledge your authorship in the source code. If you make a substantial contribution, please update the boilerplate at the top of the source file as part of your patch.
* Provide the patch as an Attachment, and select the Patch box.
 
* Edit the new attachment. Under "Flags" select "Review" and the question mark.
 
* Enter the email address of the person who should review.  If you haven't been collaborating with someone, and don't know who should review your work, try [mailto:bugs@clusterfs.com bugs@clusterfs.com]
 
* Submit the attachment update.
 
  
5. One or more reviewers will submit comments regarding your patch. Iterate until you receive approval on the patch or the bug is closed.
+
Finally, if you write software for a living (or attend a university),  your organization may own all of the software that you create. In this case, you have three options:
  
6. Once you have approval, commit the patch (or ask for it to be committed for you, if you don't have CVS access). Note the bug number and reviewer in the commit message, along with a concise description of the change.
+
* Have an officer or authorized representative of the organization contribute the software.
 +
* Get an officer or authorized representative of the organization to waive its rights to your software so that you can contribute it yourself. In this case, please enclose a short waiver signed by the officer.
 +
* Do not contribute the software.
  
This applies even if you have write access to the CVS tree -- if you don't follow these steps, expect your changes to be backed out of the tree without warning.  We have to be strict, or the chaos becomes unbearable.
+
You are responsible for making sure that you control the rights to the software before you contribute it. If in doubt, please consult your organization or an attorney. If you ever find that you have contributed software that you shouldn't have for any reason, please notify us right away.
 
 
== Branches ==
 
 
 
Our current policy is that anyone may create and maintain a private branch in CVS. We ask, however, that you observe the best practices outlined in this document. It will save you a lot of effort, I promise.
 
 
 
----
 
*'''[http://wiki.lustre.org/index.php?title=Front_Page FrontPage]'''
 

Latest revision as of 10:50, 24 July 2013

(Modified: July 2013, FURTHER CHANGES PENDING)

Before you contribute code to Lustre® or obtain write access to the Git repository, you must sign a Contributor Agreement] and return it to lustre@xyratex.com. We require this step for several reasons:

  • We need to make sure that you only contribute code that you own. By certifying that you wrote the code (and that you control the rights), you take legal responsibility for your contribution.
  • By agreeing to joint ownership of the copyright, you make it easier for us to protect the project and company from license violations, as only the copyright holder is empowered to act against violations (see the Free Software Foundations's comments about this topic).
  • By signing the agreement, you also make it possible for us to continue to sell and distribute Lustre under other licenses, including non-free licenses. This business model is what pays the bills, allowing us to maintain and improve Lustre, release the code under an open source license, and participate in open development.

Because you remain a copyright holder of the code you contribute, you can use the code in almost any fashion. Of course, this only applies to the software that you contribute, not software written by others.

We will gladly acknowledge your authorship in the source code. If you make a substantial contribution, please update the boilerplate at the top of the source file as part of your patch.

Finally, if you write software for a living (or attend a university), your organization may own all of the software that you create. In this case, you have three options:

  • Have an officer or authorized representative of the organization contribute the software.
  • Get an officer or authorized representative of the organization to waive its rights to your software so that you can contribute it yourself. In this case, please enclose a short waiver signed by the officer.
  • Do not contribute the software.

You are responsible for making sure that you control the rights to the software before you contribute it. If in doubt, please consult your organization or an attorney. If you ever find that you have contributed software that you shouldn't have for any reason, please notify us right away.