Contributing to ClojureScript

Following the lead of other open source projects, the ClojureScript project requires contributors to jointly assign their copyright on contributed code. The Contributor Agreement (CA) gives Rich Hickey and the contributor joint copyright interests in the code: the contributor retains copyrights while also granting those rights to Rich Hickey as the open source project sponsor.

The CA is derived from the Oracle Contributor Agreement (OCA), used for OpenJDK, Netbeans and OpenSolaris projects and others. There is a good OCA FAQ answering many questions.

The CA does not change the rights or responsibilities of the Clojure community under the Eclipse Public License (EPL). By executing the CA, contributors protect the Clojure code base, enable alternative licensing models, and protect the flexibility to adapt the project to the changing demands of the community. In order for the CA to be effective, the Clojure project must obtain an assignment for all contributions. Please review the CA for a complete understanding of its terms and conditions. By contributing source code or other material to Clojure, you represent that you have a CA with Rich Hickey for such contributions. In order to track contributors, you understand that your full name and username may be posted on a web page listing authorized contributors that is accessible via a public URL.

Instructions for submitting the agreement

Making a contribution

Before you invest time working on a change, discuss what you’re trying to do with others on the Clojure Dev Google group. They’re likely to be able to offer comments and suggestions that will result in a higher-quality change and a smoother submission process. Announcing that you’re working on a particular item can also help to avoid wasted effort in case someone else is already working on it. Once you’ve submitted the CA, you can submit patches via JIRA. Frequent and trusted contributors of more substantial libraries may be granted committer membership in the Clojure contrib projects.