The magic behind free and open source software (or FOSS) comes from a few people who are freely giving to society part of their work. Free software often start as projects fulfilling a personal need, then a community may grow around the project because it seems useful to them. Some of these people may eventually contribute to the project. After the working product is released freely to everyone, it becomes difficult to define the bounds of the community gathered around the software because anyone can be part of it. There is an amplification effect caused by the very low barriers to the distribution of the software to whoever needs it. This amplification is what enables you to get and use this software free of change, and better yet, with almost no restrictions. You can read about the GNU General Public License to get a feel of the idea behind free software.
Find a partner or mentor
You can find by yourself a lot of valuable information from the Web or from books. Still, most people don’t want to spend most of their free time on just making the system work, and you may also prefer to make fun and useful things with your computer. Like just said before, the concept of community is crucial to the existence of free software. If you start using free software with some friends or family, you are building a small community that can share ideas, solutions, and useful projects. For example, you could try to set up a remote backup solution for a few people you know, or edit a private web site for the family.
Get a GNU/Linux distribution
You can find an increasing number of free software that can run on non-free operating systems, but if you have the choice I would recommend starting with a complete GNU/Linux distribution. Distributions are large collections of software and the management tools that are necessary to configure a complete system. Every distribution includes the Linux kernel (the core software between the application software and the computer hardware), and the GNU subsystem (a collection of common tools to manage files, programs and data), hence the name GNU/Linux. Distributions come with a default setup (or a choice from a few options) that you can adapt to your needs by using the management tools. A very popular distribution is Ubuntu. You can even try the distribution by starting the computer with an Ubuntu CD-ROM before installing it to your computer.
Real world example
The free software universe is not very different from the academic and scientific communities. There is of course a very broad yet common goal of making the world a better place by understanding it and making small but essential contributions. No scientist is really working alone, and the collaboration with other people and groups is necessary to succeed. The seeming compatibility between the free software and the scientific philosophies results in a large number of important scientific software projects being free. Here is a list of links and example free software projects:
- A list of free software for the Mac (non-free, of course!) with a scientific bias.
- The Python programming language, which is increasingly used for scientific work along with the SciPy software.
- The LaTeX project, ubiquitous in scientific publishing.
- The CERN software libraries.