Prior page Up a level Next page



Open MultiValue
OpenQM engine
What is openQM?
Open Source GPL
Open Source Use
Commercial Pricing
Accuterm bundled
Coyote bundled
OpenQM Downloads
Tri-mode 4GLs
Simple Fulfillment
Training and Support

MultiValue products

Electronic services



Old EasyCo website

EasyCo Home

Bookmark Page
Copyright 2007 by EasyCo LLC

When Can I Use OpenQM

Many people have asked us to clarify the license limits of OpenQM. We decided that the best way was to do it as an FAQ with common hypothetical examples and questions.

The basic difference between an open source license and a commercial license is that the open source license is just that -- a right to use or distribute the source code of OpenQM under certain circumstances. Conversely, a commercial license is the right to use the object code on a single machine.

I want to install OpenQM, study it, and write some software.
A: We absolutely encourage this. The GPL accords users unrestricted use of the product they install. The GPL only restricts how OpenQM or products developed under OpenQM may be redistributed for use on other systems or to other people.
I want to install OpenQM and buy some software from someone else.

You are welcome to buy OpenQM software you want from anyone else. There are two ways you can do this.

You can get them to work for you as a contractor, with you owning all the software rights when they have completed their work for you. This means that they will give you a complete set of source code, which will not be obfuscated, and which you will then own and be able to sell or give to others with OpenQM, in accordance with the GPL, or sell/give to others in a modified form with the Commercial QM license, or

You can get them to write a package on an OpenQM platform and then give you the full set of rights that come to you when you install OpenQM, licensing you use of their product under the GPL. This means that they will give you full, unencrypted and un-obfuscated source code, as well as unencumbered rights to redistribute the product.

You may not buy a product that does not have these rights. For instance, a product developed on another OpenQM machine cannot be sold except under terms of the GPL. Similarly, a product developed on a commercial QM system does not have the right to deliver object code to an open version of QM. This restriction does not apply to you the buyer as it is a restriction on the sellers privileges.

I want to write software in OpenQM and sell it (or give it) to others

You are welcome to do this as long as your sale or gift is fully compliant with the General Public License. This means that you MUST deliver full source for the product you provide, in order to permit full use, and the recipient must be accorded full rights of redistribution as provided for in the GPL. If you do not want to accord recipients these rights, then you must use a commercially licensed version of QM. Make sure you read the restrictions of that license, as discussed below.

To be specific, if you are compiling works in OpenQM, the resulting compilation is a significant derivative work, and the obligations of the GPL exist even if you deliver object code only, or unique elements of the source code Application Programming Interface (API), without the database system wrapper.

Please note that some people have talked about delivering source but doing so in an encrypted or otherwise obfuscated form. Doing so would invalidate the GPL as it prevents the recipient from fully utilizing or studying the received product.

This said, the GPL does not prohibit your selling your product to customers for a significant price, or even of requiring that, for an initial term, they purchase some sort of service. all they do is prohibit your interfering with full use or distribution.

I want to write software on Commercial QM and sell (or give it) to others.

The commercial QM license provides that you may install the copy of QM only once. This also means that any object code you compile can also only be used on one machine. The only exception to this is if you move the compiled object code to another machine with a commercial QM license. This does not violate the commercial license because each system is self-validating for use purposes.

You may not move object code compiled on a commercial QM platform to an OpenQM platform, nor any part of the Application Programming Interface (API) that is unique to, or originally designed by, Ladybridge Systems rather than being part of the standard MultiValue SMA specification. The object code so generated is a derivative work consisting of a machine expression of your source code, as well as a machine expression of our source code which tells the machine what to do with your code. Please note that the practical basis of this requirement is that we could, if we wished, make object code from the commercial and Open versions incompatible with one another. Source code containing unique API elements also bears the same interpretation -- it is a composite work.

You may deliver source code, only, to your customer, and you may place on it any restrictions that you wish, as the same is solely your work. However, the same may not include any object code, nor any Application Programming Interface (API) elements that are unique to QM.

I am an application developer and I don't want to pay for development tools like QM. What should I do?

Anyone can use OpenQM to develop their applications in a Linux environment. More importantly, if you are a bona fide developer building applications you can get developer licenses for commercial QM at no cost. One advantage of the free commercial products is that they are also available for use on Windows platforms. To learn more about these, go to our reseller section. But even if you don't want to tinker with Linux, and don't qualify as a commercial developer, you can buy a 1-user copy of commercial QM for peanuts: just $119 for that single user.

I want to circumvent the OpenQM GPL license by having my customer install their own copy of OpenQM and then later install my commercially restricted software into OpenQM.

The GPL does not permit this. The Free Software Foundation interprets your work to be a derivative work because it relies upon our libraries and components for successful operation. Any work deriving from a GPL'd work can itself only be licensed under the GPL. We invite you to read the Free Software Foundation's GPL FAQ page for a more detailed explanation, and discussion of issues. It should be noted that this also constitutes a second instance of prohibition about installing software generated on a commercial QM machine into an OpenQM machine: we prohibit use of commercial QM based software except on commercial machines, and the GPL prohibits use of commercial software relying upon a GPL component from being licensed under any terms other than the GPL.

The only practical exception to this is an unencrypted source code application that is fully SMA compliant. The proper test for compliance with this will be whether the application, as delivered, and in its then operating state could successfully operate with 100% reliability and identical results for all programs on another MultiValue platform such as UniVerse, UniData, or D3. One must be careful here. Eventual modification of the source code of the work, even if initially compliant by the above testing means, could turn it into a work that becomes inadvertently a work not saleable except under the terms of the GPL.

I want to circumvent the need for a commercial QM version by putting all the "protected work" on another platform.

This is legitimate provided all of the OpenQM components provided fully comply with the GPL, including full source, full viewability without obfuscation, and full redistribution rights. If you are fully compliant with this, then any restrictions or obfuscations you place on your work run off another computer not containing QM or OpenQM are none of our business. They are an "independent" work. This said you must take extreme care not to "poison" the independent work with OpenQM components. If the independent work contains any OpenQM elements, it is only deliverable under a GPL license.

This said, if you do things this way, you are being pretty stupid -- penny wise and pound foolish. The beauty of MultiValue is always the ability to do things fast, easily, and robustly. When you involve distributing work over several machines, you are by definition creating a Kludge that is more easily breakable and more difficult to execute and maintain due to its scattered nature.

I want to deliver both commercial QM based works, as well as GPL licensed works from the same code base. Can I do this?

As long as the copyrights for all the works used belong exclusively to you, you can do this. It is very common for a developer to use the same original body of work as the basis for building both commercial works and charitable, or near-charitable works. We encourage such activities and regard any such social good as an activity to be encouraged. Thus, when you deliver a work on a commercial QM machine, whether as source code, or as object only, we regard the work to be automatically licensed as a commercial work, even if OpenQM components were used in developing it. Conversely, we regard (and expect) a work delivered to a system with an OpenQM engine to be licensed under the GPL.

Exception: This permissibility is predicated based upon your ownership of all the copyrights to the work installed. For instance, if you develop using Nucleus, you cannot deliver GPL'd works because Nucleus is a commercial product that can only run on commercial QM.

I want to circumvent the need for a commercial QM license by running my own server farm, and selling the ability to "talk with" these servers to others for a periodic fee.

You are fully encouraged and permitted to do so. However, you have to remember that you are fully on your own, and have no warranty what so ever for the Open product you are using. More importantly, you have no automatic recourse to support.

As you will be aware from your reading, we provide support to both OpenQM and QM users at an enumerated price, to assure that anyone using any form of QM may have support. However, we are not obligated to provide support to OpenQM individuals except under our own terms. Given that OpenQM products do not bear any form of serial number control, any support would have to cover support for all OpenQM servers, rather than just the "broken one." Similarly, if you are a reseller, it is practically possible to buy support for commercial QM that is QM specific, rather than our having to presume that we will support not only QM but also provide some support for the system as well.

I want to circumvent the need for a commercial QM license even though I will run OpenQM on multiple computers rather than just one.

If you are a large corporate or institutional user who wants to run OpenQM on several or many computers, you are welcome to do so provided you fully comply with the letter and the spirit of the GPL.

For instance, if you are a corporate IT department, and your corporation has franchisees, or locally incorporated subsidiaries, delivery to any of these would be a de facto breach of the GPL unless you also publish the full source of the application, including any changes or local customizations of the source, to an independent freely available solution. Those franchisees and subsidiaries will be independent persons, and as such constitute distribution, but they do not, in fact, have effective independence to do all the things that users are permitted to do, that would thus stimulate knowledge, study, and use. As they have no independence, we require that you take other actions to further the spread of knowledge. Please note that if you publish your work under the terms of the GPL, your competitors may fully use the knowledge and text you disseminate so long as they do so as permitted by the GPL.

The requirement of independent publication of knowledge does not apply apply if you are distributing to fully independent, rather than dependent, entities. For instance, a University giving its students an application that is open source constitutes "publication" (i.e. making knowledge and text available to the public). Similarly, giving an application to customers or prospects who have no contractual ties to you (such as the fiduciary obligation, or self-beneficial advantage of, non-disclosure) would constitute publication.

When in doubt about any of this, consult your lawyer.

Remember that your sources of supply may be restricted or inconvenienced. If you wish to use QM-based works from others, those works must either be provided to you under the GPL, or must be be provided in source-form only, as the commercial QM license does not permit use of the object code, nor use of the API, on non-commercial machines.

As with the above example, you have to remember that you are fully on your own, and have no warranty what so ever for the Open product you are using. More importantly, you have no automatic recourse to support.

As you will be aware from your reading, we provide support to both OpenQM and QM users at an enumerated price, to assure that anyone using any form of QM may have support. However, we are not obligated to provide support to OpenQM individuals except under our own terms. Given that OpenQM products do not bear any form of serial number control, any support would have to cover support for all OpenQM servers, rather than just the "broken one."

I have a non-profit institution that wants to use QM. What is my best alternative.

If you are a non-profit agency, you may qualify for free commercial copies of QM, including Windows versions. Depending upon your circumstances, the free commercial versions may actually offer you more total value than the GPL versions. For instance, the free commercial version includes free use of AccuTerm with the system while the OpenQM version cannot. Please contact us for details.

I need to run on BSD or Windows. Can I run OpenQM on these?

OpenQM is only supported on Linux platforms. You may, of course, if you qualify for use or distribution of an open source version, recompile or adapt OpenQM to run on these platforms. However, authorized support for these will not be available in any form. In virtually every instance, use of commercial QM on these platforms will be a more convenient, and less risky, alternative.

I am in a third world (or second tier) country and want to use OpenQM to build and sell applications.

We strongly encourage you to do just this. Just make sure you comply with the requirements of the GPL.

While commercial QM costs a lot less than other MultiValue databases, its cost is still significant in developing economies. In many nations of the world, the cost of QM is the same as 3 or 4 months of wages of a worker, even though it may represent only 1/2 day's wages in the developed world. We feel that the best way to overcome such issues is to improve productivity in that local environment. Low cost automation via simple tools such as QM is one of those ways.

Remember that you can sell your application built in OpenQM, provided the sold product is licensed for use under the GPL. Also remember that the consulting model can produce significant revenue for you. All users will ultimately need training and ongoing support.

I am running a copy of commercial QM, but I want to keep a copy of OpenQM around in case anything happens to Ladybridge.

OpenQM can be used without restrictions. Were Ladybridge to ever cease doing business, you would have free, unrestricted, use and improvement rights to the open source version without restriction, as provided for in the terms of the commercial license.

How do you resolve any conflicts between what you say and what the GPL says

Our words in this section express what we believe that the GPL says, means, and intends. If we have inadvertently applied some restriction to what the GPL specifically permits, that restriction is null and void. If we have provided you with some right or privilege beyond those granted by the GPL, the GPL permits us as copyright holders of an original work to grant that exception either explicitly, or through non-enforcement. If we permit something the GPL does not, then we will enforce our rights based upon our more liberal permissions.

What about issues you may not have discussed, or completely discussed?

Where our interpretation seems incomplete, we invite you to read the Free Software Foundation's GPL FAQ page for a more detailed explanation, and discussion of issues.

I want to know what the penalty is for violating either the OpenQM or the Commercial QM licenses.

Whether you are using/distributing via the OpenQM GPL license, or using product under a commercial license, if you breach the license, then the license becomes null and void. At the instant where the license is annulled further use or distribution of the product is a violation and infringement of the copyright, and as such becomes subject to any local statutory penalties. In the USA, those penalties are contained in title 17 USC, including those draconian amendments created by the Digital Millennium Copyright Act (DMCA).

We will note that if you are thinking about cheating the GPL, court decisions so far have been violently and rapidly in favor of the copyright holder. The general principal of the courts has been that you are a scofflaw - a sinner against society - who has not only cheated the copyright holder of his revenues but who has also cheated society of the civic duty you promised to the copyright holder in return for his granting you rights under the GPL. The courts have, for instance, rapidly granted injunctive relief in such matters because they find that there is no harm to the violator that cannot be instantly overcome by fulfilling their civic duty.

Virtually no GPL-based license cases end up in court for the simple reason that the attorneys of license breakers advise their clients to settle.

The Free Software Foundation comments that works that are offered both commercially and under the GPL are always ethically tainted. Why do you do this yourself and permit others to do it as well?

For the full citation of the commentary, we refer you to this section of FSF's GPL FAQ.

The FSF, because of what it does, and in order to maximize the social good of what it does, must be "purist" on this issue. We would assert, contrarily that (a) it is possible to avoid ethical taint, and (b) the use of mixed distribution in this case produces greater total social benefit.

Ethically, the point of obvious taint is the implicit reliance upon free elements intended for social good in the use of a for-profit work. In fact, the QM base product is developed, and always has been developed, using exclusively non-free tools in a non-free environment. Only then is it ported to a free environment, and the port is done using tools such as older versions of the GCC compiler that, as LGPL works, were specifically intended to be usable for both commercial and free purposes. We port both for the social good of free use, as well as for commercial use in a Linux environment. Similarly, people writing works that rely on the QM components, and more generally on MultiValue concepts, are not engaging in ethically tainted activities because the social and programming framework derives from non-free or publicly available elements exclusively. The total taint, if present at all, is clearly is minimal.

More generally, where we disagree with FSF is in the nature of how society can benefit from inventions. FSF and we both agree that the normal win/lose games of many types of businesses are fundamentally harmful to society. FSF's solution to this is to encourage the playing of lose/win games (i.e. where I lose so that you can win) which are the fundamental principal underlying all charitable activity. And this is a good thing both in terms of its social outcome (because it puts something back into society), and because for the giver it is, in hidden ways, "a win" for them as well, in that they feel better about themselves. The reality of charity is that it is always a win/win game, except that the winning occurs on different plains, which is what makes it an unsustainable activity.

While we believe in encouraging charity, and have done our bit as well by making QM available as OpenQM under the GPL, as well as offering free commercial copies to charitable institutions, we believe that society is always best served when a "win/win" game can be played objectively and cognizantly by all. Fundamentally, a win/win game can only occur when the parties get "inventive." At a very simple level, an example of invention might be the contractor, knowing that he can sell the same product at least once more elsewhere, reduces his price for the work performed. If things work out, this results in more total return to the contractor, and lower price to the user. There are, of course, more inventive ways of improving the total value returned in a particular game.

The playing of win/win games always requires both stability and a fair exchange of value so that each person actually gets more value than they would in a game that is (in relative terms) win/lose. This is done by making things better, cheaper, faster, or more full-featured for the same cost. But it must be done in the background of social stability, with both buyer and seller comfortable that all the properties needed for successful game-play will be present for a long time. Thus, for instance, commercial games have the presumption of warranties, long term service presence, and other properties that may not exist, or at least not exist formally enough, in a free environment.

Just as importantly, the GPL can work in a commercial setting with Linux, but the only reason it really works is because of the nature of personal service. In the Linux world, the guru is king, and without him the user's system eventually collapses. More importantly, the end user knows that it will collapse and that he may well lack the skills to fix it even with complete source code and the ability to redistribute. Conversely, in Windows, users think they know how to do things and think that they don't really need the expert (even though they probably do). Historically, in MultiValue, it was even worse than this because the actual simplicity often created a situation where the user absolutely knew how to fix things himself, or where to get the people doing the fixing. Open source in the hands of such people would be like dynamite in the hands of a child. There would be a game where in large numbers of instances, the developer was always playing a lose/win game.

Use of the commercial licensing system gives the MultiValue developer the ability to develop simple-to-use and -fix applications while also creating a stable win/win environment for himself and his customers.