[
open_source_development 9K ]
Open Source Application Development Strategy
Over the years, since the introduction of computers into human
society, the costs of developing hardware and software have
changed dramatically.
Hardware: mainframes were expensive items and only major enterprises
could afford them. Currently, home businesses can afford more than
one computer.
Software: was very limited in the beginning, then became a highly
specialized product, costing so much to develop that only copies on
specific computers were sold and high maintenance fees were charged.
With the creation of microcomputers, software prices decreased
significantly. Prices changed significantly again with the introduction
of the open source movement: GNU tools, Linux, free BSD, Apache, the
Internet as a whole, etc. But this change will only be complete
when we find a sustainable way to develop better applications that
will run on the low-cost platforms. We live in a real world, full
of greedy corporations, so we need to find a way to develop high
quality software helpful to human society, while make a living in
the process.
I have been rereading Richard Stallmans's 'GNU manifesto' to better
understand its implications. His endeavors have been toward a society
that would be able to enjoy software at low cost, not necessarily free.
The GNU manifesto has generated a successful body of software, but I do
not know whether anything will maintain its momentum and appeal forever.
Stallman's original problem, in summary, was caused by greedy corporations
hoarding source code and charging licenses to use the binary at high prices,
acquiring wealth and power at the expense of the rest of the world.
What I am going to propose is a way to address that original problem,
which will produce profound changes in the way people view industry and
corporations in the current world. It will eventually produce changes
in all industries, but it can be more easily started from a subset:
the people-related software development industry.
Let us start by discussing a concrete case: the Opera browser, developed
by the Norwegian company OperaSoft. This software has received positive
opinions from everybody, but it has two problems, from the Linux
users' viewpoint: its license costs $35.00, and it does not run under
Linux. The reason for being so is that the company wishes to maintain
the source code proprietary, so it is having difficulties to generate
the Linux version under a traditional contract due to cost. I have no
idea how many licenses Opera has sold, but I don't think that they sold
many millions to Windows users, because Internet Explorer and Netscape
are available at zero price. I paid
$35.00 for the Windows version, which I do not use, as an incentive
for their Linux version. Let us imagine that they sold half a million
licenses; then they received $17.5 million in license fees, with which
they are paying their personnel and the contractors for porting to
other platforms.
Imagine that the OperaSoft company had taken a radically different path,
and that they had opened the source to the Internet, invited the entire
world to participate in adding features and removing bugs from their
initial good design, and that they allowed a copy to be downloaded at
one dollar initially and at twenty cents per upgrade. Assuming that
there are about 100 million computer users in the world, I imagine that
half of them would risk one dollar to have a better browser, without
much thinking. In this case, Opera would receive $50 million. To
encourage the worldwide open source team to continue contributing to
this and future projects, Opera could put aside 30% of this revenue
to reward the contributors. Let us say that 1000 persons contributed
equally to the project, then each person could earn 15 million / 1000 =
$15,000 for having participated in the project so far. Let us say
that all 50 million users buy the first upgrade, then they will pay
$0.20 x 50 million = $10 million. A portion of this will be distributed
to the contributors in the development, too.
Essentially, two parameters stand out in this hypothetical story:
much lower unit price to make it attractive to average persons,
and no need to hire regular employees; only one or a few persons having
the initial idea would be required to arbitrate what changes will be
inserted in the next version to be made public, and manage the money.
An immediate consequence if this story became reality, is that OperaSoft
created 1000 jobs without painful admission interviews and no costs up
front, the company had a lot more earnings than in the traditional model,
and the product came out for practical use faster, for all platforms.
Would it beat Internet Explorer and Netscape in quality and time to
market? I bet it would. I do not know the reasons for the Mozilla project
taking long to generate a product, but I think one of them is a lack of
financial incentive.
In my view, the main difficulty to implement this idea is the following:
One US dollar or twenty cents are much closer to the cost of a bank check
or credit card transaction cost, than a regular commercial transaction.
I do not how much about credit card transaction costs; let us assume
that it is ten cents of a US dollar. Banks and financial houses still
tolerate occasional low-value transactions because the average value
is much higher. In the case of the above hypothetical sales strategy,
the average value will be less than one dollar, against which banks and
credit card companies may raise a barrier. Another thing that annoys
me is that the arbitration regarding how much of the revenue would be
distributed among the contributors would still be with a corporation,
which would permit unfair handling of the money.
I have been thinking about possible solutions to this dilemma. The more
I think, the more I get convinced that we need to create a new trusted
entity, that I will call OSB (Open Source Bank).
The basic functions of the OSB are mostly similar to a regular commercial
bank: maintain accounts, transfer values among accounts, accept deposits,
honor withdrawals, interact with other banks and clearinghouses, issue
account reports, etc.
The OSB will be radically new in the following aspects:
1) Some of its accounts are not corporate accounts, but project accounts,
that is, they handle money related to open source projects, regardless
of the persons who lead it, or contribute to it.
2) It will gladly handle small values per transaction, because those will
the basis of its operation. Maybe it will issue credit cards involving
low limits especially for e-commerce acquisitions.
3) It will interact closely with open source project leaders, regarding
distribution of open source earnings to project contributors, who will
have personal accounts in the same bank.
4) The project accounts will be open to all concerned, i.e., the leader,
the contributors, perhaps even to the potential buyers of products.
This will severely reduce the possibility of frauds. Everybody will
know at any time how many sales were made so far, how much has been
distributed to contributors, to the leader, to the bank, taxes, etc.
With the concept of open source project account, projects may survive
through many generations of leaders and contributors. Projects would have
longer lives than small enterprises, especially because they will become
stronger as they attract more contributors, who will introduce features
to grant it a longer life; bad projects will not even open an account.
I have considered creating a new currency, which would be called OSC
(open source credit, or currency) to dissociate values from the US dollar,
but do not see a real necessity for this concept. I thought it might
facilitate the valorization of products and contributions in countries
outside the US, but I am not well versed in international economy. If
anyone knows better, please comment.
Possible consequences of implementing this idea
1) Good ideas become products quickly with highest quality without
traditional corporate intervention.
2) Motivate and sustain a large pool of contributors in the whole world,
some of them fully dedicated to open source projects, as a way of
life.
3) Persons with an Open Source Contributor credit card will be recognized
all over the world.
4) A new important role will emerge: that of Open Source Banker, due
to the importance of the OSB to maintain the profile and stability
of open source projects.
5) Projects that cannot get traditional funding but have social value
will be able to jump start.
6) People with computer knowledge will find on the Internet a site
announcing open source application projects classified by area of
interest:
health-oriented, mission-critical, industrial, research, networking,
entertainment, etc. In this site, there will be no discrimination
regarding computer language, operating system, dbms, visa status,
location, education level, availability, anything. All of them will be
telecommuting, so participants can be on several projects simultaneously
depending on their interest and availability, and no questions will be
asked when you join or quit a project. You can reuse a programming
tecnique you invented as many times as necessary, and projects will pay
for it if the contribution is accepted.
7) Large projects requiring improvement through research in depth will be
possible, because graduate students could earn titles with research work
for this purpose. The choice to contribute will be from the researcher
and not his(her) advisor.
8) Major contributors may evolve to become project leaders, and project
leaders may become contributors to other projects.
9) Experienced project leaders may become coaches to project leader
candidates.
Every day I think about this direction, it gets stronger, and I am aware
that many
...
read more »