Apologize for my limited English skill.

A web app with GPLv3 license on GitHub, I plan to use it and hopefully Ads revenue can help pay for the VPS and my time of maintaining it. By using it, I will modify the web app codes like logo/banding/contact information/features to suit my need.

My understanding of GPLv3 is from https://gist.githubusercontent.com/kn9ts/cbe95340d29fc1aaeaa5dd5c059d2e60/raw/a59913f620010b175cb2e2eaaf75ced35245f4bc/GPLv3.md.

1. Anyone can copy, modify and distribute this software.
2. You have to include the license and copyright notice with each and every distribution.
3. You can use this software privately.
4. You can use this software for commercial purposes.
5. If you dare build your business solely from this code, you risk open-sourcing the whole code base.
6. If you modify it, you have to indicate changes made to the code.
7. Any modifications of this code base MUST be distributed with the same license, GPLv3.
8. This software is provided without warranty.
9. The software author or license can not be held liable for any damages inflicted by the software.

While I will never sell my site and my modifications of the code, What exactly do I need to do to meet the restriction of

"6. If you modify it, you have to indicate changes made to the code." and

"7. Any modifications of this code base MUST be distributed with the same license, GPLv3." ?

Q1, In order to indicate changes made, do I need to share my modification on Github?

Q2, Let's say someone found my site, they would like to buy some features which I developed as plugins,(the web app supports plugins) how does GPLv3 play in this situation?

1 Answer 1


Point #7 in this summary is a subtle misstatement: it would be better phrased as, "If (and only if) you choose to distribute modifications of this code, you MUST do so under this same license, GPLv3." Your obligation to share your source code is limited to the particular recipients to whom you distribute your modifications (and then those recipients have an obligation to share source only with anyone they choose to share their version of the program with, etc.). If you distribute your software to no one, you have licensing obligations to no one.

Therefore, it is important to distinguish between code that runs privately on your server and code that travels over the network to users' computers, like HTML or client JavaScript. GPL'd code that is never sent to anyone carries no obligations, but any GPL'd code that is sent to a user has been distributed and carries GPL obligations. For the entirety of the copyrightable work that is sent to the user which makes use of GPL'd code, you must make human-readable source code available under the terms of the GPL. This does not include server-side code but might include your entire front-end codebase, depending on how your jurisdiction decides that separate Web components make a new combined copyrightable work.

If someone wants you to add features to your service, you are free to contract with them to do so for any price you agree upon. Since your customer will not receive the server-side code (unless you freely elect to give it), you do not need to share the modified service code. You will need to share any modified GPL'd client-side code, for any and all users who use the service, but this would be true whether the new features were made for hire or privately thought up and implemented by yourself.

As for requirement #6, you need only indicate that changes were made, not what those changes are in particular. This is traditionally done simply by adding a year-dated copyright notice with your name or pseudonym, Copyright 2022 Jo Smith, one a new line alongside any other preexisting copyright notices.

Your Answer

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

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