GNU logo

License issues

Lately we get a lot of questions regarding the license of BIMserver. In this post we hope to clarify some of the questions. The BIMserver software is licensed under the GNU Affero General Public License version 3. The GNU Affero GPL is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run the program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the program that it’s running. If what’s running there is your modified version of the program, the server’s users must get the source code as you modified it. We have to note that the BIMserver package you download is a combination of many different open source projects. The database that we ship with BIMserver by default is the BerkeleyDB from Oracle. But we also use Jetty, EMF, jQuery, ANTLR, log4j, and many, many more. Most of them have several different licenses.

Free
A common discussion surrounding open source software, is the word ‘free’. In our case we refer to the GNU text: “free software” means software that respects users’ freedom and community. Roughly, the users have the freedom to run, copy, distribute, study, change and improve the software. With these freedoms, the users (both individually and collectively) control the program and what it does for them. Thus, “free software” is a matter of liberty, not price. There are examples of open source software that you have to pay for to get it. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer”. When talking about free software, it is best to avoid using terms like “give away” or “for free,” because those terms imply that the issue is about price, not freedom. There are several commercial software developers building plugins for BIMserver that are ‘free’ but not ‘for free’. This gives developers an option to make some money on selling plugins. In the WordPress ecosystem this is a common practice that many developers use to make a living.

GUIs, ObjectIDMs, modelcheckers, (de)Serializers and other plugins:
BIMserver is an open framework that uses several types of plugins. Derivatives of BIMserver code inherit the Affero GPL license. There is some legal grey area regarding what is considered a derivative work, but we feel strongly that all plugins (GUI’s, ObjectIDMs, modelcheckers, (de)Serializers, etc) are derivative work and thus inherit the Affero license. If you disagree, you might want to consider a different (open or closed source) project. We suggest some at http://opensourcebim.org/

Commercial development
In our philosophy and mission we stated that we want to be an open, reliable and stable platform for other developers to build on. That means we want to stimulate all developers to use BIMserver for their benefit. All developers… so not only open source developers. To help developers to interact and connect with a BIMserver we created several client libraries. We believe that lowering the threshold to use BIMserver included publishing libraries in as many different languages as possible. At this moment we publish a Java client, a PHP client and a Javascript client.

bimserver 1.2  project overview

BIMserver 1.2 project overview

 

All these clients are licensed under a different open source license: GNU Lesser General Public License. This license allows developers to use the library in proprietary software without the need to open source any of their own software. We feel it is a fundamental part of our mission to publish the libraries under this license to allow innovation in the industry.
Another way we lower the threshold is to give developers lots of possible ways to connect to BIMserver. There are multiple API interfaces to connect to BIMserver. At this moment SOAP (several versions), ProtocolBuffers and JSON are all stable options. WSDL files and other schema files are included in every BIMserver. Furthermore the interface of BIMserver is very well documented and the documentation is built into every BIMserver your download. Just type /admin/console.html at the end of the BIMserver URL you are running and you will have an extensive dashboard of the interface, including examples and debug options.

BIMserver API console

BIMserver API documentation console

We think the possibilities to use the open source BIMserver platform as a commercial developer are very broad. When your software tools interacts with BIMserver software through that API the license does not affect your work in any way. A good way to check if you are interacting or integrating with BIMserver software is to run a BIMserver and your own tool in a separate process (maybe even on a separate server). When you are in doubt, it’s always smart to contact us (via license@bimserver.org). Our experience learns that some people that are scared about the license issues, don’t have to be because of our open API interface solution.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *