4 April 2002
Most of us work with volunteer teams that form as a committee, sit around the table to decide what is to be done, go get the job done, and then relax as we look forward to the next project. The total size of the effort may be a few hundred hours of volunteer time. Our resources are usually local. But when the scope becomes world wide and the invitation to participate as volunteers is open, other methods than a group around a table need to be developed to keep everyone on track. Open source software development provides just such an example.
Software contains the instructions computer hardware needs to act like a word processor, a database, a file storage system, a picture editor, or whatever. Companies that develop these instructions, like Microsoft, consider the instructions a trade secret and do not let others see them if at all possible. While they do let you 'see' the stuff the computer can understand, there is a 'source code' that humans can understand that they keep secret. This source code has to be translated into computer 'language' which is very hard for humans to comprehend. When the source code is not kept secret, it is known as "open source."
"Open-source development is the human version of distributed processing.
... The problem is that we tend not to take free stuff seriously. [This a common concern with the services offered by volunteers] At about the same time that Bill Gates was writing a version of BASIC destined to see the world's largest software company, Ward Christensen, an IBM systems engineer from Dolton, Ill, coded a little program he called modem ... released to the public domain, enabling other programmers to enhance and perfect a system of checksums and protocols that became the foundation of all computer communications," - Rob Fixmer, InteractiveWeek 7 January 2002.
Not all open source software is released to the public domain. It is protected by copyright law so the author has to explicitly describe how he or she will allow others to use it. One way is to release the software to the public domain so anyone can use it any way they want. Another way is to allow anyone to use the software except that they must allow others to see and use any changes or improvements they make. Allowing others to improve and share software is the structure and framework behind a world wide volunteer driven software development effort.
There's free and then there's free. Something can be free in that it does not cost anything to acquire it or something can be free because there are no restrictions on how you use it. Associations depend upon free things, whether it be the services of volunteers, the product of volunteer efforts, or the ability to use materials in a variety of ways.
The market price for the software needed to make a PC do basic office functions starts at about $500 (Microsoft Windows plus Microsoft Office). That software is subject to license restrictions that are so onerous that they are often ignored. It is not free in any sense of the word. There is an alternative and it is a body of work resulting from the efforts of volunteers, enthusiasts, hobbyists, and commercial contributors.
The free to obtain and free to use open source software can be very important to organizations that need many copies and have qualified staffs to administer and manage their computing systems. Much of the internet depends upon this software for instance. This software could also be a means for an association to control its costs and to avoid ethical or legal problems in its use of its software.
A computer needs a lot of instruction to do all of the things we take for granted. It needs to know how to move data between all of its components. It needs to know how to communicate on the internet. It needs to know about file systems, display systems, menu systems, applications, and on and on. It takes a lot of human effort to create the software to do all these things properly. Microsoft has a large staff of highly educated people working full time to create this software. Open source software does the same thing with volunteers. There are several important concepts that help make the volunteer effort successful.
Problem partitioning - no one person does it all. The big problem is broken into a lot of smaller ones and those smaller ones into their own projects. The sub projects get small enough so that only one or two people are needed to get it done and those people often get involved because they want their part of the project done for their own needs.
Utilization of standards - The Mr. Christiansen's protocols developed into a common means to solve a particular type of communications problem. It became a standard. Volunteer projects depend more upon using standards like this to help assure that their products can inter-operate and function as a part of the whole system.
Project owners - While anyone can modify, customize, or improve the software, there is one person who is in control of the 'official' version. If this person fails at their job, one of the others on the team will pick it up.
Rapid feedback from open availability - People who use the software can communicate directly with the volunteers who develop the software. This way the developers get first hand feedback about problems or about ideas for enhancement. Updated software or answers to questions can be made available on the internet - sometimes within minutes.
Peer participation and achievement recognition - Other developers can admire the code and users can appreciate its function - the developers can measure their success by how others contribute to their code and use their code.
Effective utilization of volunteer effort in non profits, associations, and other entities is dependent on principles very similar to those listed. The lessons learned from open source software development can enhance the association leader's understanding of these principles and in addition, open source software has a product that can be used. Its up to you!
Boris Yavitz: "One important function of strategy is to counteract a tendency of professional managers to become too conservative and bureaucratic."
William of Ockam: "Things should not be multiplied unnecessarily."
Melvin J. Sykes: "Systems tend to persist and grow."
--
from your Association
Headquarters:
Leipper Management Group at TechComm
Labs.
Education, management, and information services
especially
for small businesses and
associations.
--------------------------------------------------
to
subscribe, unsubscribe, or comment,
reply or send a note to
leaders@leipper.org
--------------------------------------------------