Monday, February 18, 2008

Free Software and Open Source


Free software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions only to ensure that further recipients can also do these things. To make these acts possible, the human readable form of the program (called the source code) must be made available. The source code may be either accompanied by a software license saying that the copyright holder permits these acts (a free software license), or be released into public domain, so that these rights automatically hold.

Free software is distinct from freeware; freeware is proprietary software made available free of charge. One can use, but not study, modify or redistribute freeware.

The definition, written by Richard Stallman, is still maintained today and states that software is free software if people who receive a copy of the software have the following four freedoms:
  • Freedom 0: The freedom to run the program for any purpose.
  • Freedom 1: The freedom to study and modify the program.
  • Freedom 2: The freedom to copy the program so you can help your neighbor.
  • Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
Freedoms 1 and 3 require source code to be available because studying and modifying software without its source code is highly impractical.

In the late 90s, other groups published their own definitions which describe an almost identical set of software. The most notable are Debian Free Software Guidelines published in 1997, and the Open Source Definition, published in 1998.

Open source is a set of principles and practices on how to write software, the most important of which is that the source code is openly available. The Open Source Definition, which was created by Bruce Perens[ and Eric Raymond and is currently maintained by the Open Source Initiative, adds additional meaning to the term: one should not only get the source code but also have the right to use it.

The Open Source Definition, licenses must meet ten conditions in order to be considered open source licenses. Below is a copy of the definition. It was taken under fair use.
  1. Free Redistribution: the software can be freely given away or sold. (This was intended to encourage sharing and use of the software on a legal basis.)
  2. Source Code: the source code must either be included or freely obtainable. (Without source code, making changes or modifications can be impossible.)
  3. Derived Works: redistribution of modifications must be allowed. (To allow legal sharing and to permit new features or repairs.)
  4. Integrity of The Author's Source Code: licenses may require that modifications are redistributed only as patches.
  5. No Discrimination Against Persons or Groups: no one can be locked out.
  6. No Discrimination Against Fields of Endeavor: commercial users cannot be excluded.
  7. Distribution of License: The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
  8. License Must Not Be Specific to a Product: the program cannot be licensed only as part of a larger distribution.
  9. License Must Not Restrict Other Software: the license cannot insist that any other software it is distributed with must also be open source.
  10. License Must Be Technology-Neutral: no click-wrap licenses or other medium-specific ways of accepting the license must be required.

No comments:

Google