Contributing to OpenLayers
OpenLayers was originally created by MetaCarta, Inc., and is a project of the OSGeo Foundation. As described in the BusinessCase, OpenLayers aims to become "the Apache of web mapping APIs" by providing a powerful, unified, open source framework for building web-based mapping applications using data from any source. OpenLayers intends to enable commerce and encourages people to use OpenLayers for profit and non-profit activities alike. Contributors to OpenLayers help achieve these goals.
For a full list of Contributors to the OpenLayers project, see http://openlayers.org/dev/doc/authors.txt
Contributors License Agreements
OpenLayers is open source and welcomes contributions from the community of people finding value in it. To accept contributions, the OpenLayers project needs contributors to submit a Contributor License Agreement, which is similar in substance to the Apache Foundation's contributor agreement.
This document guarantees that we will be able to transfer copyright in the code to the OSGeo Foundation, when the time comes.
You can indicate your agreement by simply emailing a completed copy of the agreement to openlayers-cla_at_lists_dot_osgeo_dot_org.
- Individuals should submit the Independent Contributor License Agreement (ICLA)
- Corporations should submit the Corporate Contributor License Agreement (CCLA)
The OpenLayers copyright is held collectively by all contributors, referred to OpenLayers Contributors. The purpose of the Contributor License Agreements is to clearly define the terms under which intellectual property has been contributed to OpenLayers and thereby allow us to defend the project should there be a legal dispute regarding the software at some future time. This allows us to cleanly transfer OpenLayers to OSGEO.
For a list of individuals and companys participating in OpenLayers with signed CLAs, see: CLA
Submitting Code, Documentation, etc.
- Create an issue: If you have found a bug or a feature that you would like added to OpenLayers, please file a ticket in the OpenLayers github issue tracker.
See FilingTickets for more info on how to provide a useful description of your bug or feature.
- Create a pull request: If you have a patch that fixes the bug or implements the feature, you should take the following steps:
- Fill out a Contributor License Agreement -- See above.
- Create a pull request' -- See CreatingPatches for info on the prefered way to make a pull request.
- Email the list -- Send an email to openlayers-dev(at)lists.osgeo.org with a brief summary of (and a link to) the issue and any relevant notes about your pull request. Please be sure to state clearly that you would like to have the pull request reviewed.
- Wait for review -- A project committer will review your ticket ASAP!
- All code, examples, etc. from the github repository is made available under the 2-clause BSD license - aka the FreeBSD license.
Acquiring and Using Repository Commit Privileges
- Anyone can request that the SteeringCommittee give them the ability to commit changes directly to https://github.com/openlayers/openlayers.
Generally, we prefer to give committer access to developers who have demonstrated expertise and committment to the project.
- Any changes to master, aside from improvements to tests and documentation, shall first be submitted for review as a github pull request. (see Submitting Code above and TrunkCommits for more detail).
- A pull request must only be done on master if the committer feels reasonably confident that the patch:
- We consider the act of committing code to the repository to be implicit acceptance of the project's published procedures.
- Commit messages should be informative, and should mention any author of the patch if the author is not the committer.
- When committing code changes, include the ticket number that the commit is designed to resolve in the commit message, for future tracking.
Code changes should not be made without a corresponding ticket. Github will automatically pick up on messages with text in a specific format, to help you manage tickets from commit messages. Including text of the form:
- (Closes #925) -- Closes the ticket (with the revision number and commit message added as a comment).
- (References #925) -- Adds a comment to the ticket with the commit message.
- If the patch is from a new contributor, ensure that the user has sent in a CLA before committing and add the contributor's name to doc/authors.txt when committing.