Open-Source Applications--Not Only for Auxiliary Tasks

by Maciej Koziñski

Currently, many companies see open-source software as the source of savings on license fees. They also see it offering applications with quality equal to commercial applications. Today these companies are asking such questions as: Which tasks may be assigned to OSS without fear? Should we introduce OSS gradually in the company, or should we implement it all at once? How much can we save? What should be avoided?

Usually, the penetration of freeware begins with the new areas of operation of IT systems, areas not yet exploited by suppliers of commercial software. This is how Linux found its way to network equipment. In this same way, Apache conquered the web server market.

Time for Migration?

Comprehensive migration to open-source software is rare. In Poland, a well known exception is the implementation of Linux and StarOffice in the Jan III Sobieski hotel (alongside commercial software for hotel management). The Orbis hotel network also uses Linux, although they do not emphasise it.

There are a number of reasons for gradual migration. It is not easy to abandon a commercial OS, mainly due to the costs already incurred. Conservatism (implying that good is the enemy of better) also plays a role, as does resistance to change, which is a part of human nature. Exchange of information with the outside world also is important, particularly in desktop installations. Departing from the data formats employed by Microsoft Office raises doubts, despite the fact that similar mechanisms used in free applications offer similar possibilities. Sometimes the companies circumvent this problem by using StarOffice inside the company and Microsoft Office to prepare documents exchanged with the outside world.

The necessity of subsequent software upgrades, though, is often an incentive to migrate to open source. The more users, the more expensive it becomes to upgrade the commercially based operation. Additionally, new releases often require more efficient hardware.

Precious Specialists

According to a study by the Australian company Cybersource, published in April 2002, the total cost of operation (TCO) for a business platform based on Linux, when compared to a platform based on Microsoft, is lower by 24.7% when purchasing new hardware and by 34.25% when employing existing hardware. This provides considerable savings; however, the study has been criticised by some for excessive simplification. The Cybersource model describes an extreme: all components of the IT system may be replaced with freeware and the purchase costs for it is very small (a few dozen dollars). The model, however, does not address a situation where no freeware is available or a situation where the freeware is a quality inferior to the available commercial products. Given the high cost of commercial solutions, many companies may benefit from migration to less mature environment. Authors of the model have not considered such a scenario, however.

The main factor in determining operating costs is the salaries of IT personnel. Employing three people--an experienced administrator, an applications specialist and a junior assistant for simple tasks--is 9% more expensive for an MS office than for a freeware one, according to Cybersource. However, such calculations factor in only part of the costs. Differences in recruitment costs have not been considered, yet before making a decision on IT salary amounts, the company must find candidates with relevant qualifications.

A hint concerning salaries may be found in Dell's web hosting offer, offering the lease of Dell PowerEdge 350 servers functioning as WWW servers. The annual cost of lease of one server, administrator's services included, is USD 2,629 if MS Windows is used and USD 2,079 if Red Hat Linux is installed. The installation fee is equal in both cases and amounts to USD 299. In this offer, then, web hosting with the Linux server is cheaper by 21% than the competing Microsoft server.

Problems with Quality

When considering the issue of cost, one should take into account what software is already present, what needs to be replaced and what is going to replace it. We can easily find freeware for operating systems, web servers or productivity software. But it's worse if we plan to replace an application that performs specific tasks. It seems that finding free equivalents, or something pretending to be such equivalent, is not difficult; many applications can be found on web sites cataloguing freeware or supporting its development (e.g. SourceForge or FreshMeat). Unfortunately, quantity does not always mean quality here. When testing software apparently suitable to our needs, we often discover that its functionality was overstated.

In the maze of open-source software, though, one can find true "treasures", applications that may be used for serious purposes. But how do you recognise them?

Good applications have at least one of the following characteristics. First of all, they are developed or sponsored by a respectable company, public institution or foundation. This guarantees planned, on-going development and often indicates compliance with applicable standards. It also suggest the application will offer well designed open architecture, application programming interfaces and communication with other applications. Examples of such quality applications include StarOffice, developed by Sun Microsystems (available for free up to version 5.2); Apache and related projects, whose development is sponsored by the foundation established for this purpose; the Python scripting language (Python Software Foundation); and Squid, supported by the US National Science Foundation.

One can usually trust software developed by large teams of programmers, which reduces the risk of the project being abandoned and increases the project's stability and universality. Another thing to look for is projects developed by one or two persons that have a long history. In this case, the authors are not likely to abandon the project due to the experience gained, as well as their emotional and often financial ties to the product.

It also is a good idea to choose products with many users; if the authors terminate the project, there will be successors with experienced helpers. The bigger the group of users, the stronger is the pressure on the authors to systematically upgrade the product and adjust it to the needs of customers. Opens-source applications should have a modular design or flexible interface, allowing for uncomplicated extension by individual users. Reliance on a small number of widely available standard components is also a plus, and in the case of available source text, this condition should be fulfilled by software development tools.

If freeware packages selected by the company meet these listed requirements, then risks related to their use are minimal. One also should remember that some freeware is in the form of academic projects that function properly but are often created for a single purpose and specific tasks (say, programs developed for graduation theses). Such applications, though, may lack the openness to the external world guaranteed by modular design or API interfaces.

Open Source in Business

Dirk Hamstra, an independent consultant and columnist, maintains that around 30% of companies' business processes may be supported by open-source applications. Programs with open source code and open architecture can be tailored easily to individual needs, as opposed to closed-source software offered by a single supplier, used in the remaining 70% of business processes. Usually, open standards are used in open solutions, such as the TCP/IP network protocol, data exchange XML, web services description language (WSDL) and simple object access protocol (SOAP).

Openadaptor software, made available by the Dresdner Kleinwort Wasserstein Bank, serves as an example of a tool allowing software integration inside the company (enterprise application integration) and outside the company (B2B). This Java software, developed at the cost of USD 5 million and three years of work, allows for the exchange of data between various middleware applications using, for example, the Java Messaging System. In the opinion of Openadaptor users, the integration of open-source applications with commercial software is seamless. Varico, a software supplier from Poznañ, adjusted the system to monitor errors and bugs and named their software Bugzilla.

Adam Dawidziuk, Division Director of Solutions at 7bulls.com, believes the problem of integration is "transparent" for customers using open-source software for business applications. That is, the operation is performed by the integrator. Solutions allowing for communication between applications often are derived from open source.

Lessons not Forgotten

The problems do not end with selecting software; ensuring continuity of operation of computer installations and work of employees is important as well. The first issue can be handled by a sufficiently qualified administrator, while the second one requires training users. It might seem that Microsoft's extensive training network and the popularity of Windows make it easier to recruit personnel for system operations in this environment. The opinions remain divided, however. "It is easier to find a good administrator for UNIX (Linux) and server applications than for MS Windows", believes Pawe³ Moszumañski, IT Director in EGIS Polska. His earlier responsibilities included implementation of Linux in the Jan III Sobieski hotel. "Training alone is cheaper than in the case of Microsoft Windows, because every person graduating from university studies in IT technology is taught some UNIX administration. Access to documents and literature is easier for open-source products, [as is] the awareness of "what is going on" inside the system."

Finding an administrator may prove easier than preparing and training users. In theory, persons familiar with the principles of working with particular applications should not encounter problems with new software. Nevertheless, according to Pawe³ Moszumañski, computer-usage culture bases at training courses focuses on specific applications, not the principles of IT tools, therefore making migration to new software be difficult.

Over the past few years, the use of open-source software has ceased to be a risky experiment. It no longer necessarily leads to difficulties or losses. Today, open-source applications are installed not only because the company is unable to purchase commercial software, but because the participation of important business software suppliers has given credibility to this form of development in the eyes of managers. Reliability, flexibility, openness, easy extensions, short respond time to problems--these are the arguments of the open-source interest group. Competition, grown at the doorstep of the giants, has also brought a lot of fresh good things to commercial products.

For the Polish companies, open source is an opportunity to reduce operation costs. It also represents an opportunity to alleviate conflicts with the law and software suppliers, though not as the latter ones would desire. Open source provides insights into programming technologies and opportunities to develop applications suited to one's own specific needs. However, a serious obstacle to the use of open-source applications remains: unwillingness to take full responsibility for operating the installed software. The following people provide their insight on this and other related issues.

Pawe³ Moszumañski, IT DirectorEGIS Polska Sp. z o.o.

Open-source software is widely used in our company. StarOffice (in the future OpenOffice) is used both in the office and by our medical representatives. In lieu of Internet Explorer and Outlook Express, we employ Mozilla fitted with the e-mail package. This choice is motivated mainly by security issues and possibilities of software development. Adopting this strategy involves the integration of Mozilla with Gnupg using enigmail plug-in. [This setup] allows us to implement and legally sanction electronic signatures for use inside the company. In the future, we will enable our employees (especially those working in the field) to arrange all formal matters (such as holidays, leaves, advance payments, settlements) in electronic form.

Obviously, we use Linux servers [running] Samba, Apache, bind, FTP, HTTP [and the like]. We have created an internal information portal using Geeklog. Employees also have access to a workgroup application, phpGroupware, but we are still in the early stages of implementing this project. We also use open-source software for graphics processing. The GIMP, together with the open-source graphic material storage system, will satisfy even the most demanding persons.

Network management is a separate area of application for open-source programs. Our IT department such applications as Snort, ntop or Squid for network traffic optimization [in their everyday jobs]. VNC software for remote servicing of workstations (also in the field) is helpful. We can find new applications for older computers, withdrawn due to insufficient computing power. We use them as printing servers, X terminals (no disk, with RDP protocol, serving as terminals for remote access to MS Windows) and "auxiliary" servers (dissipation of services). The only limit is knowledge and imagination of the administrators.

We use open source for ensuring security, for information flow and for entertainment. Security of communication is enhanced by the mechanisms contained in, among others, OpenSSL. Flow of information is facilitated by the abovementioned Geeklog and mail exchange software and workgroup software--webmail, Cyrus, phpGroupware. Entertainment is provided by the Jabber sever. There are more benefits from using open-source software than only savings on license fees. Possibilities include fast response to errors, which is crucial. Errors may be reported to the group developing the program/system and tackled ourselves. Good documentation of open source (unfortunately, not as a rule) software is helpful in such cases. Individual extension of the application and adjusting it to the organisation's needs also are important factors.

Dorota Madajczyk, Sales Engineering ManagerSun Microsystems Poland

If you speak about open source in our company, it is a good idea to first define what company and what applications are concerned. Open-source billing system or drugs manufacturing management applications benefit neither users, who need suppliers' guarantees, nor authors of such code. The story is different with small companies or office work in corporations. Fundamental IT components that are necessary in small- and medium-size companies include file servers, Internet servers, firewalls, plugins for users of office applications and accounting or company management software. Choosing open-source software is justified in such cases. Linux with NFS and all network services is the operating system for servers. Many web servers and browsers, as well as firewalls, may be found in the public domain. Office work may be performed using OpenOffice or StarOffice in lieu of MS Office. Terminals, usually PCs, are the source of the greatest problems. We are trying to achieve a situation when the user pays no attention to the operating system in use as long as it is stable, secure and supports relevant applications. Therefore Linux should also be considered.

There are still thin clients, but this technology has not yet been adopted by free programmers. Solutions similar to thin client technology may be implemented using Linux and PCs. Control of terminals may be performed, and their configurations may be defined and controlled on the server.

Unfortunately, open-source software makes [manufacturers] obsolete, while the supplier--at least in theory--provides assistance in case of problems. Information and assistance [for OSS] must be sought individually in the Internet and in publications. This is the main reason why open-source software is not suitable for everybody. A company using open-source applications needs its own IT specialist--technical support--someone interested in and familiar with such software. In smaller companies this role may be played by computer science and technology students. Such persons look after the implemented software and monitor the related information.

Cost savings and dissatisfaction with currently used applications and their suppliers may serve as the motives to migrate from commercial software to open source. Users having non-typical requirements will benefit from the possibility of introducing changes to software, without respect to the supplier's consent or control. The greatest obstacle to migration is usually the habits of users and decision makers. Therefore it is recommended [that companies] make decisions on the use of open-source software as early as possible.

Marcin Stec, IBM PolskaAIX & Linux Education Specialist

At IBM, around 50% of our profit is generated by providing services. The critical aspects of service projects are the price of the software and the service.

From the perspective of a service company, open-source software has two advantages: it is cheap, and it offers the fastest and the best technical support, in the form of specialists/enthusiasts [who are] available on the Internet around the clock.

The fundamental problem related to integration of the existing commercial software with open-source software is the lack of standards or the purposeful standard-shifting by software suppliers intending to monopolise the market. One should remember that IBM is the third-largest software supplier in the world. One might think competition on the part of open-source software constitutes a real threat to the company's position in this sector of the market. Instead of promoting closed software, IBM stresses integration of its applications on open-source platforms. We believe that in this way both products will find their market niches. The company will have strong positioning as both a software supplier and a supplier of services, focused on selling ability and knowledge.

Adam Dawidziuk, Director DivisionSolutions 7bulls.com

It follows from our experience that integration the of open-source software with commercial software takes place in three situations. In searching for savings on IT costs, companies may use open-source software as software in independent layers (e.g., in the sense of OSI model layers) as opposed to commercial software. For instance, network operation (routing, firewall) may be performed using open-source programs, while Linux or FreeBSD are used as the operating system. The IT system remains an integrated system, while commercial software and open-source software, in a sense, remain independent [of each other].

The second situation is using open-source applications for extending the functionality of commercial software, in particular for data exchange between two existing systems. For instance, you could use OSS for to make quick changes in data encoding or to create reports (HTML, PDF, PS) based on contents of commercial database. For such purposes, one need not purchase extended modules for the already-present commercial system. In most cases all that's needed is to write a program based on open-source code, provided the data formats are known. Obviously, the code should be clear and documented on the level of functionality and realisation of functions.

In the third situation, commercial systems and open-source systems operate in the same layer. [Here] we face the problem of data exchange. Thanks to the flexibility of open-source applications, one may develop the adequate communication interface much faster and easier, provided data formats are known.

Rafa³ £o¿yñski, General DirectorVarico, Poznañ

We decided to implement our own error-monitoring system for our applications, using open-source software and tools. This decision was prompted by the high price of commercial systems, limits on software users and no possibilities for introducing modifications to commercial systems. Our adaptation of Bugzilla, translated into Polish and with the code adjusted to our needs, is called VIP. We quickly got acquainted with the technology of Bugzilla. I estimate that the costs of installation, rewriting data from the old system, training and code adjustments, are less than 10,000 PLN (ca 4000 EU).

Our VIP system is written in Perl and is based on the MySQL database. Its advantages include, among others, fast and simple interfaces, not needing to install a version of VIP on each terminal, extended analytical capabilities, instant access to the work performed by programmers, notifications on system changes via e-mail (on demand), fast and easy searches for errors and proposals, and planning and management of versions of the software.

Monitoring and eliminating errors is conducted as follows. Any person can use the application to input information about errors or to make suggestions for change to the system. VIP automatically sends the programmer responsible for the program an error message and e-mail notification as well. The programmer who received the notification either accepts the error or rejects it, providing adequate justification, say, when the reported error is not a result of flaws in the program but the result of hardware issues. If there is a problem with the program, the programmers begin to work on eliminating the reported error. After being told that the error is fixed, the user who made the original report is responsible for verifying whether the error actually has been fixed. If the user's result is positive, a new version of the program is generated.

We also have extended the VIP application to making work plans and entering other events to the system. We also are developing an e-learning application in PHP, which will be integrated with VIP.

Copyright notice: This material is reprinted from PCkurier, the Polish magazine for IT professionals.

Load Disqus comments