1

Let's say I want to use a Javascript component that is under the GPLv3 license.

That forces me to license my product under an open source license compatible with GPLv3. So, let's say I have an agency and I want to build a website for it.

What's the product in which I'll be using the component? My website right?

Can I just build my site, silently make it open source in Github under GPLv3 and use the component under GPLv3?

Who cares about the license of my site? Who cares if I make it open source? No one is really going to look at the open source project, as I won't put any link to its Github URL anywhere else. I'm just making it open source because the component I want to use requieres it. And honestly, there's no much of a difference. If my site has cero backend work, any website source code is visible to anyone who wants to see it. (right click > view source code). So technically I do not lose anything open sourcing it.

If anyone, by chance, finds my github account and finds the site, good for them, my business, what generates me money, is the agency and not my site, which is my "open source project".

So... my question is, what is it really considered an open source project?

Can any business silently upload their site in Github, put a License.txt with the GPLv3 content and use any component under GPlv3 no matter what?

9
  • 1
    Have you read the GPLv3 licence. I am suspecting that you have not, as it dose not contain the words ”Open Source”. “Open Source” is a phrase that the Free Software Foundation (the authors of the GPL), recommend (gnu.org/philosophy/words-to-avoid.en.html#Open) to avoid, because it creates confusion (some of which I see in your question). Feb 24, 2019 at 17:45
  • I understand by "open source" that the source code is freely available for anyone who wants to read it. Am I wrong? What's the confusion you see?
    – Alvaro
    Feb 24, 2019 at 23:33
  • "let's say I have an agency and I want to build a website for it" - If you used GPL code in your backend development, then you must give the agency the source code of the same version ("corresponding source") that you are installing on their servers. A GitHub repository is not generally sufficient.
    – Brandin
    Feb 25, 2019 at 6:13
  • @alvaro. Yes you are wrong, but it is not your fault (The Free Software Foundation recommends not using the words Open Source for this reason). The Open Source Initiative recommends that you read the Open Source definition. The way I see it is that Open Source is almost the same thing as Free Software, and Free Software is about freedom, not price: The freedom to run the program as you wish; The freedom to study and change the program; The freedom to redistribute copies; The freedom to distribute modified versions to others. Access to the source code is not enough. Feb 26, 2019 at 8:15
  • @Brandin no backend. Only front end. (HTML, CSS and JS). I would upload it all on the github repository.
    – Alvaro
    Feb 26, 2019 at 12:21

1 Answer 1

3

The GPLv3 triggers its source disclosure requirements when you convey GPL-covered software. Conveying is defined as something that allows others to make a copy (that they can then convey in turn). If you offer some JavaScript file for download on your site (which is necessary for that JS to be executable) then that is a kind of conveying.

When you convey GPL-covered software, the GPL requires you for example to give users of that software a copy of the license, to keep copyright notices intact, and to offer them the Corresponding Source code.

  • Offering the source code is more active than just noting that the code is available somewhere. At the least the GPL-covered file should contain a license header that points to the source code. Ideally, you have a clearly reachable page on your website that collects third party attribution notices.

  • The downloaded JavaScript file might not be the Corresponding Source in the sense of the GPL. The Corresponding source is the preferred format of making modifications, and could include additional build scripts (e.g. like a package.json file if you are using NPM). If your website serves minified JavaScript, that would not be the Corresponding Source either.

Complying with the GPL for client-side JavaScript is quite tricky because it is not quite clear what the scope of the GPL would be. For example, you might be using multiple plugins that are completely separate. It is also not obvious whether a GPL license on JavaScript code will also extend to HTML templates.

  • Clearly, the GPL does not extend to the content of the website, at most to the theme & JavaScript code that runs on the page.
  • It is safest to assume that the GPL extends to all software that runs within the HTML frame, unless you can argue that some widgets are clearly separate so that the complete website is more akin to an aggregation of these programs, rather than a single combined program.
  • For all software that is combined with the GPL-covered component into a single program, you must actively offer the Corresponding Source under the terms of the GPL or a compatible license.
  • A GitHub repository for this code sounds appropriate. I would try to structure this code as a kind of NPM library or as a theme that you can easily reference from your website source.
  • You do not have to publish the source code of your entire website. In particular using client-side GPL code does not generally imply a requirement to publish any server-side code.

The intention of the GPL is that end users are free to run, inspect, modify, and share the software that they have received. To do this, it is necessary that they are informed of their rights under the GPL and are actively offered the source code.

2
  • Thanks for the answer! However I think I still don't have it very clear my questions. 1- Can I use a GPLv3 licensed code in my site as long as I silently publish my agency website on Github under GPLv3? How do we determine what "actively offer" means? Would I have to publish the URL of my repository somewhere in my HTML code?
    – Alvaro
    Feb 24, 2019 at 12:48
  • 2
    @Alvaro Hiding the source from users or only offering it silently is not ok. If code on your website is subject to the GPL then putting a link to the source code and license into the footer of each page would be one approach that is clearly OK. For example: “parts of this site are available under the terms of the GPLv3 on GitHub (link to repository)”. Compare the footer of this Stack Exchange site: “user contributions licensed under cc-by-sa 3.0” though you'd have to link to the source code, not just the license.
    – amon
    Feb 26, 2019 at 15:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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