Open source is often seen as a community-based method of building software that utilizes grass roots community to allow a democratization of software. The source code is readily accessible to all, enabling open standards and undermining entrenched monopolies. As open source projects build on each other they provide mutual support—upstream and downstream software users have access to the source code so they can debug the software to find bugs and patch the bugs that matter to them. By allowing users to allocate their own resources to develop the software the software evolves to meet the needs of those users who invest resources.
This Utopian view of open source has a key problem, it’s not applicative: you can’t apply it to classify a piece of software as “open source” or “not open source”. Lets take a look at a couple of pieces of software to see whether they might be open source:
WIX (Windows Installer XML) is a software project to allow open source projects to build, package and distribute Microsoft Windows installers for their projects. It is licensed under the common public licence, bearing the Open Source Initiative stamp of certification and hosted by sourceforge, the stereotypical hoster of open source projects.
WIX is not a good fit with our Utopian view of open source, because it is not built by a community, but by employees of Microsoft Corporation on company time, it does not enable open standards but is tied to Microsoft Windows operating systems on a small handful of hardware platforms, and far from undermining Microsoft’s entrenched monopoly on operating systems, appears to be specifically designed to defend Microsoft Windows from open source rival Linux.
ProGuard is a Java “obfuscater,” a tool that converts Java source code to a form from which it is extremely hard to infer any program details. Obfuscators are used to hide the source code and the intellectual property embedded in it. Obfuscators have secondary benefits, because the resulting code can be smaller and run marginally faster, but the primary use is to hide the source code. ProGuard is also hosted on source forge and released under the GPL.
ProGuard’s primary action hides source code rather than making it open, makes third party debugging much harder and third party patching effectively impossible, thus undermining the openness and community aspects of open source.
So should these software packages be considered “open source”?
Yes. If it has an OSI-certified licence, it counts as open source software. Criterion 6 of the Open Source Definition (OSD) states
That covers your ProGuard example. The OSD does not preclude less than open activity. It also does not require open development methodologies. So your WIX example does not count as a counter-example either. Rather what we see here is both the strength and the limitations of open source as the defining trait of what one might want to see in the world.
Various individuals and groups, of course, have realized this previously. That’s one reason why open development has become a focal point of useful discussion. Another key term is openness, which aims to raise the issues of openness beyond software development itself into the wider realm of open governance, open content, and open business models.
I think that is a little unfair: why can’t people in a high-tech company be considered a community; and people in other companies work on open source in company time.
I’d tend to agree with Randy that OS basically means OSI licence: and that open development is a more useful focus. Openness might be a bit too woolly a term.
Hi Stuart – I would agree with Randy: we should be disinterested in the purposes for which the software is used for. If an open source software application is used for creating viruses, it’s still open source. Otherwise you bring subjective value judgments into the equation: an open source toolkit for generating prime numbers to be used in an application to find the answer to cancer would be fine; but the same software used to help create a nuclear weapon would not be (unless you felt that nuclear weapons were needed to safeguard civilisation – and then we get in value judgments.
A similar argument applies to the operating system environment: an open source application for a mobile phone is open source no matter what the operating system is (and lets decouple the argument from the Microsoft issue).
And as Tony says, what’s wrong with working for a company and working on open source software?
Let’s be inclusive and not build ideologically pure niches!
Manual trackback with rebuttal: http://robmensching.com/blog/archive/2007/03/02/The-WiX-toolset-isnt-Open-Source–Someone-better-call.aspx
Stuart,
Your WIX argument is not only weak and incomplete but comes across as just an attack on a company (MS).
Also for the record (and its been this way for a long time), MS has the lions share of desktop OS. If that means it only works on a handful of hardware platform then that’s irrelevant to the discussion as it still reachs the masses. I doubt you would use the same arguement if Linux had a dominating market share on the desktop.