返回博客首页
← 所有帖子

NativeScript 许可证解释

2017 年 8 月 30 日 — 作者 Rob Lauer

开源软件 (OSS) 许可证就像我穿着比基尼一样性感(提示:我是一个晒得黝黑的男人)。然而,OSS 许可证保护的 *软件项目* 对我们大多数人完成工作来说实际上至关重要。这些许可证有助于使许多 OSS 项目保持免费和可定制,并允许在所有平台和行业中与现有软件项目进行无律师的集成。

然而,情况并非总是如此简单。早在 90 年代初,“开源”一词通常仅限于 Linux 极客和利他主义的开发人员。幸运的是,对他们来说,GNU 通用公共许可证 (GPL) 有助于为他们的工作提供责任保护的基础。随着这些早期 OSS 项目成功的广泛实现,许可证开始发生变化和发展,因为独立开发人员和大型组织都制定了策略来保护自己及其知识产权。

快进到 2014 年,NativeScript 的开发工作开始了。 在开源的 20 年左右的快速发展中,出现了许多很棒的 OSS 许可选项并日益成熟,主要包括 MITApache 2.0 (ALv2)BSD

此时,NativeScript 团队有机会以最友好的方式为软件颁发许可证,同时仍然保护 IP 和赞助开发的公司(当时是 Telerik,现在是 Progress)。我们的答案,过去如此,现在依然如此,就是 Apache 2.0 许可证

apache

我们不会在这里传播关于其他框架及其许可证问题的 FUD(无论合法还是微不足道,都由您和/或您的公司决定)。我们确实希望专注于 ALv2 许可证以及它对您的意义。

首先,为什么我们选择 ALv2

在 OSS 世界中成为一个好公民意味着从一个 宽松许可证 开始,该许可证也允许一定程度的法律保护(主要来自 专利流氓!)

patent troll

ALv2 许可证在代码的免费/宽松使用和保护 NativeScript 品牌之间取得了很好的平衡。ALv2 可以阻止任何人直接克隆 NativeScript(包括命名/品牌)并在其自身产品中重新分发。

从这种意义上说,ALv2 与同样流行的 MIT 许可证非常相似。它提供了 MIT 许可证的大多数优点,同时仍然保护母公司。

ALv2 的条款是什么?

让我先声明我不是律师,如果您有任何问题,您应该真正咨询具有 OSS 法律知识的人!

从高层次上讲,ALv2 的两个关键要点是

Apache 2.0 是一种宽松许可证。 ALv2 的 *宽松* 方面意味着您可以随意更改/编辑/修改/更改 NativeScript,并根据您选择的任何许可证发布该版本。但是,任何未修改的部分必须保留原始的 Apache 许可证。

Apache 2.0 对商业友好。 Apache 2 *不是* 版权许可证。GNU GPL 是一种版权许可证,它要求使用任何 GPL 许可组件的软件发布其完整的源代码以及修改和分发代码的所有权利。这 *通常* 并不是为您的 OSS 项目颁发许可证的商业友好方式!如果您的内部项目使用 GPL 许可的组件,您有法律义务开源您的整个项目。

我最喜欢的法律网站之一(哦,但还有很多有趣的网站!),tldrlegal.com,提供了一个 很棒的 ALv2 摘要(以及其他)。

tldrlegal.com apache

BSD 怎么样?

BSD 许可证家族是另一套广泛使用的(也是宽松的)许可证,允许您根据自己的意愿修改和分发软件。

有趣的是,早期的 Apache 许可证版本与原始的 BSD 许可证非常相似,但 ALv2 将它们区分开来

  • ALv2 在使用/修改/分发许可软件时授予明确的专利权;
  • ALv2 在其使用的术语/概念方面非常明确。与 BSD 相比,它几乎没有法律歧义;
  • ALv2 很方便,因为它可以在不需要重新措辞的情况下被其他项目使用。您只需将其放入并使用即可!

当公司添加自己的条款时,情况会变得更加模糊。但请记住,我们不会深入探讨 😅。

MIT 怎么样?

MIT 许可证可能是最宽松的 OSS 许可证。它也是最广泛使用的许可证之一,尤其是在较小的组织和个人开发人员中。

基本上,MIT 许可的软件可以让您对该软件做任何您想做的事情 - 只需确保您添加了原始 MIT 许可证和版权声明的副本。唯一的真正限制是您不能起诉创建者!

MIT 许可证非常有吸引力,因为它具有简短、易于理解的许可协议(与 ALv2 和 BSD 相比,后者更冗长 📓)。

解释如何应用许可证的 ALv2 附录 比整个 MIT 许可证都长!

这一切对我来说意味着什么?

我可以获得或出售根据 ALv2 创建的代码的许可证吗? 是的!ALv2 允许您在 Apache 许可下发布您自己的软件。是的!您可以出售任何 ALv2 许可的软件/代码。

在您与 Progress 和 NativeScript 的关系方面,您可以将 NativeScript 用于您自己的目的和/或商业用途,用于您想到的任何东西。您甚至可以修改框架,重新分发它,并为框架本身颁发子许可证。但是,您不能将 Progress 对使用软件时发生的任何损害负责,也不能在没有 Progress 的明确许可的情况下使用 NativeScript 商标/品牌。很简单!

请查看 tldrlegal.com 以获取 ALv2 许可证的完整介绍!

未来考虑事项

虽然 NativeScript 目前可在 ALv2 下使用,但这并不一定意味着它将来不会改变。但不是以不好的方式!如果社区需要,我们可以考虑其他选项,例如在 MIT 和 ALv2 下双重许可。关于 NativeScript 许可的任何其他想法?在评论中说出您的想法!