It's not really about "giving back". There's no obligation to give anything back at all and neither should there be. Rather, the GPL is designed to globally maximise the freedom to use, modify and distribute a piece of software. The only freedom the GPL does not provide is the freedom to take these freedoms away from future users.
> The only freedom the GPL does not provide is the freedom to take these freedoms away from future users.
And that's the crux there. It's not always malicious (I want to make a proprietary extension and sell it), sometimes it's a fact of the environment (I have to link this against a proprietary library in order to deploy to this hardware). Some will say "find a new environment that isn't developer-hostile", and others will say "find code that doesn't impose those restrictions." It's not black-and-white.
I have the greatest respect for RMS and the FSF. I compromise on my freedom as a developer all the time; I know that. But thanks to the ideals that RMS puts forth, I know that I'm compromising. I know what the risks are to using BSD instead of GPL, and so I weigh those risks.
> not always malicious (I want to make a proprietary extension and sell it
You say its not malicious, but then I see the misery and harm proprietary copyright licenses do. People use it to sue 7-year old girls, send people to jail for years, and put others into debt for millions, all for the simple act of someone helping an other fellow human.
We could make a copyright license which only condition is that you can not sue someone, or that you can only sue companies and not people, or some other from of harm reduction. I doubt companies would prefer it, as without the threat and punishment from copyright lawsuits many argue that you can not earn money on making software. They argue that you must have the malicious aspects, or its not free enough to be useful.
A proprietary copyright license is a explicit statement of intent, in which you state that you are going to sue those who share the program. It is a government supported threat of violence directed to the public, and each new law that is passed seems to want to increase the number of years in prison.
Can you give an example how such threat can be non-abusive?
>A proprietary copyright license is a explicit statement of intent
Considering that copyright applies to your work automatically unless you take positive action otherwise, it is no such thing. Someone's work belongs to them, under whatever terms they wish, until they wish to modify those terms.
The term "proprietary license" is that kind of written license which company adds to their products which explicit state what users can and can not do, often with a explicit threat to underline it.
Works that do not have a license is normally refereed as orphan works. While you could call it proprietary, it is by definition not proprietary licensed.
> Works that do not have a license is normally refereed as orphan works.
No, that's just a copyrighted work with no published license (e.g., most dead tree books), for which you must contact the copyright holder if you want any kind of license.
An orphan work is a copyrighted work for which the rightsholders are unknown are uncontactable, and which it is therefore impossible to even attempt to negotiate a license.
It is kind of hard to contact the copyright holder if there is no copyright license with a notice in it which says who the author is.
Technically possible, unlikely in practice, and I doubt anyone could find a proprietary product being sold in a store that does not have a license. For all practical purposes, where would you find proprietary work used in a proprietary setting but without a proprietary license?
You're changing the subject a bit. First you were talking about "works that do not have a license" and now you're talking about specifically proprietary works.
As an example, there are any number of projects on github without any explicit license. That does not make them orphaned, nor make them freely available for use. We've come across a couple that we wanted to use and our first step was to work with the authors to get them licensed under some clear terms.
Just because it's "hard to contact the copyright holder" doesn't make it legal (or in my opinion, moral) to take their work and use it however you judge best.
Who said anything about "freely available for use"? The whole discussion here has been about proprietary licensed works. Karunamon said that proprietary licenses did not exist, because works are automatically copyrighted and I disagreed.
A project on github without a license is not proprietary licensed, but they are copyrighted. If such work ends up in the hand of someone which is not the author, then one would have to ask under what permission (license) that happened.
> A project on github without a license is not proprietary licensed, but they are copyrighted.
The content of a project on Github that is publicly viewable arguably also is minimally licensed as required by the Github terms of service, to wit, the Github project owner "agrees to allow others to view and fork" the project repository (see Github Terms of Service [0], F.3).
Hardcopy books would fall under the implied license doctrine.
It's clear from the conduct of the parties to the transaction that a limited license for reading is intended, and the parties just never bothered to make an explicit license to memorialize that agreement.
> Hardcopy books would fall under the implied license doctrine.
One might be able to craft a colorable argument that an implied license to some right that is exclusive under copyright is created in the usual sale of a hardcopy book -- but you certainly haven't yet done so.
> It's clear from the conduct of the parties to the transaction that a limited license for reading is intended,
"Reading" isn't -- in the US, at any rate -- an exclusive right under copyright [0], so no license is necessary.
> A proprietary copyright license is a explicit statement of intent, in which you state that you are going to sue those who share the program.
No, its not.
A proprietary copyright license is a explicit statement of intent, sure, just as a free software license is -- but any license, proprietary or free, is an explicit statement of intent not to prevent certain uses. It may also be an implicit statement of intent to take action, including lawsuits, against those who make use not permitted by the license to the extent that is within the licensors right -- and, again, this is just as true of free software licenses as proprietary licenses.
Even RMS has been saying that not all proprietary software is malware and it used to be less common for it to be so. Being unethical doesn't make it otherwise malicious, but the power it gives is today often abused and thus is indeed malicious.
"We could make a copyright license which only condition is that you can not sue someone, or that you can only sue companies and not people, or some other from of harm reduction."
Every company in the world will get around this.
"We could make a copyright license which only condition is that you can not sue someone"
So what would you do in the case of a copyright violation? If you can't sue to enforce the license, what's to stop anyone from violating it? And that includes the GPL and its provision on opening the source of things using it.
" They argue that you must have the malicious aspects, or its not free enough to be useful."
There needs to be some way of enforcing the contract. And that's how contracts are usually enforced: In the court system.
The author is never bound by the license, and it would basically become a eye-for-a-eye license. If you sue, you get sued.
It would of course not provide the benefits of GPL which has requirements on distributors to provide source code. It would be a completely different license, and if I made it, likely based on MIT just so it would be the least company friendly permissive license ever. I only bring it up as an example of a license requirement whose intent would align with many who uses GPL in order to prevent copyright abuse.
You are giving the FSF point of view, but that is not the only point of view. The post is correct that the practical effect of the GPL is to require giving back to the community.
Freedom is a loaded word, and I think most people don't share the FSF's definition of freedom. I would rephrase your statement as "the GPL is designed to globally maximise the ability to use, modify and distribute a piece of software. The only ability the GPL does not provide is the ability to take these abilities from future uses."
I personally think that this ability to modify software (and scrutinize its source code) is very important when it comes to the operating system. For javascript code sandboxed in the browser, it is much less important (sure, javascript can still do unexpected things, like tracking users, but this is still much much less than what could be done with full user level access, and these are things that can be fixed). So I support GPL for operating systems, encourage open source for other software, but don't object to closed source when the danger is low.
"the GPL is designed to globally maximise the ability to
use, modify and distribute a piece of software. The only
ability the GPL does not provide is the ability to take
these abilities from future uses."
I would summarize that as "the GPL is designed to globally maximize knowledge about the software, and the ability to use that knowledge".
The part about forcing published forks to release their source code is a consequence of that purpose: hiding the source would reduce the amount of knowledge, and thus it is forbidden.
I don't like this formulation. You can't take away any freedoms of something that is released freely. The only thing GPL guarantees is that derivatives are also free.
Also if you speak about "a piece of software" as in one piece of software, then the GPL doesn't maximize the freedoms.
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.
> 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.
> 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.)
Why 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.
> 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.
That 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...)
> 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.)
What you're missing is that the copies aren't being sent to Amazon, Dropbox, or Google. They're being sent to space you are renting from those companies. You are no more propagating (another important term defined in GPLv3, which conveying is defined in terms of) a work to those companies than you would be if you put a copy of the work in a storage locker, apartment, rented office space, or even a rented car.
The copy is not Amazon's, Dropbox's, or Google's, it is yours. It never legally left your control.
> What you're missing is that the copies aren't being sent to Amazon, Dropbox, or Google.
What you are missing is that the uploading to those services absolutely is a "kind of propagation that enables other parties to make or receive copies." [0] You are, in fact, sending the work to Amazon, Dropbox, or Google, and you are explicitly representing to them that you have, and are exercising, the right to give them permission to make copies of it (and, for some of those services, also to allow third parties to do so.) [1]
> You are no more propagating (another important term defined in GPLv3, which conveying is defined in terms of) a work to those companies than you would be if you put a copy of the work in a storage locker, apartment, rented office space, or even a rented car.
Propagating work is defined as "to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy." [0]
Copyright law (at least, in the US) does not make it an infringement to store physical objects containing a copy of the work in space controlled by a third party without permission of the copyright holder. It does, however, make making a copy (including, e.g., by uploading) without such permission, generally, an infringement [2]
So, no, from a legal perspective, the analogy you draw is not valid.
[0] GPLv3, Sec. 0
[1] Consider, e.g., the Dropbox terms of service [3], under "Your Stuff and Permissions": When you use our Services, you provide us with things like your files, content, email messages, contacts and so on ("Your Stuff"). [...] We need your permission to do things like hosting Your Stuff, backing it up, and sharing it when you ask us to. [...] You give us permission to do those things, and this permission extends to trusted third parties we work with.
You're right, that would be propagating, since it's making a copy. In fact, it's also conveyance.
But you forgot to keep reading GPLv3.
2. Basic Permissions.
[...]
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
You might still argue about dropbox, since it's neither modifying nor running the works, but certainly using the work on EC2 falls under this provision.
On review, I think you may be correct with something that is solely an execution service like EC2 (depending on the exact terms in the ToS of that service, though I only see one minor potential problem area -- in terms of the GPL terms under discussion -- related to government requests with the AWS terms that would apply to EC2); but a service of the general type of Drive/Dropbox is still problematic.
> government requests with the AWS terms that would apply to EC2
Are you talking about search warrants? I think any interpretation that makes one liable for copyright infringement for the government forcibly making a copy is likely to be laughed out of court.
> a service of the general type of Drive/Dropbox is still problematic
There is an exceedingly easy workaround if it is a problem: Encrypt it. That way you do not "enable" them to make copies (in any sense a court would care about).
> "You can't take away any freedoms of something that is released freely"
Sure you can. If you release a animal to run freely in the wild, I can take away its freedom by shooting it. The only way to maintain its freedom is by also restricting my and others freedom to hunt it down. The way we describe this is liberty, ie everyone can live in freedom under common restrictions; restrictions which purpose is to maintain the freedom of everyone.
I want to share my code with everyone. That includes:
* (1st-order capitalists) People who want to make a buck
* (2nd-order capitalists) People who don't mind if 1st-order capitalists use their work
* (3rd-order capitalists) People who don't mind if 2nd-order capitalists use their work
* (Etc., nth-order capitalists for all n)
That makes me an ωth-order capitalist. Unfortunately, GPL is anti-ωth-order capitalist (Proof: Induction). I can't ever use it unless I'm willing to kick people under the bus who I'd rather allow to use my code.
Thinking of it as "kicking people under the bus" a little reductive. There are 2 classes of people using your work: developers who want to make a derivative work based off your code and end users who want to use either your code or the derivative work.
Who exactly are you kicking under the bus? The developers, or the end users?
The GPL optimizes for end-users, "kicking developers under the bus", and the BSD/MIT licenses optimize for developers and "kick the users under the bus".
Which group do you optimize for? Arguably, if you want "maximum freedom" in the world, you'd optimize for the end users, since there are going to be more of them than the developers.
> Arguably, if you want "maximum freedom" in the world, you'd optimize for the end users, since there are going to be more of them than the developers.
Not to mention the developers are 1) normally end users and 2) couldn't be developers of said software if you didn't release your software the way you did.
Nothing prevents you from licensing your code BSD while using GPL-licensed software. You can use what ever library or software out there which is GPL and if you always use BSD or MIT license, you can share your code that you wrote with whoever and for whatever purpose. People who receive it can then use your code for what ever, and only need to follow the GPL if that also use the code which you have not written.
That doesn't make any sense. If people could take GPL code and switch it to MIT license then GPL would be meaningless:
1. Take the GPL project you want
2. Add a comment somewhere, publish the resulting derivative under MIT
3. Use it however you want, while flipping off Gnu
Sure, I can (and do) use GPL software, personally. But I can't use GPL sourcecode in projects I publicly release. If I did, that part of my sourcecode would have to be GPLed.
* Which means it couldn't be used by anyone (set A) who can't use GPL.
* Which means it couldn't be used by anyone (set B) who wants to share with people in set A.
* Which means it couldn't be used by anyone (set C) who wants to share with people in set B.
>That doesn't make any sense. If people could take GPL code and switch it to MIT license then GPL would be meaningless
He never said that, he said you can you can combine your permissively licensed code with GPL licensed code and _your_ code will still be available as permissive.
You stated that you wanted to share _your_ code with 'everyone', nothing prevents you from doing that.
Someone else's GPL licensed code is NOT _your_ code just because you decide to use it.
Those people in Set A and so on have made their own choice, that they do not wish to share with their users. The only people preventing them from using GPL software is themselves.