Subject: Software Foundation (Was: Open Source Developer Exchange)
From: "Ron Lancaster" <doc@firelord.net>
Date: Tue, 4 Mar 2003 18:30:22 -0600

 Tue, 4 Mar 2003 18:30:22 -0600
Okay, given the responses on this list and talks with friends, I'm
satisfied that a software exchange would impose restrictions on open
source and free software developers that are unwanted. The result would
be a consulting exchange where developers are for hire for
customer-requested enhancements. The result of imposing money for
specific features is that it likely would damage open source in some
way.

Here is the argument that seemed the most compelling quoted from a
friend: "There are two possible reasons why open source succeeds in
quality where other software fails: The first is peer review. Open
source has harnessed the same mechanism that has ensured the overall
quality of scientific research for nearly four hundred years. 
The second factor is perhaps more interesting: Because labor is free in
the open source economy, it is the only large-scale software development
enterprise that can afford to throw code away. Open source
implementations are free to evolve in a way that commercially-developed
code never can."

Attempts to allow customer's to control a project in return for money
would turn the developer into a contractor. As a result, the developer
would no longer be performing the service of developing software for
personal reasons, but instead due to monetary motivation. Thus, the
developer would be motivated to minimize effort so as to maximize
profits (I realize not everyone would do this, but when it comes to
making money, it just makes good business sense). Additionally, the
developer is less motivated to improve or refactor (throwing away code).
Note: the above quote about throwing away code can pertain to an
individual developer performing refactoring, different projects with
similar features - some projects surviving, others not, and/or competing
patches to large projects such as the linux kernel.

However, we do have instances where developers receive money or support
for their efforts. One is donations to developers. Donations do not
imply a customer requesting a feature, it doesn't imply the developer is
doing the work for money, and in general it continues to give the
developer the same freedom they enjoyed before the donation. In other
words, risk is minimized for the consumer (they know what they are
getting for their money), and risk is minimized for the developer (they
were going to write the software anyway; making money is just a happy
coincidence).

A second instance includes foundations that promote and donate resources
to open source projects. The example I have in mind is the Apache
Foundation. The foundation gathers software under a common,
well-understood license. It attempts to gather software projects with
some commonality (even if that commonality is as loose as Java). It
functions to market those projects (whether actively or passively). And
it works to guarantee the quality of the projects that are members of
the foundation.

Given that donations and software foundations do not influence the
quality, freedom, or risk of the open source developer, I propose a
foundation that focuses on particular software areas by aggregating
common open source projects with the goal of soliciting donations on
behalf of the open source developers contributing to the projects. Note:
the Apache Foundation is non-profit and does accept donations, but I
don't believe those donations are passed onto the developer. 

Things to consider:
* How do you know which developers should receive donations? (is this
the hardest problem?)
* Does a non-profit organization in this case benefit from a software
foundation with commercial interests?
* Is there a risk of a foundation focusing on a vertical industry (say
healthcare) being taken over by a commercial company in that industry?
* Is a particular license for the foundation required? Or simply a
well-understood license?
* Is it okay to evenly distribute all donations to the foundation
between the projects?
* Would it be useful to allow commercial companies become members (such
as gold, silver, and platinum members)?

Are there other examples other than the Apache Foundation? Are there any
examples that distribute donations to the open source projects that are
part of the foundation?

Sincerely,
Ron Lancaster