|
|
|
What is the Difference between OpenSource and Proprietary SoftwareThe first section of this article will focus on clearing up misunderstandings between Open Source and Proprietary systems. I feel that Open Source has been getting quite a bad reputation and it’s solely due to the marketing ability of Proprietary systems manufacturers. So I will first attempt to clarify the case for both systems. However, Proprietary systems do have their place also. So, we will discuss the advantages and disadvantages of both systems so that the reader is able to fully grasp the reality of dealing with all systems and hopefully have a more clear view on which choices to make for their implementation.
The Case for Proprietary SoftwareThe biggest manufacturer of Proprietary systems is Microsoft. Here are some benefits of using this type of technology.Proprietary systems are more popular because of their ease of use. The learning curve to using a Proprietary system is a lot less. So for the average computer user, or business person, who is focused on quickly getting a task done, a Microsoft system is a no brainer. Note: This learning curve is changing from both angles. Microsoft technologies are becoming harder to use, because of more complex feature additions, and UNIX systems are becoming much easier to use, because of the new graphical interfaces employed. However, Open Source still remains a favorite to System Administrators and Proprietary systems a favorite to the average computer user.
The Case for Open Source Software I find that many Computing topics require conceptual thinking and it’s always hard to fully explain a topic unless we draw a parallel with a tangible technology. So to help explain this topic, we will draw a very effective parallel with the ‘Car’. The question then, is if we had two cars, an Open Source car and a Proprietary car, how would they differ? Well the cars that we use on the road have always been of the Open Source variety. You can open the hood and look at all the parts. You can remove any parts and further take apart the parts to make any modifications if you like. And when you put it back together again after making your modifications, the car will perform differently (hopefully to your liking). The same is true for Open Source technology. I promise not to get too technical, and I’d like to show you some code that makes up a simple program. Here is our sample program written in the C++ language:
When this program is compiled (something like when we put the removed parts back on the car), and when it is run, it will print the following message onto the screen: Hello World! I'm a C++ program Very simple stuff right? Ok, well there are a few details that you probably don't understand unless you have programmed before but you got the main idea - the cout line prints the text. Well, what if you wanted it to print “Hello World! I’m a C++ program. I like oranges!”? Think about it for a minute. Take a look at the code again. If you guessed that you would add another ‘cout’ line you’re right! This is the line you would add right under the last cout line:
Once you’ve put the new line of code in your program, you compile the program (put the parts back in the car) and run the program. Ok, that’s as technical as I want to get for our conversation. As you have seen, we were able to make modifications to the code to make the program behave the way we wanted. It stands to reason that the only way we would be able to make this modification to our program is if the maker of the program provided us with the code that was used along with the program. That’s what happens in an Open Source system. And that’s what is meant by the term Open Source. It means that the source code of the program is open (i.e. freely available). On the other hand, in a Proprietary system, the code is never passed along with the program. The maker of the program always sends the compiled version and hides the actual code that was used to create the program in a vault. The two major manufacturers of Operating Systems are Microsoft and the Unices (UNIX, Linux etc.). Microsoft is of the Proprietary variety and UNIX is of the Open Source. Doesn’t this mean that Open Source is more vulnerable to attacks by Hackers?This is probably the biggest myth of our time. And you will be surprised how many technologists don’t understand it. Here is the truthOpen Source systems have to be compiled before they are installed on a computer. Think of compiling the code as putting a ‘body’ on a bare car. It’s true that you can open the hood, but you have to open it from the inside of the car! In other words, you can be vulnerable using Open Source technologies – if you allow it. For those still in disbelief, if it were true that Proprietary systems were secure, then would it be possible to find no-cost copies of Windows operating systems freely distributed on the Internet? My opinion is that Open Source is really more secure than Proprietary systems. The reasoning is that when a programmer creates a program and decides to Open the Source to the public, other programmers take a look at the code and communicate with the original programmer about what they feel should be the right way to approach say a specific part of the program. This process creates strong ‘best-practices’ and forces Open Source programmers to follow standards. Manufacturers of Proprietary systems on the other hand are notorious for not following standards. And, because they don’t follow these best-practices and standards, if they go into further developing their technology they have to create their own standards (generally with a mentality of need – good or bad, as long as it gets the job done). This leaves very little room for public acceptance of a standard and whether a standard that is developed by a Proprietary systems manufacturer is stable or not, it becomes necessary to use to have the convenience of the specific technology they are developing. This non-standardized implementation of technology is much more vulnerable to many attacks! This is probably why Microsoft has to release so many fixes (called patches) to their technologies. Here is a website directly from Microsoft that has the current list of patches that are available for Microsoft products. From the Product/Technology down-drop, select 'Windows XP Professional' and let it search. For us it took about 15 seconds for the search to complete and it brought back nearly 400 results! By contrast, there are UNIX systems that haven’t released a single fix/patch in over 5 years (as of this writing). Keep in mind that these UNIX systems are open to public scrutiny. Now isn’t that what you call ‘mature, and secure software’? I do. Are there any Hybrids to these systems?Yes, Open Source allows anyone to modify the code and create their own system. Generally, a manufacturer takes Open Source technology and modifies it for resale. Due to the licensing agreement of Open Source technology, any part of the code modified for the new technology should be freely available as well. This is called the ‘copy-left’ system (as opposed to copyright). However some manufacturers like Apple open only certain parts of the code to the public that they took to create the whole system. Yes, its true, Apple is actually based on Open Source technology based on BSD UNIX. Darwin is the name of the semi-open version of BSD UNIX that Apple uses. Other hardware manufacturers also use a Hybrid Open Source system for resale such as:
What if I want to use Open Source but still remain compatible with my Friends/Clients who use Microsoft products?I highly recommend you take a look at OpenOffice.org. OpenOffice.org is the name of the software, and it’s the website address too. OpenOffice.org is software that is free for anyone to use and modify and it’s compatible with Microsoft’s Office Suite. It can be installed on Windows or UNIX and it has an interface that is very easy to use. This is because it looks and feels very much like Microsoft’s Office. It has been under development for over 20 years now so it’s very robust. Probably more so than Microsoft’s Office itself! Here are a couple of excerpts from the OpenOffice.org website: Better but Compatible Open for business In ConclusionI’m sure you’ve found out that I’m a real UNIX advocate. The truth is I am because I’m an engineer at heart. However I feel there are benefits to both Open Source and Proprietary systems. The best network is one that has a mix of both. Generally, UNIX systems perform much better at the Server side of the network and Microsoft products perform best at the Workstation side. This webpage is hosted on Open Source technology. The Server operating system is UNIX based, the WebServer software is UNIX based, the Content Management System (CMS) is also UNIX based. Even the text you read is fully Open. You are free to use, distribute, and modify everything - there, isn't that liberating?
|
Comments
thanks for the detailed info!
RSS feed for comments to this post