8

I'm developing a desktop app and i'm using StrapDown.js. My question start with the StrapDown project page. It says:

This project is released under the GPLv3 license, for more details, take a look at the LICENSE file in the source.

My doubt comes with the fact that he has "hidden" the project repo (in BitBucket): As of now, StrapDown.js does not have it own git repository. And I don't want to, because it is cleaner to let it live on http://lbesson.bitbucket.org/md.

So my question is: can I publish a desktop app in GitHub (with the original licenses)? Even the StrapDown source code? I've been reading a bit and that license seems to allow users to publish modified versions of the code/software/licensed thing, but my doubt comes because the mantainer (who forked the original GitHub project and modified it to make (a new?) StrapDown) has not publish the code.

UPDATE: New website of the same project: https://naereen.github.io/StrapDown.js/

2 Answers 2

9

An application licensed under the GPL v3 is licensed under the GPL v3. It doesn't just apply to the hosting platform where that project is hosted, the license applies to the project no matter where it exists. On the linked page in your question, there is a download link with a zip file on the project.

The GPL v3 is a strong copyleft license. Anything that uses the GPL v3, even if you link to it, means that the code also must be licensed under the GPL v3. Interestingly, the maintainers of the GPL project seem to violate the license themselves, by not providing a link to the source code.

Basically, with the GPL v3, you can go ahead and take the source code. If you make changes of it, or if you call a function/method inside that API (e.g. StrapDown.my_method()), then whatever code you make has to be modified under the GPL v3 license. And yes, you can publish your code on Github, don't worry.

14
  • Just to be clear, the zip download does appear to include source (in strapdown.verbose.js), but the JS offered in the example pages (i.e., lbesson.bitbucket.org/md/strapdown.min.js) does not have any kind of information about associated source. If the author fo those demo pages is the only author of the entire project, that's fine, but I think this project was built on another (github.com/arturadib/strapdown) by a previous author. It's not clear if the new author means this library was inspired by the old project's approach, or is actually a derivative work.
    – apsillers
    Aug 20, 2015 at 0:20
  • @apsillers Interesting. I'll take a second, thorough look at it.
    – Zizouz212
    Aug 20, 2015 at 0:22
  • Thanks @Zizouz212♦ and @apsilers for that comment too! A last question: Should all my project be licenses under the GPL v3 license or just the StrapDown source code? (It is possible to do this?)
    – aaossa
    Aug 20, 2015 at 0:25
  • 1
    minified js is commonly distributed without proper licensing information. How to properly deal with minified js seems to be a difficult and possibly unsolved problem.
    – Martijn
    Aug 20, 2015 at 9:04
  • 1
    @RubberDuck even if minified JS is considered "compiled" version of the code you are still required to include the license. C was the main language used when GPL was invented, and it contains clear language that binaries/compiled code must include the license as well. What it comes down to is GPL is a very bad license for a project like StrapDown. I'd find a different project that is not licensed under GPL. There's got to be a dozen MIT licensed options available. Aug 21, 2015 at 4:49
4

Yes.

The GPL is designed specifically to make easy the distrubution of source codes. It explicitly allows you to redistrubute the source. Since GitHub is a platform for distrubution of code, it reasons that you can use it.

However, being licensed under the GPL means that any derivatives also must be licensed the same. So, any derivative of StrapDown must be GPL.

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.