I asked Stu on the booze bus about the purpose of contrib apart from being a stage for libraries which might get included into core. He noted that having a set of libraries for which provenance is assured is a strong selling point for getting clojure into certain types of organizations, ones which otherwise might use clojure, but eschew the notion of, say, needing to pull down random github code.
Amortized over the life of ones contributions, the hurdle of printing, signing, and mailing one document is negligible, while the potential rewards of an ever larger pool of clojure adoption is significant. On Oct 19, 10:00 am, Rich Hickey <richhic...@gmail.com> wrote: > We are taking several steps to improve contrib and the facilities used > to host Clojure development. The goal is to make it easier and more > desirable to work on the Clojure project, and encourage more libraries > to be developed within the project. > > There are several impediments to people working in or on contrib, and > within the Clojure project. The community is obviously vibrant, as > there are many independent libraries. But fewer people work on Clojure > itself or on libraries intended for inclusion in Clojure. I'd like > that to change. > > Although there have been recent efforts to make contrib more modular > from the Maven perspective (thanks Stuart Sierra!), it is still a > monolithic repo. Logically, the individual libs are more independent > than the repo structure would indicate. It should be much easier to > obtain, build, version, distribute, branch, test and modify individual > libraries. > > Some of these problems flow from historical choices made by the > project. In particular, without money, boxes and the staff to maintain > machines on the net, I chose free project hosting service providers - > first SourceForge, then Google Code, and most recently GitHub and > Assembla. In all cases, there was a tension between project and user > management and code granularity. It would have been difficult to > manage the contrib libs as independent projects/repos. > > Several things have changed recently that enable a better strategy. > GitHub has added an organization feature that lets us manage users at > the organization level and put multiple repos under the organization. > Contegix is donating a hosted box so we can run our own server (thanks > Contegix!), and the Clojure/core team now exists and is (voluntarily, > and among other things) providing much needed administrative support > (thanks Clojure/core team!). > > The New Model > > Contrib libraries will be independent repos under the Clojure GitHub > organization. All contributions to these libraries will be > contributions under the CA (therefor, no pulls). The primary authors > will have substantial independence in terms of versioning. branches > and releases etc, and it will be easy to obtain and work on a contrib > library a la carte. > > We will be moving from Assembla to a self-hosted installation of the > Atlassian suite, which they generously make available for free to open > source projects (thanks Atlassian!). It will give us a superior wiki > and bug tracking system. We will initially have support for Jira, > Confluence and FishEye, and will be able to centrally manage users > with Crowd. > > Individual contrib projects will get documentation and planning space > in the Confluence wiki, and a dedicated subproject in the Jira > tracking system. > > Contrib is not a Standard Lib > > People often ask if contrib constitutes a standard library. It has > always been a goal of contrib to support exploratory work of the > community that might or might not become part of Clojure proper, so > the simple answer is no. As volunteer open source efforts, each > library is likely to differ in quality, maturity and attention level. > In that respect, they don't differ from all of the other libraries on > GitHub. And with the new model, you will be using the same criteria in > evaluating a contrib library as you do any other open source library - > documentation, participation, recommendations, activity, stability, > bug reports etc. And you'll only consume as much of contrib as you > desire. Libraries will succeed on their merits. It is our plan to > reserve the 1.0.0+ designations for the more mature and widely > accepted libraries when they reach that point. That's as much > sanctioning as I anticipate for the near term. > > You've Got to be In it to Win it > > Why work within the Clojure project? Because you want your work to > eventually become part of Clojure and the Clojure distribution. You > want to tap into the core development effort and have an impact on it. > You are interested in collaborating on how best to make a set of > things work together in a coherent way, as Clojure does. > > Isn't the GitHub free-for-all easier? Yes, but with this new setup, > only very slightly so. The easiest thing is not necessarily the best > thing. Participating in a project involves cooperation and compromise, > and stewardship implies responsibility. > > Moving Forward > > We will be working on getting the existing contrib libraries moved > over to the new model. Meanwhile, I'm happy to announce three new and > exciting contrib libraries that are kicking off the new model: > > Chris Houser's Finger Tree -http://github.com/clojure/data.finger-tree > Chas Emerick's Network REPL -http://github.com/clojure/tools.nrepl > Michael Fogus's Unification Library -http://github.com/clojure/core.unify > > These are terrific contributions, and good examples of things that > will have the greatest impact by being part of the Clojure project. > Thanks guys! > > There are still some infrastructure things being worked out as regards > Confluence, Jira etc, and the Conj is keeping everyone busy at the > moment, but I expect this all to be in full swing shortly thereafter. > You can follow along here:http://dev.clojure.org/ > > I'm looking forward to seeing many of you at the Conj! > > Rich -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en