Monday, January 03, 2005

Open Source Software

First off, we need to be all reading from the same page, so here are some definitions:

Free software is defined as:

* The freedom to run the program, for any purpose (freedom 0).

* 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.

* The freedom to redistribute copies so you can help your neighbor (freedom 2).

* 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.


Open Source Software is defined as:

* 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.
The program must include source code, and must allow distribution in source code as well as compiled form.

* 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.

* 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 not discriminate against any person or group of persons.

* 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.

* 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.

* The rights attached to the program must not depend on the program's being part of a particular software distribution.

* 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.


Now that we have the definitions out of the way, we can continue on and discuss the rationale behind these movements, and what they bring to the table in our real world. The two terms seem very similar, in fact the only difference is that you can sell open source software, and free software is, well, free.

OSS (Open Source Software) and FOSS (Free/Open Source Software) are on a track to merge. The FOSS movement was started long before the OSS movement, and the OSS language was brought about to entice more corporate involvement. It was thought that in some circles 'free' equated to 'bad' – you get what you pay for.

Mako said:

While the ideology of open source seems to be waning in popularity, the term "open source" is growing in strength. More importantly, the software itself is bigger than ever and growing quickly. In Spain, regional governments are embracing "open source" and software libre. In Munich, in Brazil, and in non-profit organizations and schools around the globe, "open source" is a familiar phrase.

Anyways, what does this all mean, you ask?

I am a proponent of OSS/FOSS (to be called Free Software from now on), and I wanted to take a moment to explain why.

If you recall (or read my archives) in one of the first posts, I talked about Ubuntu Linux as my distribution of choice, because I believed in what they were doing and the language that they used.

For me, Free Software is about empowerment. It empowers common people, what ever their lot in life, to have the most powerful tools at their hands. With Open Office, anyone can create professional looking documents, spreadsheets and presentions, and not have to pay hundreds of dollars for the right. People can have a safe computing experience, practically immune to the spate of worms, viruses, and other garbage that threatens Internet users today. They can be assured of their right to privacy, knowing full well that their Operating System is not sending reports about what software they have installed, nor recording how many times the hardware in their machine is changed. It takes the power away from an elite few, and gives it back to the masses.

But software is expensive to develop, you proclaim! Who is going to pay the salary of all of these people?

Some do it for the love of the software, on their weekends. Some are hired by major corporations who service the software, or sell hardware to go along with the software, to insure that their needs are met. IBM, Novell and Apple are companies that embody this new economy. IBM and Novell have teams of developers who work on OSS/FOSS projects, to insure that their needs are met with the next release. Novell has teams of people working on the Gnome Desktop, KDE Desktop, Linux Kernel, Mono and many others. IBM works on many of the same projects, and funds many others. Apple (with the advent of their rocking OS X) has switched to BSD internals and gives back much of the work that they do.

Now, these are simply companies, with their bottom line to watch out for, so not all have done a fantastic job over the years. It's been fits and starts for a while, but the future is bright indeed.

From the Ubuntu Linux Homepage:

* Ubuntu will always be free of charge, and there is no extra fee for the "enterprise edition", we make our very best work available to everyone on the same Free terms.

* Ubuntu includes the very best in translations and accessibility infrastructure that the Free Software community has to offer, to make Ubuntu usable by as many people as possible.

* Ubuntu is released regularly and predictably; a new release is made every six months. You can use the current stable release or the current development release. Each release is supported for at least 18 months.

* Ubuntu is entirely committed to the principles of open source software development; we encourage people to use open source software, improve it and pass it on.


-Tsyko

No comments: