Why Open Source is important?

Hi readers,
with the beginning of 2008, ObjectsRoot.com will change a bit its face.

First of all, all Italian article will be moved to the new “vamp” site, thinked as a news site.

Objectsroot will focus on IT Business and it will host only english content: IT article will remain here, at least for a while.

ObjectsRoot.com will focus on publishing and advanced web services for our customers.

I  have done some deep  consideration on Open Source Software  and I will summarize them here.

From the beginning of my Univesity studies, GNU software helped me  to grow in my competence.
Linux was far more advanced the MSWindows in 1993, and helped innovation.

Commercial software is always a bit too expensive, especially in Italy when consulting firms got paid for doing a lot of work, and there is little space for the Independent software vendor (ISV).
Worst, in my last 12 years of experience, quite all of my Cutomers didn’t like the “out of the box” product sold by big companies. I spent about the 80% of my time in customization of already-done things.

Italians want things in a very particular way I think :-)

In the last year, I get stuck because a very bad designed product failed in so many area, the customer eventually decided to cancel the project after 12 months we cannot get basic things working (like for instance search in natural language like GOOGLE!).

That bad stuff is written in Java and is a Knowledge Management System.

I was in pain because the support was poor and they was unable to  give me the documentation.

Even worst , because the project was composed of all closed-source things, the 120MB ear was very difficult to understand.

They rewritten things like Hibernate and Log4J, with poor result in our environment. Worst they supported only AIX and Linux, a very limited platform choice, isn’t it?

(I omit the company name because I am a good guy, and I do not want to put shame on a company with good programmers, bad software archiects and even worst support)
I think these guys never read the JoelOnSoftware‘s WebSite.
Anyway they used all the Java technology out of there, and they wrote a very huge amount of code.

I get the same feelings of this guy, which wrote on his site about a very similar problem:

Once upon a time I had to deal with a company who sell flash charting components, their component had a bug that I needed fixing, so I emailed them about it asking when it’d be fixed. (Remember that I had paid real money for this software.) They were so incompetent, rude and obnoxious that after three or four weeks of emails I thought to myself “I could learn Flash and Actionscript and write my own charting component, release it as Open Source, host it on sourceforge and build up a community of helpful coders faster than they can fix a single bug.” And that is what I did. And that is why it is free. I guess the moral of the lesson is: don’t piss off your customers.

So I understand why open source is important.
Open source is a good way of sharing knowledge, and this is the most important things.

Please note that cost is not the most important thing.

Shared knowledge and examples are the most important things. Let’s see why, dear readers.

Why Shared Knowledge?

In the’80 and also in ’90 a lot of software company failed to true understand what shared knowledge is all about.

Shared kwnowledge is the big force which helped some open source software to survive far beyond its initial developers.
Netscape used it to keep Mozilla source code alive.
Others good things are quite dead (like AmigaOS) because are trying to **sell** an old, outdated things with a very little set of people interested in it.

Closed things can live well but require a very huge set of attention, money and love.
And some things cannot even born in that environment.

Get me at least THREEE EXAMPLES!

I admit it. I am a fan of Emacs. A very nerd thing. And I am also a fan of unix.

But I must learn those things, and while I am working, I have less time then an University guy.
So I’d like to see at least three examples for every stuff I must use.

Now do this joke. Think about three unix command (for example cat, rsync and  ls) and count the examples given in the manual pages.

On Linux you get ZERO examples for ls (you can get some more examples on the info pages,

but three examples are only three more line on the man page!).

You get more then three examples for rsync, and only two poor examples for “cat”.

So I suppose the rsync guys are more smart then others.

Try with another command.
This is the wrost thing of unix, in my own opinion.

Some big software company (like Microsoft)  can teach this lesson very well.
But Microsoft failed poorly about sharing knowledge, and so they avoided new ideas, because they cannot risk to afford so much money in innovation.

So Ideas need other ideas to grow, and must show at least some  good examples, the rationale, to  grow well.

For all this reasons  I will release all my software in double license: free and commercial.
The commercial is for true business man who want a click-and-install software, with paid support.
I mostly resell ready made web sites written for high speclialized customers.

The free one  (mostly GPLv2) is for who cannot afford the software, and wants to look at it, possibly extending it.

Last but not least: Happy new Year!

For the spammers: I really love you, because you do a very sad job, even worst then mine in this last year.
But please keep going on, because I like so much seeing you  working for so a futile task. And bad new year to all of you spammers!