How To Become a Contributor

Contributors must sign the Clojure Contributor Agreement prior to submitting changes. The Contributor Agreement (CA) gives Rich Hickey and the contributor joint copyright interests: 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.

By executing the CA, contributors protect the ClojureScript site content and protect the flexibility to adapt the project to the changing demands of the community. In order for the CA to be effective, the ClojureScript 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 ClojureScript, 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.

Content is written using the asciidoc format, which is similar to Markdown. The Editing page lists examples of the most common things you will encounter when editing content on this site. Make your changes in the text box. You can preview your changes using the "Preview changes" tab. GitHub understands asciidoc format and will provide a formatted preview of your changes.

Write a concise description of the change in the bottom section of the page then click "Propose file change". This will fork the original repository into your own version of the repository with the change applied.

You will then be shown a "Comparing changes" page - all of the information should be filled out automatically and a summary of your changes will be at the bottom - this is a good time to look them over one more time. Assuming it all looks correct, you can propose the change back to the original repository by clicking "Create pull request". You’ll then be able to add a comment to the pull request itself then click "Create pull request".

Submitting Large Changes

For any major changes, please open an issue first and discuss the change before spending time on it.

If you are going to create an entirely new page or make significant changes requiring multiple commits, you will likely find it easier to work using command line tools.

git clone the forked repository in your local terminal and cd clojurescript-site.

git checkout -b <branchname> - create a new branch to work on your change. You’ll use this branch to submit a pull request.

Make one or more commits on this branch, modifying or adding one or more files. See the section below on how to build and preview changes locally. The Editing page lists examples of the most common things you will encounter when editing content on this site.

Use git push to push your changes to the branch.

Go to https://github.com/username/clojurescript-site/tree/branchname.

Click the green button to "Compare, review, and create a pull request" and proceed through the prompts to submit the pull request.

To actively contribute to the site, it’s important to keep your own fork up-to-date with this repository. To do that: