Open source and software bloat
An interesting side effect of community developed open source software is that, in general, it produces less bloated and more modular software packages that their binary , commercial only counterparts. Multiple factors are at play that bring this about. These differences can be summarized in three main areas, the development, distribution and deployment models.
Development model
The development model followed to produce software has a large role to play in the characteristics of the end product. Developed in a time when a new functionality release every year or two was the acceptable norm and new functionality directions were known only to to a small group until the big release day, as much as possible had to be crammed into this single event. The functionality released also had to be as feature rich at release as possible, leading to bloat in functionality that might or might not become widely used after release. With the acceptance of the “ Release early, release often” methodology described in “The Cathedral and the Bazaar” by Eric S. Raymond in 1997 now inherent in open source community developed software this all changed. No longer are large portions of the application developed on the basis of market research that everyone hopes would still be valid when the end product is released months or years later. New functionality in community developed open source is incorporated and released on a continuous basis and is usually not feature rich at release. This allows the non critical features to be developed and added only if there is demand for them, leading to a feature set based on constant user feedback and demand. One can however not draw a distinct line between development that started in the traditional model and development that started their existence as open source. Examples of development that had their existence in the long release cycle, binary only model and have successfully emerged into the open source, release often, release early world are available. One such development is the Solaris operating system from Sun Microsystems, traditionally a binary only long release cycle for major changes ( 3 – 5 years) classifies this as a traditional development. Releasing this development effort under an open source license and adopting an open community development model has in a short period of time transformed Solaris into a fast moving, community driven effort that was released as OpenSolaris 2008.05 earlier this year. An operating system with a release plan of every six months and ample opportunity for community involvement and direction.
Distribution model
In a former life in the database world I was amazed when Oracle started delivering just about all their products as 90 day trial versions on CD’s to my office. Not only the products I was licensed for, all products for just about any popular operating system. My office was littered with Oracle CD’s, Personal Oracle, Oracle Transparent Gateways, Oracle Application Server for Windows,AIX,Solaris, HP/UX name it, I had a few. It went so far that we regularly used Oracle CD’s as coasters to put drinks on when we had internal functions. As the software grew in bulk to occupy multiple CD’s per product, the deliveries slowly wound down and eventually stopped, to be replaced by the general availability of Oracle software for download from their website. People still in the database world now report that it is close to impossible to get a DVD out of Oracle for software, the standard answer being “we do not have any DVD copies, ordering will take a few weeks”. This changed things though , rather than leaning over and grabbing the Oracle CD or DVD more and more people now go directly to www.mysql.com and download the latest version. Asking developers why this is the case, the answer comes back as a surprise. I expected a long explanation about how open source is better and all the well known reasonings. Few people mention this though, the more standard answer is even simpler, downloading MySQL, installing and configuring takes 10 minutes. Even less if the operating system you happen to be using already contains a MySQL distribution, which accounts for just about all popular operating systems used as development platforms, with Windows being the exception. The second reason is the download itself, dragging down 1.7 – 2.3GB to satisfy the need for a basic Oracle database is an impossibility while sitting in an airport, where it seems new age developers do a lot of their tinkering.
Deployment model
With access to technologies thrown wide open via the internet distribution model a bigger range of individuals than ever before have access to software components and technologies. No longer is software something that is necessarily supplied with a large vendor pre-sales force to make the first “ have a look” or proof of concept installation work. Software is now downloaded and installed by more students , developers , administrators and end-users than any company can support on an individual bases. MySQL is rumored to have a download rate of 50,000 to 70,000 copies per day, imagine having to hand hold every one of these on a per installation basis. Even if all 386,558 IBM employees were MySQL capable they would have a tough time getting 50,000 – 70,000 of them to a different location every day. There is a whole essay to be written on why people intensive models of deployment is on the road to extinction, but we will leave that for later. The second factor at play is where the software is first deployed, which in the case of freely downloadable software is on what I call the “new reference platform for 1 st deployment”. You might call it a laptop or desktop with medium hardware configuration running Windows, Linux or Solaris. In short the shift towards community developed open source software has, by necessity, changed especially the 1 st level deployment from a people/support heavy activity to a “you can do it yourself” model.
More than just the software has changed
These changes in the development, distribution and deployment models for software has not only changed the nature of the software itself but has also changed the reference platform for 1 st level deployment from a large datacenter installation to what is most accessible to individuals. The new reference platform for deployment is no longer a large Sun , IBM or HP server but rather a common laptop or desktop running either Windows , Linux or Solaris.
News (OpenSource)
Popularity: 16%
