Last week was filled with news on the Linux front, with every major IT provider trying to warm itself near the fire of enterprise interest. IBM claimed to have a billion-dollar business based on the open-source operating system and pointed to the companys own progress in replacing its Windows and OS/2 servers with Linux systems; Sun announced expanded Linux-based offerings of flagship software products; and Microsoft won an award, at LinuxWorld Expo in New York, for its Services for Unix 3.0 product that runs a Unix environment on a Windows kernel and provides integrated administration and developer support.
I still get e-mail, though, suggesting that theres a lot of communication to be done before middle-tier companies will consider Linux a genuine option. Im talking about the companies too small to have a substantial IT department, but too big for the founder/CEO to make a Linux adoption decision at breakfast on Saturday and have it deployed on Monday morning.
One question that hit my in-box late last week was "How do you get support if anyone can modify the code?" I was tempted to reply, "How do you get support if you cant modify (or even see) the code?" Ive been fighting that battle since 1978, when I had to figure out how to use oil-refinery cost estimation software for proposed projects to develop new fuels from coal: When I asked to see the underlying algorithms, I was told (verbatim), "Thats not the way we do things here." Thats the attitude, multiplied across many functions in many enterprises, that triggered the PC revolution: I suggest that those of us who came into IT as a result are still inclined to distrust any software we cant see.
To answer the question more directly, though, Id tell my correspondent that you start with a version of the software that comes from a trustworthy source, preferably one that participates in interoperability efforts like the Linux Standard Base; you get support from someone whos competent to read the code and whos interested (or at least willing to simulate interest in return for a suitable fee) in helping you do things with it. Perhaps youve heard me offer this analogy before, but the law is open source: Anyone can read the books, but somehow lawyers still make money by knowing what it means, and by offering to help you gain benefit (or at least avoid harm) by applying their knowledge on your behalf. Lawyers understand this: They even have their own Linux site.
Another question from the same writer was, "How can I be sure that the last user modification didnt corrupt the system in some subtle way?" First, the fact that an enterprise acquires software in open-source form doesnt mean that the source code and compilers and such must be part of the end-user suite. If anything, the ability to remove or disable modules before deployment should actually reduce administrative workload.
Second, even those who do have access to source code should be using it under the discipline of some kind of configuration management that tracks who changed what, when.
Third, users are already corrupting their systems every day, in ways that are at least subtle as anything one might do by modifying source code, and without the benefit of any maintenance tool other than their own memory of what they last did to their machines. Open source doesnt mean having less control: It may well mean having more.
Then came the question, "What kind of graphical development tools are available?" Again, Id have to reply, "What kind of tools cant you find for open-source platforms?" One list of links to downloadable tools is on the LinuxWorld site, with pointers to (among others) Borlands Kylix 3.
I mention Borlands Object Pascal-based RAD product, in particular, because its acknowledged by IBM as a top-tier choice for projects on its increasingly strategic platform of Linux-hosted DB2: arguably, the new flagship of the fleet of enterprise software on its way to the AMD 64-bit Opteron processor.
Finally, I was asked, "Is the primary development advantage [of the open-source option] financial?" Im not sure how to answer that, since Id expect all enterprise software projects to be economic propositions: We dont write human resources applications for the poetic satisfaction of crafting the code.
I suspect that the question means, "Is open-source development a more time-consuming way to produce a less polished product, but at lower overall cost?" I dont think of open source as having any generally predictable impact on either quality or cost.
If the things that an organization needs from software are generic, the flexibility of open source may be irrelevant: like going to a tailor for a custom-made suit when youre a perfect off-the-rack fit. If adopted by an organization that lacks the resources, or the management skills, to hire and deploy the right kind of talent, then open source can be the expensive way to build unmaintainable systems that never catch up with changing needs. But dont ignore the option for the wrong reasons.
- Read more stories by Peter Coffee