我应该为我的开源项目从 codeplex 中选择什么许可证?
如果我想要一个开源项目,我应该在 codeplex 上选择什么许可证? 所有许可证的优点和缺点是什么?
What license should I pick on codeplex if I want an open source project? What are the pros and cons on all licenses?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您希望确保修改您的程序或在您的程序之上进行构建(通过链接到该程序)的任何人都应以与您共享自己的更改相同的方式共享其更改,则您应该选择GPL。
如果您想确保修改您的库的任何人都共享他们的更改,但允许人们从专有应用程序动态链接到它,其中他们不会根据您与他们共享的条款与您共享源代码,您应该选择LGPL。
如果您希望允许任何人按照自己的意愿使用您的代码,除了向您提供信用之外没有任何重大限制,您应该使用 MIT(也称为 X11)许可证。 它简短、简单、易于理解且宽容。
如果您需要与已有许可证的现有项目集成,您可能应该使用相同的许可证。 将一个项目中的所有内容都置于同一许可证下,可以让任何想要使用它的人变得更加轻松。 但是,如果您要创建一个新项目,我会推荐上面列出的三个许可证之一,因为它们被广泛使用,众所周知,所以当您提到它们时人们确切地知道您的意思,并且将使集成您的代码变得更容易与现有项目。 还有许多其他许可证可供选择,但总的来说,它们只会使事情变得更加复杂和困难(因为它们不太为人所知,因为许可证不兼容等),而没有改进上面列出的许可证之一。
If you want to ensure that anyone who modifies your program or builds on top of your program (by linking to it) should share their changes in the same way that you share yours, you should choose the GPL.
If you want to ensure that anyone who modifies your library share their changes, but allow people to dynamically link to it from a proprietary application, in which they don't share the source with you under the terms you shared it with them, you should choose the LGPL.
If you want to allow anyone to use your code as they wish, with no significant restrictions other than providing you credit, you should use the MIT (also known as X11) license. It is short, simple, easy to understand, and permissive.
If you need to integrate with an existing project that already has a license, you should probably just use the same license. Having everything in one project under the same license makes life a lot easier for anyone who wants to use it. But if you're creating a new project, I would recommend one of the three licenses listed above, since they are widely used, well known so people know exactly what you mean when you mention them, and will make it easier to integrate your code with existing projects. There are lots of other licenses to choose from, but in general, they just make things more complicated and difficult (because they are less well known, because of license incompatibilities, etc) without improving on one of the licenses listed above.
这很大程度上取决于你想要什么。 我将进行非常简短的总结,但我建议您更深入地阅读各种许可证。
It depends very much on what you want. I'll summarize very briefly, but I recommend reading more in depth on various licenses.
许可证的选择是个人的,取决于您希望如何使用您的项目。
我建议您阅读开源倡议。
特别是,他们有一个描述按类别分组的许可证的页面。
以下是一些更常见的目标:
为了鼓励项目的商业用途,我建议查看 BSD 和 MIT 许可证。
为了鼓励商业和非商业工作,但强制所有用户共享对您的代码的任何修改,请查看 LGPL 许可证。
如果您想强制使用您代码的每个人共享任何修改,请查看 GPL 许可证。
还列出了许多其他许可证,每个许可证都有自己显着的优点和缺点......这只是四个非常常见的选择。
The choice of license is personal, and depends on how you want your project used.
I would recommend reading up on this at the Open Source Inititive.
In particular, they have a page describing licenses grouped in categories.
Here are some of the more common, by goal:
For encouraging commercial usage of your project, I'd recommend looking at the BSD and MIT licenses.
For encouraging commercial and noncommercial work, but forcing that all users share any modifications to your code, look at the LGPL license.
If you want to force everybody who uses your code to share any modifications, look into the GPL license.
There are many others listed, each with their own significant benefits and downsides... These are just four very common choices.