Supposing I made a fork of a project licensed under GPL 2 and made some modifications to it, could I then release source only by request, for only snapshots and not the stable build, without making the source fully public? Or would I be in breach of the license?

(This interpretation of the GPL is not mine. I'm asking because I've seen this in action, and I don't understand how this is compatible with the license.)

  • What is a "snapshot"? Is that a snapshot of the entire source code at that moment in time, or would it simply be the modified files themselves?
    – Matthew
    Aug 21, 2020 at 16:37
  • @Matthew As far as I understand it, it is the entire source code, but it might be only in machine readable format and possibly for a charge. Aug 21, 2020 at 16:39

2 Answers 2


Section 3 of the GPL2 states:

You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

Therefore the licensee would need to provide the complete corresponding machine-readable source code OR provide a written offer (valid for 3 years) to distribute a complete machine-readable copy of the source code for a fee.

It sounds like they have gone down the route of the written offer since it is alleged they are potentially charging for it. It's fine that the source code is in machine readable format.

Section 1 of the GPL1 allows the licensee to charge a fee:

You may charge a fee for the physical act of transferring a copy

however it's unclear how applicable this is to digitally-distributed source code hosted on repositories like GitHub. I imagine it is possible that the "physical act" of downloading a copy of the source code to distribute might count, but it would be open to a court to disagree and I haven't researched any potential case law on the matter.

In conclusion, as long as the complete machine-readable source code is provided upon request, the licensee does not appear to be violating the terms of the GPL2.

  • I believe the intent of the "fee for physical act" clause is that you may charge them for actual costs, i.e. for buying a blank CD and case, for shipping the CD, possibly a small amount for labour. Jul 5, 2021 at 16:49

Yes this is partially allowed for GPL-2.0. The license gives three options for providing the source code when distributing binaries per its section 3:

a) accompany the binary directly with the source code
b) accompany the binary with a written offer to provide the source code
c) pass along a written offer you received (subject to restrictions)

The written offer must be valid for three years, may be exercised by any third party, and you must not charge more than the distribution physically costs (e.g. costs for a thumb drive and postage, when choosing a physical distribution medium, or maybe bandwidth costs for downloads).

So only providing the source code on request via this section 3.b) “written offer” mechanism is fine. But there are two important caveats:

  • this would apply to all versions of the software, not only for snapshots. You must provide the corresponding source for that particular binary. A recipient would have to be able to build their own version of your stable releases.

  • you must provide the source code under GPL, which allows other people to freely publish your modifications. Having someone else maintain “your” public repository might be undesirable from a branding perspective. However, there is at least one company that tries to limit this right by linking access to security updates to the non-exercise of these GPL rights (grsecurity). It is unclear whether that's compliant (likely not).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .