Thursday, April 19, 2007

Open Source, Internet Evolution and Social Welfare

I have always been fascinated by open standards - the term used to refer to technology standards that determine how a product or service needs to be configured so that every vendor can interface with it.  For the technically savvy, J2EE is an open standard - a comprehensive set of technology rules and guidelines developed through consensus among a number of IT firms.  Many of us will be surprised to know that the Internet plumbing is almost exclusively based on open standards.  All the transfer protocols are open so that no single firm can dominate the evolution of the Internet.

To throw a few savvy words - SOAP, UDDI, WSDL, STRUTS, JSP, EJB, XML -  Internet technologies are evolving really quickly and the more open and barrier free they become the greater is the social good.  The presence of an army of open source enthusiasts facilitates the evolution of many of these core technologies.  No single firm would be solely interested in facilitating the growth of some of these core technologies.  Even if there is such a firm, it would be for its own benefit and not for the benefit of society.  That is where the open source movement can really make a contribution.  Although the goal of many of these open source volunteers is to develop competing alternatives to mainstream proprietary technology products, the by-product of their enthusiasm is their contributions towards core components that are the building blocks of platform technologies.  I have always been asked what sort of a business model would be the most successful in the open source world.  there is no simple answer to that question.  However, I do know that it is a thriving ecosystem where multiple models are being tried out and I am sure there will be a lot many which will perish, and a few that will succeed. 

As the Internet pipelines become faster and cheaper, focus is bound to shift away from making desktops more intelligent to coordinating the intelligence that is available.  Distributed computing will become more important and already there are indications that a number of firms are interested in leveraging the benefits of distributed systems.  Technology tools such as Java have an inherent advantage in such scenarios.  For a firm, the ultimate goal would be to develop such a system that can break down a programming job into millions of manageable pieces spread them across a thousand machines, parallel process the job, and piece it back together. I am sure, a single large super computer has its own advantages, however, a thousand small machines hooked together and thrown on a job can definitely outsmart a really large computer.  The top500.org site that publishes an yearly list of fast supercomputers ahas such a machine from VTech that has been pieced together from desktops running MacOS.  Interestingly, Linux dominates as an operating system on this list. 

Have you ever wondered why ? Well scalability, security, and robustness are some reasons to being with.  Try leaving a Windows machine running for a month and check its performance against a Linux machine running for a month.  You will know what I am saying. Moreover, you will also be surprised to know that Linux can be shrunk so small that it can be installed on a small wrist watch and can be scaled up so much that it can run a Super Computer.  That's the beauty of the Linux kernel.


On a much broader social perspective, open standards and open source products can play an important role in developing countries like India.  India needs infrastructure, period.  there is o question about that.  However, we need more money to be poured into roads, bridges, energy and health than into probably IT.  At the same time, we cannot ignore development in the IT infrastructure front.  Solving this conundrum lies in the adoption of open source software.  India has a huge army of developers who can make the adoptions easy.  It is time that the Indian government open its eyes to the potential of open source and its merits.

No comments: