FOSS Development and FOSS Community
5 FOSS Development and FOSS Community
This chapter examines FOSS development and the functioning of the FOSS commu-
nity. A discussion of FOSS would not be complete without covering the subject of
community involvement. It is important to
understand how FOSS projects are imple- (5) FOSS Development and the FOSS
Community
mented and how you can get involved. De-
FOSS and the FOSS Communication
velopment projects are supported by com- community
FOSS is closely-linked to
FOSS projects are
supported by
munication between project members, so activities in the FOSS
community
communication
between development
participants
it is necessary to understand the commu- Development structure
FOSS developers
How FOSS project
nication methods that are used. The last works?
How to participate in
FLOSS survey: FOSS
developers on-line
survey, conducted from
part of this chapter describes the results FOSS projects?
2002 to 2004
Topics related to FOSS
of the FLOSS--JP FOSS developer survey development
conducted in 2003. An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 121
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
5.1 Free/Open--Source Software and the FOSS Community
This section provides an overview of FOSS development and the FOSS commu-
nity. The Japan OSS Promotion Forum has published an overview of the distri-
bution routes for FOSS from the develop-
ment community to users. This section al- FOSS and the FOSS
community
so explores the types of FOSS communities
FOSS Distribution: Community to Users
that exist and describes some of the major Japan FOSS promotion forum's working group made a
detailed comment on FOSS distribution from
FOSS communities. communities to users
Types of FOSS communities
How developers and users gather to form their
community?
User communities
Growth of mutual support culture due to a lack of
vendor support
The next issue is to make a good relationship between
user community and developer community
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 122
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
99
Free/Open--Source Software and the FOSS Community
5.1.1 FOSS Distribution: Community to Users
The Japan OSS Promotion Forum has published a paper titled “An Overview of Dis-
tribution Routes For OSS From the Development Community to Users.” The docu-
ment, published on February 10, 2005, was
authored by the Japan OSS Promotion Fo- FOSS Distribution: Development
Community to Users
rum’s Support Infrastructure Working Group,
Report prepared by WG of Japan FOSS Forum
whose members include over ten leading Findings of Support Infrastructure Working Group
Describes mechanism for FOSS distribution from
FOSS companies in Japan. The document development community to users
Published: February 10, 2005
Contents of report
describes GNU/Linux distributions and the GNU/Linux distributions: Main FOSS distribution route to
users
various organizations involved in the GNU/Linux Organizations central to GNU/Linux distributions
Development community; user support options and range of
support
distribution business. The document also Summary and major points to consider for FOSS
deployment
explores the topic of user participation and Member corporations of Support Infrastructure WG:
NEC, NTT Comware, NTT Data, OSDL, NS Solutions,
Turbolinux, Nihon Unisys, Novell, Nomura Research
examines the respective roles of the devel- Institute, Hitachi, Fujitsu, Miracle Linux, Red Hat
An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 123
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
opment community as well as distributors,
independent software vendors (ISV), plat-
form vendors and system integrators, etc. FOSS distribution routes and support
responsibilities are also examined.
The document contains two major points to consider for FOSS deployment:
· names of core developers and their activities are published online
· users should deploy FOSS by choosing one of two levels of support:
1. support from vendors outside the development community, or
2. support from the development community assuming that the community will
act out of its own responsibility.
100
FOSS Development and FOSS Community
5.1.2 Types of FOSS Communities
The two major types of FOSS communities are developer communities and user
communities. Numerous local Linux User Groups (LUGs) have been formed for the
Linux user community.
Types of Communities
Developer communities
Communities formed around developer groups
Major FOSS projects form large-scale communities
Members take on various roles
User communities
User communities formed for each application
Cooperative role to address lack of information
Use mailing lists and message boards
Local Linux User Groups (LUGs)
Scores of LUGs across Japan
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 124
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
[Link] Developer Communities
A developer community forms around a group of developers. Major FOSS projects
form large--scale communities that often involve a solid operating structure based
on the size of the community. Under this arrangement, members are responsible for
various roles including project management, documentation and PR, in addition to
developers that write actual source code.
[Link] User Communities (Local LUGs)
In contrast to developer communities that revolve around developers, user communi-
ties are often formed through the initiative of application users. The developer side
of a FOSS project typically does not release a lot of information. However, many
users will still want to use an excellent application, driving users to form cooperative
communities resembling mutual aid societies.
User communities make extensive use of mailing lists and message board systems.
Some hold regular meetings. Many Linux User Groups (LUGs) have been formed
with roots at the local level. Japan has scores of local LUGs that are active through-
out the country.
101
Development Structure
5.1.3 User Communities
Japan has a prolific number of user communities, due to a tendency to use in-
dependently localized versions of projects originally developed in English. User
communities in Japan are called User--kai
(User Groups), preceded by the name of User Communities
the FOSS. Prolific number of user groups, preceded by
A Google search conducted in June 2005 name of FOSS
e. g. Top 10 results of Google search using Japanese
using the keyword “User--kai” (rendered in keyword User-kai (June 2005):
Japan PHP User Group
Japan MySQL Users Group
Japanese) produced a list of top 10 results Samba Users Group Japan
Japan PostgreSQL Users Group
dominated by major FOSS user groups. ja: Japan: [Link] Japan Users Group
Japan Apache Users Group
The rest of the search reveals numerous Japan Zope User Group
Japan GNOME Users Group
links to FOSS user groups, giving an indi- Japan UNIX Society
Python Japan User's Group
Following results: User groups for KDE, Mathematica,
cation of the prolific nature of FOSS user Analog, Snort, SELinux, Firebird, etc.
An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 125
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
communities in Japan and their active lev-
el of involvement.
5.2 Development Structure
FOSS development is characterized by a style of development called bazaar--style de-
velopment. This section describes bazaar--style development and the roles of project
members involved in this style of develop-
ment. Other subjects explored include de- Development Structure
velopment resources and getting involved
Cathedral and Bazaar-style development
in projects. We also explore management Comparison between two types of development
method
of FOSS projects. Bazaar-style development was spotlighted starting
with great success of Linux
Roles of project members
Understanding the roles of various project members
Development resources
Services and businesses that support FOSS
development
Examples of the service
Project repositories
Getting involved in projects
Management of FOSS projects
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 126
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
102
FOSS Development and FOSS Community
5.2.1 Cathedral-- and Bazaar--Style Development
The comparison of cathedral--building development and bazaar--style development
was first examined in Eric Raymond’s 1997 essay, “The Cathedral and the Bazaar”.
Raymond used the term cathedral--build-
ing development to describe the develop- Cathedral and Bazaar-Style
Development
ment style used by GNU, which predates Eric Raymonds 1997 essay The Cathedral and the Bazaar
the development of Linux. [Link]
Cathedral model
GNU described as example of cathedral development, predating
Linux
Note: Cathedral model is not synonymous with development style
of proprietary software
Only specific participants involved in development
No releases until specific results are achieved
Bazaar model
Linux development used as example of bazaar-style development
Open group of participants; respect for individuality; talented
coordinator manages flow of project
Releases any time in mid-development; basic notion of fast
and frequent releases
Bazaar-style development since used extensively for FOSS
development projects
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 127
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
[Link] Cathedral Model
The cathedral model is a style of development in which only specific participants are
involved in development. The cathedral model is based on centralized, hierarchical
development, with no releases occurring until specific results are achieved. Raymond
used some GNU software as examples of the cathedral model of development. The
cathedral model should not be used as synonymous term for the development style
of proprietary software.
[Link] Bazaar Model
In the bazaar model, a large and open group of participants contributes to develop-
ment. Releases occur frequently in mid--development. Early Linux development is
a representative example of this development style. The bazaar--style development
process used for Linux made full use of the talents of Linus Torvalds as a coordinator.
Numerous FOSS projects have since been implemented using the bazaar model.
103
Development Structure
5.2.2 Roles of Project Members
In a large--scale FOSS project, members take on a variety of roles. The project lead-
er has the authority to make decisions about the direction of the project. A project
leader is in turn assisted by core members
who play a central role in development and Roles of Project Members
have the authority to change source code.
Project leader: Authority to direct project
The number of core members often ranges Core members: Authority to change source code
from a few individuals to several tens of Project participants
Regular developers: Provide feedback about new features,
enhancements and bug fixes
individuals, sometimes exceeding 100 indi- Testers (advanced users): Test software and report bugs for
each release
viduals in some projects. Document authors: Create documents for general users and
developers
Regular developers also play important roles Other roles:
Resource development (non-programming)
as project members. Regular developers Evangelism, PR (mailing list and/or Web site management)
Financial supporters and providers of development resources
are often FOSS users who provide feedback Supporters for offline activities
An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 128
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
regarding new features as well as refine-
ments and bug fixes. Advanced users are
sometimes given the role of testers involved in testing software and providing bug
reports for each release. Document authors also play a critical role in development,
due to strong demand for documentation aimed at both users and developers.
In addition to programming and documentation, other important project members
include resource developers, PR members, financial supporters and sponsors of com-
munity activities.
5.2.3 Development Resources
Various companies and organizations provide project hosting services as resources for
FOSS development. These services can be actively and effectively used for devel-
opment. Project repositories include ser-
vices such as [Link], Savannah, Development Resources
BerliOS and the FSF/UNESCO Free Soft-
Project hosting services
ware Directory. [Link] is a popular Free/Open-source project repositories
[Link]
directory site for new FOSS releases. BerliOS
FSF/UNESCO Free Software Directory
Programs are also available that provide [Link]
Software directory sites, software search engines
public funding of FOSS development. In [Link]
[Link], others
Japan, the Information--Technology Pro- Other development resources
motion Agency, Japan (IPA) operates the [Link]
Infrastructure Building Program for Open An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 129
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Source Software to support FOSS develop-
ment.
104
FOSS Development and FOSS Community
5.2.4 [Link]
[Link] is a project repository op-
erated by OSTG, Inc., also known as the [Link]
Open Source Technology Group. The site
Operated by OSTG,
hosts more than 100,000 Free/Open--Source Inc. (Open Source
Technology Group)
projects, making it the largest repository [Link]
Services
of its kind. [Link] offers a di- Project Web site hosting
CVS repository
verse range of services including project Bug tracking system
Communication tools
Web site hosting, CVS repository, a bug Others services
tracking system and communication tools Japanese version
[Link]
such as message boards. An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 130
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Open Source Development Network (OS-
DN) Japan operates a Japanese version called
[Link]. OSDN Japan is a unit of VA Linux Systems Japan.
5.2.5 BerliOS, FSF/UNESCO Free Software Directory, Savannah
BerliOS is a FOSS repository run mainly by a group of researchers from Germany’s
Fraunhofer Institute for Open Communication Systems, also called FOKUS. The
repository offers various services including
the DevCounter tool to promote interac- BerliOS, Free Software Directory
tion between developers, and the DocsWell
and SourceWell repositories for documents
and source code. Other services include
the SourceAgency information exchange for
FOSS project sponsors and developers.
The FSF/UNESCO Free Software Direc-
tory offers a catalog of Free Software. The
[Link] [Link]
directory is operated by the Free Software An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 131
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Foundation and UNESCO.
Savannah ([Link] is
the software repository for official GNU software.
105
Development Structure
5.2.6 [Link], [Link]
[Link] is a directory site operated by OSTG, the operator of [Link].
The site features daily news updates about new FOSS projects. A listing on Fresh-
[Link] is a good way for developers to
advertise their FOSS project. The site is [Link], [Link]
also highly effective for getting word out
about frequent releases that result from
the bazaar model of development.
[Link] is an effective search engine
for finding software distributed in the RPM
format. The search engine covers all RPM
packages available for GNU/Linux distri-
[Link] [Link]
butions that utilize the RPM package man- An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 132
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
agement tool. FOSS deployment can be
simplified by using [Link] to locate
an RPM that is suitable for your computer environment.
5.2.7 Getting Involved in Projects
This section describes the typical way that a user might get involved in a FOSS
project. The process is initiated by examining the deployment of FOSS that imple-
ments certain functions. Numerous FOSS
programs can be found online, making it Getting Involved in Projects
easy to obtain software that implements
Find software that implements functions you want
the functions you want. However, the soft- Number of projects available online is nearly unlimited
ware may not necessarily meet all your needs, Debug or extend functionality of software
If you find a function that doesnt work or is missing
or there may be defects in the software. Take full advantage of released source code
From feeding back your results to joining a
Since the source code is available, you can development team
Get involved to advance software science and the FOSS
take full advantage of FOSS by modifying community
Find existing projects through a project repository
the software through debugging or extend- Make active use of development resources
ing the functionality of the software. An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 133
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
If your modifications turn out to be use-
ful, you should send the feedback to the
developer. Fixes for defects should be sent to the development project as soon as
they are found. Over the course of repeated feedback, users are frequently asked to
join a development team. Users are encouraged to get actively involved in FOSS
development, which also contributes to the advancement of software science and the
FOSS developer community.
106
FOSS Development and FOSS Community
5.2.8 Tips for Getting Involved
There are certain courtesies that need to
be observed when getting involved in an Tips for Getting Involved
existing community or development project.
Honest and factual reporting
To begin with, it is important to take an Important to provide objective data when reporting bugs
Reproducibility
objective stance when reporting about how Configuration, what you were doing, and what happened
Include error messages, logs
software runs or describing problems with Code you contribute is not just for you
Observe certain courtesies
software. It’s quite understandable that Adhere to coding rules
Include comments so others can read and understand your
you may be agitated, because of a flaw in code
Include a description
the software you want to use, but if you Never send just your code (worst thing you can do)
Use simple and concise sentences to describe your code
let this out on the development communi- An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 134
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
ty, they will be less willing to help. If you
have a bug report, you need to provide de-
tails how to reproduce the bug and the configuration under which it happened. You
should also describe what you were doing at the time and what happened. It is best
to include error messages and log information from the software.
There are many precautions that you should take when sending in a patch or code
that extend the functionality of a program. The code you contribute to a develop-
ment project is not just for you, and should be written according to the project’s
coding rules. You should include comments for important sections of code, so that
others can read the code and understand why you are coding it in this specific way.
You also need to include a detailed description when submitting code. If you fail to
provide any description, the person on the receiving end will have no idea what to
do with your code. Use simple and concise sentences to describe the code you are
submitting.
107
Topics Related to FOSS Development
5.2.9 Project Management
Project management is fundamentally the same for FOSS as it is for general develop-
ment projects. Personal relationships among project members are critical to project
management. It is also important to treat
the activities of each project member with Project Management
respect.
Personal relationships are critical
Participation in FOSS development is open Worldwide development
Enables round-the-clock development: requires use of
to a worldwide developer base over the In- various communication tools
Progress of project accelerated by contributions from others
Requires communication skills
ternet, enabling round--the--clock develop- Requires proper assignment of roles based on contributions
to development
ment using various tools for communica- Share source code through the Internet
[Link] lists 1,000,000 developers and 100,000
tion. Communication skills and flexibility projects
Accelerate development through frequent releases and quick
revisions
are required to ensure the smooth running Does not ensure quick completion
Ensure high quality and strong security through eyes of
of a project. Advancement of a project many
An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 135
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
also hinges on proper assignment of roles
based on each member’s contributions to
development.
Projects should be run with a focus on sharing source code over the Internet and
advancing development through frequent releases and quick revisions. Running a
project in this way enables you to capitalize on the features of FOSS development,
in which the “eyes of many” perform checks to enable high quality, secure software.
5.3 Topics Related to FOSS Development
This section examines several topics that relate to FOSS development, such as the
similarity of FOSS development methodologies and the agile development process
which is spotlighted recently. The system
of stable and development releases and the Topics Related to FOSS Development
problem of project forks are also examined,
Agile development and similar methodologies
as well as the pros and cons of FOSS de- Some similarities are there between agile
development and FOSS development
velopment. Stable versions and development versions
Two versions are simultaneously released: stable
version for average users and development version for
developer and progressive users
Project forks
There might be cases that project is divided by two
opposing points of view about its direction
Source code tree is branched at some point
Advantages and Downsides of FOSS
development
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 136
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
108
FOSS Development and FOSS Community
5.3.1 Agile Development and Similar Methodologies
Agile development is a software development methodology that emphasizes flex-
ibility in the software development process. As its name suggests, agile devel-
opment stresses realistic development that
is responsive to changes that arise during Agile Development and Similar
Methodologies
software development.
Twelve core practices of Extreme Programming (XP):
The Extreme Programming (XP) method 1. Planning Game
2. Small Releases
Continually plan in small units
Short release cycles
is a leading example of agile development. 3. Metaphor
4. Simple Design
5. Testing
Use metaphors for ease of understanding
Keep the design simple
Prioritize testing in program development
The development method of XP is expressed 6. Design Improvement (originally: Refactoring)
7. Pair Programming
Actively review code
Programmers write code in pairs
8. Collective Code Ownership Make all codes accessible to every programmer
in the following 12 practices: 9. Continuous Integration
[Link] Pace (originally: 40-hour Week)
Continually test and keep the software running
Overwork leads to lower productivity
[Link] Customer (originally: On-site Customer) Incorporate users into the team
[Link] Standards Program out of respect for coding conventions
1. Planning Game 2, 8, 9, 12 are also important in FOSS development
However, No. 1, 3, 7 and 10 are difficult to implement under
FOSS development
2. Small Releases An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved.
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
137
3. Metaphor
4. Simple Design
5. Testing
6. Design Improvement (originally: Refactoring)
7. Pair Programming
8. Collective Code Ownership
9. Continuous Integration
10. Sustainable Pace (originally: 40--hour Week)
11. Whole Customer (originally: On--site Customer)
12. Coding Standards
Four of the 12 practices are also emphasized in FOSS development, and are common-
ly practiced under agile development. These common practices are Small Releases
(no. 2), Collective Code Ownership (no. 8), Continuous Integration (no. 9) and
Coding Standards (no. 12).
In XP, Small Releases (no. 2) refers to short release cycles, while Collective Code
Ownership (no. 8) ensures that source code is accessible to every programmer. Con-
tinuous Integration (no. 9) means to continually test and keep the software running,
and Coding Standards (no. 12) means to program out of respect for coding con-
ventions. The following practices of XP are not entirely compatible with FOSS
109
Topics Related to FOSS Development
development: Planning Game (no. 1), Pair Programming (no. 7) and Sustainable
Pace (no. 10).
5.3.2 Stable Versions and Development Versions
The bazaar model of development is based
on a policy of fast and frequent releases. Stable Versions and Development
Versions
Many projects separate their releases into Bazaar model
stable versions and development versions, Policy of fast and frequent releases
Conservative users inconvenienced by trial-and-error
since a trial--and--error approach to new approach to new features
Releases separated into stable versions and
development versions
features can be inconvenient to conserva- Development versions: Source code heavily modified
For developers and cutting-edge users
tive users. Under this system, bazaar mod- Addition of new features
Odd version numbers: 1.1->1.3->1.5
el development focuses on the release of Stable versions: Changes kept to minimum
For general users
development versions. Incorporates bug fixes, security patches, etc.
Well-received features sometimes back-ported from
development versions without waiting for major update
Development versions are aimed at devel- Even version numbers: 1.0->1.2->1.4
An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 138
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
opers and advanced users. These releases
incorporate new features at an early stage.
Sometimes the source code is heavily modified and unstable. In contrast, stable
versions are released for general users and incorporate minimal changes. Stable ver-
sions often focus on refinements that mainly consist of bug fixes and security patches.
Features that are well received in development versions are sometimes incorporated
into stable versions, pending stabilization of the feature.
Stable versions and development versions are sometimes distinguished by the version
number used. FOSS projects frequently use odd version numbers for development
versions and even numbers for stable versions, or the opposite. Linux, for example,
uses even numbers (2.0, 2.2, 2.4) for stable versions and odd numbers (2.1, 2.3, 2.5)
for development versions.
110
FOSS Development and FOSS Community
5.3.3 Project Forks
On rare occasions, a FOSS development project will branch off for various reasons,
resulting in a project fork. Examples of major project forks include [Link], which
branched off from the XFree86 project, and
Xemacs that branched off from Emacs. Project Forks
Sometimes a project will branch and gain
On rare occasions, projects can branch off
new features, before merging again with Examples of project forks
XFree86 -> [Link]
the original project to continue develop- Emacs -> XEmacs
Sometimes projects fork and merge again
ment of the software. This happened with Emacs -> Mule -> Emacs
GCC -> EGCS (Experimental/Enhanced GNU Compiler
System) -> GCC
GNU Emacs, which incorporated Mule (MUL- FOSS helps to maintain sustainability of
tilingual Enhancement to GNU Emacs) af- development but also allows project forks to occur
ter a branch and a subsequent period of x-1.0 x-1.1 x-1.2 x-1.3 x-2.0
y-1.0
x-2.1
y-1.1
separate development. Another example An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 139
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
is gcc, which was branched off by Cygnus
Solutions into a separate development project
called EGCS (Experimental/Enhanced GNU Compiler System) around the time of
gcc 2.8. EGCS was later reborn as gcc 2.95.
Project forks are an unavoidable aspect of FOSS development projects, to the ex-
tent that FOSS projects are managed by a collective of developers. A fork should be
regarded as a means of last resort as it will typically weaken the projects consider-
ably. The sustainability of FOSS development is assured through the fundamental
FOSS principles of freedom of modification and redistribution, but a lively project
needs contributors. There is no way to prohibit a project fork. FOSS helps to main-
tain the sustainability of development even if different opinions within the project’s
development community lead to forks.
111
Topics Related to FOSS Development
5.3.4 Advantages of Free/Open--Source Development
The fundamental advantages of conducting software development on a FOSS plat-
form are the low cost and the inclusion of source code. One advantage of a plat-
form like GNU/Linux is its high scalabil-
ity to support everything from embedded Advantages of Free/Open-Source
Development
to mainframe platforms. Many FOSS pro-
Fundamental advantages of program
grams run on Unix--like platforms for IBM development on FOSS platforms
Low cost (although Free Software does not mean free of
PC--compatible machines, which is a ma- charge)
Comes with source code
High scalability (everything from embedded to mainframe)
jor advantage in terms of using existing Use existing Unix technology
Ability to use Unix technology and existing software assets
Unix technology without modification. The on low cost hardware (PC-compatible machines)
Increasing availability of development tools for
extensive catalog of GNU software and oth- various applications
Mission critical fields
er software assets can also be used. Image processing, multimedia, science and technology
computing, etc.
Development tools are increasingly avail- Embedded applications
An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 140
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
able today for applications ranging from
mission critical fields and business appli-
cations to image processing, multimedia, science and technology computing, and
embedded applications. An environment that enables developers to take advantage
of the benefits of FOSS for all types of applications is starting to emerge.
5.3.5 Risks of Free/Open--Source Development
In addition to its advantages, there are certain downsides of FOSS development.
The major downsides are as follows:
· Shortage of FOSS engineers Risks of Free/Open-Source
Development
· Lack of guarantees and support Shortage of FOSS engineers
Demand outstripping supply (both for user enterprises and system
integrators)
Urgent need for human resources development programs, training
· Lack of development experience environments, training materials and university education
Retraining of Unix engineers offers shortcut
Lack of guarantees and support
Shift needed from volunteer development to enterprise support
The shortage of FOSS engineers is an indi- Support issue highly dependent on technical capabilities of user
company
cation that demand is outstripping supply Lack of experience
Newness of FOSS development model
both among user enterprises and for devel- Knowledge of how to collaborate with development community
still to come
Challenge of finding balance for securing intellectual property
opment. Human resources development, rights
An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 141
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
training environments, training materials
and university education are urgently needed to address the shortage of FOSS en-
gineers. As a shortcut, existing Unix engineers can be retrained to address the
shortage of GNU/Linux engineers.
The support issue indicates that there is currently room for the emergence of compa-
nies that can provide support services. Presently, there is an urgent need to examine
112
FOSS Development and FOSS Community
the shift from volunteer--based development to business that best capitalizes on the
situation.
Lack of FOSS development experience is somewhat unavoidable due to FOSS devel-
opment model still being in its early stages. The situation is also due to the lack of
a clear method for collaboration between start--up companies and the development
community, which is still being worked out today. Certain issues relating to support
services need to be resolved at the present time, such as the issue of avoiding patent
infringement and finding a balance for securing intellectual property rights. These
issues are explored in later chapters.
5.4 Communication
FOSS software development revolves around developers. Consequently, communica-
tion between developers plays an extremely critical role in development. This sec-
tion explores the various methods of online
communication used by developers, and the Communication
pros and cons of each communication method.
Who develops software?
The importance of offline communication Communication is critically important
is also explored, including the benefits of Communication tools
On-line communication utilizing various tools
getting actively involved in conferences. What kind of tools are used?
Pros and cons of on-line communication tools
Evaluating the pros-and-cons of each tools
Off-line communication
Importance of off-line communication
Participating in conferences
Communicate actively via off-line meeting
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 142
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
113
Communication
5.4.1 Communication Tools
Online communication for FOSS development is frequently conducted through e--
mail, mailing lists and message boards, as well as IRC (Internet Relay Chat) and
other chat systems. Wikis and blogs are
also used. E--mail tends to be most widely Communication Tools
used. Separate mailing lists are sometimes
Methods of online communication
provided for developers and users, and can E-mail exchange between developers
Mailing lists administered by project
be supplemented with additional mailing Developer mailing list: xxx-devel@[Link]
User mailing list: yyy-uers@[Link]
lists devoted to discussion of specific top- Message board on project Web site
IRC (Internet Relay Chat) and other chat systems
ics. Conventional telephone and fax com- Wiki, developer blogs
Conventional tools to supplement online
munication is also used to supplement on- communication
Telephone, fax, etc.
line communication. English is the universal language of communication
Overall communication skills more important than English
Except for communication taking place lo- ability
An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 143
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
cally (in non--English speaking countries),
English is the main language for global com-
munication. Advanced English skills are not required, due to a stronger emphasis
on overall communication skills.
5.4.2 Pros and Cons of Online Communication Tools
The chart at right shows the respective pros and cons of using e--mail, mailing lists,
message boards, IRC and other chat systems, Wikis and blogs. E--mail and mail-
ing lists are relatively conservative meth-
ods of communication and are familiar to Online Communication Methods: Pros
and Cons
everyone. Message boards and chat sys-
Pros Cons
tems are accessible tools for carrying out Familiar user interface Not suited to discussion
E-mail
between multiple persons
discussions in real time, but there is a ten- Familiar user interface Redundancy from copies
Mailing list
dency for discussions to become derailed. Message Accessible, shows flow of
of all messages
Discussion tends to
board
This makes them unsuitable for in--depth IRC and other
discussion
Allows for instantaneous
become derailed
Not suited to in-depth
chat systems discussion discussions
discussion. Wiki
Emphasis on Comparatively static
documentation medium
Wikis and blogs are relatively static medi- Blog
Blogger can assert own Not designed for
opinions discussion
ums for communication, with an empha- An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 144
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
sis on documentation. It is important to
choose the appropriate method of commu-
nication for each situation, for the sake of effective development and project man-
agement. The choice of communication method should take into account the level
of discussion, views of participants and the style of project management.
114
FOSS Development and FOSS Community
5.4.3 Offline Communication
The wide availability of tools for online
communication means that it is important Offline Communication
to select the best tool for each situation.
Power of offline communication
There are also limits to online communi- Significance of face-to-face communication
Non-verbal communication
cation. Body and hand language
Expression, tone of voice, general mood, etc
Sometimes accelerates development through kinship
Online communication can often result in and understanding personalities of others
Limits of online communication felt during:
problems such as flame wars or netiquette Eruption of flame wars
Observance or non-observance of netiquette
issues. Online communication involves many Difference between written and spoken words
Difficult to convey subtle nuances through writing
unique expressions that subtly blend spo- Could be that social gatherings are most
important
ken and written language, using unique styles An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 145
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
of writing to convey ideas. These elements
make it extremely difficult to convey sub-
tle nuance to another person through online communication. The short history of
online communication and its shifting culture are additional factors that make it
difficult to communicate solely through online communication.
Occasionally meeting face--to--face and communicating offline can hold great signif-
icance. Non--verbal communication expressed through body and hand language, as
well as through facial expressions and general mood, can be powerful assets in terms
of understanding the views of developers. Non--verbal communication also conveys
information about the background of each individual. Offline communication often
helps development to proceed more smoothly.
5.4.4 Participating in Conferences
Participation in international FOSS conferences provides a good opportunity for de-
velopers located around the globe to participate in offline communication. Numerous
conferences are held throughout the year.
Major FOSS conferences include the Libre Participating in Conferences
Software Meeting in France, LinuxTag in
FOSS-related global conferences
Germany, and the Ottawa Linux Sympo- Libre Software Meeting/ Rencontres Mondiales du
Logiciel Libre (France)
sium in Canada. There are many other LinuxTag (Germany)
Ottawa Linux Symposium (Canada)
FOSS conferences such as Debian confer- Many others such as DebConf, BSDCon, etc.
Actively interact with others
ences and scientific conferences sponsored Advantages
Get word out about own project
by IT associations. Get advice about software design and implementation
Could lead to cooperation with developer teams
Mutual exchange between developers and users
Participating in conferences and actively Build personal network, exchange information, etc.
meeting other people involved in FOSS of- An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 146
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
fers many advantages. In addition to get-
ting word out about your project, it pro-
vides an opportunity to get advice about software design and implementation. Con-
115
FOSS Developers
ferences can also provide you with new knowledge through mutual information shar-
ing between developers and users. Furthermore, conferences can provide excellent
opportunities to engage in offline communication that can open up new possibilities.
5.5 FOSS Developers
This section examines the profile of engineers involved in the FOSS development
community. The Free/Libre/Open--Source Software Japanese Developers Online
Survey or FLOSS--JP Survey was conduct-
ed in 2003 and provides insight into the FOSS Developers
profile of FOSS developers in Japan, as FLOSS Surveys
well their reasons for getting involved in Developer background and Involvement
When FOSS developers get involved in their
FOSS development. The survey also ex- development?
plores the type of contributions made by Reason for getting/staying involved
What is the reason to participate in FOSS activities?
developers, their level of involvement and Type of involvement
What is their involvement in FOSS projects?
whether they receive income from FOSS Global involvement
development activities. Realities that global communications on FOSS activities
Compensation
Do they receive money in return for their work?
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 147
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
5.5.1 FLOSS Surveys
A FLOSS survey is an online survey designed to provide insight into the conditions
of FOSS developers. The original Free/Libre and Open Source Software: Survey and
Study or FLOSS Survey was conducted in Europe in 2002. The survey was carried
out by the Maastricht Economic Research Institute on Innovation and Technology
(MERIT).
The European survey was followed by the FLOSS--US Survey implemented in the
first half of 2003. The US survey was conducted by the Stanford Institute for
Economic Policy Research (SIEPR). The FLOSS--JP and FLOSS--ASIA studies were
implemented in Japan and other parts of Asia from 2003 to 2004. Both studies were
commissioned by the Japanese Ministry of Economy, Trade and Industry (METI)
and carried out by Mitsubishi Research Institute, Inc. or MRI.
116
FOSS Development and FOSS Community
5.5.2 Free/Libre/Open--Source Software Japanese Developers Online
Survey
The FLOSS--JP Survey was created due to extremely low levels of Japanese partic-
ipation in earlier FLOSS and FLOSS--US Surveys. Lack of Japanese participation
in the European and US surveys is blamed
on the language barrier, since both surveys FLOSS Surveys
were conducted in English. The FLOSS--
What is a FLOSS survey?
JP Survey was carried out using question- Provides insight into conditions of FOSS developers
Analysis-based online survey
naires prepared in Japanese. The FLOSS-- Free/Libre/Open Source Software online survey
ASIA Survey that followed was implement- FLOSS Survey (2002)
Conducted by Maastricht Economic Research Institute on
Innovation and Technology (MERIT)
ed using paper questionnaires prepared in FLOSS-US Survey (2003)
Conducted by Stanford Institute for Economic Policy
four languages: Chinese, Korean, Thai and Research (SIEPR)
FLOSS-JP Survey, FLOSS-ASIA Survey (2003-2004)
English. Conducted by Mitsubishi Research Institute, Inc. (MRI)
Commissioned by Japanese Ministry of Economy, Trade and
Industry (METI)
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 148
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
The FLOSS--JP Survey was conducted during a two--month period from Septem-
ber 1 to November 1, 2003, receiving a total of 547 valid responses. The sur-
vey includes questions about the level of
involvement in OSS and Free Software de- Free/Libre/Open Source Software
Japanese Developers Online Survey
velopment, and the initial impetus for get-
FLOSS-JP Survey
ting involved. Other questions provide in- Survey aimed squarely at FOSS developers
sight into developers’ personal views on Period: September 1, 2003 to November 1, 2003
Online survey and questionnaires distributed at conferences
Valid responses: 547
OSS and Free Software, and whether they Survey content
receive compensation or sponsorship for their FOSS/FS experience, level of involvement, personal profile
Initial impetus for getting involved in FOSS/FS development,
reasons for staying involved, personal views
development activities. Questions used in Income from FOSS/Free Software development, sponsorship
income, etc.
the FLOSS--JP Survey were designed to For more about the survey, visit the URL below:
enable comparison with data from the FLOSS [Link]
An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 149
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
and FLOSS--US Surveys, but are not iden-
tical and have been altered to fit circum-
stances in Japan.
117
FOSS Developers
5.5.3 Developer Background and Involvement
This section explores the personal profiles of developers, as observed in the FLOSS--
JP Survey. Nearly all respondents are males with the median age in the early thir-
ties, which is several years higher than in
the FLOSS and FLOSS--US surveys. Re- Developer Background and
Involvement
spondents tend to be highly educated, with
Personal background
a majority possessing an undergraduate or Late 20s/early 30s, mostly male
Majority possess undergraduate or masters degree
master’s degree. Many of the respondents Many software engineers, programmers, students and
university instructors
are software engineers, programmers, stu- Position on FOSS or Free Software
Identify with FOSS: 43.7%
dents or university instructors. Identify with Free Software: 26.7%
Do not care: 29.6%
When asked about their position on Open Time spent on development
(per week)
Source and Free Software, respondents tend Two-thirds spend 5 hours or less
to identify with OSS, unlike the European An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 150
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FLOSS Survey where many respondents
identify with Free Software. About two--
thirds of respondents in the FLOSS--JP Survey spend five hours or less on develop-
ment each week.
118
FOSS Development and FOSS Community
5.5.4 Reason for Getting Involved
More than one--third of respondents in the FLOSS--JP Survey indicate that they
got involved in a project as a result of releasing their own software program. The
next most popular reasons are, in descend-
ing order: sending in a patch, exchanging Reason for Getting Involved
e--mail with the author, replying to a user’s
Initial reason for getting involved in project
question on a mailing list, and reporting a Released program I wrote myself: 36.5%
Sent in patch: 16.2%
bug. Those who cite releasing their own Exchanged e-mail with author: 10.7%
Replied to users question on mailing list: 10.5%
program or writing their own patch ac- Reported bug: 10.5%
count for more than half of all respondents.
This data indicates that respondents to the
FLOSS--JP Survey are primarily made up
of program developers. An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 151
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
5.5.5 Reasons for Staying Involved
Nearly two--thirds of respondents indicate that their motivation for staying involved
in development is to learn new skills, while nearly half the respondents cite a desire
to share their own knowledge and skills.
This data clearly indicates that developers Reasons for Staying Involved
possess an attitude of sharing FOSS infor-
Own motivation for continued development
mation. (multiple responses allowed)
Learn new skills: 64.9%
The reasons for staying involved was posed Share knowledge and skills: 48.9%
Solve problems not possible with proprietary software:
as a two--part question, inquiring about 29.2%
Improve FOSS/FS from other developers: 24.9%
the respondent’s own reasons and his or Realize new idea for software: 22.5%
Two-part question
her opinion of why others are involved. The Own motivation
Opinion on motivation of others
two sets of data are similar. However, the
desire to learn new skills is the leading rea- An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 152
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
son for personally staying involved, but is
cited less frequently for the motivation of
others. Responses that are more often cited as a motivation for others include
solving problems not possible with proprietary software and the view that software
should not be a proprietary product. Interestingly, the data suggests a trend for
developers to feel that others are motivated for idealistic reasons.
119
FOSS Developers
5.5.6 Type of Involvement
More than half of all respondents in the FLOSS--JP Survey indicate that they are
involved in developing main functions. One--third of respondents are involved in
writing bug fixes and patches. The next
most common activities are testing, doc- Type of Involvement
ument translation and document prepara-
Main types of involvement (multiple responses
tion. Packaging, localization, project man- allowed)
Develop main functions: 52.1%
agement and user support are each cited Write bug fixes: 36.0%
Write patches: 33.6%
by about 10% of respondents. The data Testing: 20.9%
Document translation: 14.3%
indicates that respondents are involved in Document preparation: 14.0%
Packaging: 12.5%
many aspects of software development. Localization: 10.8%
Project management: 10.2%
User support: 9.8%
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 153
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
5.5.7 Global Involvement
Interest in FOSS development tends to focus on the global nature of FOSS devel-
opment over the Internet. However, the FLOSS--JP Survey finds that 62.3% of
Japanese developers are mainly active in
the Japanese development community. Al- Global Involvement
though the remaining 37.7% of developers
37.7% involved in global development
indicate some involvement at the interna- community
Mainly active in Japanese community: 62.3%
tional level, only 16.1% indicate that they Mainly active in global community: 16.1%
Involved in both: 21.6%
are primarily involved in the global devel- English ability
68.3% feel own ability is limited
opment community. English ability and level of activity
Not necessarily related
Almost 70% of developers feel that their Depends on enthusiasm and patience
English communication skills are limited.
However, the survey shows no relationship An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 154
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
between the level of FOSS involvement and
English ability. This indicates that En-
glish ability is not a prerequisite for involvement, and is dependent on the enthusiasm
and patience of the developer.
120
FOSS Development and FOSS Community
5.5.8 Compensation
Just 26.8% of developers in the FLOSS--JP Survey indicate that they receive direct
income from FOSS--related activities, with less than half indicating that they have
profited indirectly from their FOSS activi-
ties. 9.6% of developers indicate that they Compensation
were hired or found a new job because of
Only 26.8% of developers receive direct income
their FOSS development experience. This from FOSS activities
41.2% have profited indirectly from FOSS activities
data indicates that social recognition of Hired or found new job due to FOSS development
experience: 9.6%
FOSS development experience is starting Data indicating social recognition as technical
experience
Awareness of involvement in FOSS
to grow. development
School/employer not aware of own involvement in
Just over 40% of developers indicate that FOSS: 40.8%
Preference: Desire to be involved in FOSS
their school or employer is unaware of their development as part of work
involvement of FOSS development. Many An Introduction to Free/Open-Source Software
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 155
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
developers indicate that they wish to be
involved in FOSS development as part of
their work, which suggests that the situation could be improved.
5.6 Chapter Review
· What are the characteristics of user comunities? What are the characteristics of
developer communities?
· What are the characteristics of cathedral--style development? What are the char-
acteristics of bazaar--style development?
· Discuss the relation between proprietary software, FOSS, cathedral--style devel-
opment, and bazaar--style development.
· Describe the different roles that FOSS project members can take on.
· What are the kinds of development resources that FOSS project need?
· What are the characteristics of [Link], [Link], and [Link]?
· Explain the steps that typically make up the process of getting involved in FOSS.
· What are important ways of conduct when getting involved in FOSS develop-
ment?
· Discuss key aspects to project management in FOSS projects.
· What are the characteristics of agile development?
121
Chapter Review
· Which 12 practices make up extreme programming?
· Which of these can easily be practiced in the context of FOSS development?
· Which of these tend to be less suitable for FOSS development?
· Explain the motivation of separating the development of a FOSS project into
stable and development versions.
· What is a project fork ? Why should it be avoided if at all possible?
· What are the most frequently used communications tools used among FOSS
developers?
· Compare the main communications tools used in FOSS development. What are
their pros and cons?
· How relevant is offline communication to FOSS development?
· How did FOSS developers typically get involved in FOSS development in the
past?
· What were typical reasons for staying involved in FOSS development?
· How many developers directly earned an income from FOSS?
122