What Is Open Source Software?
Most people have heard of and/or used Microsoft Office, the suite of productivity suites that can be purchased to run on Windows. Type documents, build spreadsheets, prepare presentations and databases; MS Office does it all. However, MS Office also depends on an outdated and increasingly obsolete process for software development. That process is also very expensive; to recover those costs the price must be significant. A large corporation or institution will buy thousands of licenses to use the software at the cost of millions!
To counteract this problem, as well as reduce bugs and increase the rate at which improvements get developed, a concept of software engineering called “Open Source Software” or OSS was created. Using the Internet, a small core group, with potentially a wider group of affiliated developers, will develop a piece of software, and rely on other programmers using it to report bugs and glitches as well as suggest improvements. Open Source Software also uses a set of permissive licenses that either allow you to use it for free, give you open access to the source code (the original pre-compiled code that you cannot see on proprietary software), or even allow you to modify the source code!
“The basic idea behind open source is very simple: When programmers can read, edistribute, and modify the source code for a piece of software, the software evolves.
People improve it, people adapt it, people fix bugs. And this can happen at a speed that, if one is used to the slow pace of conventional software development, seems astonishing.”
The Open Source Initiative can be found here.
Wikipedia has a short introduction here
And here is an early review (circa 2000).
Microsoft Excel? Guess again!
Source code is a set of computer instructions in human readable form, typically contained in a plain text file. The instructions have their own syntax and rules, and this varies from language to language. The full set of these source files are, together, called the code base. The files can be compiled – translated and interpreted – into object files that are not human readable. Compiling itself is a part of the quality process, since most compilers trap syntax errors, breaches of rules, and sometimes also logic errors. Once the entire code base has been compiled, the files are combined - a process known as linking or “building”. The final outputs are executable code and the necessary supporting libraries. However, the compiler only has the set of rules given it by its designer. A set of human eyes can see things that the compiler cannot. Of course, there are always a couple of set of human eyes. What happens when there are thousands of sets of human eyes, most of whom are actually using the product daily ?
Under this model, each programmer involved with the project contributes a little bit of time and effort, but not enough to justify getting paid. Further, they all use their own computers and equipment. Wikipedia operates analogously. In Wikipedia the volunteers provide reference material for a concept, person, group, theory or historical event. As a result, Wikipedia is becoming one of the most massive databases of information that exists. In Open Source, the people involved with developing the software are professional computer programmers.
Because of these traits, Open Source Software gets tested on a daily basis, and improves just as quickly if not faster than proprietary software. Oh, and it is free.
Examples of OSS
The internet runs on Open Source software. FreeBSD and Linux are the preferred operating systems for web servers. Programmers and academics say that Linux is already challenging Windows for operating system supremacy. The dominant choice for web server software that actually delivers web content, is Apache. And the most common web application languages – Java, PHP, and the markup language HTML are both Open Source, and open standards. An Open Standard is a specification for a standard that is publicly defined (open), and a broad range of people can contribute to the definition. The alternative is a proprietary standard, where only a privileged few can contribute. In a way, an Open Standard is like the United Nations human rights framework – open, visible, participatory… Hmm…
Mozilla Firefox is another OSS offering. Originally developed as a response to the bug-ridden and slow Netscape and the unstable and insecure Microsoft Internet Explorer, it has also become the web browser of choice for the next generation of Internet users and is widely considered to be the best web browser on the internet. Already Firefox is making significant inroads and eating into Internet Explorer’s market share.
One of the crown jewels of OSS development is a suite of programs called Open Office. Open Office is essentially the Open Source version of Microsoft Office. The look and feel is the same, the capabilities are similar, they are even used similarly. So if you have a working knowledge of Microsoft Office, you will be able to use the basic capabilities right away. There are some differences as well but the similarities (as well as cross-compatibility) are what make this program valuable.
Now, a free piece of software also can have a bad reputation attached to it. Shareware has existed on the Internet for decades now but is often badly designed, and can have spyware or attached viruses to it - but it is cheap. However, the difference is that the code base is closed, not open, and the development environment is also closed - no oversight of bug tracking and flaws. Open Office, fortunately is a little better designed and tested than some dubious piece of shareware. Universities, governments, and large businesses have even been switching to it in an attempt to avoid paying the massive licensing fees of software like Microsoft Office. Small businesses have also been increasingly switching to Open Office for the same reason. Why pay hundreds of dollars to use Microsoft Office when you can download Open Office for free, especially when Open Office has 95% of the functionality of Microsoft and can be much more stable?
Over the next few posts we will examine OSS in more detail (focusing on Open Office), it’s pros and cons and how to implement it practically. Why ? Some of our clients do not run Microsoft products, some are looking to reduce their overhead costs, and others do not want to spend more money on new hardware to run the latest version of Windows and Office.

Post a Comment