如果我想要一个开源项目,我应该在codeplex上选择什么许可证?所有许可证的优缺点是什么?
如果您想确保修改程序或在程序之上构建(通过链接到程序)的任何人应该以与您共享程序相同的方式共享其更改,则应选择GPL.
如果您想确保修改您的图书馆的任何人分享他们的更改,但允许他们从专有应用程序动态链接到它,在专有应用程序中,他们根据您与他们共享的条款不与您共享源代码,您应该选择LGPL.
如果您希望允许任何人按照自己的意愿使用您的代码,除了为您提供信用之外没有任何重大限制,您应该使用MIT(也称为X11)许可.它简短,易懂,易于理解.
如果您需要与已拥有许可证的现有项目集成,则可能只需使用相同的许可证.在一个项目中拥有相同许可证的所有内容,对于任何想要使用它的人来说,生活变得更加轻松.但是,如果您正在创建一个新项目,我会推荐上面列出的三个许可证中的一个,因为它们被广泛使用,众所周知,因此人们在您提及它们时确切地知道您的意思,并且可以更容易地集成您的代码与现有项目.还有很多其他许可证可供选择,但总的来说,它们只会使事情变得更加复杂和困难(因为它们不太为人所知,因为许可证不兼容等)而没有改进上面列出的许可证之一.
这在很大程度上取决于你想要什么.我将简要总结一下,但我建议您更深入地阅读各种许可证.
GPL:如果您想共享代码,那就太棒了,但如果有人将您的代码放入商业产品中,您就无法入睡.骗局:几乎不可能理解的大量法律资料.
BSD/ISC/MIT:非常小的许可证,仅保留版权归属.也许用于商业产品.普通人可以理解.缺点:如果你关心Apple是否接受了你的代码,那么它不适合你(safari中的webkit,OSX中的freebsd userland).
Apache/Mozilla:有点像GPL,但也保护了品牌名称.缺点:你不能调整,仍然用你得到它的名字来调用它.
上面有很多变化.缺点:没有人知道许可证的含义.
许可证的选择是个人的,取决于您希望项目的使用方式.
我建议在开源初始化中阅读这篇文章.
特别是,他们有一个页面描述按类别分组的许可证.
以下是一些比较常见的目标:
为了鼓励您的项目的商业用途,我建议您查看BSD和MIT许可证.
为了鼓励商业和非商业性工作,但强制所有用户共享对您的代码的任何修改,请查看LGPL许可证.
如果您想强制使用您的代码的每个人共享任何修改,请查看GPL许可证.
列出了许多其他的,每个都有自己的显着优点和缺点......这些只是四个非常常见的选择.