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 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.


  1. Taking Apache as an example - seems to me problematic to claim to be an open source company on the basis of having hired Apache committers - since their contribution is as individuals rather than on behalf of a company. The company I work for provides finance to house builders - but on your basis of using and contributing back could claim to be open source? IMO for the "Open Source" claim to have any validity it should at least have an open source product.

  2. Both CollabNet and Joost hire Apache committers and pay them to work on various ASF projects as part of their day job. It's not just hiring these people who also happen to contribute to ASF projects in their spare time, although that does also happen.
    And yes, sure, the point is that there's a whole spectrum between a company that uses open source and one that bases their entire business model on open source (which people have been calling an "Open Source Company"). Because this spectrum exists, just talking about it in black and white terms is largely pointless. I think it makes more sense to rephrase the question. Don't ask "is this an open source company", instead ask "is this company a good contributor to the open source ecosystem".

  3. Maybe its open source Marketing
    Brewtopia is known as a Open Source Beer Company based in Australia

  4. Brewtopias Open Sauce(sic) statement

  5. dude, saw your comment on recentlog.
    i've _just_ sent messages today on the qtopia-interest mailing list explaining exactly this.
    i've been saying it for some time: the level of knowledge required to understand code makes it a 'closed' system just as much as if it were proprietary, if you have none of time, money, energy or intelligence to understand the code.
    and, if there is no community built around a project, then the license is effectively irrelevant.
    it's one thing that's missing on the GPL.

  6. I think that hiring people who happen to work on Open Source products doesn't quite qualify. Or a company that does some patching of products. That class of company *uses* OSS, but (as you point out) what is the return?
    I believe an "Open Source Company" needs to have a clear and stated program for how their contribute and participate in the Open Source community. When somebody mentions the company, you can say "Yeah. They do *that*."
    CollabNet: Subversion
    EnterpriseDB: Postgres
    MySQL: MySQL
    RedHat: full-on distro
    Novell: SuSE, Mono, etc
    Within this framework, when I think "Joost", I do not recognize any particular program of participation/contributeion. The company has hired a ton of kickass OSS contributors, who (as individuals) have a major position in the community. The *Joost* contribution is not obvious -- Joost is not a sponsor of any particular piece, and its employees are not obvious about their work-related contributions.
    Arguably, it is "proper" to have a low company profile; at least that is the approach that ASF communities prefer. But it also serves to disconnect a company from the notion of being an "Open Source Company"
    Looking close to home... would Google be considered an Open Source Company? We use a frickin' ton of OSS. We contribute millions back to the community (e.g. GSoC). But do we have a strong/leading presence like the ones mentioned above? I'd say "no" at this time. But then we have a large community built around our GWT package, and then we have our project hosting feature on Google Code. How are these supposed to be counted?
    It's rather confusing because I think a lot of us would like to use a yardstick on *participation*, yet Google is a bit light. It contributes heavily, but doesn't jump into the trenches as much as some others.
    The term "Open Source Company" is obviously rather fuzzy. Maybe the best way to measure it is whether the company is an *active* and a *positive* influence on the overall community (through various means of participation).

  7. I was wondering what it is like to work for Joost. I am in the process of getting schooling for programming and it will be a few years before I "look" for employment, but I am interested in the "open source" community, and I am glad to see that Joost is contributing back.
    Thank you,