Community or commercial open-source software - is one better than the other?

Is community open source better?

Michael Dolan has a great post exploring the differences between commercial-led open source and community-led open source. The impetus for his muse is the brouhaha over Sun's apparent mismanagement of the OpenDS project.

That is, "mismanagement" depending on what you expect from a commercial open-soure project, as Dolan suggests:

...[T]he independent open source projects often have a leg up [on commercial open-source projects] in building communities, participation, and multi-vendor investment (and often that's their goal). I also think it's foolish to expect any single company, commercially led project should behave in any manner other than a commercial business driven by stockholders would. I'm not defending or accusing Sun or any of the OpenDS developers; I'm focusing instead on what fundamental misunderstandings of "open source" may have led to all the hype that?s ensued.

I'll start by saying I believe the "open" in "open source" projects is not well defined consistently and so confusion abounds when people compare "open source" X project to "open source" Y project. The compare is flawed in that each project may have a completely different reason for existence. Commercially run open source projects are inherently different from non-corporate, multi-vendor, open collaboration projects. That does not mean one is more "evil", "good" or "bad" but rather that they're apples and oranges. However, for whatever reason, the ability to view code has led to people lumping them together in the same classification called "open source".

Dolan makes a useful distinction between projects, but his point doesn't actually touch on the core meaning of "open source." That is already well defined by the OSI and has nothing to do with intentions, which is where Dolan seems to want to take the discussion. Open source doesn't care about intentions; it cares about whether License A guarantees certain freedoms.

That point aside, are commercial open-source projects different from community open-source projects? Absolutely. Both for the better and for the worse.

Who wouldn't want to sit at the helm of a widely adopted project with disparate development contributions? On the other hand, we know that this is more myth than reality - every open-source project is centered on a core group of developers. Starting with a group of developers employed by the same company has the downside of inhibiting outside development (whether intentionally or not), but it does have the advantage of giving the project a coherent development plan and potentially faster development (as everyone is marching to the same drum beat).

I personally believe there is room for both commercial and community open-source development. There is code that would never be written by communities that corporations feel financially motivated to write. Even much of the community open-source code is actually written by corporate-sponsored employees to serve commercial interests (whether directly or indirectly).

I'd therefore take one step back from Dolan's argument and suggest that it's useful to look at the individual developer's motivation to write code. Viewing motivations from the project level can be useful, but given that every successful open-source project is a compilation of commercial interests, it makes sense to get granular.

If you're starting a project, it also makes sense to consider the license carefully. I like the GPL because I think it removes the need to look too closely at motivations. The code speaks for itself when you know it can't be hijacked.

Featured Video