Thursday, March 1, 2007

What makes an Open Source Company?

Earlier this week Nat Torkington noted that there are an awful lot of companies out there that are calling themselves "Open Source" in some way shape or form, but aren't really all that close to what he'd consider an "Open Source Company". Alison Randal followed up with some comments about Enterprise DB, which isn't open source in the classical sense, but does make a lot of contributions back to PostgreSQL, the database engine they build their product on top of. Can they reasonably call themselves "Open Source"? Today r0ml weighed in on the subject, noting that just about any software product made today contains some sort of open source software, so by some estimations even Microsoft could be considered an "Open Source Company".

Now, personally I think both Alison and r0ml are missing the mark a bit by focusing on the code. Yes, use of open source code is bound to be a part of what makes an "Open Source Company", but it's not the most important thing. The big thing to ask yourself is how the company participates in the community around the projects they're making use of. Do they contribute changes back? Are they seen as leaders within the community? Are they just leeches that suck what they want without ever taking a second to help fix someone else's problem? These are the questions that in my opinion should be answered when taking stock of a company that claims to be "Open Source".

Lets take a look at my job history since college. I've worked at four companies, FactSet Research Systems, Ask Jeeves (now IAC Search & Media or something like that), CollabNet, and finally Joost. None of these companies, it's important to point out, are "Open Source Companies" in the sense Nat seems to be pushing for, where their entire product lines are freely available and developed in the open, presumably with some sort of support offering on top of that to make money. That said, all of them make use of and contribute to Open Source software in one way or another, and I would consider at least one and maybe two of them to be "Open Source Companies" in a very real way. Lets take them one at a time.

FactSet is very much a proprietary software company. Its products may use Open Source Software internally, but none (to my knowledge) of them are free as in speech. Heck, none of them are free as in beer either, this is the financial industry, after all. On the other hand, there are FactSet employees who contribute to Open Source projects as part of their jobs. You can find @factset.com email addresses on the perl5-porters mailing list, and at least one FactSet engineer spent a lot of time working on the VMS port of a recent emacs version, although I have no idea if that code ever got integrated back into the main emacs tree, but that was the plan when I was there. So, here we have an example of a company that does contribute to Open Source, but not in a way that is significant enough to justify referring to it as an Open Source Company. Of course, the fact that FactSet isn't trying to bill itself as an Open Source Company is another big part of that ;-)

Ask Jeeves (and when I talk about Ask Jeeves I'm speaking largely of the Bloglines team, as that's where I worked, I don't know a whole lot about the rest of the company) is another example of a company that uses Open Source products to produce a proprietary system. There are a number of open source contributors who are employed to work on Bloglines (at least there were when I was there, and there still are some to the best of my knowledge), but contributing changes back is not a huge priority to the company, although it does happen when possible. Again we have a company that while it makes use of Open Source and does contribute from time to time really can't be considered to be an Open Source Company.

On to CollabNet, the first company I worked for that I would consider an Open Source Company. CollabNet makes huge contributions to the Subversion project, provides free hosting to a large number of Open Source projects at Tigris and over the years has had many employees that are participants in various Apache projects. Nobody would say that they're just sucking in the fruits of the Open Source community without giving back. On the other hand, the core product the company sells, while based on many open source projects is itself proprietary. Still, I think due to the way the company both makes use of and contributes back to the Open Source world it's safe to call CollabNet an Open Source Company.

Finally there's Joost. Our product is nowhere near open source, right? Well, maybe and maybe not. We employ more open source developers than any of the companies I've talked about, and we're built on top of a huge host of Open Source products, many of which we fund development on and contribute changes back to. The details are all available on our web site, but suffice it to say that despite the fact that our product itself is not Open Source (and indeed contains some very proprietary code that is never ever going to see the light of day) it's not outside the realm of possibility to call us an Open Source Company.

So what am I trying to say here? Well, just that the mere use of Open Source code in a product is a poor way to judge a company as Open Source versus Proprietary. There are other criteria (including my personal favorite, community participation) that are at least as necessary if not more so, and those really need to be taken into account. For what it's worth, that's why I'd call EnterpriseDB an Open Source Company, even though their product is proprietary.

Of course, in the end we need to also ask why we're asking this question. If it's to help Nat decide who he's going to invite to OSCON the answer is different than if it's to help figure out how we can call bullshit on a company's marketing department who really wants to call themselves Open Source despite the fact that they're not.

As far as the OSCON thing goes, my personal opinion is that as long as the company is actually participating in the community in a positive way they should be welcome, but on the other hand I'd expect the speakers from that company to be talking about something relevant to the community, not to be pitching their possibly proprietary product that just happens to be built on top of Open Source software. That's why when I was at CollabNet my conference presentations were always about Subversion, not about CollabNet Enterprise Edition, and why I wouldn't expect to see any Joost engineers at OSCON speaking about our internet-tv system, but instead about the Open Source components used to build that system and how they are helping to make those components better, both for us and for the rest of the community.