I read a lot of articles and information regarding my questions, but those answers were very technical and I wanted to understand the law in simple English.

https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)(GPL3) Version Information

As per above Link, I can commercially use the software.

I have modified in GNPL GNU Application and selling it to my customer for a fee via a Web Portal. I will include a Copyright and also License copy of original software which I used. Is the enough? My Problem is disclosing the upgraded code, I am ok sharing with people when they justify me a reason to get free access to upgraded code over an email, but I do not want to simply publish the code over the web or URL for the world to see, because check below

Imagine two situations which support my above line.

1)My competitors can copy the same code and resell, then my investment for customization goes into the drain. 2)As per TDRLegal, I can even claim a patent for the upgraded product going future or I can we are inspired for X Open Source Software and charge for the upgrade as one time free.

This is a situation which most of the small startups have faced and wanted to know if there is a workaround the law, where we can use the open-source at the same time stay compliant with the legal law and protect our investment made over time by customizing the open-source software.

Please suggest the best actions.

  • 4
    Your goals here are pretty much entirely in conflict with what the GPL is designed to do. – Chris Stratton Jul 31 '19 at 4:05

You aren't required to make code public - but you are required to make code and all changes available to anyone that you distribute binaries, etc. to. So supplying source on request of only the people/groups that you have licensed your program to is OK and permissible.

Not sure on GPL3, but for GPL2 it is even permissible to have the recipient make a request for code, and then you mail them the code on floppy/cd/backup tape/etc - electronic format is required, but electronic delivery is not.

Be aware that anyone who does obtain a copy of your code after requesting it has the right to put a copy out on github, etc. Hence the "free" (as in money) nature of many pieces of Free (as in liberty) software - redistribution at no cost, etc. is almost inevitable.

| improve this answer | |
  • 3
    The GPLv3 only allows the written-offer mechanism if your distribution is embodied in a "physical product" (per 6b) or else "occasionally and noncommercially" (per 6c). – apsillers Jul 30 '19 at 19:37
  • 2
    The first paragraph of this is ENTIRELY WRONG - you are not allowed to restrict who can make a request. Please delete and cease posting about licenses you obviously have not even read. And seriously, who upvoted such misleading falsehood? – Chris Stratton Jul 31 '19 at 3:59
  • 1
    As Chris Stratton commented, your first paragraph seems to directly contradict 6. Conveying Non-Source Forms of GPL 3. Only option "c" there enables an offer to provide source on request and that is option is "allowed only occasionally and noncommercially". Only option "d" applies to this Question, charging fee for web download. The OP here is charging a fee, so source must be made available simultaneously alongside the object code, from the same or similar server with “clear directions“. (Caveat: I'm no attorney, just a reader of the GPL 3 text.) – Basil Bourque Jul 31 '19 at 4:50
  • 2
    @ChrisStratton: If you provide the binaries through a paywall, then clause 6d of the GPL allows the source code the be behind the same paywall, as long as the price of the source code for those that purchased a binary is $0.00 (or the equivalent in the currency being used). There is no clause in the GPL that requires the source code to be available to the general public if the binaries are offered to a more restricted audience. – Bart van Ingen Schenau Jul 31 '19 at 6:53
  • 1
    I, too, read the GPLv3 exactly as Bart does above, whose summary I could not better. If you think this is wrong, and that the GPLv3 obliges you to provide source to arbitrary third parties when (a) you have not distributed the binary ("object code form") in an uncontrolled way, and (b) the third party in question hasn't received the binary from you, then I think you should post a separate question about it so it can be properly addressed. If you do, then linking to this comments thread would be a good idea. – MadHatter Jul 31 '19 at 8:28

Your Answer

