[ Software | Consulting | Ramblings ]
Without background

Bazaar Source

A business model for making good software

Executive Summary

Bazaar Source is an attempt to codify a new way of promoting open source development of a product while giving the developer exclusive rights to sell the product. After all, if they developed the product, they have a right to distribute it however they want. Hopefully Bazaar Source can be used as a basis for increasing the Linux application space, which while growing, is not growing at a uniform rate. Interesting projects are sprouting up, but Linux versions of dull products are not.

Rationale

In Cathedral and the Bazaar, Eric Raymond described a new way of developing software. Traditional software has been developed in a top down or Cathedral style. Eric recognized a new way of developing software, the bazaar style. In this style, one person or group develops a piece of software. They then release the software to the community with the source code, and allow the community to review, modify and redistribute the software. This merges the user base into part of the developer base. This is the major reason behind the success of the Apache web server and the Linux operating system.

The term Open Source software originates from this idea. By making source code open it allows the user community to modify and improve the software they are using. In the sequel to Cathedral and the Bazaar Homesteading the Noosphere, Raymond describes the culture of the open source community. He assumes that in the open source community there is no material scarcity because the cost of duplicating software is nil. But there is scarcity, it is the scarcity of programmer talent and time.

However it is my belief that a complex software project is not possible unless the employer allows the developer to develop on company time or the developer is of independent means (the few cases where the developer chooses to live in their office and shower in the mens room are not considered). There are very few projects that excite enough interest to develop completely outside of the typical 8-12+ hour day a normal programmer works.

Therefore, it is not usually feasible to manage very large projects this way. Most very large open source projects are funded by a corporation to serve their ends (Re: Perl or Apache funded by O'Rielly, Linux funded by Transmeta, Redhat, VA.). In the 3rd paper in the CatB series, The Magic Cauldron, Raymond describes several reasons a corporation might release software as open source.

For each one of the above, the software is secondary to the companies primary revenue stream. For a software development firm, especially one that specializes in Commercial off the Shelf (COTS) applications, open source licensing can be a problem.

COTS applications are funded from revenue generated by selling copies of the software. Service and accessorizing cannot support the expense of highly trained and skillful craftsman developing software.

Free redistribution poses a problem for generating revenue. A user is more likely to down load the software off the Net than buy a CD, especially if the software package is small. To quote a slashdot user:

"Anyone with half a brain knows you can make money with Open Source. The problem is, you don't make that money by developing open source software. You make it by selling open source software other people wrote....the open-source developers are either an expense or unpaid volunteers."
Looking at the ownership principles laid out in ESR HtN, we see that projects are rarely forked because of social pressures in the community. Only if the owner is negligent or abandons the project will a new owner assume control. The only other way was for the owner to transfer ownership to the new owner.

There exists a solution, and it lies somewhere between open and closed source. To explain it we first need to look at the advantages of the open source's bazaar development model.

Advantages of Bazaar development

ESR described the bazaar model as "a great babbling bazaar of differing agendas and approaches out of which a coherent and stable system could...emerge..."

What are the biggest advantages of the bazaar model:

Disadvantages:

The Bazaar Source model

If technical merit is more important that freedom, which is a more pragmatic view then the Free Software purists, then we can propose a new development model. Lets call it Bazaar Source.

Bazaar Source exists somewhere between Open and Closed Source, but it isn't as restrictive as Sun's Community Source License. In the Bazaar Source model the user purchases the software as COTS, but along with a license to use the software, the user purchases a license to use the source code. The user is free to modify the code as he/she sees fit. The user is permitted to redistribute the modifications, and only the modifications (usually in the form of a patch), as he/she sees fit. However the sole right to redistribute the base software rests with the person or company that developed it.

This model benefits the developer by permitting them compensation for their work, while at the same time benefitting the consumer by allowing them access to the source code.

It is also possible a symbiotic relationship can develop between the users and the developer. If a user finds and fixes a bug or adds a new feature, the user can give the patch back to the developer. The user benefits by improving the overall package, and the developer benefits by having a large number of eyes looking for bugs or adding features. This will lower the developer's cost to maintain the software thereby lowering the per copy costs to the consumer. It would be good ettiquite for the developer to compensate a user who submits a patch in some form.

Comparison of Bazaar Source and Other licensing models.

Open Source Definition

By visiting the Open Source Definition we can do a point by point comparison between Open and Bazaar Source.

  1. Free Redistribution.
    A COTS software package cannot coincide with free redistribution for reasons previously states.
  2. Source Code.
    The core of the bazaar development is access to the source code. Bazaar Source software must provide a license to use the source code.
  3. Derived Works.
    A Bazaar Source license should allow the author of a modification to redistribute the _source_ of the _modification_ under any license the author chooses, even if the modification cannot be merged back into the main code base. It does not however give the author of the modification the right to re-distribute the original or modified software as a whole.
  4. Integrity of The Author's Source Code.
    Because the bazaar source license prohibits redistribution of a modification as a whole, the only way to redistribute a modification is via a patch file.
  5. No Discrimination Against Persons or Groups.
  6. No Discrimination Against Fields of Endeavor.
    Discriminating against any customers is bad business practice and should not be an issue in selling bazaar software.
  7. Distribution of License.
    Because Bazaar software is sold by the developer to the user, point 7 does not apply.
  8. License Must Not Be Specific to a Product.
    The bazaar source license allows any use of the source code of software as the user sees fit, with the exception of redistribution. It is perfectly reasonable to purchase a bazaar source product, to use some code from that product in another program. However by doing so you limit the ability to redistribute the new software.
  9. License Must Not Contaminate Other Software.
    A bazaar source license places no restrictions on the other software that may be distributed on the same medium.
A Comparison to the Sun Community Source License.

Bazaar Source is less restrictive then the SCSL:

The SCSL also is more centrally controlled by Sun. With Bazaar Source, development is not centrally controlled and anyone can organize development projects.

Prerequisite for Bazaar Source to work

For bazaar source software to be accepted by the general user community it must: And the developer must:

Where to go from here

Bazaar source allows companies to distribute their source code as part of their product while maintaining their ability to charge for their product. It allows open source like contributions to occur, and provides direction in dealing with the community that assists in development. If this idea is generally accepted by a reasonable portion of the Linux (and BSD/BeOS/Windows) user population, this licensing scheme can be used to found successful software companies that can publish their source for the community to use.


Questions or comments should be sent to: Chris Farris chrisf at room17.com
Copyright 1999, Room17 Enterprises, all rights reserved.
File Last modified on: Saturday, 17-Jul-1999 10:39:36 PDT