What is FOSS?

DEFINITION OF FOSS:
Free and open source software is a different model of software development, one that the nonprofit sector is just beginning to embrace. The key advantage of the open source model over the proprietary model is that everyone has access to the source code of an application. This may not seem very significant to most nonprofits; after all, few organizations can afford a software developer on staff.

In practice, the fact that a program is open source makes a difference, because in many cases, it enables hundreds of technical people, many working as volunteers with no commercial incentive, to collaborate on continual enhancements to software. Eric Raymond, in a seminal paper on the FOSS model entitled The Cathedral and the Bazaar, wrote: "open-source software [is] the process of systematically harnessing open development and decentralized peer review to lower costs and improve software quality."

In addition, unlike many proprietary products, FOSS is often based on open standards, which enhance the potential interoperability of software that organizations need to use, and also enhance the ability of different software to communicate with each other. The use of open standards can help to prevent "lock-in," a common problem where organizations are forced to continue using the same product because data migration would be too expensive.

DEVELOPMENT OF FOSS:
Because the development of free and open source software is not funded directly by license fees, the ways in which development happens is quite varied. Some FOSS projects are entirely supported by the work of volunteers, and others are entirely supported by for-profit companies, and projects exist in the entire spectrum in between.

The Apache project, which produces the most widely used program for powering web sites, formed a nonprofit foundation to raise funds for future development of their project in 1999. Since then, a number of projects have followed suit, including Mozilla, which develops email clients and web browsing software, and Joomla (a FOSS content management system or CMS).

Open source projects have also spawned for-profit companies, where the development work is done by volunteers and the employees of these companies collectively and the primary goal of these companies is to develop and support the open source software project. Examples of these include MySQL (a popular database program), Zope (a tool for building interactive web-based applications), as well as many companies that package and support the Linux operating system, such as RedHat and Canonical (responsible for the Ubuntu Linux distribution).

LICENSES:
A software license is basically an agreement between the user and the developer on how the software can be acquired, used and shared. Whenever you install software, and click on the "I Agree" button, you are accepting a EULA (or End User License Agreement). The most popular open source license is called the GNU Public License (or GPL). The GPL stipulates not only that the source code needs to be available, but also that the program can be modified and re-distributed, as long as that re-distributed program is also governed by the GPL.
By contrast, most proprietary or commercial licenses explicitly limit the number of allowed users and prohibit modifications to the software. Unlike proprietary or commercial software, one of the hallmarks of FOSS is that there are no unit or per-seat licenses - you can install the software on as many machines as you want, with no added licensing cost. You don't have to track licenses, worry about whether you are running 12 copies of a software package you have 10 licenses for, and as your organization grow; you don't have to budget for new licenses to add new staff to software you rely on. FOSS enables nonprofits to avoid resource-scarce thinking due to license constraints; in some cases, organizations get around proprietary licensing limitations by asking users to share accounts and passwords, compromising the security and often the usefulness of the software, and making it very difficult to address misuse when it does arise.

FREE SOFTWARE:
The GNU Project was launched in 1984 to develop a complete Unix-like operating system which is free software: the GNU system. GNU's kernel isn't finished, so GNU is used with the kernel Linux. The combination of GNU and Linux is the GNU/Linux operating system, now used by millions. Sometimes this combination is incorrectly called Linux. There are many variants or “distributions” of GNU/Linux that are 100% free software; in other words, entirely freedom-respecting. The name “GNU” is a recursive acronym for “GNU's Not Unix”; it is pronounced g-noo, as one syllable with no vowel sound between the g and the n.

“Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free beer”.

Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software:

  1. The freedom to run the program, for any purpose (freedom 0).
  2. The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  3. The freedom to redistribute copies so you can help your neighbor (freedom 2).
  4. The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

FREE SOFTWARE FOUNDATION:
The Free Software Foundation (FSF) is the principal organizational sponsor of the GNU Project. The FSF receives very little funding from corporations or grant-making foundations but relies on support from individuals all over.
The GNU project supports the mission of the FSF to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users. FSF support the freedoms of speech, press, and association on the Internet, the right to use encryption software for private communication, and the right to write software unimpeded by private monopolies.
The FSF also has sister organizations in Europe, Latin America and India.

OPEN SOURCE SOFTWARE:
Open source software (OSS) is defined as computer software for which the source code and certain other rights normally reserved for copyright holders are provided under a software license that meets the Open Source Definition or that is in the public domain. Open source is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in. It is said to be more reliable since it typically has thousands of independent programmers testing and fixing bugs of the software. It is flexible because modular systems allow programmers to build custom interfaces, or add new abilities to it and it is innovative since open source programs are the product of collaboration among a large number of different programmers.

The body of software that has resulted from this process is such that most medium and large for-profit corporations are now using FOSS to carry out some of their IT needs, and some have chosen to replace proprietary software entirely. Many large and medium-sized nonprofits, such as Greenpeace and Amnesty International, depend on FOSS. Some of the largest web services companies, such as Google, Yahoo and others completely rely on open source software for their infrastructure.

According to definition based on the Debian Free Software Guidelines, written and adapted primarily by Bruce Perens.
Open source doesn't just mean access to the source code.
The distribution terms of open-source software must comply with the following criteria:

  1. The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
  2. The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
  3. The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
  4. The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.
  5. The license must not discriminate against any person or group of persons.
  6. The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
  7. 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. The rights attached to the program must not depend on the program's being part of a particular software distribution.
  9. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.
  10. The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
    No provision of the license may be predicated on any individual technology or style of interface.
  11. The users are treated like co-developers and so they should have access to the source code of the software. Furthermore users are encouraged to submit additions to the software, code fixes for the software, bug reports, documentation etc. Having more co-developers increases the rate at which the software evolves. Linus's law states that, "Given enough eyeballs all bugs are shallow." This means that if many users view the source code they will eventually find all bugs and suggest how to fix them. Note that some users have advanced programming skills, and furthermore, each user's machine provides an additional testing environment. This new testing environment offers that ability to find and fix a new bug.