Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free beer”.By now, we all know this quote, right? And likely, we've all had the pleasure of experiencing a late night pun about free beer at developer conference. Today, I'm introducing another version of free, free as in heroin.
As a proponent of open source software I’ve met some quite interesting arguments for choosing bloated proprietary products over more lightweight open source counterparts; the site license or the enterprise license. This license is devious scheme created by proprietary software vendors, such as Oracle. The idea is that for a fixed amount you’ll get to deploy an unlimited amount databases, application servers and what not, provided they are only used for internally facing systems.
Noticed the trend towards enterprise service bus? I’m not talking about the SOA-hype which has thankfully chilled the last few years, I’m talking about these several gigabyte installs of what is essentially just a bloated implementation of the mediator pattern. The ESB sits there between your components, serving as a man-in-the-middle attack, doing point-to-point integration. How did you ever get on without it, right?
I’m sure that the ESBs have some capabilities that I’m too ignorant to acknowledge, but my experience is that once these products get in house, which they do thanks to the vendor’s very apt sales corps, their use is limited to point-to-point integration. Whatever happened to standard Java? Heck, even EJBs? They are still around, but they are not being pushed by the vendors anymore. The opensource containers are the first to adopt the new standards, while the commercial vendors are lagging. Why?
Well, this is speculation on my part, but why should they pour resources into abiding by the standards? Following standards will reduce the cost of switching to open source (or another standard abiding competitor). Instead, resources are spent on the ESBs. There is no standard programming model for ESBs, so once your applications are hooked into the ESB, moving to another vendor or removing the ESB all toghether will be expensive and time consuming as they all have to be re-written. The customers’ processes now actually belong to the commercial vendor. Sure, the code is the customer’s IP, but it is useless without the bloated ESB infrastructure which of course is not the customer's IP.
So the customer stays, dutifully paying the site license each year. Swearing slightly every time the license model change, making hardware upgrades more expensive. But at this point the addiction has gotten more severe as more applications are hooked into the ESB.
Why? Because the site license meant it was “free”. Free as in heroin. Taken straight out of the playbook on street corner economics, stimulate an addiction and live of it for life.