4

I'm designing a distro and some of the software packages included are maintained in such a way that my source repository doesn't actually include the source code, but they are included as an svn:externals property or a list of read-only repository URLs and are checked into the source tree before building.

Sometimes, the software requires a patch or two in order to build or work properly. These patches are included in the source tree and are automatically applied but not included in the end result. The repository is public and anyone can get the patches, which are maintained regularly.

My question is, is any of this setup violating the GPL? I really want to distribute under the GPL or compatible license, but I'm not really well-versed in legalese. Would I have to host repository snapshots once I publish in order to be in full compliance, or could I just host the patches?

2 Answers 2

2

The GPL requires you to provide that the users you distribute your code to can also contribute and distribute their own changes.
Some GPL commentators go so far as claiming that you should distribute the build system, and so can only use FOSS tools and even a FOSS OS!

The GPL faq does say that you need to distribute the source even if you simply take the LINUX system and repackage your own distribution. Distributing diffs isn't enough

Personally I would have said, that if you distributing patches to a well known and widely available packages then that is making it easier for people to enhance and further distribute your contributions than if they were forced to use your source tree of a well known package en-bloc and were forced to integrate any changes to the main package themselves.

I would ask myself, am I doing this to further the aims of the GPL, or to work around it - ie. Don't be evil (tm)

2
  • "Don't be evil" -- that's the Google motto, right? Well, refraining from being evil and not violating the GPL are not correlated, as Google has recently proven. Aug 20, 2011 at 13:59
  • 1
    Irony doesn't mean it's made of iron Aug 20, 2011 at 14:22
2

If you're distributing executables, you must make the corresponding full source available. Since the Internet is a medium customarily used for software interchange, providing a working URL where the software can be obtained should be sufficient to meet your GPL obligations. Otherwise, everyone who distributed every Linux distribution would have to personally host every corresponding source distribution, which nobody does and nobody even claims is needed.

7
  • 1
    Yes they do have to and GNU do claim it is needed gnu.org/licenses/gpl-faq.html#UnchangedJustBinary Aug 20, 2011 at 14:20
  • Providing a working URL meets these requirements. So long as the recipients of the binary can easily get the source, you've met the GPL requirement. GPL section 3a simply says the source code "must be distributed", not that you must do it. Aug 20, 2011 at 22:23
  • @DavidSchwartz: That scenario is covered by another FAQ, gnu.org/licenses/gpl-faq.html#SourceAndBinaryOnDifferentSites : " you must take care to make sure that the source remains available". I.e. you can subcontract the hosting, but can't rely on some random host that just happens to have the source code today.
    – MSalters
    Aug 16, 2012 at 9:22
  • @MSalters: You can, so long as that random host also distributes binaries today. If they distribute binaries today, they are also required to "take care to make sure that the source remains available". And you may rely on others to comply with the GPL to ensure your own compliance because the GPL says so in section 6. Aug 16, 2012 at 20:21
  • @DavidSchwartz: I don't spot anything in GPLv3 section 6 that says so. Anything up to 6e unambiguously states it's your responsibility except for 6c (occasional/noncommercial). The clarification of "User Product" and "Installation Information" doesn't matter, nor does the ROM exception. "No warranty on 3rd party modifications" and "public documentation" the last part, and doesn't constitute a waiver of your compliance requirements either.
    – MSalters
    Aug 17, 2012 at 6:58

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.