软件开发人员可以根据工作目标选择适当的许可证。
任何人都可以就软件选择哪个许可证提供一些建议/经验吗?
将所有编码工作作为开源代码“放弃”的优点/缺点是什么?
如何与希望从研究代码中受益的行业参与者打交道?
软件开发人员可以根据工作目标选择适当的许可证。
任何人都可以就软件选择哪个许可证提供一些建议/经验吗?
将所有编码工作作为开源代码“放弃”的优点/缺点是什么?
如何与希望从研究代码中受益的行业参与者打交道?
任何人都可以就软件选择哪个许可证提供一些建议/经验吗?
您选择哪种许可证取决于您希望代码的自由程度,但免费对不同的人意味着不同的东西。
许可证越宽松,可以使用的人就越多,但您对它的控制就越少。但是,限制越多,您就越有可能一开始就阻止人们使用您的软件。
那里有许多免费和开源许可证,包括GPL <=2、GPL 3、LGPL、BSD、Eclipse等。每个都有优点和缺点,因此请阅读它们对代码施加的限制并决定您希望谁能够使用它。警告,无论您选择哪个,都会有人抱怨 - 这是 圣战领域。
总体而言,这是一种微妙的平衡行为,它在很大程度上取决于您的软件的目标受众。
在我看来,permissive和copyleft许可证都适用于科学代码——重要的是代码首先是开源的。我相信科学应该是开放的,用于支持该科学的代码也应该是开放的。
将所有编码工作作为开源代码“放弃”的优点/缺点是什么?
赠送您的软件的想法是,如果其他人发现它有用,那么他们就会使用它。
如果他们使用它,他们会发现、报告并经常修复错误,从而节省您做同样事情的努力。
如果他们喜欢它并且您的软件几乎可以满足他们的需求,他们可能会增强您的软件并回馈这些增强功能。
不过,这有很多如果。
如何与希望从研究代码中受益的行业参与者打交道?
首先,如果您想禁止将您的代码用于商业用途,您可以选择带有禁止商业重用条款的许可证。
其次,如果您认为有人可能会使用您的软件来为服务提供动力,而实际上并未将代码分发给其他任何人,那么您可以考虑使用Affero GPL来填补该特定的 copyleft 漏洞。
第三,您可以执行上述操作并提供双重许可选项。为公共下载提供 GPL 或 AGPL 许可证,以及收费的商业许可证可以让您两全其美,这意味着您甚至可以从软件的商业销售中获得一些收入,这有助于支持您的科学活动。
请注意,如果您要这样做,请从一开始就提供它 - 这可能会比稍后开始提供商业许可证更容易引起您的开源贡献者的摩擦。如果您的社区变得流行,您不希望人们指责您出卖,如果您以后不直截了当地了解商业开发的可能性。理想情况下,您应该在开始接受第三方对代码库的贡献之前建立合适的贡献者许可协议 (CLA) 。
我使用 GPL,主要是因为对最初的开源运动的感情(因此希望它有助于它的传播)。此外,自相矛盾的是,这是保护您的可能收入免受不道德资本家侵害的最佳方式——作为作者,您始终可以在不同的许可证上并行分发代码,从而维护专有版本以供白标业务使用。
然而,这也可能是一个骗局——您的资金来源可能会做出免责声明,即您的所有作品都应成为公共领域,超出此许可的范围。
无论如何,该主题中最重要的事情是任何许可证总比没有好,不幸的是,这在科学发展领域经常发生——我只是讨厌所有那些/*从约翰史密斯的计划中被盗,他从未公开过*/或CI 认为我在 1995 年的某个小组的 Jane Smith 的帖子中看到了这一点……或者可能是 1993 年?
首先,开源的利弊:
优点:更多的人会使用你的代码,提供反馈、更正、改进等。你最终会拥有更好的代码和更多的人信任它。
缺点:如果你想在你的代码中建立业务,你有更少的选择(但仍然有一些,比如销售咨询服务)
至于选择许可证,我将按以下顺序进行: