Linux-Kontor Accounting Package
If Linux wants to hold up in enterprises other than Internet Service Providers (ISPs), the availability of business management software is vital. Unfortunately, applications in this field have been few and far between. The Linux-Kontor project is an attempt to close this gap. Its aim is to create an open, modern and modular program environment with central components for the enterprise market and accounting. The concept and current stage of development are described below.
Linux-Kontor is a project for the development of a free business management software suite. Core components of this suite are Bookkeeping and Inventory Management modules with the three requirements of platform-independence, Internet capabilities and scalability.
Of course, Linux is already being used in many enterprises (see the books listed in Resources). The classical use, in which Linux has proven itself thousands of times, has been as a server environment. There, Linux is being used as file, print, communications and database servers, and ISPs rely on the penguin for a whole range of Internet services.
Exotic uses, such as Debian Linux on a laptop in a space shuttle or using Alpha workstations to create the special effects for the movie Titanic are impressive, but in my opinion do not necessarily help to show Linux as a basis for “normal” use. A better way to do that would be to provide an easy-to-use façade, which is the aim of projects such as KDE (http://www.kde.org/) or GNOME (http://www.gnome.org/), or simply through the availability of standard applications.
Linux-Kontor (LK) is destined to be one of the standard business management applications. A strong interest (and market) within the Linux community has been shown in numerous discussions at the booth of the Linux Verband LIVE (http://www.linux-verband.de/), the German counterpart to the American Linux International; during this year's CeBit; and at the MediaLIVE in Arnsberg, Germany (http://www.media-live.de/). MediaLIVE is a trade show concentrating on small and medium-sized enterprises in this country, where I talked about a related subject.
The strongest motivation for Linux-Kontor is the fact that comparable software has not been available up to now. There are, of course, applications for the home banking sector—the Personal Financial Assistants (PFAs). Several projects have been created for KDE and GNOME, including KPFA for the KDE desktop and GnoMoney for GNOME (at least GTK is being used). Watermark has tried to support both desktop systems by developing a graphical user interface (GUI) for both. KPFA has been taken over by Watermark.
Older PFA projects such as Xacc (X Accountant) and CBB (Linux Check Book Balancer), which were in use for some time, count on Motif/Lesstif, respectively, with Perl/Tk for the widget set. FreeMoney, one of the lesser-known business accounting projects, uses Perl/Tk too.
In addition, several developers have united and started the GnuCash project in which Xacc, GnoMoney and Watermark have been merged. GnuCash is reputed to be suitable as both PFA and as accounting software for operational applications, and will be available for as many desktop systems as possible (Motif, GTK and QT). Like all the other projects, GnuCash is LGPL licensed. It pursues a “Model-View-Controller” strategy similar to LK. See Resources for the web addresses of these projects.
Note that LK is not designed to be home banking software; it has no connection to Quicken-like products.
The LK project was started at the end of last year by Björn Bayard, CEO of IoS GmbH. Most IoS employees, including me, are involved in its development. In addition, we have found several volunteers via mailing lists who convert SQL scripts for Adabas-D into PostgreSQL.
Linux-Kontor is Open Source software. It is designed to be used in small and medium-sized enterprises—rather atypical places for free software. Nevertheless, the source is free under the LGPL license. We made it free for two reasons. First, we are convinced of the efficiency of free software and believe this method of development is well-suited for LK. Second, smaller companies in particular are not guaranteed to survive. In this sense, free software is a protective investment for clients, since they will at least have the software sources in case the software company goes out of business.
Furthermore, LK is modern in that it uses the most recent software tools. Java is used, as it is the only programming language offering many advantages; LK can be used on the Internet and is platform-independent. It can work anywhere Java works; a Java-enabled web browser is the only necessity. For those places not yet working with Linux, this might turn out to be an advantage (soft migration).
LK provides the ability to manage distributed objects provided by Java via remote method invocation (RMI) and is modular in the program's distribution and the scale of functions. It has a three-tier architecture: a database server, an application server and the clients. An already-existing RDBMS (relational database management system) can be used as a database server. Adabas-D and PostgreSQL are currently supported, with Adabas-D as the primary database platform. Thus, you are not restricted to a special database. You need only a JDBC (Java Database Connectivity) driver. Support for further databases (e.g., MySQL) is a project for volunteers.
As soon as Sun's JDK 1.2 is available, Linux-Kontor will be converted to CORBA, allowing the integration of older and non-Java-based systems.
The application server contacts the SQL database with the help of JDBC and answers requests from application programs—the so-called “views”, which build a connection to the application server via RMI. These views are generally “dumb” clients whose only job is to receive data from the server, present it, respond to user inputs, and resend the processed data to the server. In most cases, such a view is a single database record stored in a Java object.
For the time being, these views must still be programmed manually. It would be more desirable to have a “Linux-Kontor application builder” through which a dialog window and access methods for a special dataset could be easily defined. In order to structure the work flow in a company, a work-flow module together with a work-flow editor would be useful, as would a report generator.
On the plus side, views are available for the customer management module containing, among other things, address management (see Figure 1) and administration of orders modules. Invoicing and financial accounting modules are just being prepared.
LK regards a customer as either a company or a person, so that different data can be stored. Address administration allows the entering of different address types, e.g., bill-to address or ship-to address, which can be used accordingly later on. To each client, several contact persons (as many as you like) can be added. Correspondence, mainly non-written, can be stored for future purposes and forwarded via e-mail if necessary. An acquisition module is planned in order to win new customers.
Included in the customer module, but independent of it, is a program for order and invoice administration. Each order consists of several items. Developments are already available for different German industries, from printing works (e.g., the Offset Druck Team) to Internet service providers (e.g., Delta Internet). The “Gemeinschaftswerk für Behinderte” (a joint venture for the handicapped) is also interested as a public institution.
On the minus side, modules for field-repair administration, project management, payroll accounting (including working-time registration) and stock management remain unfinished.
LK is scalable; several application servers can be used as the number of clients increases. Of course, all three tiers can run on different machines. Another nice option might be to distribute a database to several machines. Linux-Kontor should be prepared to face bigger challenges.
The introduction of the Euro in 1999 and the Year 2000 problem both provide the necessary pressure to replace older systems with newer ones, rather than modify them. LK is a viable solution for small and medium-sized enterprises. As years always have four digits and currencies can always be converted, the year 2000 and the Euro's introduction will not present any problem for Linux-Kontor.
“Linux-Kontor” was chosen as the name of this package in order to express our support for this marvelous free software and to promote its distribution. As Java is used, the program is not exclusively restricted to Linux. In addition, “Linux-Kontor” is a registered trademark of the German Linux-Verband LIVE, which should prevent trademark law disputes.
Apart from the fact that many modules are used in different projects, Linux-Kontor is sponsored by several companies, including ELA Container (a German container rental company) and TakeFive, the company that made the Sniff+ Development Environment. Companies such as LunetIX and Delta Internet support LK through suggestions for improvement.
We have developed a marketing concept which we presented at the German Unix Users Group (GUUG) conference last autumn. Software companies can offer their own solutions and support on the basis of the free source extensions. We are even planning to have CDs distributed via subscription.
Finally, I would like to present our current schedule, the “road map”. The modules for financial accounting and enterprise market will be completed at the end of 1998; wages accounting, stock management and work flow will follow by the middle of this year.
For more information, check out the web sites in “Resources”. You will also be able to download the programs, subscribe to the mailing lists (one for developers and another one for users) and join an IRC channel. Any suggestions for improvement and contributions of any kind are welcome.
You can meet the IoS developers and people from the mailing lists there. If you have problems with the installation, you can either forward your questions to the mailing list or try the installation program (Swing [Java Foundation Classes] necessary) by Stephan Schiessling, who also created the logo. Enjoy yourself!
This article was first published by the German Linux Magazin in August 1998.
Joachim Schaaf (firstname.lastname@example.org) is currently working as a software engineer at the IoS GmbH. He is a Linux fanatic and involved in Linux-Kontor development, where he is responsible for the customer and address management modules, documentation and the building of new versions. When he is not hacking, he likes to cook or watch the stars through his telescope.