Open Development Platform

Eclipse Platform

Subscribe to Eclipse Platform: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Eclipse Platform: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Eclipse Platform Authors: Janakiram MSV, Ken Fogel, Marcin Warpechowski, Michael Meiner, Liz McMillan

Related Topics: Ubuntu Linux Journal, Eclipse Platform, Open Source Journal, Open Source and Cloud Computing


Opening up the Open Source Landscape

There is a scarcity of models of source code disclosure and distribution

The open source landscape has evolved into a complex maze of licenses and business models. To make matters more confusing, any simple meaning of the phrase "open source" has become lost amid a sea of ambiguous and arcane terminology. As a result, many software developers fail to recognize the potential benefits of innovative models of software distribution and source code disclosure.

Copyright law entitles programmers, like authors and artists, to exclusive control over the distribution and sale of their intellectual property, which includes source code. The value of source code is well recognized, but for competitive reasons software developers often are reluctant to include source at a reasonable price, if at all. Holding a diametrically opposite point of view, the Free and Open Source Software (FOSS) community contends that source code generally should be freely available, modifiable, and redistributable.

An immediate point of confusion is that Free and Open Source Software is, as we will see, neither free nor open source in any conventional sense. The opposing camp frequently is called "proprietary" software, but this too is a something of a misnomer. Unfortunately, these linguistic misappropriations have deprived us of a vocabulary for discussing software that is both proprietary and open source, in the simplest sense of those terms.

One of the strengths of FOSS is its ability to promote a vibrant, collaborative development community. This has been instrumental to the success of very large, complex projects such as operating systems (BSD, Linux), programming languages (Perl, PHP, Python), web servers (Apache), browsers (Firefox), and numerous other examples. The chief strength of proprietary / non-FOSS software is its broader choice of business models, but few commercial products are sold routinely with source code.

Problems with the Current Software Licensing Landscape
Most would agree that transparency is generally in society's best interest. Not only is the disclosure of source code essential to collaboration, but also it contributes to security, reliability, and many other virtues, as well as eliminating vast quantities of redundant human labor and ensuring the preservation of valuable work. The patent system certainly encourages a significant amount of disclosure, but its applicability to software continues to be hotly debated. Copyright law does not inherently provide a strong inducement to reveal source code, hence the emergence of FOSS as a remedy to this shortcoming.

FOSS has worked well for some categories of software, but not for others. The growing proliferation of license variations indicates some resistance to further adoption and a degree of fragmentation, even within the FOSS community itself. For example, the most popular FOSS license by far continues to be the GNU General Public License version 2, despite the fact that GPL version 3 was released almost five years ago, after a year and a half of preliminary drafts and extensive public consultation. Another one of the GPL licenses released in 2007, the GNU Affero General Public License, has garnered little popularity, despite its being a logical extension of the Free Software Foundation's philosophy to the increasingly prevalent model of Software-as-a-Service (SaaS).

There are few notable examples of reusable, non-FOSS source code licenses, with the possible exception of the Code Project Open License (CPOL). The Code Project is a thriving, free-membership community of software developers who publish publicly accessible tutorial articles with accompanying examples and snippets of source code. CPOL is similar to FOSS with regard to source code, but it makes an explicit exception for the articles themselves, which are treated as conventional copyrighted material that may not be redistributed without the author's consent. CPOL hardly can be considered a model for commercial source code distribution, but it is noteworthy that the Code Project was willing to forego official FSF and OSI certifications over seemingly minor differences in philosophy.

Considering the extent to which FOSS has demonstrated the viability of business models that do not depend on concealment of source code, it is remarkable how few commercial software products make their source code available. This reluctance to capitalize on the value of source code suggests that either there is a problem with proprietary business models that have been considered, or reservations persist about the risks of source disclosure. The result is that the commercial software landscape is dotted with only occasional source code offerings, typically with harsh restrictions or some form of vendor lock-in. Thus the overall landscape for software licensing is highly skewed between the extremes of FOSS versus closed-source commercial products, with a very sparsely populated middle ground of source code licensing choices.

Why FOSS Isn't for Everyone
A central theme of FOSS is to promote source code disclosure by foregoing certain rights of authorship, specifically the exclusive right to sell and distribute one's own work. Software developers engaged in FOSS projects relinquish these rights in exchange for the advantages of participating in a FOSS community. Others, for example independent authors of specialized software components and tools, may be less interested in FOSS' unfettered collaborative aspects, so they are less willing to surrender the valuable right to control and profit directly from every distribution of their work.

FOSS developers gain the right to use the work of other FOSS authors, but this comes at a price. In that regard FOSS isn't truly free, either in the sense of "free beer" or in the sense of "freedom." FOSS licensing complexities expose users to indirect legal expenses and risks, compounded by the proliferation of license versions and restrictions on their compatibility. Licenses with strong "copyleft" requirements entail legal encumbrances, including expansive obligations to disclose source code and severely limited licensing options for derivative works. Additional baggage may be attached to these licenses, for example GPLv3 adds provisions relating to patents, hardware restrictions, and digital rights management (DRM), and many licenses impose limits on commercialization. While these issues are of little concern under the permissive MIT and BSD licenses, they can have significant ramifications for users of software under the more pervasive GPL licenses.

A "quick guide" to GPLv3 license compatibility (from Wikipedia)

Opportunities for Improvement
There is scarcity of models of source code disclosure and distribution that fall between FOSS and an assortment of highly restrictive, vendor-specific solutions. This raises the possibility that some distinctly non-FOSS alternatives are worthy of further exploration. A simple example would be a license that grants an individual permission to use a piece of source code, but not to redistribute it, except in binary form as part of a compiled, derivative work. One might add a further restriction against using the program to produce an equivalent or directly competing derivative work. By dispensing with the issue of source code redistribution, such a license avoids much of FOSS' complexity, while preserving the original author's basic ownership rights. The license could be formulated to be reusable simply by avoiding needless extra restrictions.

Further opportunity for improvement lies in the creation of new ecosystems to support communities of software developers who share source code on a more limited basis than FOSS. This might be accomplished through a membership-based system, along lines similar to the Code Project, but with a different license and the possibility of paid membership. There are a number of benefits to this sort of service, including the ability to incorporate editors and community feedback. Of particular importance in a commercial context, such a SaaS based approach could provide essential authentication, distribution, and accounting functions, with favorable economies of scale. The system could be designed to support any of a variety of business models, ranging from à la carte pricing to some method of usage-based revenue sharing.

It would be good if more developers were willing to share their source code, if not as FOSS, then at least under some other model. There are different categories of software, and each type may be better suited to one model than another. The present imbalance in approaches to software disclosure and distribution may, at least in part, be attributed to historical accident and the strange open source vocabulary that has become a de facto standard. One must watch out for the pitfalls of confusing terminology, which unfortunately includes the words "free" and "open source". This confusion should not prevent us from searching for new opportunities in uncharted areas of the software licensing landscape.

Eric Raymond wrote about two contrasting models of software development, The Cathedral and the Bazaar. Perhaps the time has come to consider other models, for example, the cathedral, the bazaar, ... and the mall.

More Stories By Michael Asherman

Michael Asherman is the Vice President of Research at Content Galaxy, Inc., which provides subscription-based content hosting services, including a new pay model for open source programming tools;

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.