Zed Shaw is one of the most visible members of the Rails community. He posted a rant last week bidding farewell to Rails claiming that Rails is a Ghetto
. He is leaving the Rails community and putting Ruby behind because of the shortcomings that he perceives there:
I've more or less kept my mouth shut about some of the dumb and plain evil stuff that goes on in the Rails community. As things would happen though I'd take notes, collect logs, and started writing this little essay. As soon as I was stable and didn't need Ruby on Rails to survive I told myself I'd revamp my blog and expose these f***s.
As you can see from the tone of the opening paragraph, Zed has lots of issues with the Rails community. Is Rails is perceived as a fragmented community by other users, or is it Zed's unique point of view being vented?
Nobody questions Zed's contributions to various open-source projects like Mongrel and Rails
. The same things that brought him the respect of the open-source community and many professional development teams are the main drivers for his departure:
I've been thinking this over ever since I realized that Mongrel and Rails more or less killed my career. During 2006 I was effectively homeless for about 4-6 months out of the year and made no money at all. During the rest of the year the little money I made was impossible to get, and many times I was simply not paid.
The rest of the rant enumerates grievances that Zed has against other people in the Rails community, former clients, former friends, and so on. Because of the tone of the write up, it's easy to dismiss the rant as a tantrum gone wrong.
There may be legitimate issues in the Rails community and Zed's rant may help expose them. The tone of his blog, however, is turning off the very people who'd benefit most from learning about it. A couple of Mongrel users, for example, have asked if this means that the project will no longer be maintained, whether the code may have a Trojan that could sabotage live code, and so on. Many IT professionals still aren't well-informed about open-source communities in general, the differences among them, or the subcultures that they spring. The tone of a rant like this scares them and turns them away from open-source projects, and detracts from data points that may be worth discussing, such as:
How did ThoughtWorks go from 0% Rails business to 60% Rails in just a few short months, but somehow didn't hire that many top notch Ruby guys? Remember, if 60% of your business is Rails then 60% of your people need Rails training or else you have to hire more people. If they didn't hire any more people than that means...the people they had were retrained. With two week training courses. Huh? How does that make them experts?
What happens if you do that is you have a group of former C# and Java guys running around writing s****y Ruby code and training on the client's dime for huge fees...They'll continue to screw customers over by training their employees on their client's dime and write tons of f****d up software. The bad results from ThoughtWorks will kill Ruby on Rails for companies as these companies are left with a bad taste from bad implementations.
Singling ThoughtWorks out is another example of perceived-grievance-over-substance, but otherwise the comment is valid. How many times have organizations engaged consulting firms only to find out that the "experts" that they brought some times know less about the technologies than their own in-house staff? And how many millions of dollars are wasted on failed projects because of this?
Zed's rant is relevant to all software communities because we all live in glass houses, and it's easy to dismiss him and pretend that all is right in our backyard, or ignore it because of its tone. Was this rant in bad taste? Probably. Is it a cautionary tale for the rest of us who participate in various development communities? Probably.
Are our various development communities breeding a Zed-like character who feels slighted by our collective actions, or by those of our clients or employers? Despite the validity (or lack of it) of the points made, a rant like this gets a lot of attention and may end up hurting professional projects and teams by association, especially in the sensationalist climate that surrounds us. How do we avoid falling in this trap?