A central tenet of the free and open source movement is that
software should be available to all. But who would contribute to
software development and then give it away? Software can sell for
hundreds or thousands of pounds. Who are these strange people?
Here are six groups of people who contribute to open source
software development. We consider why they might give their work
away for free.
- Professionals working for computer companies
- Many computer companies have open source as part of their
business model. Consulting companies such as IBM and Novell
contribute to open source software in order to grow their consulting
businesses. Hardware companies such as Intel and AMD contribute in
order to boost their hardware sales. Staff from these companies
contribute to open source to meet specific business goals. The
individual company's commitment is very narrowly focused on those
goals. The software is given away to support, promote, or grow the
market for, the main business. Such projects are often very
polished but tend to embed a company's working assumptions and
marketing goals.
- Professionals working for regular companies
- Many companies employ computer professionals to run key
business functions. As part of their jobs these professionals write
scripts and small programs to perform incidental tasks that
arise. Once written, these tend to be shared between colleagues and
acquaintances, often with the original author getting bug-fixes in
return. Some of these eventually grow into fully-fledged open source
projects. Software developed in this way tends to be focused on
performing a particular task reliably, but often has only basic
supporting documentation. The software is given away because the
cost of commercialising the software is higher than its
value.
- Researchers and research students
- Researchers and research students are interested in ideas, and
there are some ideas which naturally lend themselves to
demonstration through a computer program. The program and source
code is given away to convince others of the value of the ideas
contained within them. Software written by academics tends to focus
on a single feature at the expense of robustness and usability, but
is the definitive bleeding edge of software. The software can be a
stand-alone project or a module of a larger system, but often gets
abandoned when the research funding terminates.
- Contributors working for their own professional development
- Many programmers contribute to programs as part of learning to
program, learning a new programming language, or learning a new
framework or toolkit. These are of little or no commercial use in
themselves, but because they often employ the latest and greatest
techniques and tools they are potentially useful to others. Many of
these circulate as demos for other programmers to examine, learn
from and build on. They rarely reach the stage of mass market
projects suitable for use by non-programmers and are frequently
abandoned in an unusable state having served their purpose.
- Hobbyists
- Hobbyists contribute to open source software because writing
software can be fun and sharing it creates a sense of
community. Hobbyists have perhaps the widest range of skills,
abilities and motivations of all the groups discussed here.
- Contributors working for charitable purposes
- Software produced for charitable purposes tends to be
narrowly focused on a single user group or user need. Projects
directed solely at charitable purposes include Alphalogic who build
software for disabled persons aiming to enable sensorimotor
awakening, and communication. Another example is the Lynx web browser tailored for
blind users. Other contributors working for charitable purposes work
within existing projects, translating the interfaces into minority
languages, ensuring that blind and mobility-limited users can use
the software and ensuring that it successfully crosses the digital
divide. The software is given away because both it and its
developers have charitable aims. Money is not the object.
With all these diverse groups writing open source software, it is
tempting to ask which provide the best open source software. There is
no simple answer to that question. The different groups work with
different skills and motivations towards different ends, producing
different kinds of software. One thing that is clear, however, is that
a healthy diversity of contributors is good. No matter how polished
the professionals working for computer companies make the project, it
is likely to benefit from charitable contributions translating it into
minority languages and improved algorithms from the academic
researchers.
The motivation behind contributing to free and open source software
projects is the subject of much serious academic research. Economists,
sociologists, political scientists and more are fascinated by the open
source development methodology and the ethos surrounding it. The
following resources will be useful in exploring this issue further: