Free Software
 
19/08/2005 - 20:34

Open source and free software

This is the first of a series of articles about facts that are not well known for many people: well, we think these facts must be known. We are talking about topics that concern the Internet directly or indirectly. We are not talking about topics that are meant for skilled people only but, on the contrary, these topics are intended for all the people who are unaware of them. Often those topics are dealt with badly by the media that usually end by giving unaccurate or completely distorted information. The articles that you will read here have not the pretension of being great pieces of journalism because, well, we are engineers, not journalists. So let's leave such a job to people more skilled than us. The only intent of these articles is INFORMATION.

Ok, let's go to the point: the open source movement and free software.

Let's start saying that at the beginning of the age of computer science, software was free, indeed developer communities cooperated and shared software freely. Copyright issues related to the software didn't exist yet and information spread freely among developers as happened - and still happens - among researchers. In fact scientific discoveries are published in authoritative scientific journals and spread all over the world. Such a kind of cooperation was the spirit which animated the Internet community all the time (if we don't consider the starting spark of military nature). In fact the Internet was born within the military sphere first and then it spread within the scientific community. Just lately (thanks to the appearance of the Web too) it spread within the business sphere. Getting back to the software issue...everything went fine until software companies started charging users for their products. There was someone who went too far developing monopoly positions (yeah, Microsoft). That at the expense of the developed software.

[In fact monopoly means: 'o mangi questa minestra o salti la finestra' (I don't know the corresponding english version of this italian proverb...the english translation should be 'either eat this soup or jump out this window' meaning something like this: 'take it or leave it'. In fact you have not so many choices...either buy this software or buy this software! Famous uncle Bill's creed...).
But this is not the piece of news.]

The good piece of news is that the concept of free software is coming out again. That's happening thanks to the action of thousands of volunteers and organizations disseminated all over the world - connected among them, that's odd, by means of the net - that cooperate for years in order to reach common goals. Thanks to these persons great and wonderful projects were born, such as the GNU organization, the Free Software Foundation, the Open Source movement, the Mozilla project, Linux and many others.

Promoters and authors of these projects are famous HACKERS. Yes, that's odd, hackers are not as bad (that's the subject of another article) as somebody would like us to believe. Not at all. Linus Torvalds for example is the hacker who invented the Linux mythical operating system. Richard Stallman is the hacker who founded the GNU project (an Unix like operating system but free unlike Unix). That's only to cite two of the most famous personages. We are talking about particularly brilliant university students and people who worked at prestigious universities such as the legendary MIT (Massachusetts Institute of Technology).
Then open source was born.

In order to better understand the key of the problem, a little technical explanation for not-so-computer-skilled people is needed. You have to know that there are two different formats of the same piece of software: the 'source' one and its corresponding 'executable'. The source part is the code of the program written using any programming language (such as C, Java or Cobol).
The executable part on the contrary, is the corresponding translation of the source code to something understandable to computers only (it is nearly impossible to read for humans).
In short the source code is made up of statements and commands that the developer gives to the computer (it can be written as if it was a letter, using for example a program such as Word).
This source code can be read by everyone and everybody can change it. You have just to know where to put your hands ;o).

Things get different with the executable format that is a translation of the source code (realized by a special program called 'compiler') to something understandable for computers. So computers can't read the source format of a program and humans can't read its corresponding executable code. Computers can't read programs written as they were Words' documents. They simply can't understand them. So an ad hoc translation is needed. This special translation is called 'compilation' and, as I said, the tool used to achieve that is the compiler. So we reached the point.

Word or Internet Explorer for example (I refer to Microsoft's programs because they exist inside of 90% of PCs and therefore they are known by almost anybody) are pieces of software that are supplied as executable format only. In other words their corresponding source code is not supplied. Why?
The answer is as simple as the question:
If a developer can get the source code of the Word program, he can change it too and, of course, he can upgrade it. He can also trick protections (even if that's not lawful) put there to avoid that anyone can use the software without having paid for it before. This kind of tricking is called 'cracking'.

A very skilled developer could get the source code 'guessing' it by means of its executable (such a kind of operation is called 'reverse engineering'). In other words that piece of software would become a kind of open source software (obviously software companies will prosecute these operations). Anyway reverse engineering is hard to perform: a real nightmare even for the most skilled developer. So every times a sofware company supplies a program without its corresponding source format, it's pretty sure that anyone who want to use it or upgrade is obliged to pay for it.
When a piece of software is supplied without its corresponding source format we say that it is a 'proprietary software' (its owner is the company that developed it).
In order to use it a license is needed.

Licenses are sold by the company that developed the piece of software. The purpose of a license is protection of the software's copyright. Any license has a price. The meaning of copyright is: you don't buy the piece of software but just a copy of it. In other words the piece of software is owned by the company that developed it. When you buy a license you are buying the right to use a copy of the original software. Anyway you can't distribute copies of the software protected by copyright. The same thing happen with musical CDs (remember Napster and mp3s)?
On the contrary when a software company supplies the source code, we say that the supplied software is open source (i.e. free and readable software and therefore upgradable by anyone).

Warning: open source is not free software yet. In fact open source programs can be freely distributed or sold. So free software is different from open source software. This subtle difference between free software and open source software is widely discussed at the GNU's web site. You can also take a look at the Free Software Foundation's web site. The guys at the GNU project use the word copyleft. Copyright and copyleft are mutually opposed. The first one protects against unauthorized copying of the software whereas the second one 'grants licensees permission to copy or distribute the program or its derivative works'. You can find explanation of several software categories at this FSF's web page.

Some helpful links

www.gnu.org(the GNU's project - GNU's Not Unix)
www.opensource.org (the open source organization)
www.stallman.org
sourceforge.net
www.fsf.org (the Free Software Foundation)




Go back
 

Home  About  Mail us!  

Copyright © 1998-2006 Wowarea