This article discusses the elements of volunteerism that are present in Linux itself and the Linux community in general. This article also includes information on how to get involved with development in Linux and other areas. Information about GNU (GNU's Not Unix!) is also included.
Volunteerism in General
What exactly is volunteerism anyway? And how can an entire operating system be based largely on code, that, over the years, has been developed entirely for free? These are some of the questions frequently asked by users new to the "free software" phenomenon. Volunteerism has created many greats over the years, and Linux is the next in the line of volunteerism's successes. This essay tries to explain this in sections. First, let's have a look at the role of volunteerism in Linux kernel development itself.
Linux and Volunteerism
Linux lends itself quite well to volunteerism. There are no set prerequisites to becoming an active member of the Linux development team. You need only to join the linux-kernel mailing list to be in the thick of the action of linux kernel development. Anyone can submit a kernel patch to Linus Torvalds or Alan Cox, who are both regarded as head honchos of kernel development. The final decision to actually let a patch into the widely distributed kernel is Linus's choice. However, anyone may release a patch to a linux kernel to add some sort of new functionality. Linux is certainly NOT a one man event. To show the extensive input others have in the kernel, over 100 people are listed in the CREDITS file included with the kernel source, with many people contributing significant parts of the Linux source code.
Linux is not limited to input from individuals though. Many companies to have volunteered their own fixes and additions to the Linux kernel source code, and those additions and fixes have become part of the standard kernel distribution. Anyone may "volunteer" his or her code to Linux.
Everyone is welcome to become a part of Linux development.
Making Free Software
One only needs to have the ability and the will to help create free software. There are literally dozens and dozens of projects that one might join. Thanks to CVS, which stands for Concurrent Versions System, a very large number of people can work on the source code for a project -- safely. The fact is that the door is wide open for anyone who wants to join a free software project can. However, not everyone is blessed enough to be able to write code (I know I'm not), and I give some ideas for people who want to help but can't do straight programming in the next section.
But I Can't Code!
I, for one, cannot code. That makes it difficult for me to get into a free software project. However, I found a way for myself to be actively affiliated with the free software community. I have a talent for writing, and, thanks to that talent, I write here at linux.com. I figure that writing for linux.com is the least I can do for the community that has given me so much. I have compiled here a list of 5 things YOU can do, today, for the Linux community and the free software community as a whole which don't involve programming:
- Offer to make, design or update a web site for a project that needs one
- Offer hosting services (FTP, web, CVS, etc.) for those projects in need.
- Write documentation for software that lacks it.
- Get involved with answering people's questions about Linux through IRC, in person, or any other way.
- And, the simplest of all, Test (Use) the software!
I didn't feel I could write this article without
at least mentioning the GNU project. In my opinion, if it were not for the GNU project, Linux wouldn't be where it is today. The GNU project was founded in the late 1970's by Richard Stallman, who was, at the time, frustrated with software that he didn't have the source to. He founded the GNU Project and the Free Software Foundation (FSF) to encourage open-source software. Scores of the tools for Linux are actually GNU tools, meaning that they were originally written by members of the GNU project. The list is endless, but a few examples are gcc
, the GNU C Compiler, bash
, the Bourne-Again Shell, and, of course, emacs
, the popular do-it-all program that looks like little more than a fancy text editor at the surface.
Linux has largely been created by volunteers and couldn't have affected the software world so much without the help of those volunteers. And, if not for the continued work of volunteers, Linux will penetrate the market no further than it has. I hope you too become involved in the free software community by volunteering, no matter how you help. You are welcome to join us, no matter how minor a service to the community you can provide.