I can imagine that the people that are and have been working hard on Clojure would be dismayed by this odd chunk of unfortunate FUD. As someone that does contribute a little bit of my time to Clojure and the community, I know I am.
* three years of absolutely breakneck progress (dare I say innovations) on almost every possible front
* the fabulous success of the first-ever Clojure conference just two months ago (http://first.clojure-conj.org) where a variety of very significant chunks of work by a number of core contributors were first announced
* the "opening up" of the contrib library space (http://dev.clojure.org/display/design/Better+infrastructure+...), with three new separately-managed contrib libraries implementing finger trees, unification, and a common REPL library (https://github.com/clojure).
* the modernization of the project's infrastructure: moving to self-hosted JIRA+confluence, a big push on utilizing hudson maximally, and support for getting all project artifacts (from Clojure itself down into all contributed libraries in the Clojure organization) flowing into Maven central
……and surely more that I'm not aware of.
I can't speak to the cadence of patch application, as I'm not involved in that side of the house. Maybe volunteering to help vet patches would help, maybe not.
In any case, it's an open effort; if you want to see movement on a particular front, step up and do something. Otherwise, idly speculating on things being "stalled" (especially "publicly" vs. just in IRC) is, frankly, bullshit, and could be detrimental to further uptake of the language and enthusiasm of volunteers that are actively contributing.
On the other hand, if core people are going to slow down for a time, they would be wise to delegate responsibility to those who do want to continue coding on it in the mean time; having simple patches linger for six months (http://www.assembla.com/spaces/clojure/tickets/315) chills the enthusiasm of contributors. Having every single patch need approval of a single person is a policy Clojure has outgrown; somehow I don't think Rich is going to find something wrong with this substring patch that a lesser mind wouldn't have caught. (http://dev.clojure.org/jira/browse/CLJ-688)
tl;dr: Clojure isn't dying; it's growing, and the patch submission process needs to be revised.
None of us appreciate having our ongoing effort characterized as 'stalled'. Everything in the commit log, Jira and Confluence activity streams belies that. More people are actively involved in improving Clojure than ever.
As for CLJ-688 - it's an enhancement request. Do you think every idea for an enhancement that anyone has should make it into Clojure? I don't - it would quickly become a huge mess. If not, then someone has to look at everything and decide.
Yes, there is a backlog from when it was just me, and it will take a while to whittle down. We have finite resources and have to prioritize. I can assure you we have more important things to concentrate on than your negative index substring enhancement, and are doing so. You'll just have to be patient. Or, if you insist, I'll just reject it now because a) IMO it's goofy, b) you can make your own function that works that way c) we don't get a free ride from j.l.String, d) it begs the question of negative indices elsewhere...
Want Clojure to be a free for all? - Sorry.
Can't cope with the necessity for prioritization given finite resources? - Sorry.
Want top priority? - Sorry.
tl;dr: This blog post is the idle chatter of people who are not involved in the Clojure development process in any significant way. Lau has never submitted a single patch. Apparently his free lunch isn't arriving fast enough.
Well TBH I'm not to thrilled that a few lines from a private chat would get splattered over the HN front page without much context either.
> Can't cope with the necessity for prioritization given finite resources? - Sorry.
Said resources are a lot more finite than they could be. There are many capable folks in the community who would be willing to help. I brought this up last year and people seemed eager to help, but the official response was silence:
Anyway, keep up the good work; if you at any time decide you don't want to waste time with the boring stuff keep in mind that there are lots of people who can help ease the burden.
>Said resources are a lot more finite than they could be.
That is arguable. If hundreds of people came up and said they wanted to help there would be real challenges in managing their efforts. It is something we'd have to grow into, in any case. I still contend dropping all impediments to rapid, ill-curated contributions is a recipe for a complete mess. As it stands, the 30-day report here (http://dev.clojure.org/jira/browse/CLJ) says 14 issues created, 14 resolved. So, we are at least keeping up, and many times doing better than that. The best way for folks at large to get involved is to patch bugs. Defect issues with patches are our first priority. I don't see any reason why we won't soon approach the no-known-outstanding-bugs state I used to maintain by myself in the early days. Enhancements are low priority.
Helping out at a higher level is something you earn by participating. If someone I don't know says they've screened a patch from someone else I don't know, what am I supposed to do with that? There is an ever-growing circle of people I trust, and, to the extent they have time to work on Clojure, I am taking advantage of that.
>There are many capable folks in the community who would be willing to help.
Being willing to help and helping are two different things. Helping means doing what needs to be done, not just what one feels like doing. If I gave someone commit rights and they whipped through and applied all outstanding patches they wouldn't be helping me or Clojure, however good it might make the patch submitters feel.
I guess Clojure is just too conservatively managed for your taste. That's fine, but I think it is the appropriate route for a language, even if it means it is somewhat slower and more of a hassle to participate in than the latest github project du jour.
It's hard to do both new dev + maintenance on any big project, much less a language so many of us feel personally invested in. Looking back to this time last year, there is a lot more infrastructure in place and on the way that builds a base for managed growth. I'm hopeful that once process stuff gets smoother it will be easier to streamline and offload some of that work. If Linus can do it, Rich can do it too.
The patches I've contributed to core have gone in (or been bounced) appropriately in reasonable time frames. One bug I submitted even got a patch from a first time contributor! That's good stuff.
Chas and everyone else in the community, many thanks for the tremendous efforts this year - I can't wait to see where we go in 2011.