What is Open Source?
The most basic definition of open source software is software for which the source code is distributed along with the executable program, and which includes a license allowing anyone to modify and redistribute the software. Source code is the actual instructions which programmers write to create a piece of software, the “recipe” for the program. Once a program has been “compiled” into a form which can be installed and run on a computer, its source code is irretrievable. It is practically impossible to make changes to a program without having a copy of its source code. If a program’s license includes the right to modify the program, this right is meaningless unless the source code is readily available. Actual licenses for OSS vary between different companies and development projects, but they have certain characteristics in common. The Open Source Initiative, a group of developers who disseminate information on the benefits of open source,[1] has posted on its web site a “meta-definitio
Today we swing back to the discussion of what is and isn’t open source. It became a big issue for the software industry in 1998 when Netscape released the source code to their browser, with much fanfare and press coverage. It hailed a new beginning for software, tossing out all the rules that came before. It promised that individual programmers would melt into a utopian whole, personalities would no longer be an issue, a ouija board would write the stuff, and people would come and go from projects, everyone happily working for free, the users would be empowered, Microsoft would be routed around. No more bugs, no more dictatorial leaders, and a swarm of Internet programmers working for free, would take Microsoft out of the browser business once and for all.
A program is in fact a long list of commands which are carried out by the computer. In order to make the task of writing these commands easier, the program is written in a programming language which is easier for a human programmer to understand. A program in this form is referred to as “source code”. Once the programmer has written the source code, it is converted into a form which the computer can understand, “machine code”, also referred to as “the binaries”. The process of conversion is called “compiling”. Machine code is virtually impossible for human programmers to understand. In order to make changes to a program, they must change the source code written by the original programmer, and then recompile it to produce new machine code. Companies selling or distributing commercial software do not usually want users to be able to make changes to it, so they do not normally provide the source code along with the program. Consequently, users are not normally able to modify the program i