开发者

GNU General Public License (v2): can a company use the licensed software for free? [closed]

开发者 https://www.devze.com 2023-01-03 07:52 出处:网络
Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it'开发者_JAVA百科s on-topic for Stack Overflow.
Closed. This question is off-topic. It is not currently accepting answers.

Want to improve this question? Update the question so it'开发者_JAVA百科s on-topic for Stack Overflow.

Closed 12 years ago.

Improve this question

Here is the context of this question: I have code that is to be sold for profit, but I wish to make it available/free to individuals and non-profits, as long as their code remains free.

When a library is released under the GPL v2, can a company use it internally for free? If they develop software based on it, do they have to release it under the GPL, even if they don't distribute it? Can they make money by using (not distributing) internally developed software that links to the GPL'ed library, without any compensation for the author?

I am looking for a software license that only allows non-commercial uses (copy, modify, link to); the resulting derived programs must also be free for non-commercial uses. Is there any software license that does this for non-commercial uses, and prevents any commercial use (including using the software in order to make money)? It looks like the Creative Commons licenses are flexible enough to do something close to that, but I've read against using them for software. What do you think?

Or maybe is it possible to simply write something like the following?

"This work is released under a dual license:

  1. For non-profit uses: the GPL v2 license.
  2. For other uses: another license, as long as it is obtained from the original author."

Would this effectively make the program free for non-profit uses (copy, modification, usage,…), while leaving the door open to commercial uses?

Edit: PS: After reading all the answers and looking for information on the web, I decided that the relevant concept for this question is dual licensing. There is a host of information on the internet about it, and in particular about how the GPL can fit (or not) in a dual license.


Yes, a company can use GPL'd code internally. The main restriction imposed by the GPL is that any source code derived from it or that uses it must also be released under the GPL, but if they aren't modifying or distributing the original GPL code, then they can use the GPLed program.

There are two reasons, as I see it, why one might make code available only for non-commercial use:

  1. The code is to be sold for profit, but one wishes to make it available to individuals and non-profits.

  2. One believes that industry and open source are each others' arch nemeses.

If you fall into category one, my suggestion is to create an open source license that states that this license is only applicable to individuals and non-profits and that any for-profit company must purchase a different license, and create a second commercial license of your choosing for companies. Simply adding a clause to an existing license stating that it may only be used for non-commercial use is perfectly acceptable and valid (although you should take care to make the clause obvious by indicating, for example, that it is a modified version of a given license and not the original license).

If you fall into category two, then I suggest you strongly reconsider your viewpoint. Contrary to the beliefs of the Free Software Foundation, industry and open source are not at odds with each other. In fact, open source projects frequently receive industry sponsorship. When a project is widely adopted in the industry, the companies that use it will frequently contribute both time and money to improving the project, as enhancing the open source project also enhances the industry projects which use it. But projects that are GPL'd will not be adopted by industry. The various projects from the Apache Foundation are great examples of projects with strong industry backing. These projects are commonly supported because the Apache license is friendly to industry, and so many companies use those projects, in turn the companies have a vested interest in seeing the projects improved.


Yes. Google is working that way!

Google is using a custom distribution of Linux internally, even on their server infrastructure. The web server is a derivative of Apache. However they haven't released anything of that outside the company, and the users are accessing this GPL-derivative code remotely: this is allowed by the GPL.

Google has however contributed to a lot of GPL open source projects (including Linux kernel), they just choose what to disclose and what don't. Of course they are forced by the license term to release source code of any GPL derived binary they release.


Yes a company can use it internally.

The GPL just says a person with the binary can request source. So if only the people with the binary are in the company then only they can request source.


There is no field of use restriction in the GPLv2 - users are free to use if however they like, including for commercial purposes.

The OSI list of licenses includes a reference to the Non-Profit Open Software license that probably fits the bill for what you want but be cautious as other open source licenses, including the GPL may not be compatible with it.

Finally, all software licenses are based on the copyright (and any patents) held in the software by the copyright owner - you can put any restrictions you like in your own license - however, adopting a more popular license means your software is more likely to be used, extended and improved.


Yes, you can. But you will have to release the entire app under GPL. But if its just used internally, its not a problem as it doesn't matter if other people in your company get your code. You will not of course want to release it to the public. And as of the non-commercial aspect, GPL allows people to sell apps and make money off them but only if they give all the rights they have to the people they give the software to.

Usage of Creative Commons license is not recommended as their official FAQ states: http://wiki.creativecommons.org/Frequently_Asked_Questions#Can_I_use_a_Creative_Commons_license_for_software.3F

Can I use a Creative Commons license for software?

We do not recommend it. Creative Commons licenses should not be used for software. We strongly encourage you to use one of the very good software licenses which are already available. We recommend considering licenses made available by the Free Software Foundation or listed at the Open Source Initiative. Unlike our licenses, which do not make mention of source or object code, these existing licenses were designed specifically for use with software.

Creative Commons has “wrapped” some free software/open source licenses with a human-readable "Commons Deed" and machine-readable metadata. You may use these "wrapped" software licenses to take advantage of the Creative Commons human-readable document as well as the machine-readable metadata while still licensing your work under an established software license. It is important to note that CC has not altered these software licenses in any way, but has simply bundled human- and machine-readable explanations of the licenses along with the original license text. Examples: GNU GPL, GNU LGPL, BSD.


Or maybe is it possible to simply write something like the following?

"This work is released under a dual license:

  1. For non-profit uses: the GPL v2 license.
  2. For other uses: another license as long as it is obtained from the original author."

Would this effectively make the program free for non-profit uses (copy, modification, usage,…), while leaving the door open to commercial uses?

To answer this question: No. This is putting a restriction on use, which is not permitted by the GPL.

Again, you can't do what you want with an Open Source license because you clearly do not want to open source this code. You want to put a non-commercial use restriction on it, which is incompatible with Open Source. That's fine, you can license this under any proprietary license you want, but do not call it Open Source.


You might try the Creative Commons license chooser. Based on my interpretation of your requirements, it suggested Creative Commons Attribution-Noncommercial-Share Alike 2.0 France.

UPDATE:

To be clear, I'm aware the CC recommend not using their licenses for software, but I thought the OP might be OK with the listed shortcomings.

You might also granting the free licenses on demand, e.g., clearly state that you will make exceptions to the commercial license for individuals and Open Source users upon request. Then, whenever you get a legit-seeming request, give them a one-off license.


I think you can use a license agreement like ExtJS. It allows people to use ExtJS under GNU GPL if people are ready to release their code under GPL too but if people want to distribute their code under non-GPL license agreements and put up their own License, they must purchase the commercial version of the product. We have to purchase a license of the product for each of our projects separately.

0

精彩评论

暂无评论...
验证码 换一张
取 消