I've given it some thought. Working from cases I come up with types, but no over-arching single principle. There is a common tie, however. In every case but one, from the perspective of the capitalist producer releasing open-source code is a cost or undesirable side-effect of a larger business model. My other observation is that we are over-awed by the lone-cowboy programmer. While the most successful projects may start with a single talented and inspired hacker, those hackers were almost always originally working in an institutional context and as the product matures it invariably becomes a project with many cooks. ------------------ Some types of open source economic models ------------------ Academic Free software movement Loss leader Externalized cost center Trivial investment and reward Gratis product, pay-to-play service Bandwagon Intellectual property pool *Academic: Historically this has been very important. Think Postgress, BSD, Mosaic, XFree, and Apache. These products get their start at research institutions and are usually developed by primary investigators and their graduate student slaves. The professor doesn't want to open the product, and certainly would rather not offer it gratis. Peer review requires opening source code. Institutional policy and terms for research grants force free distribution of code. The business model is "obtain public funding", free software is a side effect. *Free software movement For reasons of carreerism, hobby, and personal politcs hackers release source code. I think politics is critical here. I've known hackers who make it a point of pride never to give away source code. This is the only case where free software is the primary point and economic benefits are often secondary. Examples include GNU-Linux and PERL. Note that this model mostly applies to young software products. When successful, these products become the basis for comercial projects. *Loss leader One offers an open source product in the hope of developing market share and making money with knock-ons. Sun does this with Java. The SDK is free and you can look at the source code. You must pay of EJB and other nifty components. It looks like MySQL does the same thing. *Externalized cost center You have a product that is mission critical or important to critcal customers, but it has become a money pit. Externalized costs are good costs so you open the source code and give it away. You try to make the license as advantageous to your firm as possible without alienating potential users. Examples include SAP-DB, Open Office, and Mozilla. *Trivial investment and reward The product isn't too big, and probably would be a hassle to market for tiny rewards. Perhaps hardware drivers and Red Hat Package Manager qualify as examples. *Gratis product, pay-to-play service Typically you bundle a lot of free software into a product, then try to make a profit selling services. Almost all Linux distros were started this way. This model doesn't tend to produce much new software. What it does produce tends to be released because it involved "trivial investment and reward". Bandwagon A free software product has become so widespread that you have to support it. You may incidentally produce some open source software. Intellectual property pool (Shares elements with bandwagon.) This scenario resembles Detroits Patent Pool. As a significant software publisher, you find it useful to share commodity level infrastructural software with competitors. You may even participate in multi-vendor open-source projects, release improvements to existing code, and occasionally develop new utility type programs for the broader open-source community. Nevertheless, real revenues come from products (like ERM/ERP) that are not yet comodified and that you develop and market using the full force of traditional copyright and patent monopoly protections. On Friday 2004-01-23 09:43, Phil Mattison wrote: > I've been trying to understand the economic rationale behind the open > source philosophy, and I think I see an apparent contradiction. From what > I've seen so far it seems there are two economic motives for contributing > to open source projects. (Ignoring those who do it just for fun.) > > 1. For young programmers making their mark, it is an opportunity to gain > experience and prove their worth, enhancing potential for future paid > positions. > 2. For companies with proprietary software that doesn't sell well as > shrink-wrap, it is an opportunity A) to reap the benefit of the unpaid > labor of those in [1], and B) to generate revenue through support services, > because they are the only real experts with a particular package. > > The apparent contradiction is that if the source code is so convoluted that > you really need the services of those in [2], it amounts to "vendor > lock-in" in practical terms, which is consummate evil in the minds of the > FSF, or so they say. If nobody really needed those services there would be > no economic motive besides [A]. If there is a less cynical explanation I'd > love to hear it, so long as it is economically practical. As it is, it > looks to me like a glorified internship program. That, at least, resolves > the contradiction in my mind.