Saturday, February 02, 2008

Of False Dichotomies and 'Proprietary Open Source'

On the Open Sources blog, Savio Rodrigues goes to great lengths to basically say "It's proprietary Open Source! Not that there's anything wrong with that..." Savio's point is to define as "proprietary open source" when you cannot post your modifications upstream into the canonical project. He uses the following example to illustrate his point:

I buy a license for RHEL
I find a bug or want a new feature
Lucky for me, I have the source code to RHEL
I also have the technical skills to pay the billz
I fix the bug and add that new feature to my copy of RHEL
I no longer have RHEL, I have RHEL*

Can I get support for RHEL* from Red Hat? A candy bar to readers who answer, “nope, you’re out of luck, Red Hat won’t support you on anything other than RHEL (i.e. RHEL* != RHEL)”.

Well, yes, Savio. It's called gating your community to prevent any riff-raff from contributing their riffy-raff into your codebase. Put another way - let's say that the people producing RHEL* above were to, say, learn from their experience and become more involved with the software projects that form parts of RHEL or Fedora. In that case, their changes are not for nought and are then propagated throughout the RHEL ecosystem. Yes, it's true that before you build up that trust you are basically SOL when it comes to pushing your changes to the upstream project(s), but I can't see this trust mechanism going away, and for good reason.

Savio's larger point, and the reason he calls it proprietary, is to state that this is the moral equivalent of good ole regular proprietary software... not that there's anything wrong with that! However, the fact remains that Savio's commentary would have been just as valid if he used any of the .org-iest of the .org's in his example. I defy anyone to name an open source project, no matter how academic or non-profit in structure, that will immediately take on a new contributor's code. They won't, and they shouldn't. The RHEL / RHEL* example above would have been just as valid if it were about Linux kernel / Linux kernel* or bash / bash* or any number of other projects in the world.

So yes, being the creator of the code does place you in a position of power with respect to what goes into it in the future. This is true whether you're a traditional proprietary ISV or a college professor itching to form a non-profit foundation around your pet project. This is not news, and I'm pretty sure it's not proprietary.


Blaise Alleyne said...

Not to mention that were it proprietary software, you wouldn't be able to make the code modification in the first place, even if only for yourself to make RHEL*...

John Mark said...

@ blaise

Well... not necessarily. Proprietary doesn't necessarily mean binary-only. There are tons of apps out there which make use of some scripting language that you can tinker with. But these are still proprietary in that they are very restrictive of what you can do with it.

-John Mark