The Ruby Community Is Dead, Long Live Ruby Communities

by Gregory Brown

The title of this post is the title of a talk I'll be giving at NYC Ruby on February 12th.

Aside from blatent self promotion, I'm actually posting in search of opinions and thoughts to incorporate into this discussion, so that I can give a little more of a balanced account beyond my own crazy ideas.

Here's my short and rather vague description of what I'll be talking about:


Lots of people come to Ruby or stick with it because of the community, but what does that mean? In this short talk, we’ll take a look at what the Ruby community has meant over time, what it means now, why it’s dead, and why that’s not a bad thing. Not quite as depressing as it sounds, this talk will focus on how specialized groups such as local Ruby communities, regional conferences, and individual projects have developed their own distinct culture while still being impacted by the Ruby community of old.


What I'd like to know is what readers here have experienced with both "The Ruby Community" as well as Ruby communities in general. This could range anywhere from describing the general feel of your local Ruby users group to picking a bone with some of the 'untouchable' aspects of Ruby culture.

I've been trying to make my talks a bit more interactive in a sense, hoping to simply set up a discussion rather than pontificate, so having hearing your opinions will help me do that. In return, I promise to write another post titled "Why the Ruby community matters, and why it doesn't" which will summarize any thoughts people have shared as well as the content of next week's talk.

Anyway, looking forward to your thoughts. Feel free to be as bold as you'd like, and if you don't want to be credited for your words, just post anonymously.

13 Comments

JEG2
2008-02-05 07:51:55
The current Ruby community has definitely changed from the community of old. The Rails explosion brought us a bunch of new faces and that has changed things: for better and worse in different cases.


I don't hold to the theories of those that feel resources like the Ruby Talk mailing list have been lost to the hordes. The content is different there these days, but there is still content and good content at that. It just requires a bit of a different approach now.


I do agree though that the local communities and conferences have become the refuge for those of us who still need our Cheers-like community fix. I am preferring those interactions for my Ruby fix these days.

Sjaq
2008-02-05 08:28:55
I'm just starting with Ruby, but I just can't find any good community to learn Ruby. The only thing I can find on the web are RoR communities, and I don't like RoR as I like speed. So if someone has any recommendations it would be great ;)
Pat Eyler
2008-02-05 08:30:01
I'm a bit less optimistic about the ruby talk mailing list than JEG2 is (I know too many people who have left it, and find it too hard to track these days). It also seems that we've lost some of the friendly exchange that used to prevail there.


As JEG2 also said, local users groups (with their own mailing lists) regional conferences, and blogs are doing a great job of providing a new, friendly, resources.


I miss the old world, and worry that this means there's a lot more reinvention of the wheel becauses most people aren't looking beyond their own little islands of Ruby happiness. I'd love to see a better transmission of memes between these pools of light.


I also welcome the new world. I appreciate the different points of view that having Java, PHP, Perl, Erlang, etc. mixed into our Ruby community has brought. I enjoy the breadth of books and blogs that come with wider popularity.


I wouldn't trade, or try to bring back the past, but I'd love to see us all make a better effort to keep (or bring back) the good things we used to enjoy. It puts me of a song my daughter used to sing when she was a girl scout:


Make new friends, but keep the old. One is silver and the other, gold.

Brian Doll
2008-02-05 09:37:54
Communities take on many forms, be they based on location, interest or ownership. What certainly piqued the interest of many early community members was their shared interest in certain idioms present in the design of the Ruby language. As this early community developed, those interests evolved into a sense of ownership. Open Source facilitates the ability for the participants to become must more than end-users, but adjunct creators evolving the language over time.


Small communities of any type can grow a bit stagnant and uninspired over time. While there may be some bravado to be tossed around when you're a big fish in a small pond, and your language is too cool to be a "corporate sellout", that can't sustain a community for long.


Rails, for better or worse, has brought countless numbers of people to Ruby. With this influx of people and attention, the community stretches to accommodate, it's disjointed and spread thin, but undoubtedly grows in every way imaginable. New ideas and perspectives are vetted against the "old guard" of the early Ruby community and certainly both sides have something to learn from the other.


Most successful OSS projects have been held close to the vest initially, and became truly "open" only after some emotional milestone was passed. This is true for Linux, Ruby and Rails. That milestone has also passed for the Ruby community at large. While there may be a "death" to the original, small and somewhat esoteric community of Ruby, one that exists now mostly in folkloric tradition, passed on from one IRC session to another, the new Ruby community is bigger, more vibrant and inclusive.


Jeremy
2008-02-05 12:17:31
One question that you probably need to ask is this: aren't these new "smaller" communities really about the size of the "old" community?


I think communities reach a critical mass at some point where there are too many people to be useful. Churches or software development companies are a good example of this. Churches realized in the 70's and 80's that while having a 10,000 person church allowed them to do a lot more because of the bigger resource pools, people weren't really fellowshipping with one another like they once did (and should be). So from then on, you see a huge tendency to create small groups within the church, where people can be in touch with one another in a more intimate level, thus creating the atmosphere of a small faith community the bigger environment of the church.


Same idea with software development teams in the 90's. Agile is great in its own right, but I think it's strongest point is the tight feedback loop. As software became more complex, software teams _had_ to grow to meet the software's complexity. So we saw these huge teams that were really ineffective because of the lack of cohesion, slow feedback, disparate goals, etc. Agile was a return to the hacker groups of the days of old: 8-10 guys and gals just hacking some code, bouncing ideas off each other, and giving quick feedback. These teams inside the larger organizational structure were/are very effective at building software faster and better than their larger counterparts.


I think we're simply experiencing this inevitable split. As the community grows, we can't be nearly as effective unless we recreate the "communal" feel of it. Of course, the larger community needs to exist so the language and goals of the community can move forward, but this, shall we say, microcosmization (new word!) is not a bad thing. These small groups let us focus on specific goals, meet with one another more often, etc. etc.

Geoffrey Grosenbach
2008-02-05 14:53:02
An organism dies when it ceases to change. When things stay the same, they die (especially in the computer industry).


The Ruby community may not be the same as it was one, two, or five years ago, but that's a good thing. New members in the community are looking for education and enlightenment, but this doesn't mean that the community is being watered down...it just means that the community needs to define itself and express that to those inside and outside of the community.

Tom Dyer
2008-02-05 19:35:41
I not really that connected with the Ruby community, in the large. But, I've been pretty active with the local Boston Ruby group. I've really enjoyed the mtgs and the talks, oh and thanks Gregory for making the trips to talk to us.


But, I've always really enjoyed the war stories that developers talk about when we let go. I've had the most fun and biggest laughs about the nutty schemes and hypo-maniac entrepreneur types that gravitate towards the startup world and can totally jerk us around. Or the corporate games, greed and crappy technologies that have been fisted upon us. At least it can be funny in hindsight.


I was watching Zed Shaw's talk on InfoQ yesterday and just cracked up about how he's developed this great language for these common experiences, YakShaving, Steak and Strippers,... A good DSL for, at least, some of our experiences.


This is the kind of stuff, story telling, laughing,... and getting all hyper'd up about geek stuff is what I'm looking for in a community. Be it small, big whatever.



Dr Nic
2008-02-05 22:53:13
What's an example of an '"untouchable' aspect of Ruby culture'?
Gregory Brown
2008-02-05 22:57:44
@Dr Nic,


MINASWAN is one.

Jayson Williams
2008-02-07 09:13:39
What I have noticed most about the Ruby community as a whole, is that although it is united behind the Ruby language, it is also largely fractured, because of the nature of the language. The Ruby language comes closer to a spoken language than any other programming language I know. The thing is, that with spoken languages, many dialects arise because of how flexible language is. People who speak one dialect sound peculiar to those who speak another dialect, and don't communicate as efficiently as with people of the same dialect. Ruby is an extremely flexible language. In the same way that spoken languages develop dialects, Ruby is also developing many dialects of its own. I have not seen this sort of division in other programming languages. It appears that large Ruby communities break up into smaller groups, or either exclude some dialects all together. For example, if you post to Ruby-Talk, asking a specific question on bindings for a GUI toolkit, you are likely to get very few, if any responses. The GUI dialect, (if you will) is almost completely ignored. I have seen this with several topics that receive little to no response. On one of the largest Ruby community there is, some topics will get very little attention. I don't think this is necessarily a problem, but I would say it is tied to the nature of the language, and not the community itself. This is were the small groups seem to serve the biggest purpose.
Gregory Brown
2008-02-07 11:22:49
Thanks to everyone for the great comments. I'm reserving my responses for after my talk, but your feedback definitely has me thinking...
Phlip
2008-02-08 08:05:03
What's an example of an '"untouchable' aspect of Ruby culture'?


When I was a kid, we played Dungeons and Dragons. My brothers and I studied the rules carefully and played advanced games. Once when we joined a community game at a library, we learned these kids were playing a doggerel version of the game. They essentially played "kick the door in" style, without regard to alignment or role playing, and they maintained "house rules", such as "you drop your weapon on a natural roll of 0".


Ruby - especially Rails - is a "post Agile" environment. Lean code, developer tests, incremental releases, and extreme flexibility are never questioned. However, much of the community thinks they have learned software engineering, in general, when they have really only learned one specific implementation of it - the Ruby way.


This is primarily a blessing. We can all remember pre-Agile systems, like Visual Basic Classic, that fought tooth-and-nail against unit tests and build scripts. Even a casual introduction to Agile development would have been better than debugger-driven development.


But the downside is people who consider themselves advanced Ruby maintainers will sometimes mistakenly think they are discussing software engineering when they are only discussing the Ruby community's house rules.


This inhibits communication.

todd
2008-06-10 09:37:59
As a newbie who in real life has a Ph.D. in social psychology, I would point out that ruby and rails are hot now but history tells us that as organizations grow they have to change. If businesses come to the community and are disappointed by a low quality book, training, presentations or websites then the growth will not sustain itself. That is, perception is critical. What the ruby and rails community needs to sustain itself is a quality experience for new members. In particular, it needs positive experiences for members who develop successful businesses using ruby or rails. That is, ruby and rails are at the point where quality control, integrity and easy access to the right way to do things becomes essential to success. So far there has been a lot of talk about the advantages of ruby and rails. Now it is time to illustrate those advantages with business success. If Rails and ruby fails to achieve those successes people will feel the community has promised more than it can deliver and that could be a very unhappy outcome for the wonderful community. Look at what made the older languages popular. Was it the language or was it their willingness to devote time in training and developing traditional programmers and making the language attractive for businesses?