Friday, May 1, 2009

Marketing And Leaders

Rails is a community which owes its existence to marketing more than any other open source community I am aware of. To some extent marketing even influenced its API design; many of the convenience methods are in there to make it easy for newbies to get started.

DHH is a great programmer but he's terrible at calming down panicked legions. Chad Fowler is not a great leader. Prag Dave is just silly. He blogged about speaking at RubyConf, where he said "maybe we should fork Ruby", and spoke about it as if it were an epic controversy - this after numerous people spent several years of work on several different versions of Ruby. These projects had already forked Ruby when Dave made his "controversial" suggestion. The Rails Activists are not exactly doing a great job of promoting Rails or improving its image. And Obie Fernandez is, like Matt Aimonetti, apparently happy to throw away all his credibility rather than consider the possibility that he might just have been wrong about something.

In short, we have great marketing but terrible leaders, leaders so bad they're becoming terrible marketing in their own right. Except here's the thing: I don't care. I think the marketing matters more than the leaders. In the age of git, anyone can fork anything - and the truth is that the real leaders are the people who got us on git, not the people who speak at conferences. I work with guys who contribute way more code than me, people like Rick Olson and Jeremy McAnally, and when they disagree with me, they win. Because they write more code.

Consider something else: regional conferences like RubyFringe, GoRuCo, and MountainWest RubyConf are much better experiences than RailsConf. That's a matter of opinion, but I think there are enough people who share this opinion (nearly everybody who's been to both names the regionals as better) that I can just consider it near-factual. What does that mean? We've got great marketing, terrible leadership figures, great regional conferences, and an awful national conference. That means the marketing works at bringing people into the community, but Rails conferences can't scale (heh heh) and we have a problem with egotistical people hogging the spotlight.

Consider something else: when it comes to technical leadership, our leaders kick ass. Chad Fowler, Prag Dave, and many others disappear from the picture, because nothing they do actually makes a difference in terms of code at all. DHH might piss people off left and right, but when it comes to writing code, he's a terrific leader. Consider how he incorporated elements of Merb while renaming them in ways which clarified their purpose.

Consider also: RailsConf has had Joel Spolsky, Paul Graham, and Ze Frank speak. None of these people know anything about Rails. All of them have provocative opinions that are related to what we do. That makes them great for a big conference because they can operate as conversation starters. Maybe that's all our community's "leadership figures" are.

3 comments:

> He said "maybe we should fork Ruby", and spoke about it as if it were an epic controversy - this after numerous people spent several years of work on several different versions of Ruby.

This actually wasn't what he was talking about at all. Alternative implementations try really hard to work exactly like Ruby via the RubySpec project. He was talking about changing the definition of the language itself, not its implementation. If you don't think this is controversial, you probably don't talk to the implementors much.

And keep in mind that PragDave wrote RDoc. While it's somewhat reviled now for its quirky 2002-era ruby idioms, the Ruby ecosystem would be much poorer without it and the pickaxe. It wasn't till 2006 that the third English Ruby book appeared.

Dave was a fantastic technical leader but it's not 2002 any more. Dave himself has posted about why RDoc is terrible these days, and to his credit he feels bad about it and wants to clean it up. I don't think there's any shame in writing something so useful that people are still using it even when the tech has advanced to a point where it looks awful. That's an achievement. You can say the same thing about gems. Gems made Ruby into what it is today, yet RubyGems is a Subversion that hasn't yet been discovered and eaten by its GitHub. The code is full of cut-and-paste duplication and people complain about gems on Twitter all the time. Gems, RDoc, and Rake are all legacy at this point. (Try Thor for a day and see if you can enjoy Rake ever again.) Being a technical leader seven years ago is not the same thing as being a technical leader today. You have to keep leading in order to remain a leader.

Honestly, this is part of why the Ruby community acts so crazy all the time. We've got very strong technical leadership in DHH, who has a huge ego, and has attracted people to the community who have their own huge egos. There's this cadre of early adopters who we're overwhelming with our jostling and ego, and the only member of the earlier generation who can keep us in line at all is Martin Fowler.

As a calm, fair, reasonable community, we're a fucking disaster, but as an exciting place where unusual things happen, we have our moments. It would be nice if everything calmed down and we could add some semblance of sanity to the way we organize our gatherings, but that's not going to happen.