Tuesday, November 15, 2005

Why open source ?

Here is an article Eugene published some time ago:

I have been approached by many developers regarding the benefits of using Open Source in their software companies. Although the benefits of using Open Source software and Linux in particular is always enumerated in terms of advantages to the 'users', many developers still don't seem to get the point.

After all we are talking about giving software away for gratis. How can anyone build a business on such an idiotic business model?

Let me start of by saying that I assume that you are reading this article because you are a developer or working for a software development company. I also assume you have access to a good search engine (I recommend Google) and that I don't have to post links to each and every technological reference I make.

You are reading this article in a portal build on the Linux operating system, augmented by an Open Source database called MySql and an Open Source Content Management System (CMS) called WebGUI served through an Open Source web server called Apache. All these components we downloaded for gratis and because I can help myself with software and technology I had little trouble in setting up this portal at a fraction of the cost associated with similar proprietary systems.

Yes – there is no free lunch. We had to learn Linux, I had to read up quite a bit on how the Apache web server works , I had to read README files from four different projects – and in the beginning I had to struggle a bit. But – besides for the fact that I have a stable, secure and professional portal up and running at virtually no license fee I can guarantee you that as a software developer I have so much more insight into what I'm actually doing when I'm designing a web based application than I would ever have had using all the proprietary wizards and gadgets which comes with Microsoft's developers tools. I got my hands dirty and I'm much richer for that.

That is not where the story ends. I can take this software as mine – I mean all of it including the operating system, I can do with it whatever I please and I can develop new applications and sell it for profit.

We can reuse our software because the development tools and frameworks are stable – the technology is not dependent on a single vendor changing its mind all the time and along with that all its development tools - ala each and every over-hyped and overrated "state of the art" technology (each of them lasting about two years - I started setting my watch to the rythm) DDE, OLE, COM, COM+, .NET and so forth and so on ad nausea ad infinitum. At one stage I found myself developing a rather large and complex VB based application three times - once for VB4 to VB5, then VB5 to VB6 and now from VB6 to VB.NET. Everytime the the promises were the same - "no hassles in reusing old source in new tools" - but in practice it was easier to rewrite than trying "to migrate". Each time the client payed for the same software with little or no added benefits - each time we had to buy a whole new range of morbidly expensive developer tools - each time we lost out badly at the end day. I was one of those unfortunate souls who jumped on the "Visual" Java bandwagon in utter desparation to build some code that I can actually reuse - just to have the carpet pulled from underneath me rather unceremoniously about six months later - after investing considerable time and effort in porting some of my stuff to this brand new and promising platform.

Now - when something goes wrong – we can fix it ourselves, gone are the days that I had to apologise to a client that I can really do nothing about a bug which almost destroyed his business because I have to wait for the next ADO patch (if and when it eventually came out).

Now we have real support - I can log onto a website and discuss problems openly with millions of other developers around the globe. There is a lot of brute power in that. Open Source empowers you and the psychological effect of being the master of your own universe I will not exchange for any "user-friendly wizard" based proprietary development tool – even if all that came at no licensing fee or even if they payed me to use their closed source bug infested products.

My next article will be about the most misunderstood aspect of Open Source development - licensing regimes and what it implies for your business model.

0 Comments:

Post a Comment

<< Home