Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
add comment

2 Answers

up vote 1 down vote accepted

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)

share|improve this answer
    
"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. –  amphetamachine Aug 20 '11 at 13:59
1  
Irony doesn't mean it's made of iron –  Martin Beckett Aug 20 '11 at 14:22
add comment

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.

share|improve this answer
    
Yes they do have to and GNU do claim it is needed gnu.org/licenses/gpl-faq.html#UnchangedJustBinary –  Martin Beckett Aug 20 '11 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. –  David Schwartz Aug 20 '11 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 '12 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. –  David Schwartz Aug 16 '12 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 '12 at 6:58
show 2 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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