假设我想使用.Net和Microsoft UccApi开发应用程序。我想把它变成开源的。我可以这样做吗?我必须使用哪种类型的开源许可证?我必须记住哪些限制?
答案 0 :(得分:1)
开源许可证对给定软件的分发方式施加了限制。您使用基于Microsoft的产品开发软件的事实不会对您正在开发的软件的分发造成任何特定限制。你可以自由地做你想做的事。要选择适当的许可证,您必须考虑与每个特定许可证相关的限制,并选择最适合您的选项。我将举几个粗略的例子来概述:
您是否希望获得开发软件的认可而您不需要其他任何东西?如果有人拿走你的软件,修改它而不分发改进并将其作为商业软件出售,那就没问题了?然后评估BSD或MIT或Apache许可证。
如果有人将您的软件作为静态链接库嵌入,即使在商业项目中也没有问题,但是您希望将原始软件的所有改进分发给您吗?然后评估LGPL许可证。
您希望“为社区做出贡献”,并且您希望从您的软件中获得的evey工作也应该是“社区贡献”。在这种情况下,请选择GPL。从您的软件衍生的每个软件也必须是开源的。请注意,这并不妨碍某人在发布源代码时销售派生软件。
如果您不希望任何情况下您的软件可能是商业产品的一部分,那么您必须在许可证中明确禁止它。