Here is an account of the oft-repeated opensource vs closedsource discussion.
To the un-initiated, in the Computer Programing world, 'source' is a synonym to the computer programs.
When developing new software, the source / program is written as text and then compiled (using a tool called compiler) into binary form that a computer can understand.
Closed-source refers to the programs available only in the binary form to the computer user. This has traditionally been the school of thought that has maintained that the average user is not required to know the program internals as long as the computer does what the user wants. On the other hand, Open-source refers to programs available in their native text form which would have to be compiled by the user before they can be used. That is an added task (ie having to compile the program yourself), but this is fundamentally different from the approach closedsource takes. From the perspective of the users freedom of what they want their program to do, opensource programs are tremendously powerful as they allow the user to change the program source code and therefore its behavior. Opensource gives the power to the user; whereas closedsource gives power to the program vendor.
To be more precise, organizations like Microsoft and Apple belong to the closedsource camp while organizations like Canonical and FSF belong to the opensource campaign.
Now why is this debate so important?
In the days of the yore, about 30-40 years ago when the computer industry was still in its infancy, the culture was of co-operation and every hardware vendor shipped their programs to their consumers in the native format (ie you had access to the program text). You could run, modify and share the program with your fellow users without any implications from the vendor. Then slowly, companies started realizing that programs can be a source of revenue, if they could block the users from having access to the source code. Some of the users who were not of the same view, decided that they would not part with their freedom of access to the source code decided to splinter away. This happened in 1983 when an employee of Artificial Intelligence Labs of MIT, Richard Stallman, took the seminal step of creating GNU (GNU is Not Unix) Organization. And they took upon themselves the role to create a fully functional and feature rich set of tools, Operating System, Apps etc all from the scratch. And not just that, ensuring with the GNU GPL (GNU General Public License) that they authored to have the users maintain the freedom of running, modifying and sharing their programs with anyone they like whether for a price or for no price. This was their mission of 'Free Software Movement'. The Free referring to FREEDOM not PRICE. Over the years, this movement has evolved and new ideas have come into shape. For instance, some followers of the Free mindset, decided to call themselves 'Opensource' to be more acceptable to the Corporate world where the notion of 'Free' software is not very favorably taken. In this connection, I must mention that the Linux Operating system created by Linus Torvalds is based on the GNU GPL. It is also referred to as GNU/Linux. Also the popular mobile platform Android from Google is based on Linux and therefore GNU. Linux has many many variants the most popular in the Enterprise world being Red Hat Linux from Red Hat Inc., Ubuntu from Canonical Corp that is quite popular on Home PCs and laptops.
So you see in the 30 years or so since the GNU Free Software movement was started by Richard Stallman, Free software philosophy and its derivative the 'Opensource' has become a very important part of Computer Software Technology.
No comments:
Post a Comment