5 ms·
> What the GPL does, is set a few (people from the BSD crowd would say restricted) freedoms and try to spread them as far as possible by making people license t
by timonovici 12y ago
> What the GPL does, is set a few (people from the BSD crowd would say restricted) freedoms and try to spread them as far as possible by making people license their own source code they wrote under GPL if they want to work with a GPL licensed codebase.
Not entirely true. You are only subject to GPL if you distribute the code you modify. If you keep it inside your company, or for yourself, or you run it on your servers, there nothing GPL will do to you.
- TylerE 12y agoI think that's a much thornier problem than you acknowledge. If I give my modified-GPL code to my coworker bob is that distribution? If I upload to an EC2, is that distribution?
- pvg 12y agoThis is well-understood and not thorny at all. Neither of your examples are 'distribution'. http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePos...
- davidgerard 12y agoI remember when people not getting the GPL was entire threads on Slashdot ...
- lazaroclapp 12y agoWhy would uploading code to EC2 be distribution? You are not giving your program to Amazon to use (unless their ToS have something foul in them), you are contracting Amazon to run your program on your behalf. Put another way, if you take your GPLed code, burn it into a cd and mail it to yourself through DHL or Fedex, you are not "distributing" the code to Fedex.
- dragonwriter 12y ago> Why would uploading code to EC2 be distribution? It might not be distribution, but the GPLv3 terms are mostly triggered by "conveying", and it is clearly "conveying" as defined in the GPLv3. > You are not giving your program to Amazon to use The GPLv3 definition of conveying keys on whether you enable another party to "make or receive copies" of the work, not whether it is for that other party's use. Even if the copies are for your use, if you enable another party to make or receive copies, you are conveying, and are covered by the GPLv3 provisions applicable to the form (verbatim, modified source, or non-source) you are conveying the copy in. > Put another way, if you take your GPLed code, burn it into a cd and mail it to yourself through DHL or Fedex, you are not "distributing" the code to Fedex. Mailing your GPLed code through DHL or FedEx does transfers physical media through their hands, it does not enable or require them to make or receive copies of the code. So, true, it is not conveying, and it is also unlike uploading to a third party, which always enables that third party to make or receive copies.
- lazaroclapp 12y agoThat still sounds fishy, how about uploading it to Dropbox/Google Drive? I am not talking about hosting the software in EC2 and then giving access to third party users, just running it there instead of in your own servers, for internal use. Are you "conveying" your software to your ISP whenever you upload a copy as well? (you are technically requiring multiple parties to copy parts of the software into the buffers of many intermediate routers...)
- dragonwriter 12y ago> That still sounds fishy, how about uploading it to Dropbox/Google Drive? By the plain language of the GPLv3, that would seem to be conveying as well. I agree that that is an undesirable thing in a Free/Open license, and quite possibly not the drafters' intent (but the drafters' intent matters little, especially for GPLv3 licensed software where the FSF isn't the licensor.)
- nknighthb 12y ago
- dragonwriter 12y ago> If I give my modified-GPL code to my coworker bob is that distribution? If it is yours (and not your common employers, which then brings into some question as you being agents of the same actor) it would seem to be "conveying", which is the more relevant term under the GPLv3 (see below). > If I upload to an EC2, is that distribution? More relevant is probably that it is "conveying" as defined by the GPLv3: To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. (Uploading to EC2 enables -- requires, in fact, for normal operation -- Amazon to make or receive at least one copy of the software.)