Techniques for developing and implementing OSS
OSS is also a process for the creation and maintenance of software. This is
not a formalized process, but rather a process of convention with common char-
acteristics between software projects. First and for most, the developer of a
software project almost always is trying to solve a specific computer problem
commonly called "scratching an itch." The developer realizes other people may
have the same problem(s), and consequently the developer makes the project's
source code available on the 'Net in the hopes other people can use it too.
If there seems to be a common need for the software, a mailing list is usually
created to facilitate communication, and the list is hopefully archived for
future reference. Since the software is almost always in a state of flux, de-
velopers need some sort of version control software to help manage the
project's components. The most common version control software is called CVS
(Concurrent Versions System). Co-developers then "hack away" at the project
adding features they desire and/or fixing bugs of previous releases. As these
features and fixes are created the source code's modifications, in the form of
"diff" files -- specialized files explicitly listing the differences between
two sets of programming code -- are sent back to the project's leader. The
leader examines the diff files, assesses their value, and decides whether or
not to integrate them into the master archive. The cycle then begins anew.
Much of a project's success relies on the primary developer's ability to fos-
ter communication and a sense of community around a project. Once accomplished
the "two heads are better then one" philosophy takes effect and the project
matures.
Writing computer programs is only one part of the software development. Soft-
ware development also requires things such as usability testing, documenta-
tion, beta-testing, and a knowledge of staff issues. Consequently, in any en-
vironment where computers are used on a daily basis are places where the tech-
niques of OSS can be practiced. Knowledge of computer programming is not nec-
essary. In fact, a lack of computer programming is desireable. You do not have
to know how to write computer programs in order to participate in OSS develop-
ment.
Anybody who uses computers on a daily basis can help develop OSS. For example,
you can be a beta-tester who tries to use the software and finds its faults.
You can write documentation instructing people how to use the software. You
can conduct usability tests against the software discovering how easy the
Chapter 2. Open Source Software in Li-
braries
6
software is to use or not use, and how it meets people's expectations. If com-
puter software is intended to make our lives easier, you can evaluate the use
of the software and see what sorts of things can be eliminated or how re-
sources can be reallocated in order to run operations more efficiently. All of
these things have nothing to do with computer programming, but rather, the use
of computers in a work place.
Do'stlaringiz bilan baham: |