I have been testing Pentaho BI server community edition, and after reading their licensing terms I found out that the community edition is under GPLv2.
As you may know the server is intended to host different types of files and applications (like reports, olap cubes,etc…)
My question is : are we allowed to sell applications that run on the GPLv2 server ? (we will maybe modify the server source code a bit but we won’t charge it to our clients. thus the modified GPL server will be just an execution environment or a container for the reports and applications that we intend to sell) ?
this suggests that our clients must install the GPL v2 edition first and then buy from us the reports that work on it but not their source code.
Thanks in advance.
2
Disclaimer: I am not a lawyer. When you make a business decision based on advise from strangers on the internet and you get sued, it’s your fault.
First of all, the GPL does not forbid commercial activity. It explicitly allows you to charge for distribution. Article 4 reads:
You may charge any price or no price for each copy that you convey
That means you can modify GPL software and then charge a customer any price you want for your changed version. The catch is that you must license it to the customer as GPL, so the customer must get the sourcecode and the right to give it away to others under the same conditions. However, when your modifications are very customer-specific, there is nobody else the customer could sell these modifications to, so customization of GPL software can be a viable business model.
Now about your actual question. You write reports which are meant to be executed by a GPL product. This is very similar in spirit to the GNU GPL FAQ “If a programming language interpreter is released under the GPL, does that mean programs written to be interpreted by it must be under GPL-compatible licenses?”. The answer provided by the Free Software Foundation is this:
When the interpreter just interprets a language, the answer is no. The interpreted program, to the interpreter, is just data; a free
software license like the GPL, based on copyright law, cannot limit
what data you use the interpreter on. You can run it on any data
(interpreted program), any way you like, and there are no requirements
about licensing that data to anyone.However, when the interpreter is extended to provide “bindings” to other facilities (often, but not necessarily, libraries), the
interpreted program is effectively linked to the facilities it uses
through these bindings. So if these facilities are released under the
GPL, the interpreted program that uses them must be released in a
GPL-compatible way. The JNI or Java Native Interface is an example of
such a binding mechanism; libraries that are accessed in this way are
linked dynamically with the Java programs that call them. These
libraries are also linked with the interpreter. If the interpreter is
linked statically with these libraries, or if it is designed to link
dynamically with these specific libraries, then it too needs to be
released in a GPL-compatible way.Another similar and very common case is to provide libraries with the interpreter which are themselves interpreted. For instance, Perl
comes with many Perl modules, and a Java implementation comes with
many Java classes. These libraries and the programs that call them are
always dynamically linked together.A consequence is that if you choose to use GPL’d Perl modules or Java classes in your program, you must release the program in a
GPL-compatible way, regardless of the license used in the Perl or Java
interpreter that the combined Perl or Java program will run on.
So it’s a tricky case which depends on technical details which are outside of my area of expertise (I have no experience with Pentaho BI server).
My final recommendation is to ask Pentaho themself for their opinion about your business model and if they consider it within their license terms or not.
2
If your software doesn’t (dynamically) link to the GPL-ed server software and runs in a separate process from the server itself, then your software is considered to be a independent work (not derived from the server) from a copyright perspective. This means that you can choose any license for your software, including a closed source one that prohibits redistribution.
If your software becomes a part of the server (for example, by being loaded as a plugin), then you must distribute your software under a license that gives the users the same rights as they get with the GPL license. This does not forbid you from charging money for your software, but it doesn’t usually make much sense, because you must provide access to your source code and your users have the right to redistribute the software.
If you make changes to the server code itself and you distribute the modified server, you must distribute that under the terms of the GPL. This is independent of the license options you have for your applications.