May the SOURCE be with you!

Master Yoda

The past few years I’ve been involved in something that I really adore – working with various Open Source frameworks and tools. Discussing open source versus proprietary software is almost like discussing religion. There are always zealots from both parties and as with religion, more time is spent belittling the other rather than showering encomiums on their favored side. I am one of the open source zealots[1] and have been fed a rich dose of anti-microsoft propoganda throughout my formative years as a technologist. So, don’t feel surprised or offended to see a touch of bias in my opinions.

Almost all great hackers[2] had one thing in common and that is their antagonism towards anything microsoft. These are the people who would respond to the Where do you want to go Today? with a To a galaxy far far away from you!. And as you grow in any industry, you pick reference points and Ekalyvian gurus and I chose to follow the open source path. And as I talk about these paths, I am reminded of passages from my now favorite movie series – The Star Wars.

To me, proprietary software is the dark side. As Yoda would say, enough budget money leads to laziness which leads to the dark side![3]. And of course, the dark side is always easier and more tempting! As I sit around writing this blog, I will try not to state anything anti-microsoft that is unwarranted. It is almost like religion and as the dialogue in a movie goes, Parrots in the african jungle can talk about anything and everything except for religion. Because you do not know whom you are going to offend!. So, please treat this blog as just my personal opinion and not as an evangelistic act of proselytizing. And about my stating that I will try, Yoda would be chiding me by now [4]. So, I will do, not try!

So, for the remainder of this blog, lets unlearn what you’ve learned [5] and start with a clean slate without bias. And it helps to remember that we are just not talking about “free” software here, we are talking about software whose source is available to you if desired. Though it definitely helps to easily play around if it is free! And when redistributing these free software with modifications, it helps to remember some basic ingrained goodness philosophy[6].

I, for one am always intrigued by how certain software is constructed and a peek at the internals of any software is a fabulous learning experience. When you are intrigued about the inner workings of something and are able to practically look at how it is constructed, you tend to appreciate things better. There are hundreds of memory management books but reading them would just result in you puking paging algorithms by rote on some university paper. But, one look at the paging management in Linux and voila, you realize what you’ve been missing.

Same is the case with patterns. There are hundreds of patterns books with each of them claiming application to different fields. You could have bookshelves filled with Enterprise patterns, Integration patterns, Data Access patterns and of course the grand daddy of them all – GOF[7]. But, when you look at their implementation in a successful open source framework or software, you learn better and quicker. A recent example is the Dependency Injection pattern [8] and it’s application in the Spring framework

These open source developers are the closest there is to the Jedi in the IT industry. They give their energy and intelligence without expecting much in return for the betterment of society. They strive to bring, The balance to the force relentlessly fighting battles against the Dark Side [9]. Sometimes, there are Anakin Skywalker’s who join the Dark side, but fortunately for us, the reverse is also true.

But, what the future has in store, even the great Yoda would struggle to see as it is clouded and hazy [10]. I know which Army’s foot soldier I would be. And as time goes on, Obi-Wan’s philosophical preaching, You’re going to find that many of the truths we cling to depend greatly on our point of view would stand as a beacon of truth.

One good sign for the open source group has been the application of open source principles to fields outside of software. And of all the things in the world, we now have open source application to beer! I think I should write more of these philosophical ramblings, what if more companies are starting to look for CEO’s as defined by this Knowledge@Wharton article!

Footnotes:
[1] I am using the pure distinction for open source here. Open source does not imply just free but actually indicates that the source is openly available for everyone to view, study and modify as provided by the licensing regulation – be it GPL, Apache or Sun open source. So, in my books, Professional Open Source companies like JBoss and Red Hat get a clean chit.
[2] The pure form of hacker is used to indicate a technical wizard who delights in solving problems and stretching the boundless limits that technology offers you. But, unfortunately the colloqial meaning of cracking into security systems has come to stand for hackers. ESR calls these people crackers and they are strictly excluded from my definition of hackers as well. For further reading on this subject, would suggest Eric Raymond’s articles.
[3] Yoda teaches Luke that he should learn to control his anger. Fear leads to anger which leads to aggression which leads to hate. To quote Yoda, Anger … Fear … Aggression … The dark side of the Force are they.
[4] When Luke says that he will try, Yoda chides him with, No! Try Not. Do or do not. There is no try!.
[5] Yoda to Luke during his training at Dagobah – You must unlearn what you have learned.
[6] The Bible itself has references which we could indicate as preaching free software! Heal the sick, raise the dead, cleanse those who have leprosy, drive out demons. Freely you have received, freely give. – Matthew 10:8, NIV.
[7] I own quite a few books on this lot and they make for excellent reference material. So, once you know the basics, these books provide premium insights into that pattern. But, you would be easily shown up using these books as learning from scratch guides!
[8] I think Martin Fowler was the first to use this name dependency injection. It fits better than the old inversion of control! You can read his article on this here.
[9] Now, it wouldn’t take a Sherlock Holmes to deduce what the Dark Side is and who the Emperor or Darth Vader is. But, we should not forget the good side in Mr. Gates. It must really be acknowledged that he is a great philanthrophist.
[10] When looking at the boy Anakin’s future, Yoda says Clouded this boy’s future is. And at a later point when Luke asks what the future holds, Yoda gives us this great philosophical nugget – Difficult to see. Always in motion is the future!