What I’ve learned at SourceForge

Today I’ll be leaving SourceForge and taking a role at RedHat. Please don’t think for a moment that it’s because I don’t like SourceForge. I continue to think that SourceForge does community *way* better than either Github or Google Code, and while there are places where the platform can improve, the team that’s working on it is one of the finest bunch of engineers I’ve ever had the privilege of working with.

Here’s a few of the many things I’ve learned at SourceForge.

People are passionate

Every time I talk to anybody about my job, I mention two projects: PonyKart and OpenMRS. These projects illustrate to me how people can be passionate about anything. Having talked with the leads of both of these projects, I’m blown away by their passion for excellence.

Of course, these projects could hardly be more different.

PonyKart is a My Little Pony themed Mario-Kart style game. It’s fun. The physics are well done. The courses are well designed. The community is very engaged. And it has My Little Pony characters in it. The guys that did this project wanted it to be a MLP game, but they also wanted it to be excellent. They wanted it to be fun. They wanted it to be *good*. They are passionate about it.

The OpenMRS project is a medical records system that was developed for a hospital in Kenya that had a hacked-together Access database monstrosity, and it was faster and easier for these guys to hack something together than to try to fix what was there. But that wasn’t enough. They were passionate. They wanted it to be done right, and they wanted hospitals all over the world to benefit from it. And now they have a non-profit dedicated to giving this product away to hospitals in developing nations that need it. These guys are my heroes.

I am continually blown away by the quest for excellence, and the vast range of ways that it manifests itself.

People are kind

I’ve met amazing people in my time at SourceForge. These people are helpful, kind, patient, and, as I’ve mentioned, passionate. For the most part, people get that I’m human and can’t solve all of their problems immediately. They get that we all have the limitation of time and resources.

Most people *don’t* throw tantrums or demand their way. For this I am very grateful. I’m glad to have met a few of the nice people.

People are cruel

Sure, SourceForge is the underdog right now. I get that. It’s not necessary to be a jerk.

It’s hard to remember, when people are being jerks, that they’re in the minority. Most people are, in fact, nice. But the jerks are very loud.

I’d like to remind the jerks that the folks who happen to be developing their project on the SourceForge platform are passionate, and they are pragmatic, and they are doing something useful while you fling mud at them.

’nuff said.

People are pragmatic

Tools are tools. They are not your children.

For the most part, people want to get a job done, and they use the tools they have, because the focus is the task, not the tools. Once, we used CVS and MailMan and we *liked* it. SVN is better. Some people like Git better. But if we had to use CVS and MailMan, you know what? We’d still get stuff done.

Religious debates over the relative merits of DVCS and CVCS systems are all well and good over beer at conferences, but most of us have a job to do, and we don’t have time for that indulgence. You may, in fact, be right, but I don’t have that kind of time.

I grow very weary of the This vs That flame wars that have characterized the IT world for so long. Perl vs Python, VI vs Emacs, Linux vs Windows vs Mac, Git vs SVN. The thing is, if you’re a professional, you need to know *all* of them, and you’re not coming across as brilliant, you’re coming across as only knowing one tool. Nice hammer. Sometimes a screwdriver is useful.

But, much as most people are nice, it turns out most people are pragmatic. Most people don’t have time for those debates either. They want to get their job done. I really appreciate having met a lot of those kinds of people.