Jul 5, 2011

True Community is What YOU Make it

Roy Osherove’s post on "True Community”™ has been making the rounds on the twitterz in the last 24 hours (or as some people have called it “Yet Another Leaving .NET Post”).  I feel like I should respond with some thoughts.

First up, let me say I applaud Roy for making his views clear and talking about the differences in the communities and the speed at which the Ruby/Rails community is driving forward.  I thinks it great that someone showed enough courage to switch from one technology to another and begin the learning process all over again.  What I have a problem with is the deriding of the technology/community you leave.  It’s a pretty simple reason too.

The Ruby/Rails community and the .NET community are different communities!  There’s no such thing as “True Community”, just community.  Calling your community anything else is simply hyperbole, elitism and idealism.

Of course the two communities won’t be the same! They’re made up of different people. Neither will one community be inherently better than another.  They are just made up of different people.  An apple is not inherently better than an orange or a banana, just because it’s a different fruit.  And just because you’ve decided that you like your new community because it’s more akin to your personal tastes, doesn’t mean that those in the other community are ignoramuses, fools, ill-treated and misguided or troglodytes.  These sort of attitudes won’t and don’t help anyone.

We’re all developers and we all want to make the best software we can using whatever our chosen technology is.  If you don’t like the way your technology or community is progressing or you like the look of other groups more and you leave, that’s fine.  Go for it. Be awesome no matter where you go.  However if you do leave, don’t then berate those who stay or point out only the negatives as you see them.  Constructive criticism is welcome.  Criticism that exists just to validate your decision to move is not.

The Ruby/Rails community is still quite small and young and thus is able to change rapidly and innovate quickly.  It won’t last forever, it never does, but there’s a lot to like about a community like that, and a lot that everyone can learn from it. I get that. Truly I do.  I wish there was more of that going on in the .NET space.  Look at the Java and .NET communities on the other hand. They’re much larger and more prone to innovation impedance, making it harder to change things and for .NET in particular when management places more focus on what Microsoft produces to the exclusion of better solutions there can be some real problems.

On the flip side, while Roy makes some strong points about Microsoft not valuing the community, I think they only apply to certain parts of the business.  It’s not like that everywhere, and it’s changing.  I was on an open source panel on the weekend at the DDD Sydney conference and stated that we’re seeing a gradual change of Microsoft’s attitude towards their open source developers and the developer community in general.  The move from closed source to grudging acceptance of open source to a willing approval and active contribution to open source in the community at large has been a slow transition, but it is happening.  Why? Because of the very community that Roy complains about is driving change! Groups like Alt.NET that are looking for ways to push things forward regardless of what Redmond says do have an influence.  We see the change because of outspoken and community focused people like Roy himself, and others like Ayende Rahien, Sebastian Lambla, Jeremy Miller, the Herding Code guys, the Microsoft MVC team (who have strong community roots) and many, many more.

People that realise that community is what you make it!

So, you don’t like something in a community you’re in? Then what are you doing to improve it.  If the answer is “nothing”, then either stop complaining or get off your butt and get active.  It’s pretty simple really.  Change your community or change your community.

On a side note, the keen eyed amongst you will notice that Roy’s post didn’t mention the JavaScript community? Why? There’s just as much innovation and excitement happening in that space, if not more.  What makes them different? Why don’t we see “I’m leaving .NET for JavaScript” posts? Is it because their community is inclusive by nature and the Rails community is elitist? Is it because the technology is server side agnostic? Is it something else?  You know what.  Who cares! It’s just another community.  One from which everyone can learn.

Nothing says you need to be exclusive.  You like .NET, Visual Studio & IntelliSense?  Wonderful.  Go contribute to your local .NET community.  You like Ruby and the Rails framework and enjoy the innovation in that space? Fantastic. Go contribute to your local Rails community.  You like Java and think there’s still a lot of improving that can be done there? Brilliant. Go contribute to your local Java community.  You like JavaScript and think modern browsers have the power you finally need to make some kick ass software? Excellent. Go contribute to your local JavaScript community.

You get the point.  The community is made of you so go influence your community.



  1. "MS don’t deserve .NET developers who want to get better, because MS aims at developers who *don’t* want to get better. just developers who want to *stay where they are and have a job until they die*."

    Never read such ridiculous nonsense in my life. Anyone who can look at, for instance, the content coming out of MIX11, and say that MS aims at developers who don't want to get better is simply being intellectually dishonest.

    The Ruby community may be vibrant and forward-thinking and all that - although I've never met a Ruby enthusiast that I would *want* to be in the same community as, and Roy's post confirms that feeling. But it's ironic to accuse Microsoft of being behind the times, in a blog post which clearly shows that the author is still living in the 90's in his perceptions of Microsoft's activities.

  2. Sounds familiar :

  3. I didn't think Roy's post was that bad - he made several good points.

    But this post is about community.

    Working as I do in my day job primarily with C#/.NET and a bit of Ruby I consume content from the .NET community (and provide it when I can). When I program for enjoyment and personal use I mostly use Ruby and I consume content from the Ruby [on Rails] community. I value both communities highly.

    There is a problem in the .NET community in that so many members of the community burn bridges and write "Yet Another Leaving .NET Post" - I mean look at the term created to explain just that! There is a dearth of people who are excited to leave Ruby [on Rails] and hop back into [or join] .NET land. (Though there is evidence out there, I have read it - once.)

    Something needs to happen in the .NET community to bring developers back or failing that at least keep them happy enough to _not_ burn bridges. My money would've been on IronRuby and I would've lost that money.

  4. Have to say I didn't think Roy's post was bad either. A community centred around a technology developed by a large corporation is bound to be different to one that is more community based. Many development shops wouldn't touch anything not developed by Microsoft with a big stick. That kind of conservativeness is bound to reflect itself onto the community.