Licensing Dependencies

Mar 27, 2012 at 11:51 PM

Hi everyone,

SLARToolkit seems to be turning into an amazing piece of software on it's own right, so first of all congratulations for the amazing work. My question pertains to something which has been disturbing me for a while regarding the licensing of all the different ports of ARToolKit over different languages and platforms.

More specifically, I would like to understand exactly why all these ports declare that they must take a GPL license because ARToolKit itself is GPL. I would like to make the argument that this is not the case. Don't get me wrong, these ports are certainly free to remain under the GPL, but I just want to point out that this is by their own decision, and not by any legal dependency to ARToolKit's implementation.

Essentially, this derives from the fact that GPL is a very specific legal protection on source-code, namely copyright. Copyright protects expression of an idea that is an original work fixed in tangible form. Copyright does not protect any idea, procedure, process, system, method of operation, concept, principle or discovery. It is not a patent, it does not protect an algorithm or a concept per se.

If you modify the original source-code substantially, even within the same language, it is often the case that the copyright protection can be made void. In SLARToolkit, the simple fact that you ported everything to a completely different language, in fact one with its own runtime environment and even added modifications and improvements on the original code is literally way more than enough to void GPL on this instance.

I would very much like to hear your opinions on this matter, and I reinforce my previous statement that by all means you should keep GPL if that's what you think is right for SLARToolkit. But please, do not do so just because of ARToolkit.

Cheers and keep up the excellent work!

Mar 28, 2012 at 6:24 AM

What do you base your interpretation on?

I base mine on section 2 of the GPLv2

The GPL is a viral license which means every work that uses GPL code or even a lib as binary, also has to be published under GPL.


- Rene Schulte 

Mar 28, 2012 at 8:16 AM

Hi Rene,

Thanks for your reply. First of all, let me just add in a couple of important disclaimers I forgot to mention in the first post. I am not a lawyer, so what I said cannot be taken in as legal advice. SLARToolkit contributors should of course consider carefully and seriously the matter of licensing. That said, my intention was indeed to start a discussion on this based on interpretation of the GPLv2. Although passionate, my original post reflected also a desire to question and understand these things better.

GPLv2 is a license of copyright, and because of that, discussing it will require to look at the definitions of original and derivative work. The relevant clause for this is the following, taken from the GNU website you referenced, under Terms and Conditions:

"0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you"."

As you see, the GPLv2 does indeed explicitly include "translation into another language" under modification. However, the question really becomes whether a translated piece of software bears substantial similarity to the original one after adaptation to the target language. Citing wikipedia:

"Substantial similarity is the term used by all courts to describe, once copying has been established, the threshold where that copying wrongfully appropriates the plaintiff's protected expression. It is found when similarity between the copyrightable elements of two works rises above the de minimis exception, reaching a threshold that is "substantial" both qualitatively and quantitatively.[3][9] While actionable infringement is more likely to be found where greater levels of similarity exist, substantial similarity has also been found where the portion copied was small but constituted the "heart" of the work."

In the case of SLARToolkit, I think actually the true dependency comes from the verbatim use of NyARToolkit's entire class structure, which is indeed protected by a GPL license of NyARToolkit itself. I admit I didn't notice this in the first place. Given that, the question becomes whether NyARToolkit's derivative work bears substantial similarity, but that is a discussion for them and not for SLARToolkit, so I'm forced to withdraw my first impressions that GPL was not applicable in this case.

Thanks for the reply and I hope the discussion remains a valid contribution for future users who may share the same questions.

Cheers and keep up the excellent work!

Mar 28, 2012 at 9:15 AM
Edited Mar 28, 2012 at 9:28 AM

And SLARToolKit isn't just a port at all. It provides many things on top of NyARToolKit. So it's a lib based on the NyAR work. And if you read the license closely you will see that even a port (translation) means a derived work which is covered by GPL and doesn't void it at all.

The aim of the GPL is to ensure that everything using parts of a GPL work stay open forever. That's why it's a viral license. That aim isn't bad by definition, it's actually a good idea on paper, but the side effects make the good work useless in some practical cases. 

I prefer non-viral licenses when I can (see my other OSS projects), since I don't want to force other people in a certain direction and limit the possibilities.   

- Rene