Guidelines for Contributing

OpenLDAP encourges contribution of Open Source software and documentation from the community. We have adopted various guidelines to facilate integration of contributed software and documentation. This document details guidelines for contributing.

To submit material for consideration, use the Issue Tracking System.

Programmers should also read our Programming Guidelines.

Contents:

General Guidelines

We accept contributions of both complete LDAP related software packages (known as contribware) as well changes (e.g, patches) to existing OpenLDAP Software package and its associated documentation.

patches

Each software change should be consise, self-contained, and made against up-to-date source code. That is: Generally, the patch(es) should be made against the HEAD of the master of the OpenLDAP Git repository.

Publications and such

The OpenLDAP Project welcomes contributions of independently-authored LDAP-related articles, papers, and other publications.

contribware

The OpenLDAP Project welcomes contributions of independently-developed stand-alone LDAP-related software packages suitable for distribution separately from existing packages (e.g., OpenLDAP Software, JLDAP, JDBC-LDAP). If you are the author (and owner) of such a package and would like to contribute it to the OpenLDAP Project, please send email to project@OpenLDAP.org.

In general, contributed software packages should work with current releases of OpenLDAP software.

Submission Formats

Submissions should be submitted as a patch suitable for integration into the OpenLDAP Git source repository using git-am(1). Specifically, you should use git-format-patch(1) to construct the patch. Please review patches before submission to ensure only required changes to intended files are included in the patch AND all the intended changes are included in the patch.

Generating Patches

git format-patch HEAD^

IPR Notice Guidelines

All contributions must be Open Source and must be provided with appropriate notices. Please provide the appropraite notices in the body of the issue filed for the patch in the Issue Tracking System. Note that if you assigned your rights in the materials you wish to contribute to another party, such as your employer, this party (or their authorized agent) must make the contribution. These guidelines are primarily written for individual contributors. Corporate contributors will need to make some adjustments to the notices.

Notices for OpenLDAP patches

Disclaimer: This is not legal advice.

If providing a patch for a different OpenLDAP package, e.g. OpenLDAP JLDAP, replace each occurance of "OpenLDAP Software" below with the name of that package.

Files containing patches representing significant blocks of new code (10 lines or greater) must include a notice of origin:

The attached patch file is derived from OpenLDAP Software. All of the modifications to OpenLDAP Software represented in the following patch(es) were developed by <YOUR NAME> <YOUR-EMAIL-ADDRESS>. I have not assigned rights and/or interest in this work to any party.
This notice must be followed by an appropriate rights statement.

If the patch is derived from other works, you must include a detailed description of these others works. The description should include specific references to the location where these works can be obtained, such as URL to their location on the Internet.

If you have assigned rights and/or interest in this work to another party, such as your employer (possibly through your employment agreement), you must state which rights you have assigned and to whom. For instance, "By virtue of my employment agreement with EMPLOYER-NAME, I have assigned my rights and interest in this work to EMPLOYER-NAME."

Below is an example notice for someone making a contribution on behalf of your employer:

The attached file is derived from OpenLDAP Software. All of the modifications to OpenLDAP Software represented in the following patch(es) were developed by <YOUR-EMPLOYER>. <YOUR-EMPLOYER> has not assigned rights and/or interest in this work to any party. I, <YOUR-NAME> am authorized by <YOUR-EMPLOYER>, my employer, to release this work under the following terms.
This notice must be followed by an appropriate rights statement.

For small modifications (bug fixes, minor enhancements, etc.), we suggest the modifications be placed into the public domain so that they can be freely incorporated into OpenLDAP Software (as well as other works).

I, <YOUR NAME>, hereby place the following modifications to OpenLDAP Software (and only these modifications) into the public domain. Hence, these modifications may be freely used and/or redistributed for any purpose with or without attribution and/or other notice.
A corporate example:
<YOUR-EMPLOYER> hereby place the following modifications to OpenLDAP Software (and only these modifications) into the public domain. Hence, these modifications may be freely used and/or redistributed for any purpose with or without attribution and/or other notice.

While you may use the above for large modifications as well, you may desire to maintain rights in your modifications. However, to ensure license compatibility, we require all contributions (your modifications) to be provided under compatible terms. Hence, we suggest the following statement be used:

The attached modifications to OpenLDAP Software are subject to the following notice:

Copyright <YEAR> <YOUR NAME>
Redistribution and use in source and binary forms, with or without modification, are permitted only as authorized by the OpenLDAP Public License.

By making this statement, you are allowing redistribution and use of your modifications under the same terms as OpenLDAP Software itself.

Alternative rights statements will not generally be accepted. The OpenLDAP Foundation should be contacted at foundation@OpenLDAP.org prior to submitting patches with alternative right notices.

One alternative not discussed here is copyright assignment. If you wish to assign copyright you hold in contributions to OpenLDAP Software to the OpenLDAP Foundation, please contact The OpenLDAP Foundation at foundation@OpenLDAP.org for instructions.

Notices for contribware

Contact the OpenLDAP Foundation at foundation@OpenLDAP.org for guidance.

Note: contributions for inclusion in OpenLDAP Software or other OpenLDAP distributed software packages (JLDAP, JDBC-LDAP) do not fall in this category. Follow the patch instructions above.

Submitting Contributions

To submit your contribution, use our Issue Tracking System. This requires you to fill out a simple web form. Be sure to use an appropriate subject line as well as provide details concerning your patch in the body of the message. The above notices should also be placed in the body of the message. Then provide a Uniform Resource Locator (URL) of your patch. Do not include, attach nor append the patch itself. Our ITS system doesn't handle such things well.

Uploading Files

If you do not have publically accessible internet server to locate your patch or tarball on, you may upload it to ours using ftp(1) to our server's (write-only) incoming directory.

UseCommands
Initiate FTP session % ftp
ftp> open ftp.openldap.org
User: ftp
331 Guest login ok, send your email address as password.
Password: your-email-address
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd incoming
250 CWD command successful.
ftp>
Upload patch file
Requires ascii (text) transfer
ftp> ascii
200 Type set to A.
ftp> put
(local-file) patch
(remote-file) your-name-YYMMDD.patch
local: patch remote: your-name-YYMMDD.patch
200 PORT command successful.
(...)
226 Transfer complete.
(...)
ftp>
Close FTP session ftp> quit

________________
© Copyright 2014, OpenLDAP Foundation. Privacy Statement
$Id: 3c2bbf0dbc312584172f0a192cc3c924fcdcdbd2 $