I'm building a website using Django and I'd like to include django-wiki, however it is licensed under the GPLv3. Does this require me to open source my front end code and/or server code? Or can I apply the license only to the wiki portion of the website?

The wiki will be quite separate from the main site, but will contain some shared templates and boilerplate code, and will be at the some host and running on the same server.

Edit: In case anyone gets here asking about the exact same application, here is what the Django wiki folks had to say.

You can use the wiki on a public commercial site. You can also write plugins.

But if you modify the code and distribute a modified version, you have to also publicize those changes.

  • Can you link to the license? Because I can't find it anywhere in the source code or documentation. If it really is GPL, they're being very low-profile about it. – Robert Harvey Aug 5 '15 at 6:06
  • @RobertHarvey The file "COPYING" in the root directory of the github repository is the GPL3 license. This is the only reference I can find, which suggests licensing is very much an afterthought -- I'd ask the developers if they intend it to apply to the client side parts or only the server side. If only server side, there's no issue. – Jules Aug 5 '15 at 6:10
  • Are you distributing the code to the Web site? E.g. if you are working as a contractor and you typically deliver the product to your client as the source code to the Web application. This is the case where the GPL usually applies a restriction on what licensing terms you must choose for that type of distribution. – Brandin Aug 5 '15 at 6:29
  • By the way, there is a new Open Source SE in beta, and the answers are typically of outstanding quality there. This question would fit perfectly there. – Jörg W Mittag Aug 5 '15 at 15:09

My reading of the GPL is that it does not apply to this kind of scenario, where a UI (the web browser) accesses the program over a network. In fact, they state as much in the license:

To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.

"Conveyance" is what triggers the copyleft provision.

This "loophole" is, in fact, the reason the Affero GPL exists. The Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run a modified 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 modified version running there.

Things get a little dicey if you send Javascript to the browser. If the server program depends on the Javascript for its proper functioning, then technically you have "conveyed" a portion of your program, and you could argue that it all falls under the GPL in that case.

| improve this answer | |
  • The django-wiki app does have static content including Javascript which is run by the browser. So unless I disable that portion, it would constitute conveying, correct? – The Bearded Templar Aug 5 '15 at 15:17
  • 1
    I would talk to the django-wiki folks and see if they care about this. – Robert Harvey Aug 5 '15 at 15:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.