许可证(GPLv3)

ArduPilot (包括 Copter、Plane、Rover、Sub 和 AntennaTracker)和地面控制软件(包括 Mission Planner、APM Planner2 和 MAVProxy)均为免费软件:您可以根据 GNU General Public License version 3(由美国国家航空和航天局发布)的条款重新发布和/或修改。 自由软件基金会.

发布本程序是希望其有用,但不附带任何保证;甚至不附带适销性或特定用途适用性的默示保证。更多详情,请参阅 GNU 通用公共许可证。

更多详细信息,请参见 http://www.gnu.org/licenses、GPLv3 快速指南复制.txt 在代码库中。

GNU 操作系统有一个内容丰富的 GPL 常见问题.

开发人员须知

我们非常感谢你使用我们的代码来做有趣的事情。我们希望您在使用我们的代码时,能发现并修复对更多社区有用的错误或增强功能,并通过在 问题清单 和/或 使用拉取请求进行修复 因此可以认为它们是添加到原始代码库中的。

在产品中包含该软件的企业或个人须知

首先,根据 ArduPilot 项目的性质,您可以根据许可条款自由使用我们 Github 代码库中提供的所有代码和工具,无需我们团队的任何授权或参与。我们非常感谢那些将本软件纳入其产品进行销售的公司和个人。很多公司和个人已经这样做了。不过,我们需要指出许可中的一些要求:

  • 告知客户软件是开源的,并在产品中提供实际源代码,或提供源代码的链接(见下文示例)。

./_images/license-sample-web-page.png
  • 与个人开发者的贡献一样,我们也希望您能通过发送电子邮件的方式,随时向我们通报采用该软件的产品情况。 合作伙伴@ardupilot.组织.此外,对于那些可能对更广泛的社区有用的更改,我们希望您能 使用拉取请求将它们贡献回来 以考虑添加到原始代码库中。

对于个人开发者和公司,我们还要求他们在制作衍生作品时,保留原作品中列出的所有为软件发展到目前形式做出贡献的个人姓名。

我们为什么选择这个许可证而不是其他许可证?

  • 向项目反馈错误修正和改进的要求(或至少向最终用户提供这些修正)可加强贡献者之间的合作。如果没有这一要求,参与者就会为了获得比其他贡献者更多的优势,即使是很小的改进也会留给自己。有证据表明,这很快就会导致项目出现许多互不兼容的分叉,从而损害所有人的利益。

    Linus Torvalds(Linux 的发明者)对此表示赞同。

    ./_images/license-linus-quote.png
  • 许可证的 "v3 "部分确保购买飞行器的客户有权升级或更换飞行控制器上的 ArduPilot 版本。许可证并不要求其实际运行,只要求可以升级。这就确保了即使制造商停止对产品的支持(这种情况可能出于非常合理的原因),如果所有者或开发者社区决定继续提供支持,产品也能继续发挥作用。ArduPilot 就有这样的例子。请注意,此要求仅适用于 "用户产品" 以及制造商在技术上有可能升级设备固件的产品。

能否整合封闭源代码(即专有源代码)和开放源代码?

ArduPilot 是开放源代码(GPLv3),但您可以使用配套计算机运行封闭源代码,以便于将 ArduPilot 集成到您的公司系统中,或添加更高级别的功能,使自己与竞争对手区别开来。您可以在免费的低级飞行代码的可靠性基础上,投资于更高级别的功能。我们相信,ArduPilot 与领先的封闭式系统一样可靠,而且您无需依赖特定的制造商。下面是一家制造商如何做到这一点的图片。

./_images/license-integrating-open-and-closed.png