Tuesday, 9 August 2011

FREE term in Open Source Software

The first formal definition of free software was published by FSF in February 1986.That 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. (The numbering begins with zero since many computer systems use zero-based numbering.)

  • Freedom 0: The freedom to run the program for any purpose.
The freedom to redistribute copies must include binary or executable forms of the program, as well as source code, for both modified and unmodified versions. (Distributing programs in runable form is necessary for conveniently installable free operating systems.) It is OK if there is no way to produce a binary or executable form for a certain program (since some languages don't support that feature), but you must have the freedom to redistribute such forms should you find or develop a way to make them.

  • Freedom 1: The freedom to study how the program works, and change it to make it do what you wish.
Includes the freedom to use your changed version in place of the original. If the program is delivered in a product designed to run someone else's modified versions but refuse to run yours — a practice known as “tivoization” or “lockdown”, or (in its practitioners' perverse terminology) as “secure boot” — freedom 1 becomes a theoretical fiction rather than a practical freedom. This is not sufficient. In other words, these binaries are not free software even if the source code they are compiled from is free.

  • Freedom 2: The freedom to redistribute copies so you can help your neighbor.
This is a critical advantage for schools, perhaps less so in the library world. Whilst community members, particularly in Asia, are working to simplify the installation process, as of today inexperienced users will require support at installation.

  • Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.
Includes the freedom to release your modified versions as free software. A free license may also permit other ways of releasing them; in other words, it does not have to be a copyleft license. However, a license that requires modified versions to be nonfree does not qualify as a free license.
In order for these freedoms to be real, they must be permanent and irrevocable as long as you do nothing wrong; if the developer of the software has the power to revoke the license, or retroactively change its terms, without your doing anything wrong to give cause, the software is not free.

Monday, 1 August 2011

Advantages of Open Source Sofware

  • The availability of the source code and the right to modify it is very important. It enables the unlimited tuning and improvement of a software product. It also makes it possible to port the code to new hardware, to adapt it to changing conditions, and to reach a detailed understanding of how the system works. This is why many experts are reaching the conclusion that to really extend the lifetime of an application, it must be available in source form. In fact, no binary-only application more than 10 years old now survives in unmodified form, while several open source software systems from the 1980s are still in widespread use (although in many cases conveniently adapted to new environments). Source code availability also makes it much easier to isolate bugs, and (for a programmer) to fix them.
  • The right to redistribute modifications and improvements to the code, and to reuse other open source code, permits all the advantages due to the modifiability of the software to be shared by large communities. This is usually the point that differentiates open source software licences from ``nearly free'' ones. In substance, the fact that redistribution rights cannot be revoked, and that they are universal, is what attracts a substantial crowd of developers to work around open source software projects.
  • The right to use the software in any way. This, combined with redistribution rights, ensures (if the software is useful enough), a large population of users, which helps in turn to build up a market for support and customization of the software, which can only attract more and more developers to work in the project. This in turn helps to improve the quality of the product, and to improve its functionality. Which, once more, will cause more and more users to give the product a try, and probably to use it regularly.

Definition of Open Source Software

Open-source software (OSS) is computer software that is available in source code form the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.
Open source software is very often developed in a public, collaborative manner. Open-source software is the most prominent example of open-source development and often compared to (technically defined) user-generated content or (legally defined) open content movements.
The Open Source Definition is used by the Open Source Initiative to determine whether or not a software license can be considered open source.
The definition was based on the Debian Free Software Guidelines, written and adapted primarily by Bruce Perens. They are by no means definitive even as applied to software. Clause 3 is the primary legal difference between free software and open source software as such, free software is stricter in interpreting 3. Clauses 5 and 6 are not a condition of any major open content license regimes, which commonly do restrict types of uses and users; for instance, Creative Commons has open content licenses that explicitly forbid commercial use.