Real World Open Source: Management and Interoperability

by Aaron Weiss

When choosing among apps, how important are their origins to your future?

Commercial and open source software may originate from different cultures but, like Ford trucks and Volkswagen sedans, both get you from Point A to Point B. Sometimes, they even share the same roads. In the real world, choosing one over the other for a particular application should be less about their respective origins and more about the goals ahead.

Choosing between commercial and open source software options often presents a chicken-and-egg scenario. If an organization has already invested in an application infrastructure, that alone may provide the necessary inertia favoring one direction or another when choosing future products. Although a Ford or a Volkswagen will get you where you need to go, one might ride more comfortably or be more reliable. But, if you have the option of riding with a Ford mechanic in the passenger seat, which car would you choose? An old proverb in software development states that the best programming language for a job is the one you already know. This doesn't mean that you must always choose the Ford, but it does mean you need a strong reason not to.

On the other hand, if you are creating a new infrastructure, it is akin to building a new house. Like a builder, you are afforded the opportunity to choose building materials that provide the best long-term benefits. From this vantage point, it is important to gauge the organization's tolerance for vendor lock-in. For precisely the reasons described in the previous paragraph, commercial software choices put practical limitations on future choices. On the other hand, some organizations find locking in with the right vendor offers a kind of efficiency, and having a single shoulder to cry on brings solace to some.

Commercial and Open Source Management and Interoperability

  Commercial Open Source
Configuration Typically (somewhat) user friendly; may store config data in proprietary formats. Can involve steeper learning curve; config data may be obtuse but is also open and accessible.
Customization Can range from very limited to very flexible, depending on the vendor. By its nature, extremely open to modification and customization.
Interoperability Strong compatibility with vendor-supported products, possibly little to none with others. Typically has reasonable to strong interoperability with both open and commercial products but may require customization or patchwork to complete.
Support Formal support nearly always available for a fee; community support may be available, particularly with popular products. Formal support may be available at a price for major products; community support typically available but is most comprehensive for popular products.

One of the top considerations in choosing a software product is how it will be managed over time and how it interoperates with other, related products. Managing a Web server, for example, involves aspects of configuration, support, and customization.

Because open source software tends to stem from a "do it yourself" mindset, even an out-of-the-box configuration may require more upfront knowledge. The ever-popular, open source Apache Web server powers nearly 70 percent of the Web (as of July 2005). The basic Apache distribution, available for many platforms, including Linux and Windows, is basically configured with a text file. This configuration file relies on a syntax specific to Apache. A variety of visual front ends, which superimpose a graphic interface onto Apache, are available for different platforms. Webmin is one well-known example. While these can improve productivity in an Apache configuration, there is no single standard interface. The common denominator across all Apache installations is the text file configuration.

Microsoft's IIS (Internet Information Services) Web server also has a strong following, accounting for nearly 21 percent of all Web servers. It is the Web server of choice for the majority of Fortune 1000 sites. As part of a larger family of centrally developed Microsoft products, IIS configuration has a familiar feel for administrators already comfortable with Microsoft platforms.

>> Support Differences


Support for both commercial and open source software comes in two varieties: formal and informal. Formal support is usually paid and provided by the vendor or a third party. For some popular commercial software packages, like the Oracle database and Microsoft Exchange, both vendor and paid third-party support is readily available. The same even holds true for popular open source applications, like MySQL and sendmail. While both products are free to obtain, their respective "vendors" sell paid support services, as do other third parties. For other open source products, like postfix, there is no "vendor" per se to provide support, but third-party consulting firms do offer commercial support.

Informal support through online communities generally abounds for most popular products, whether commercial or open source. These valuable resources, found through newsgroups, Web-based message boards, and mailing lists, typically scale with the popularity of the product — regardless of origin. Choosing a product with a small installed base, whether commercial or open source, often has the limitation of having a small user support community.

It's often said that open source software is infinitely customizable, which is true — so long as someone in the organization knows how to write code.
It's often said that open source software is infinitely customizable, which is true — so long as someone in the organization knows how to write code. Clearly, one of the strengths of open source software is in providing building blocks for organizations that want to build custom solutions. If, say, you wanted to build a workflow for publishing custom XML data into a variety of highly specialized channels, open source tools provide a great deal of flexibility to create robust, budget friendly solutions.

What you need, however, is knowledge, which may not offset this cost-friendliness if the skills are not already in-house. Turnkey commercial solutions, on the other hand, typically cost more out of the box and can be deployable more quickly, often with a sacrifice in customizability.

In the real world, applications do not live in isolation. As part of a larger framework, issues of interoperability arise. For example, consider Microsoft's Active Directory, a fundamental and widespread central nexus for user, file, and print services across a network. Not surprisingly, many commercial products for the Microsoft platform are designed to integrate with Active Directory. In the open source world, there is no direct equivalent. True to the open source "way," a variety of building blocks (e.g., Samba and OpenLDAP) address segments of the Active Directory feature set. With sufficient know-how, open source solutions can incorporate these components to interoperate with Microsoft networks. As a general rule, interoperability between commercial and open source software is achievable and actually becoming easier every year. That said, costs may be incurred, whether in time or support, when products cross the boundary from open source to commercial or vice versa.

Ultimately, when choosing software solutions, whether an app originates from an open source or a commercial background is virtually immaterial. More important is the current infrastructure, both in terms of product and people, and how new acquisitions will be managed in that context.

This article was originally published on Friday Jul 8th 2005
Mobile Site | Full Site