Clojure, its contrib libraries, and ClojureScript, are distributed under the Eclipse Public License. Anyone can submit bug reports or enhancement requests by creating a ticket on JIRA (a list of tickets categorized by project is here), and attach a patch implementing the change if they desire. Only patches written by someone who has signed a Clojure Contributor Agreement (CA) will be considered for inclusion. Instructions for submitting a CA, and a list of the contributors are given here (over 600 800 contributors as of September 2013August 2014).
If you do not wish to submit a CA, you can also participate in discussions in the Clojure Google group or the #clojure IRC channel, and someone else may become interested in implementing your ideas.
For Clojure, there are several contributors with the authorization to be Clojure screeners (there are 9 screeners as of Feb 2013 – the list is here). They examine Clojure tickets and patches, deciding what to do with them. If they approve of a ticket with a patch, then Rich Hickey also examines the patch. If he approves, then the patch is committed.
The project leads, Clojure screeners, and Rich Hickey all work on Clojure as volunteers, in their spare time, many of them since 2007 when Clojure was first released.
Other articles that may be of interest:
Signing the Contributor Agreement grants Rich Hickey joint ownership of your contributions. In exchange, Rich Hickey guarantees that Clojure will always be available under an open-source license approved by either the Free Software Foundation or the Open Source Initiative.
The requirement to mail a signed CA on paper was set up in 2007 (TBD: verify if that is the correct year), before there were as many choices for electronic methods as exist today. It is the most easy to defend if there were ever a legal challenge to the copyright of any of the Clojure code. There has been some discussion in October 2012 on the Clojure Dev Google group about allowing electronic submission of CAs, too, but there is no process in place for that yet.
Link to Clojure Dev discussion thread
my CA email confirmation say "Clojure CA (between <my-company> and Rich Hickey) is Signed and Filed!"
This is a quirk of Adobe EchoSign specific to users whose email account is already associated with an Adobe EchoSign account. In those cases, EchoSign will use the company name from your existing profile in the subject line rather than the individual name that was signed on the form. Don't worry! This has no effect - the agreement is as signed and attached in the email.
Other projects hosted on GitHub accept pull requests. Why not Clojure?
Rich Hickey prefers to evaluate patches attached to JIRA tickets. This is not to make it more difficult for contributors, or for legal reasons, but because of his work flow preferences. It is easier for himworkflow preferences. The process of creating JIRA tickets and patches is documented and not terribly difficult.
Link to Oct 2012 Clojure Google group message from Rich Hickey on this topic
But what about all of the people who won't contribute if you don't change your process to suit them?
If some people choose not to go through the steps for the current process, that is unfortunate. The process of creating JIRA tickets and patches is documented and not terribly difficult. We understand that submitting a physical signed CA is slow and/or expensive from many parts of the world, and hopefully there will be an electronic method in place in the future.