Just a few years ago I wouldn't have dreamt of installing "public-domain" software on a production system. The thinking went that only commercial software would provide a recourse mechanism in case bugs were encountered. Management required that there be concrete resources available to resolve problems. This was quite a reasonable approach at the time, especially for "industrial-strength" applications which would be sold to customers. It was inconceivable to people who had been in the industry for years that freely available code would be the equal of products which had been developed using stringent methodologies. Times certainly have changed!
Arguably the most popular web server these days is Apache, the result of an incredible orchestrated effort by people from all over the world. Extensions include mod_perl and mod_jserv, permitting the Apache web server to provide both CGI and Java Servlet support. The mod_ssl extension allows the server to function as a secure server. The software is freely available and I have installed it on a number of servers, including my home system. This is industrial-strength software which is being utilized by companies, both large and small, who wish to deploy inexpensive but bullet-proof web servers.
Perl is another public-domain package which has actually been available for a good many years. It's often used by system administrators for "quick-and-dirty" tasks. While available on a fairly wide variety of platforms, it's not generally provided as part of the operating system by UNIX vendors. I find that the Perl aficionados tend to be the same sort of people as the ones who swear by EMACS. While I won't argue that Perl can be used to develop special-purpose utilities quite rapidly, I prefer the portability of the Bourne shell. Also consider that not everyone is familiar with Perl while any UNIX system administrator will know the Bourne shell. A personal bias I know, but I'd rather dig through a shell script than a Perl program. Still, Perl is another example of a mature public-domain project.
Since I am currently focusing on CORBA, I've recently had the opportunity to evaluate a number of commercial products. While some of these products incorporate some fairly sophisticated features, I've been most impressed by JacORB. This is a free ORB written entirely in Java. It incorporates all of the features typically needed for CORBA deployment, including an Implementation Repository and an IIOP proxy. This package is well-documented and competes very well with the commercial products, both in features and performance. When faced with the prospect of spending $25,000 or more for the commercial packages (once licenses are included) or spending nothing on JacORB, it's a no-brainer for most small companies. Once again, industrial-strength software, freely available and the peer of commercial software.
In a different class of software is the Star Office suite from Sun Microsystems. Here is a product which competes directly with Microsoft® Office. It is available for free download and has the capability to read and write files which are compatible with the Office applications. Considering that Office 2000 prices range from $434.95 to $699.95 (according to PC Connection ®,) a free office suite is very attractive. Star Office is also available for the Linux platform, enabling one to assemble a fully functional workstation for the cost of the hardware alone. Sun's motto is that "The Network is the ComputerTM" and they have an established record of making software available at no cost. After all, it was Sun who developed Java and unleashed it on the world barely five years ago.
So where is this all leading us? I'm excited by the prospect of software development teams, geographically dispersed, capable of producing industrial-strength products. The distributed team approach has, in my opinion, proven more effective than the centralized approach taken by most large companies. Whether the goal is altruistic or for-profit, it's a development model which I believe is going to be embraced by leading-edge developers over the next few years. Of course, there are a number of other pressures leading to the same conclusion and I've discussed some of them in my previous editorials. Does this mean that we're going to see the end of monolithic suites such as Microsoft® Office? I don't believe so, since there will always be "power users" who require the capabilities provided by such products. That being said, I do believe that the 'net and the "universal client" (web browser) will significantly affect the way that most of us interact with computers in the not too distant future.
April 23rd, 2000