Enterprise
Opening Up the Enterprise
The emergence of true enterprise-class applications
Aug. 5, 2006 01:00 PM
A quick Google search of "enterprise Open Source" returns over 1.5 million results. There are Web sites devoted to the topic; there are dedicated conferences and trade shows, and even a fairly large number of books. There's even a magazine - the one now in your hands! - devoted entirely to the subject of enterprise Open Source. Most of these sources discuss using Open Source applications and infrastructure in one's business, and tacitly assume that this defines enterprise Open Source. This implied definition falls short of what I think of when envisioning an "Open Source enterprise application" however.
This article investigates a more rigorous rationale for the term and describes what's necessary for a particular piece of software to call itself "enterprise Open Source." It also describes a growing movement in Open Source: the enterprise Open Source application.
Defining Enterprise Software
Over the years, the term enterprise software has taken on many meanings, ranging from heavy-duty operating systems, such as Sun's Solaris Enterprise System and Red Hat Enterprise Linux to more classical definitions like Martin Fowler's:
Enterprise application is the name I give to a certain class of software systems: the data-intensive software systems on which so many businesses run. Another, and perhaps better, name for them is Information Systems since these are systems that process and manipulate information.
For purposes of this article, I'll use a definition similar to Martin's: Enterprise Software is software that solves problems across an enterprise, rather than specific problems within an enterprise. Thus, most desktop applications wouldn't be considered enterprise applications and, in this case, I won't include operating systems or database systems since in and of themselves they don't solve problems or process information.
Examples of true enterprise applications include Customer Relationship Management (CRM), Enterprise Resource Planning (ERP), Content Management, and corporate financial applications. Does this mean that every ERP system is an example of enterprise software, somehow deserving of the title? No, not necessarily. I submit that there are some additional requirements that must be met before calling an application an enterprise application. In no particular order, some additional requirements might include:
- High availability. If operations or revenue stop when the application stops, then the application must be continuously available.
- Security. The application will presumably be processing the enterprise's most precious possession: its information. As has been so clearly reported recently in the media, when dealing with competitive information, financial information, or customer information, strong security is a must.
- High performance. The application must perform adequately under the load it's given to support its users.
- Scalability. The application must scale to whatever size is required of it. While there are those who would claim that even an application built solely for very small enterprises might be called enterprise applications, I lean more to a description of software suitable for the larger corporation. So I wouldn't normally consider QuickBooks to be an enterprise application even though it's arguably the world's leading financial application.
- Support. The application must be fully and formally supported. While I suppose a wonderful piece of software that fulfilled all other requirements might be called an enterprise application, no real company would use it. In the enterprise application world, support from the Open Source community alone is not enough.
While I'm sure there're many more requirements that could be added, in my view these are the most important and are certainly enough to illustrate the case.
Building Enterprise Open Source Applications
So what does it take to design, build, market, and sell enterprise Open Source applications? After many years in and around both the commercial and Open Source worlds, I've learned many lessons about what pleases and motivates customers, partners, and communities. Great and relevant software is obviously at the top of the list, but control is most certainly on the list. Customers want and need the ultimate in control and flexibility, and the greatest protection against vendors whose interests are not, in the end, perfectly aligned with their own. After all, many software companies see their business first as selling software and only secondarily as pleasing their customers and partners. Open Source software helps shield the customer from these worries. Because the actual application code is in their hands, they are no longer at the mercy of an uncooperative or even adversarial vendor.
It's no surprise then that ever-larger enterprises are beginning to evaluate Open Source solutions seriously to determine whether such products provide a legitimate alternative to traditional proprietary applications. "We are making a strategic move to embrace open source technologies," says Brian Shield, CIO of The Weather Channel. "Finding enterprise-ready products like Centric CRM have allowed us to mothball several expensive proprietary systems already."
The challenge for Open Source providers, therefore, is to build an application that simultaneously embodies the spirit of Open Source, while also fulfilling all the requirements necessary to be seriously considered ready for the enterprise, including the very large enterprise. This means solving a number of potentially conflicting requirements. On the one hand, it must appeal to the Open Source community, be accessible, understandable, inexpensive or even free, and run entirely on an Open Source infrastructure. On the other hand, it must be built on an enterprise architecture, support very large installations, and be capable of running on any application stack the customer specifies with little or no change.
An Example of an Enterprise Open Source Application
Customer Relationship Management (CRM) is one of the most critical activities successful companies engage in. CRM is first and foremost a business strategy. Successive waves of technologies - starting with index cards! - have emerged to help businesses do a better job of managing their customer relationships. Most CRM solutions available to date have involved expensive proprietary software. Some six years ago, my company, Centric CRM, set out to change all that. I'd like to use our long (at least by Open Source standards) experience to illustrate some important points about enterprise Open Source development.
About Tom ManosTom Manos is the CTO and co-founder of Centric CRM. A nationally respected Internet expert, Tom has founded and held senior technology posts at several other notable ventures including North Wall LLC, and NetworkTwo Communications Group. In 1993, he co-founded InfiNet, one of the very first national ISPs and the largest “private label” ISP in the world at that time. InfiNet was subsequently sold to Landmark Communications. Prior to becoming an entrepreneur, Tom had a distinguished career as a US Naval officer, including a successful stint as the Director of Computer Operations for the World Wide Military Command and Control System (WWMCCS) for the Navy’s Atlantic Command. Tom is a long time member of the Executive Advisory Board of the International Engineering Consortium, holds seats on several other boards of directors and is a frequent speaker at telecommunications industry conferences. Tom has a BS in Electrical Engineering and his MS in Computer Science. He lives with his wife, Gail and their two children in Chesapeake, VA.