There are many licenses that do this. Start by filtering:
Condition (1) simply means choose any license approved by the Open Source Initiative http://www.opensource.org/
Condition (2) is a given - every license I know of forbids the removal of your copyright.
Condition (3) is also a given - all open source licenses allow commercial use, they just might not allow use in a closed source program. Additionally, you own the copyright, so you can relicense it under any other terms you prefer - for instance, you could release it under the GNU GPL, and then when you want to use it in a proprietary program, relicense it to yourself under another license. Another way of making money with open source is in fact to do this trick, but for a fee - if someone is willing to release their code under the GPL, they can use your code for free, otherwise they have to pay for a commercial-use license. What license is most appropriate depends on how you want to make money with your software, and if it is a stand-alone application or a library. One downside of the GPL relicensing trick is it is more difficult to take contributions - since normally you cannot relicense code someone else wrote under the GPL for your commercial licensing scheme; this only works if you soley own the copyright, either because you wrote everything yourself or got people to donate their copyright to you.
Condition (4), being popular, is not a factor of the license, but of the software. :)
Condition (5) should be met by any commonly used open source license. Most are not explicitly international, but I have never heard of any major troubles with common licenses.
So I'd say the real crux is (3). If you want to be able to sell proprietary versions of your software, but don't care if anyone else can too, use the BSD, MIT, or X licenses. This is straightforward and simple, and you can accept contributions under the standard license without trouble. If you want to keep others from using it commercially, use GPL and relicense it for a fee.
Another way of making money on open source software is consulting, but this depends less on the specific license you're chosen and much more on your software being popular and widely used.
Point 2: All open source licenses I know of meet this.
Points 3 and 4: This is the crux of the matter. Which matters most to you: having your software widely distributed, or being able to make money off of it? There's also a third possible requirement, which doesn't seem important to you since you haven't mentionned it : preserving the freedom of your users.
If wide distribution is important, you might want to consider a BSD-style license.
If money is important, you should consider dual-licensing.
If users' freedom is important, the GPL or one of its variants would be a good choice.
Also, from your description you have both an app and a library. Do they need to both have the same license?
Here is an article here from a developer that has similar requirements to yours.
Almost all open source licenses will fulfill (2), because they require that the author still be credited in all things.
Issue (3) is a little more interesting, because if you are using a truly open-source license then you will not be able to prevent other people from selling the software as well - licenses which prevent people from using it in a certain way (not commercially) are not true open-source licenses and are better described as "source-available" or "shared-source" licenses.
You may want to look into a Creative-commons license like CC-BY-NC or CC-BY-NC-SA, which satisfies your non-commercial constraint but as the author of the work yourself, you will still be able to use it commercially of course. However, the Creative Commons licenses are not designed for code but more for other creative works.
(4) and (5) don't really mean anything when you are thinking of licensing.
发布评论
评论(4)
有许多许可证可以执行此操作。从过滤开始:
条件 (1) 只是意味着选择开源促进组织 http://www.opensource 批准的任何许可证。 org/
条件 (2) 是给定的 - 我所知道的每个许可证都禁止删除您的版权。
条件 (3) 也是给定的 - 所有开源许可证都允许商业用途,只是可能不允许在闭源程序中使用。此外,您拥有版权,因此您可以根据您喜欢的任何其他条款重新许可它 - 例如,您可以根据 GNU GPL 发布它,然后当您想在专有程序中使用它时,根据另一个条款将其重新许可给您自己执照。另一种利用开源赚钱的方法实际上就是做这个伎俩,但是要收费——如果有人愿意在 GPL 下发布他们的代码,他们就可以免费使用你的代码,否则他们就必须支付商业费用——使用许可证。哪种许可证最合适取决于您希望如何通过软件赚钱,以及它是独立应用程序还是库。 GPL 再许可技巧的一个缺点是获取贡献更加困难 - 因为通常您不能再许可其他人根据 GPL 为您的商业许可方案编写的代码;仅当您单独拥有版权时,这才有效,因为您自己编写了所有内容,或者让人们将版权捐赠给您。
条件(4)很流行,它不是许可证的因素,而是软件的因素。 :)
任何常用的开源许可证都应满足条件 (5)。大多数都不是明确的国际性的,但我从未听说过通用许可证有任何重大问题。
所以我想说真正的关键是(3)。如果您希望能够销售软件的专有版本,但不关心其他人是否也可以,请使用 BSD、MIT 或 X 许可证。这简单明了,您可以毫无困难地接受标准许可证下的贡献。如果您想阻止其他人将其用于商业用途,请使用 GPL 并付费重新许可。
利用开源软件赚钱的另一种方式是咨询,但这较少取决于您选择的特定许可证,而更多地取决于您的软件是否流行和广泛使用。
There are many licenses that do this. Start by filtering:
Condition (1) simply means choose any license approved by the Open Source Initiative http://www.opensource.org/
Condition (2) is a given - every license I know of forbids the removal of your copyright.
Condition (3) is also a given - all open source licenses allow commercial use, they just might not allow use in a closed source program. Additionally, you own the copyright, so you can relicense it under any other terms you prefer - for instance, you could release it under the GNU GPL, and then when you want to use it in a proprietary program, relicense it to yourself under another license. Another way of making money with open source is in fact to do this trick, but for a fee - if someone is willing to release their code under the GPL, they can use your code for free, otherwise they have to pay for a commercial-use license. What license is most appropriate depends on how you want to make money with your software, and if it is a stand-alone application or a library. One downside of the GPL relicensing trick is it is more difficult to take contributions - since normally you cannot relicense code someone else wrote under the GPL for your commercial licensing scheme; this only works if you soley own the copyright, either because you wrote everything yourself or got people to donate their copyright to you.
Condition (4), being popular, is not a factor of the license, but of the software. :)
Condition (5) should be met by any commonly used open source license. Most are not explicitly international, but I have never heard of any major troubles with common licenses.
So I'd say the real crux is (3). If you want to be able to sell proprietary versions of your software, but don't care if anyone else can too, use the BSD, MIT, or X licenses. This is straightforward and simple, and you can accept contributions under the standard license without trouble. If you want to keep others from using it commercially, use GPL and relicense it for a fee.
Another way of making money on open source software is consulting, but this depends less on the specific license you're chosen and much more on your software being popular and widely used.
第 2 点:我所知道的所有开源许可证都满足这一点。
第3点和第4点:这是问题的关键。对您来说哪一个最重要:让您的软件得到广泛分发,还是能够从中赚钱?还有第三个可能的要求,这对您来说似乎并不重要,因为您没有提到它:保留用户的自由。
如果广泛分发很重要,您可能需要考虑 BSD 风格的许可证。
如果钱很重要,您应该考虑双重许可。
如果用户的自由很重要,那么 GPL 或其变体之一将是不错的选择。
另外,根据您的描述,您既有应用程序又有库。他们都需要拥有相同的许可证吗?
这里是一篇来自与您有类似要求的开发人员的文章。
Point 2: All open source licenses I know of meet this.
Points 3 and 4: This is the crux of the matter. Which matters most to you: having your software widely distributed, or being able to make money off of it? There's also a third possible requirement, which doesn't seem important to you since you haven't mentionned it : preserving the freedom of your users.
If wide distribution is important, you might want to consider a BSD-style license.
If money is important, you should consider dual-licensing.
If users' freedom is important, the GPL or one of its variants would be a good choice.
Also, from your description you have both an app and a library. Do they need to both have the same license?
Here is an article here from a developer that has similar requirements to yours.
使用 GNU 较宽松通用公共许可证怎么样?
How about using the GNU Lesser General Public Licence?
几乎所有开源许可证都满足 (2),因为它们要求作者在所有事情上都得到认可。
问题(3)更有趣,因为如果您使用真正的开源许可证,那么您将无法阻止其他人也出售该软件 - 许可证阻止人们以某种方式使用它(非商业)不是真正的开源许可证,最好将其描述为“源可用”或“共享源”许可证。
您可能需要查看知识共享许可,例如 CC-BY-NC 或 CC-BY-NC-SA,满足您的非商业限制,但作为作品的作者本人,您当然仍然可以将其用于商业用途。然而,知识共享许可证不是为代码设计的,而是更多为其他创意作品设计的。
当您考虑许可时,(4)和(5)实际上并没有任何意义。
Almost all open source licenses will fulfill (2), because they require that the author still be credited in all things.
Issue (3) is a little more interesting, because if you are using a truly open-source license then you will not be able to prevent other people from selling the software as well - licenses which prevent people from using it in a certain way (not commercially) are not true open-source licenses and are better described as "source-available" or "shared-source" licenses.
You may want to look into a Creative-commons license like CC-BY-NC or CC-BY-NC-SA, which satisfies your non-commercial constraint but as the author of the work yourself, you will still be able to use it commercially of course. However, the Creative Commons licenses are not designed for code but more for other creative works.
(4) and (5) don't really mean anything when you are thinking of licensing.