Advertisment

The Open Source Story

author-image
PCQ Bureau
New Update

Why reinvent the wheel? Take the wheel that somebody has spent a lot of good time and energy to develop, and make it better or modify it to suit yourself. This is the philosophy that open source is based on. 

Advertisment

Philosophy is fine, but what does it mean? In the closed-source model, you can use a program the way the vendor has intended you to use it. You can't make changes to it, such as fixing a security glitch if you notice one or tweak it to suit the changes in your business. In the open-source approach, the programmer gives out the source code of his program, so that you can see the architecture of the program, and copy it or make changes to it if you want. This way you have more control over the software that you run.

So, all this excitement about open source has to do with being able to see and change the code, you may ask. This may gratify a developer's ego, but in a business environment, how many people, other than some techies in the systems room, would even understand those long lines of code? The good news is that the philosophy of open source, especially when coupled with the fact that the closed-source model follows a very different pricing approach, lends open source a viable business sense.

This is a business' total cost of ownership (TCO). When a company buys software, the cost of software itself is just one cost incurred by the company. What is more of a concern to the IT manager is the TCO the software is liable to. This includes ensuring regular updates, looking into vulnerabilities and security issues and cost of support and maintenance, amongst others. 

Advertisment

With open-source software, the IT manager can look forward to a much lower TCO. Here's how:

Top

Software
 1  APACHE,

the Web server runs on multiple OSs

2

LINUX,

is gaining acceptance in enterprises

3

MySQL,

is the preferred open - source RDBMs

4

PERL, is

a key tool for Web programmers

5

PHP, is

popular for server-side scripting

Free or low-cost software



Most open-source software is usually free or comes at a very low cost. You either download the software or, if you are buying it, you normally pay a one time purchase fee and no additional license fee. But, why would you buy if you can get it for free? Read our Q&A boxes. 

Advertisment

IT managers will also easily find open-source apps for most needs on the Internet. In terms of the OS, there's the most

well-known open-source OS of all, Linux with its various variants. Then there's Free BSD. There are also free or low-cost

apps that range from office suites, graphics packages, databases, Web and server software to scientific and engineering apps

and software to implement ERP solutions.

No extra licensing costs 



This is the killer argument of them all. Commercial software vendors usually have very strict licensing terms, most commonly charging on per client license basis. For example, when you buy a proprietary server OS for your server with many clients, you pay for each client that will access it. Add to this the cost of all commercial apps, calculated on a per license basis, that you will run, and you can see why IT managers are increasingly being attracted to the open source route.

No upgrade costs



What makes business sense for commercial vendors is to release frequent upgrades to their existing products, accompanied by a gradual withdrawal of support for the previous versions. They may also move to new file formats, to read which you will have to purchase new software from them. This often results in a catch-22 situation for the user. What this means is that if you continue with the earlier version, you will not get any support, while if you upgrade, you'll have to pay software cost and license fee on a per client basis all over again. Also, your business may not require you to upgrade, but just because the vendor has upgraded and withdrawn support to the previous version, you often have no choice left but to upgrade. In such a case, the IT manager has to plan for such contingencies in his budget. 

Advertisment

How does open-source software help here? First, here the cost of upgrades is negligible when compared to that of commercial software, and is often covered in annual sunscription fees. 

Stable and secure



The very concept of open source encourages security and stability. As opposed to the closed-source model, where a few teams work on the security aspect, in the open-source model the code is open to the scrutiny of a vast community of developers. So, the chances of someone identifying and fixing bugs are much, much higher than in the closed-source model, contributing to secure and robust applications. In the closed-source model, on the other hand, even if a user files a bug report, its up to the vendor to decide if and when he wants to fix it. So, the TCO, in the case of open source, amounts to a reduction in security systems and administrators. 

This is not to imply that there are lesser number of bugs in open source software. Only that they tend to be spotted and patched faster.

Advertisment

For most back end jobs, like firewall, gateway, proxy etc, you do not need the latest hardware. Opensource software can be deployed for such purposes on older machines, stripping out unwanted parts if necessary, thus saving on hardware upgrade costs as well.

Customization



Being able to customize software to suit to your specific business needs is another asset. When you deploy an existing app in your scenario, you may find that some aspects don't work the exact way you want it to. So, you customize the code, and if you give the modified code out, you may also end up contributing to the improvement of the program. 

Also, as your business needs grow or change, you have the freedom to modify your solutions without being constrained by software.

Advertisment

Why is proprietary software being Open Sourced?



Some proprietary software vendors have opened the source of some of their products. Apple, for example, has open-sourced its Darwin and Rendezvous (a technology that lets you auto-configure computers on a network) projects, amongst others. These fall under the Apple Public Source License. Sun, too, has some products that fall under its Community Source License. 



How do such vendors benefit? These companies have enough qualified and well paid developers on its rolls to deliver quality products. So, what's the catch? Opensourcing (similar to making available for free) is one way to larger acceptance. Another reason is that the availability of the code contributes to quicker development of not only the core product, but also of add-ons and associated products.

Juhi Bhambal

Any misgivings? 

Advertisment

The use of open-source software has started to catch up in the enterprise segment. Most organizations are actively considering deploying open-source software in at least some parts of their IT infrastructure, if they haven't done so already. 



The most lucrative reason for this of course is that it's free, source code et al. So, besides deploying the software, you can also play around with the source code and customize it to suit your requirements. But the decision to use open source shouldn't be just on the fact that it's free. 

For all you know, a commercial software might provide better value for money and return on investment than its open-source counterpart. So you must decide keeping in mind your organization's requirements, and whether open-source software will be able to meet them more effectively than commercial software. In order to make this decision, it's also important to understand the limitations of open-source software, besides the benefits. 

One of the biggest problems with open source is the very fact that it's open. In other words, you're given the software as is, without any sort of warranty or assured support. True, there are multiple resources like Web forums and the like. But when you are running business critical software, you would want more assured assistance and support. The good news is that there are third parties like consultants (even big names) who have started stepping in to fill this gap.

The availability of source code is considered as an important benefit of open source. You can debug it, check that it's not concealing any malicious code, or even add your own set of features and enhancements to it. This sounds very good, but how many organizations would either have the time or the resources to invest in these tasks? 

Analyzing and enhancing source code is not an easy task and requires full-time developers for the job. Does your organization have the manpower for it? If not, then this benefit is really of no use to you. 

Is it really free? This depends on a number of things starting from how “free” is defined. There are open-source applications available that can meet most organizational requirements. But what if your employees are comfortable using the existing commercial applications and desk tops. A shift to the new application would require time to adapt (reduced productivity) and training (cost) to learn its usage. in short, TCO (total cost of ownership). Integration with other applications is another issue, and will be specific for different organizations. So, having a feature rich open-source application alone is not enough. Is it worth the time and effort for you to do a switch? The case may be different if you are considering a new application area altogether. 

On the hardware front, most vendors provide proprietary drivers for their equipment to run on different OSs. There still exist availability issues for drivers for open-source operating systems. This is particularly true if your hardware is not all that commonly used or is old. Check these out before opting for open source.

Lastly, there are tons of open-source projects that are running. The success and future of each of these depends upon how many developers take interest in it at any given time. So if you're using software from a project that gets suddenly discontinued, like what happened with the Linux router project, then you're on your own. 

In short, choose carefully and not blindly the software you want to run. Business realities are more important than software philosophy

Anil Chopra

Q&A 

Isn't free software the same as open source?



No. All free software (as in unpaid) is not necessarily open source. Open source calls for the source code to be available for modification and redistribution.

If I give out the source code of a program, will it become open source?



No. Giving out code isn't enough. People should not just be able to see the code, but also be able to copy, modify and redistribute it for it to become open source.

Why is the word 'free' associated with open source?



Free in the case of open source does not mean something that you don't pay for (gratis). But, it means free from restriction (liberty); you are free to modify and share the code. 

When you say open source, do you mean Linux?



Linux is not all that there is to open source. Of course, there is the Linux OS, but there are other OSs, too, such as Free BSD. Then there are apps and software (from office suites, databases, Web and server-side apps and development environments to scientific and engineering apps) that run on these. Apache, PERL, Tomcat, MySQL and Sendmail are some well-known open-source projects.

Is open source software only available on Linux? 



No. In fact, there's tons of open-source software that runs on Windows. There's open source software available for just about every application category in Windows, be it office suites, e-mail, multimedia or the Internet. There's Mozilla Web browser, Filezilla FTP client, VirtualDub video-capturing software and a plethora of instant messengers, firewalls, network security scanners, CD-Writing software and so on. In fact, most of the popular open-source projects like Apache, Tomcat, Perl and MySQL also have their versions on Windows. 

What is Microsoft Shared source? 



This is a program recently announced by Microsoft to share its source code with customers, partners, and governments worldwide. Some of the objectives of this program are to provide an expanded access to source code, provide the tools for building software, and improve the feedback process. There are different programs for different people. 

If the source code has to be given out in open-source and not sold, then how does one make money from it? 



This is done by putting value adds to the source code. You could make an application that's easier to install, put in a comprehensive documentation on how to do so and also on how to use the software. You could even provide better service to the software. A classic example of this is RedHat Linux. 

Are there any commercial applications available on open source OSs? 



Yes, there are lots of commercial applications on open-source OSs. In fact, a lot of software vendors have ported their applications on Linux. Oracle, Informix, Corel, IBM, are just a few names that come to mind. IBM has most of its applications available on Linux, whether it's WebSphere, Domino, Tivoli Access Manager, or even DB2. 

Where is open source software available? 



While you'll find open-source software in lots of places, there are a few prominent places to check out. These include Freshmeat (freshmeat.net), SourceForge (sf.net), The Open Source Directory (osdir.com), BerliOS (developer.berlios.de) and

Bioinformatics.org. 

How does one verify that a particular software is Open Source?



The best place to start is the license that accompanies it and ensures that it has been OSI certified. This mark means that the software is being distributed under licenses meeting OSD requirements.

What do the licences mean?

When we say open source, most people think of Linux. Beyond that, the first thing most people assume is that the software is available for free. Those who are a bit more knowledgeable assume that the source code is also available. None of these statements are necessarily true. So, any organization considering an open source deployment would be well advised to learn more about open source.

The first stop in this learning effort is at the licensing policies. It is the end user license agreement (EULA) that sets out what you can do with the software you have purchased/licensed. The open-source movement operates under a myraid set of licenses. All open source licenses can be clubbed under the Open Source Initiative's (OSI) open source definition. The n bOSI is a non-profit organization which manages the Open Source Definition of software. Though there are many different licenses under the open source ambit, the prominent ones are GPL (General Public License), LGPL (Lesser GPL), FreeBSD, Apache and

Mozilla.

In a pure sense all these licenses differ from each other but the basic purpose of all is to promote the use and improvement of open source software and to prevent any entity from claiming proprietory rights to the same. 

Open source doesn't just govern the software itself. The methods of distribution, modification and copying of the software are equally important elements of the various licenses. 

Unlike common belief, the different open-source licenses do not restrict any one from selling or giving open source software as a component or as an aggregate, combined with software from other sources. So, it is fair and above board for a consultant to approach you with a proposal to implement an open source software, and demand a fee for it, including for customization or

sevices. 

It is also not true that the source code has to be provided with all open source software. Under the FreeBSD license for

example, the developer need provide only the binaries. Again, the source code need not physically accompany the binaries even for GPLed code. The GPL allows for a well publicized (and separate )means being available (like a web site for example) for obtaining the source code. 

Open-source licenses specifically allow for the modification of a program for your own business purposes or for improving the software from its present state. You are not bound to give away the modifications. The only condition is that if anyone distributes the modified software, then it should also be under the same terms as the license of the original. This means the person receiving it can also further distribute it unmodified or after making changes.

Commercial Linux distribution companies provide box packages of GNU/Linux operating system, and charge for it, if you were to buy it (as against download it). The price is technically for the media, the manuals, packaging and support. 

Under the open-source scheme of doing things, there is no concept of “number of client licenses” for a server, or licensing of software based on number of CPUs or “number of installed systems” or any such. But then there is nothing against a vendor charging you for services around open source software, using one of these models. Thus for example, when you buy Redhat Enterprise Linux Advanced server premium edition. You pay $2499 per installation per year as a subscription (including updates, assured support, etc)

In short, for a corporate looking at implementing open source, you can modify it (where source is available), but do not have to share your modifications with the rest of the world. Some one could charge you for collecting the software, helping you implement it and supporting you for running it. Alternatively, you could use your own staff and resources to do the same thing.

Anoop Mangla

Advertisment