A handful of years ago, during the dotcom boom, there was a period where Linux and other Open Source technologies were getting a lot of headlines and attention on Wall Street. They were the next revolution. While some of the spotlight on Open Source seemed to flame out a bit along with the dotcom boom, companies continued to (and still do) take it seriously. Despite that, many companies realized that just because the software is free doesn't mean it has no cost. While there are many Pros (and Cons) to Open Source software, people have come to realize that using open source software does come with it's own costs - hardware, maintenance, training and customization aren't free. While many companies find Open Source to be a good fit, many others see it as too costly. Quite frankly, the latter have come to the realization that sometimes, for specific needs, COTS (Commercial - Off-The-Shelf) software is a much better, less costly alternative. But therein lies the rub.
One of the biggest benefits of Open Source is your ability to customize it. As a Software Professional with over a decade in the industry, one of the key pain points for CIO's is Integration. If I had a Nickel for everytime I was asked to help with an Integration issue, I could've bought YouTube myself! Yes I can buy great COTS for CRM, and for ERP, and for Financials, but how do I get them to talk? How do I get my website to talk with my fulfillment and inventory systems? How do I get my suppliers and customers systems to talk to my own? How do I create unified reports across all of these systems so that I can get a clear picture? With two incompatible COTS packages this can get very tricky. Open Source seemed to solve some of these issues, because it enabled companies to get at an applications underlying data structures and make them integrate with their neighbors. But along with power comes responsibility. Using open source meant that you had to keep up with patches, that you had to do regression testing that you had to work harder to ensure your own data integrity. While this worked for many, it was obviously not the most ideal situation.
Enter Web 2.0, the birth of the 'New' web, blogs, and rich content recently caused two very important things to happen - first, it bolstered the popularity of a little-known technology concept called AJAX (I was using the underlying technologies of AJAX in 1997, but they weren't called AJAX then) and as people became more and more creative with AJAX, the advent of the Mashup. These two concepts have given people the ability to visualize a new concept - Open Access.
In my definition, Open Access is the notion that a developer of commercial software provides its users with an API or Web Service that allows them to directly interact with the application's data. IMHO, Open Access is great. It enables me to leverage my existing COTS by scripting integration points between them. By utilizing COTS with open access, my development staff can focus on specific integration needs without having the extra burden of maintaining software patches for Open Source Software. Interestingly enough, Open Source also benefits from open access, as it now becomes easy to even integrate Open Source and commercial products.
As companies like Google, Salesforce, and even Microsoft open up these Web Services and APIs, it will give new dimension to the trials and tribulations of integrating software.
Now if only I can discover that killer mashup? :)