Try to see the situation from the lead developer perspective (e.g. Rich's perspective). I have been through the "head-punching", as you call it and I don't want to put words in Rich's mouth but I do see things differently.
To lead a project you need to make design choices. To make those design choices you have to take a lot of factors into account. Those factors are optimized based on a lot of considerations, most of which are stated in the project goal or justification. As you say, "people who do not agree with the choices appear". When they do, they generally advocate a particular position that is in conflict with the project goals or justification. Or they advocate for a new direction that gets rejected. These "advocates" are of two varieties. Either they are casual contributors (posters to the mailing list) or developers who have invested a lot of time and effort going against the goals. The "posters" who disagree tend to choose particular topics that they find familiar (e.g. autoconf, eclipse, emacs, maven, etc.). These lead to mini-flame wars (head-punching, bike-shedding). The developers who disagree tend to choose particular topics that they have invested time and effort to develop code. These lead to forks. In either case, as the lead developer, you constantly have to justify your choices. The design space has a lot of freedom so you have to make choices based on your best judgement. Not everyone will agree, as you can see. This causes a great deal of stress on the lead developer, which you DON'T see. Defending every choice from every poster and developer takes a lot of time and effort. What is particularly frustrating is the people who ignore your effort to communicate. If you justify using Google Closure (as Rich has), if you justify leaving out eval (as Rich has), if you justify changing certain language features (as Rich has), then it seems reasonable to expect that people pay attention to the goals and choices. It is very tiring to keep repeating "the choice has already been made", especially when code is being written to support that choice. As you say, "the language matters to them". Of course it does. It also matters to Rich. The reason it "matters" is that Rich is doing an excellent job navigating the design space based on his considerable experience. He is solving deep problems, like the expression problem, in novel and creative ways. He is making tradeoffs based on a lot of factors (unlike the posters) which take into account project goals such as important performance questions. Posting emails about "who's unhappy with ..." is not constructive criticism. And when it ignores already stated goals or justifications it can only result in anger. As a Common Lisper, I see that Rich is dancing all over my religious beliefs, but that seems to be my problem, not his. If it makes me unhappy that's also my problem. Being unhappy with design choices is NOT Rich's problem. So why would I use Rich's mailing list to complain? While it is fine to say "get involved in head-punching" I think it is important to realize that it is Rich's head being punched. Tim Daly On Sat, 2011-07-30 at 01:26 -0700, Alexander Yakushev wrote: > The moment I saw the previous controversial topic - about "yes > language" push - I realized that Clojure has become mature. When the > people who do not agree with some choices appear not just outside but > in the community itself - it means that the language matters to them > despite the parts they don't like. Matters enough not to just say "Ah, > screw it, I'll just switch to FooLanguage". > So, sit back, get involved in head-punching and just enjoy Clojure > being a grown-up. > -- 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