近日,软件自由保护协会官方博客介绍了特斯拉的 GPL 合规情况,并表示这家电动汽车制造商已经采取行动遵守 GPL 许可。据报道,特斯拉汽车的车载系统使用了 BusyBox 和 Linux,根据 GPL 许可证要求,特斯拉应该向客户提供程序源代码。
电池和开源软件是特斯拉汽车不可或缺的两个组成部分,这已不是什么秘密。不过,直到最近,特斯拉都还没有履行开放源代码的义务。而现在,特斯拉终于发布了第一批用于 Model S 和 Model X 的 Linux 源代码。
特斯拉的 GitHub 仓库包含 Model S/X 2018.12 软件版本的代码。具体地说,包含了特斯拉 Autopilot 平台上的系统镜像、底层硬件的内核源代码以及基于 Nvidia Tegra 的信息娱乐系统代码。
https://github.com/teslamotors/linux
特斯拉很快会发布其他汽车系统的源代码。特斯拉表示,“我们同时也在准备其他方面的代码,以及一个更加协调的信息页面。我们希望大家能够看到这些资料,现在就可以,同时我们也在准备其他的材料。”
不过,除了特斯拉,其他人无法通过这些代码构建出可用在自己汽车上的二进制文件。这些代码缺少了一些源文件,也没有完整的构建说明。
根据 GNU 通用公共许可协议第 2 版(GPLv2)的规定,特斯拉一直在与软件自由保护协会(SFC)交涉,陆续发布它的源代码。协会负责人 Bradley M. Kuhn 和 Karen M. Sandler 表示,“自 2013 年 6 月以来,保护协会一直在与特斯拉交涉,当时我们告诉特斯拉,我们已收到多份关于 Model S 的 GPL 违规报告。购买 Model S 的顾客收到了包含 BusyBox 和 Linux 的车载系统,但没有收到任何源代码或代码源。”
保护协会和其他开放源码许可团体一直在与 Tesla 合作,说服上游软件提供商 NVIDIA 和 Parrot,让他们公布针对 Model S 中所有 GPL 二进制文件的完整相应源码(CCS)版本。
特斯拉私底下向保护协会提供了多个 CCS 候选版本,但这些源代码的完整性还达不到 GPL 的要求。自 1998 年以来,CCS 报告已成为 GPL 强制执行的标准文件。“因为情况特殊,我们在不违反原则的情况下向公众公开这份报告”,这还是头一次。
保护协会已经对“CCS 候选版本进行了评审,并就如何改进候选版本的合规性提供了技术性反馈。在这个过程中,我们提供了详细的报告,解释候选版本为什么不符合 GPL 的要求。”
Kuhn 和 Sandler 表示,这是因为“这一过程是 GPL 最长也是最困难的部分。我们通常希望能够从“无源码违规”转到“提供的源码不完整”这一步。但我们也不能忽视这样的一个事实,即合规意味着要满足所有的 GPL 要求,所以我们不会将不完整的源码看成是最后的胜利。我们的终极目标是让用户能够自由使用源码”。
不管怎样,特斯拉在如何对待开源软件方面还是取得了重大进展,特斯拉选择发布不完整的 CCS 候选版本。虽然保护协会希望特斯拉立即提供完整的 CCS 版本,但“我们意识到,这可能是一个具有挑战性的过程,特斯拉多年来一直在与上游作斗争,以便生成合适的 CCS 版本。我们认为特斯拉的做法也有它的道理,因为它让整个社区参与进来进行讨论和贡献,并共同协助特斯拉一起遵守 GPL。”
也就是说,保护协会知道,“有很多人,特别是那些购买了特斯拉汽车的 Linux 爱好者,对特斯拉在 GPL 合规性方面花费的时间太长这一事实感到非常沮丧。然而,这种情况却恰恰说明了为什么耐心对于成功的执法工作来说是必不可少的,我们因此有机会让违规者成为非盈利版权软件社区的贡献者,社区历史上就有很多这样的成功案例。”
原文地址:https://www.zdnet.com/article/tesla-starts-to-release-its-cars-open-source-linux-software-code/
文章来源:聊聊架构
《大型企业数据库自动化构建》新课来啦!听完本课程收获不止数据库实践,而是整套数据库运维的解决方案。带你从数据库运维小白到手动实践数据库运维,最后实现数据库自动化运维大咖之路。点击下方二维码报名课程