Intro (50-60 words) ===== GNU Enterprise (GNUe) is a free software project which aims at providing an ERP (Enterprise Resource Planning) solution, comparable to SAP R/3. GNUe is a set of integrated business applications and tools to support accounting, supply chain, human resources, sales, manufacturing, and other business processes. This article describes the project, the idea and motivation for developers and users behind it, as well as the project's current status. Keywords (3 to 6) Keywords ======== GNU Enterprise Application Software Authors Bio (50-70 words) ============= Neil Tiffin (USA) is President of Performance Champions, Inc., a business and management consulting firm specializing in competitive performance improvement. He holds a B.Sc. in computer science from the University of Missouri. His experience includes implementing large-scale systems in international operations and senior management in manufacturing and distribution companies. He currently coordinates the development of business objects for GNU Enterprise. Reinhard MŸller (Austria) is Managing Director of BYTEWISE Software GmbH, an Austrian firm that maintains business software for over 150 small and medium companies in Austria, Switzerland and Germany. He currently coordinates the development of the GNU Enterprise Application Server. Bibliographical references (12 references) ========================== - "Taming the Beast", Steve Cardell and Neil Tiffin, Industrial Management, May-June 1999, pp 23-28. A six-page article outlining the six steps necessary for successful Enterprise Wide System implementations. - Free Software Foundation, http://www.fsf.org/. - GNU GPL, http://www.fsf.org/licenses/licenses.html. - GNU Enterprise http://www.gnuenterprise.org/. - Bayonne http://www.gnu.org/software/bayonne/ ****************** First Draft (really rough) ****************** Imagine the scene, Mr. Howard Harvard, CIO for Acme Magnetic Levitation has just received the bad news. The company is performing below forecast and needs to temporarily reduce costs until sales improve. Mr. Harvard contemplates his major costs; staff, maintenance fees, and software license fees. He thinks to himself, didn't we pay for all of the software when we bought it? It pretty much works. We don't need any new features. We have not been using the support service. Why do we continue to have to pay license fees that provide no value to our organization? Oh, that's right he says to himself, if I don't pay those fees they shut off my software. Sounds like a tax, doesn't it. A software usage tax. If only I could get rid of that tax I could ride out this downturn, keep my key people and be ready when the situation improves. The windows burst open, and through the wind and debris appears GNUe Man. The solution to the software tax dilemma appears and on his back is the key "Free Software". Surely it can't be that simple, thinks Mr. Harvard. I've heard about this free software before, but what is it really, what are the economics, does it work, and how will I get my boss to understand? Then Mr. Harvard remembers that he has heard about some success stories in free software; GNU/Linux, KDE, gnome, apache, PostGreSQL, and MySQL. But these are just tools. He wonders, how can I run my business on free software? GNUe Man sits down and starts to explain about GNU Enterprise, a set of business tools and applications that automate business functions. Gain control of your business ----------------------------- GNUe currently consists of Accounting, Supply Chain, and Sales packages. All packages are structured for multiple currency and multiple languages. The Accounting package includes a very basic single level general ledger, payables, and receivables functions. The supply chain covers ordering, receiving, storing, and shipping of products. Sales includes invoicing and maintaining simple customer information. Future packages include CRM, project management, manufacturing, and e-commerce. These functions are pretty standard in the Enterprise arena, so what separates GNUe from other Enterprise Applications like SAP, PeopleSoft, and JDEdwards, asks Mr. Harvard. Will lets begin with some typical problems. We already know about the cost issues and paying fees without receiving value. What happens when you call customer service? Do you get a knowledgeable quick answer to your questions? Mr. Harvard shakes his head, only when we finally get the right person that has the right information and sometimes this never occurs. So if you are in a real pinch, you usually have to wait and sometimes never get the answer. With GNUe and free software in general the developers gives you all of the information you need to fix the problem yourself, including all the source code, all the build instructions, and all the documentation including code comments and internal design notes. Proprietary software vendors consider this information trade secrets. What if my staff does not have time to learn enough to fix the problem? Then you can call a GNUe consultant. Most likely, you will have access to a developer if needed and not be limited to an entry-level student manning the customer service desk. So free software does not rely on students? GNUe makes good use of students, but unlike a proprietary software vendor you will know when you are dealing with a student because of the open nature of the development and support process. Where students are used they are usually involved in very focused areas and working under the guidance of a senior member of the GNUe team. Is GNUe staff paid to work on GNUe and if not, how can I count on someone being available to answer my questions? Good question and there are several issues at work here. First, GNUe relies on industry standards, so the solution to your problem my not necessarily require the GNUe team. Since GNUe uses open standard everyone has access to many people working with them plus the many people working with GNUe. For example all communications between client and server in multi-tier uses standard CORBA 2.3 functionality provided by ORBit. Second, GNUe has developers in Europe, Australia, and the United States. This means that someone is on-line using the GNUe IRC channel 24 hours per day and usually 7 days per week. Our response time to solve problems has traditionally been very quick. Third, paid consulting support is available from at least 4 organizations spread across Europe, New Zealand, and United States. We expect the number of support organizations to grow as we roll out solution to industry. Furthermore the development of GNUe started with project Obelisk in July 1999. Project Obelisk merged with project Sanity in March 2000 to become GNUe. As far as we know, GNUe is the only active multi-national enterprise project with consistent monthly releases since October 2000. We are a formal project under the Free Software Foundation organization. This momemtum is an important consideration in the maturity of a software project like GNUe. The developers of GNUe are proven mix of users, software developers and consultants that know the daily business needs of companies from the sole proprietor to the multi-national corporation. Users are much closer to the development of GNUe than they are with most proprietary software vendors. For example from Computerworld September 17, 2001, "Oracle is refusing to take part in the (Oracle Applications Users Group) OAUG's biannual conferences and has proposed that they be folded into its own AppsWorld event - a suggestion that the independent user group has rejected thus far." GNUe Tools ---------- Very impressive, says Mr. Harvard. But how well does GNUe fit my business and technical infrastructure? GNU Enterprise is structured to support two types of infrastructure: two-tier and multi-tier client server. Both versions utilize our form designer, form client and report client. The form designer is the heart of our productivity tools. It provides GUI based form development and is instrumental in providing business developers a system-building tool that does not require programming. The GNUe form and report tools are platform independent and run on Windows, GNU/Linux, Mac OS X, and good old text terminals. All forms and reports are defined using GNUe Form Definition language (XML). [ 2-tier figure, GNUeFormsArchitecture] Two-tier GNUe clients connect directly to an SQL database server. Currently two-tier clients work with several SQL databases including ODBC, PostGreSQL, MySQL, Oracle, and DB2. Two-tier GNUe is designed to support rapid prototyping and building of SQL based solutions for small and medium size businesses. Many examples exist in the distribution including contact manager, purchase orders and invoicing. Two-tier GNUe is the most mature part of GNU Enterprise. [ n-tier figure, GNUeGEASArchitecture] The main business applications in GNU Enterprise are developed around our multi-tier solution, which we call GEAS (GNU Enterprise Application Server). The GNU Enterprise team is in the process of integrating Bayonne for telephony applications and double choco latte for web access into our server. This will allow access to all GNU Enterprise business objects from any telephone, fax, or web appliance. Multi-tier uses the same form client, report writer, and form designer as two-tier. The only difference this that the client uses a GEAS driver (and CORBA interface) instead of an SQL server driver. Eventually we will be providing other network mechanisms for client interface. The main reason to use the multi-tier version is the scalability and object-oriented nature of the business objects. Eventually, GEAS will support multiple databases with load balancing, object oriented databases, distributed objects and other sophisticated scaleable multi-tier functions. GEAS is designed to integrate with many different systems and does not require changing legacy systems to GNUe. Again like our forms client will run on most popular hardware including Microsoft Windows, Apple Macintosh, Sun Solaris, GNU/Linux, or other Unix. Providing Business Functionality to GNUe ---------------------------------------- Unlike other large systems GNUe is not bloated with functions, fields, and data that is not required for a particular installation. You can configure and use only what you need. The GEAS system is structured into Templates, Packages, Modules and Business Objects. Templates are used to configure GNUe to specific industries and are a way to modify Modules. This configuration process may add modify, or remove basic functionality. Packages are simply convenient collections of modules. Modules are logical groups of business objects designed, but not required, to be used together. Business objects, like Customer, Item, Order, and Invoice, are modeled based on the business requirements. Business Objects contain data definitions and business rules. Modules can also add new and extend existing business objects. By extend we mean add additional fields and business rules. [Package/Module figure, GNUePkgArchitecture] Business objects are designed for easy mixing and matching with GNUe or 3rd party solutions. Business Rules are object methods that can be executed locally or on a server. They may be written in C or Python currently and we expect to add Java and other languages as time permits. You can decide for every module whether you want to install it or not (of course regarding required dependencies that are minimized at every opportunity), your business objects can look different, depending on the modules you have installed. To put as much power in this system as possible, we make the modules very fine-grained. Some of the first modules developed were the item, currency and language modules. These modules are part of a very small base package that accompanies all installations. For example all monetary amounts are represented as money objects that include an amount, represented by a 64-bit integer, along with a 16-bit implied decimal. Therefore, financial calculations do not use floating-point data. Every monetary object must have currency assigned to it. In a very basic system with only one currency this will happen transparently. So single currency system users are not forced to deal with currencies on forms and reports. However, any single currency system can be made multiple currency simply by adding new currency definitions. Who is using GNUe? ------- So GEAS really does fit my business, but I just don't understand why people would continue to support free software if they don't make any money from it? There are really three types of businesses using and supporting GNUe. Small businesses use GNUe because they do not have enough resources to buy or develop a proprietary solution and or because they want the freedom and functionality that GNUe offers. Generally they adapt their business to GNUe. In this way they are able to reap the benefit of the work of larger businesses and consultants. This model helps small business by providing competitive software at rates they can afford. The second type of GNUe user is large businesses. They use GNUe because they don't like being locked into proprietary software. Large businesses can make a small investment in GNUe by providing small amount of resources. They get in return a package that addresses their needs and costs much less that if they wrote it themselves. The third type of business includes consultants. Free software is an excellent product for consultants because they can provide paid support when the user needs it. The user organization does not have to pay any on-going fees. They also free to develop their own in-house support if they desire. Summary ------ GNUe is really beneficial for companies that want to retain the maximum amount of freedom with regard to control and support of their information systems investment, may be fast growing companies and or large companies that require maximum flexibility. The real benefits of GNUE are well proven functionality, open standards, freedom from a single vendor, scalability, documentation, lack of license fees, access to all source code, the ability to control support fees via competitive market mechanisms. These benefits apply to all businesses sizes and foster an atmosphere of open trust and partnership between the developers and users.