Home Contact Follow Donate What's New? About the Project Project Departments Documentation Demos & Downloads Training & Support Subversion Repository Project Wikis Issue & Features Tracking

About the Project » Licensing Information

OpenEAI Licensing

OpenEAI licensing attempts to both: ensure the freedom of the users of OpenEAI software, documentation, and other artifacts; and to promote the widest possible use of OpenEAI products. To that end, there are three distinct ways in which the OpenEAI Project licenses its three primary categories of products, which are: (1) the messaging application foundation, (2) reference implementations of messaging applications, and (3) documentation. The licenses used by the OpenEAI Software Foundation are authored and maintained by the Free Software Foundation. Every artifact released by the OpenEAI Software Foundation contains an explicit notification identifying the license terms. For your convenience and understanding, the following is a brief synopsis of the OpenEAI Software Foundation's licensing policy.

OpenEAI Application Foundation and Message Object APIs

The OpenEAI Application Foundation APIs, and the OpenEAI Message Object API, deployment, and administration artifacts consist largely of libraries of Java classes, XML definitions, and runtime management scripts. These artifacts are key building blocks for quickly developing, deploying, and running new message-aware applications, making existing applications message-aware, gating existing applications with message gateways, and for building messaging infrastructure applications such as message routers, relays, request proxies, and message content translators and transformers. These products are licensed under the terms of the GNU Lesser General Public License (LGPL). Consult the terms of that license for complete details. The OpenEAI Software Foundation intends for users to have the freedom to access the foundational source code as well as the freedom to redistribute and modify it. Users who do this must do so under the terms of the LGPL. However, the LGPL distinguishes itself from the GNU General Public License (GPL) by allowing people to use the software licensed under the LGPL to build combined works that are based on the licensed software and hold that combined work proprietary. When people do this, they must conform to some terms of the LGPL that attempt to guarantee subsequent users' freedom in regard to the OpenEAI software on which the combined work is based; however, the LGPL does not apply to the new combined work as a whole nor does it require that source code for the entire combined work be made available.

In the strictest sense, the use of the LGPL constitutes a retreat from the principles of free software (free as pertaining to freedom of use, not price). In simple terms, this means that commercial software vendors can take this foundation and make combined or derivative works and hold them proprietary, provided they conform with a few simple terms of the LGPL. Experience has taught us that this pragmatic retreat is required for the OpenEAI Software Foundation to achieve its goal of providing concepts and software for all to use in making their applications message-aware, thereby exposing these applications to the rest of the enterprise as well as to trading partners. From working with commercial software vendors to make their applications message aware, it became clear that few vendors understand or are receptive to the concept of free software (once, again, free as pertaining to freedom of use, not price). While they were excited and impressed by how quickly they could make applications message aware and how they could focus on the business logic for processing messages within their applications and forget about the mechanics of messaging, since that is largely handled by the OpenEAI libraries, they were scared by the concept of releasing their message gateways built with the OpenEAI Application Foundation and Message Object APIs under the terms of the GPL or any other model that attempts to protect the rights of users. Given this experience, we chose to release these foundation libraries under terms that allow these organizations to comfortably make combined works and hold them proprietary. This decision was made, because it is presently most important and of greatest interest to the OpenEAI user community to have these vendors expose their applications to our enterprises using the OpenEAI methodology -- that is, in a clear, consistent, robust way using current, standards-based technology. It is presently less important and less urgent for the OpenEAI user community to have the rights they truly deserve to see the implementation such vendors provide and modify it if necessary. However, vendors are encouraged to release their combined works under the terms of an open source compliant license, but as outlined above, they are under no obligation to do so under the terms of the LGPL.

OpenEAI Reference Implementations and Messaging Infrastructure Applications

The OpenEAI reference implementations and messaging infrastructure applications (such as the EnterpriseTransRouter for routing and translating synchronization messages, the EnterpriseRequestProxy for proxying request messages, the EnterpriseSyncLogger for logging synchronization messages, etc.) are works built with the foundation libraries discussed above. The terms under which these foundation libraries are released, the LGPL, would allow such works based on that foundation to be held proprietary, provided that we complied with a few simple terms regarding the foundation we used as prescribed by the LGPL. However, we choose not to do this. These are reference implementations and example applications. More precisely, these are production-quality applications that are in use at one or more sites practicing the OpenEAI Methodology and using the OpenEAI Application Foundation and Message Object APIs. The OpenEAI Software Foundation only releases reference implementations and examples that are reliably running a production enterprise. The OpenEAI community should have full access to this source code to understand how these applications are built and use them as concrete references for building other message-aware applications and messaging infrastructure applications. They should also be free to use them in production as they are delivered if they so choose. Finally, these applications are complete, running applications that perform specific functions. The OpenEAI Software Foundation does not want software vendors to take these complete and proven applications and modify them, hold them proprietary, and market them to do basically the same things they do now. So these applications are released under the terms of the GNU General Public License (GPL), which requires that any modified version of these complete, proven applications be redistributed under the terms of the GPL, which includes making the source code of the modified work available to users upon request. See the GNU GPL for complete details.

Keep in mind that this does not prevent people from looking at these reference implementations and their documentation, understanding what they do, and using the OpenEAI Application Foundation and Message Object APIs to build alternative or even better implementations of these functions, hold them proprietary, and market them under that old economic model, provided that they comply with the few simple terms of the LGPL for the OpenEAI Application Foundation and Message Object APIs they have used. That phenomenon would be completely allowed under the OpenEAI licensing model.

OpenEAI Documentation

OpenEAI documentation is intended to be as complete and clear as possible (it will never be perfect, though, and that is the major reason we appreciate your feedback and contributions). However, since the OpenEAI Methodology, Application Foundation, Message Object API, and deployment artifacts are designed for general use, each person or organization that uses them -- even if they use them "as is" -- may have specific deployment preferences, considerations, and procedures. Whenever any organization uses practices or software, these need to be well-documented. The OpenEAI Software Foundation encourages you to take the OpenEAI documentation and extend it for your use. In fact, the OpenEAI core documentation is designed to help you do that by suggesting what you should add or prompting you to include your site-specific preferences in certain places. OpenEAI documentation is made available in several formats suitable to editing with commonly-available editors and word processing software. Additionally, since the OpenEAI Application Foundation, Message Object API, and deployment software can be used to build other combined works, people who build those works should be able to reuse and appropriately modify the OpenEAI documentation for release with those products. For these reasons, all OpenEAI documentation is released under the terms of the GNU Free Documentation License (GFDL) to assure everyone the effective freedom to copy and redistribute OpenEAI documentation, with or without modifying it, either commercially or noncommercially. The GFDL license also preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.