GNU GPL, JS and BS
This is a long due post, in response to a thread about a new JS outliner released under the GPL. I just did not take the time to write something about it until now… sorry!
First, let’s get things straight: the GNU GPL does not infect anything nor has any “viral” effect. You don’t catch the GPL like the flu. In order for GPL obligations to kick in and apply to you, you must either:
In the first case, it’s no surprises that if you download and distribute GPL-licensed software, you must respect the conditions of the GPL.
In the second case, it’s a little bit more difficult to grasp, because you need to understand what constitutes a work based on the GPL program. And for this, you need an basic understanding of copyright law.
But for pretty much everything else, it’s not covered. So basically,
just adding a line of
script to interact with the
DOM is not going to make the entire website subject to the GPL.
That would be like saying using LibreOffice forces you to distribute all
documents produced with it under the GPL. It’s just nonsense. Keep in
mind that this is a legal thing, this is copyright law; this is not
So in the case of the Concord outliner it’s pretty obvious: if you put an outliner in your web app, it’s not going to make the whole web app covered by the GPL. However, if you integrate the outliner and that you build your web app on top of that outliner; you expand it, so yes, that’s covered. But hey, that’s what the GPL is for.
Otherwise, write your own software from scratch or try a program with an alternative license, like the MPL-2.0.