软件之战:一部关于 FOSS、协作和软件自由的影片

目前还没有读者喜欢这个。
An old-fashioned video camera

Opensource.com

软件的影响已经改变了我们的生活。但是,普通的科技消费者并没有意识到,访问源代码和开放的开发流程对于我们的整体自由有多么重要。Keith Curtis,一位密歇根大学的辍学生,曾在微软担任了十年的程序员,后来成为开源倡导者,他希望改变这种状况。

在他的网站上,Curtis 说:“我们需要汇集我们的集体智慧,着手解决我们最严重的威胁——而在今天的社会中,这首先要拥有出色的软件。”在他的书《软件之战后》中,Curtis 揭示了专有软件开发模式的缺陷。今天,他正在通过拍摄一部电影将这一切推向主流。

Linux 的创造者 Linus Torvalds 在一个宣传《软件之战》的预告片中说:“如果你能控制软件,就好像控制了石油的流动。”其他自由软件倡导者也出现在宣传片中。

我们在 Curtis 的 Indiegogo 众筹活动的最后几天采访了他,讨论了对这部新电影的期望。

Keith Curtis 访谈

软件之战是关于什么的?

KC(Keith Curtis):软件之战是关于这样一个想法,即通过科学家之间更多的合作,我们可以建设一个更好、更有趣的世界。人们研究人工智能(AI)已经有 50 年了,但大多是在小团体中进行的。如果他们一直合作,我们就会像知道 Linus 和他的副手一样知道他们的名字。谷歌正在独自进行语言翻译。他们用于无人驾驶汽车的代码(我相信大部分是用 C# 编写的)也没有在社区的帮助下构建。IBM 的 Watson 即使利用了大量现有代码,也是专有的。生物技术世界拥有大量的专有软件和封闭的、碎片化的数据存储库。我们有足够多的人来解决许多问题,但我们需要鼓励人们有效地合作。教孩子们 Python 将成为案例研究之一。

目标受众是谁?

KC:这部电影将有一些技术性的想法,但相对来说很少有术语。它将是鼓舞人心的,这有望吸引大多数人的注意力。当然,我是有偏见的,所以我认为这个话题很有趣,但我们希望让那些还不了解或不关心这个想法的人也能欣赏这个故事。

然而,我们也希望让那些已经了解 90% 甚至更多想法的人觉得值得观看。如果你不能让一个已经感兴趣,因此了解这个话题的人欣赏这部电影,那么你就失败了。

因为这部电影既是对现有世界的解释,也是对现有世界的批判,这很高兴地迫使我们涵盖许多技术人员不知道的事情。如果他们都知道电影里的内容,就会发生更多疯狂的事情。预告片是实现这种平衡的第一次尝试。最终的影片在各个方面都会更加完善。有各种不同经验和兴趣的人参与其中,我们将共同努力解决这个问题。

它将对使用社区解决大问题的想法持积极态度,但它不会是宣传。我们不怕批评 Linux 的现状,但有一些具体的问题我们不会涉及。最近最大的例子之一是 IBM / Apache OpenOffice 的分支。这是一个 110% 的时间浪费,无意中给了微软数十亿美元,并促进了 Office 和 Windows 的持续统治地位。我们很乐意记录这个烂摊子,并且能够采访 Michael Meeks 关于此事,但参与其中的 IBM 和 Apache 人员应该更清楚,所以我们基本上只是在自言自语。我们不是试图隐瞒任何错误或只展示故事的一半,但它将是几个要点,而不是像那样的多个例子。这种情况可以被认为是人们需要有效合作的总体观点的一部分。

电影的制作将使用哪种开源技术?

KC:可悲的答案是不多。我使用 Mint-Debian,主要在 LibreOffice 中工作,有时使用 GIMP 和 Audacity 等应用程序,但将各个部分组合在一起将在 Final Cut Pro 中完成。我们将把图形工作外包给洛杉矶的人员,以并行处理各种元素,但我们还没有做到这一点。这部影片的音乐有望由 Chloe Harris 混音,她在 Mac 上工作——她讨厌 Mac!

对于非技术人员来说,这个转变并不容易。当我第一次在 Fedora Core 3 时期使用 Red Hat 时,我不得不编译一个英特尔无线驱动程序,调整我的 xorg.conf 等,才能让我的笔记本电脑达到我喜欢的状态。这是一个有趣且有用的介绍,但许多人不了解计算机,因此无法解决他们的问题,因此过渡是一个大问题。Linux 上的音频/视频情况仍然需要改进。

您认为当今世界正在发生的哪些最重要的三件事促使我们对开源的需求?

KC:我认为最缺乏的三大软件领域是计算机视觉、强人工智能和健康科学。这些领域由于没有足够的人有效地合作而停滞不前。太空电梯的各种软件方面今天就可以完成,尽管最终大约需要 100 亿美元才能真正启动它。(这看起来是一大笔钱,但如果只在一年内支付,它将使美国的赤字从 1.4 万亿美元增加到 1.41 万亿美元。)

为什么人们在很大程度上不了解开源,这部电影的制作是否有助于扭转这种局面?

KC:普通用户不了解这些细节,但在扭转局面方面,我认为更大的问题是,没有足够的技术人员理解。为什么 Google Now 是专有的?为什么这么多人使用 Mathematica、Matlab、Maple 等,而不是 Python / Sage?他们肯定知道维基百科和 Linux,并且理解其中的道理。像谷歌这样的公司内部一定存在认知失调,他们在任何地方都使用 Linux,但将自己的代码称为“秘密武器”,正如一个人向我描述他的工作时所说的那样。

为什么戴尔让购买预装 Debian、Red Hat、Ubuntu 等系统的计算机如此困难?不知何故,戴尔可以为您提供一千种笔记本电脑的硬件选择,但软件方面却没有任何选择,除了您想要 Windows 8 专业版还是 Microsoft Office 专业版。越多的普通消费者、政府雇员等了解这些想法越好,但最终,主要是少数已经非常了解 Linux 的人在阻碍事情的发展。我们不担心潮流,我们只是在努力完成一部视频。

我认为最酷的是普及机器人技术和太空电梯。一旦人们意识到我们本可以在几年前就建造它们,那么尽快实现的理由应该会更快地被接受。维基百科创建于 2001 年,但它本可以在几十年前就开始了。有人指出,Debian 的构建成本高于太空电梯。显然,你不能比较硬件和软件,但工程规模说明了一些问题:如果我们愿意,我们可以做大事。像波音和 NASA 这样的地方有很多软件。无论何时启动电梯,都将有 Linux 控制攀爬器并运行任务控制。我们创造和分享的技术越多,解决下一个问题就越容易。Brad Edwards 说我们可以在 10 年内建造一个,所以我们将再次发出这个信息。

您将如何对那些不太关心“自由”而更关心“把事情做好”的公众讲话?这里是否存在一个兼顾两者优势的中间地带?

KC:人们应该既关心自由,也关心把事情做好。DRM 会增加消费者、电子商店和艺术家的成本。缺乏自由经常会在现实世界中产生实际后果。没有多少人拥有印刷机,但更多的人理所当然地关心拥有一个新闻自由和诚实的社会。使用 Linux 的人越多,对更多人来说就越容易把事情做好。

使用像苹果这样的产品,你必须等待他们修复问题,更多的用户并不会真正转化为更多的贡献者,就像维基百科和 Linux 那样。苹果的用户越多,其中一些人希望自定义和改进自己的设备,他们就越是让打开设备变得困难。这不是公司之间的战争,而是哲学之间的战争。

在 FOSS(自由和开源软件)世界中,有很多方法可以解决问题和改进事物,总的来说,它变得更加完善。我在写书时为了测试目的买了一台 Mac,但开箱即用,它不理解如何播放 WMA 文件,并且还有许多其他明显的缺失功能。使用 Linux,更多东西可以直接工作,这让你能够把事情做好。Gnome 3 的过渡使 Linux 桌面倒退了几年,但总的来说,今天大多数人都可以运行 Linux。

正如 Jono Bacon 在他的采访中所说,Linux 就像一双新的皮鞋:头几天会非常难受,但之后你就会适应它。当然,这假设你没有切换复杂的程序或编程语言。切换专业和企业软件可能需要不止几天。人们应该要求他们的应用程序在 Linux 上运行,这样当他们准备好时就可以使用它。

您希望观众从这部电影中获得什么?

KC:我希望他们能被我们采访的人逗乐和鼓舞。如果 Linus 再聪明一点,他就会领导 X 战警。我们不能有真正的打斗场面,但我们会尽量制作漂亮的图形。只要我们润色有趣的回答,人们就应该享受这个故事(无论它最终究竟是什么),并可能学到一些东西。这些想法是赋能的。每个人都可以观看这部电影,然后找到他们自己的方式来建设一个更美好的世界。即使购买 Android 设备而不是苹果设备也有助于世界朝着正确的方向发展,并且有无数种方法。需要完成的事情清单非常长。如果能够改变围绕软件专利、DRM 等的法律,那将很有帮助。如果更多人受到启发进行众筹,那就太好了。

Avatar
Jason Hibbets 是红帽数字社区团队的社区主管。他与 Enable Architect、Enable Sysadmin、Enterprisers Project 和 Opensource.com 社区出版物合作。

17 条评论

<cite>无论何时启动电梯,都将有 Linux 控制攀爬器并运行任务控制。</cite>

如果你想要一个生命攸关的操作系统,Linux 不行。Windows 不行。iOS 也不行。这些都不能通过类似 Do-178B 的安全认证。

OpenComRTOS 可以。(它具有开放技术许可证,类似于 FOSS,但每个人都必须支付一次费用,你就可以获得完整工具链的所有源代码以及用于安全认证的适当设计文档测试结果等)

SafeRTOS(freeRTOS 的安全重新实现 - API 兼容)可以。(你也需要在付费后获得源代码,但你不能购买完整的技术。)

这两个是最接近“开放”的。还有其他专有的安全认证 RTOS:VxWorks、Integrity、LynxOS、QNX、PikeOS、SCIOPTA、ENEA OSE 等...

附言:我喜欢桌面和移动设备上的 Linux。我拒绝运行任何其他系统。但不幸的是,你不能让生命依赖于它。

美国联邦机构 FAA 运行 Linux 来管理和协调空中交通管制以及周围飞行的所有飞机。我想说这非常依赖于生命。任何时候你在美国飞行,你都依赖于 Linux。

但这实际上不是关于 Linux。这是关于自由。我认为任何人都不应该为源代码付费,即使只付一次。这就是 FOSS 模式的全部意义。

Jason

FOSS 当然不是关于不花钱获得代码!自由与免费赠品不同。不要因为英语语言这样做就混淆两者。

我说的是源代码,而不是软件。

再说一遍,自由 != 免费。开源并不意味着免费赠品。拥有开源许可证的项目没有义务将他们的源代码提供给任何索要的人。

<cite>拥有开源许可证的项目没有义务将他们的源代码提供给任何索要的人。</cite>

这要看情况。一个包含他人代码的 GPL 项目(你可以随意分发自己的代码),在不提供源代码的情况下分发二进制文件(例如在移动设备上),则必须应任何第三方的要求提供源代码。他们只能收取运费,所以在这种意义上它是“免费赠品”。

当然,但我的意思是你可以自由地为你的软件收费。GNU 网站对此非常明确。

但是那样你就无法阻止我免费重新分发你的 GPL 代码,即使你让我付费购买了它。

所以在某种程度上,授予用户的自由意味着免费。

<cite>美国联邦机构 FAA 运行 Linux 来管理和协调空中交通管制以及周围飞行的所有飞机。</cite>

你确定吗?不知何故,我很难相信这一点。也许你读过 Linux Journal 的文章 <a href="https://linuxjournal.cn/article/7066?page=0,1">Linux 在空中交通管制中的应用</a>,这篇文章解释了 Linux 如何被用于桌面测试,取代了 Windows NT。他们实际上使用了 LynxOS,它具有 POSIX API,但 LynxOS 绝对不是 Linux。

FAA 实际上会要求任何空中交通管理系统软件符合 DO-278A“通信、导航、监视和空中交通管理 (CNS/ATM) 系统的软件完整性保证考虑因素”。安全认证不仅仅是关于源代码。认证还需要诸如 PSAC(软件认证方面计划)、SDP(软件开发计划)、SVP(软件验证计划)以及源代码和需求之间的可追溯性、100% 代码覆盖率、MCDC 测试等。Linux 都没有这些。

对于安全认证需要满足的所有这些额外要求,开源是不够的。编码可能只占安全软件成本的 10%。此外,对于软件的每一项更改,都必须在目标硬件上重新验证整个应用程序。

我记得几年前读过一篇类似的文章

FAA 使用 Linux 管理空中交通
http://fcw.com/articles/2006/05/01/faa-manages-air-traffic-with-linux.aspx

我不了解所有这些认证,也许这个社区中的其他人更了解这方面,以及是否有解决这些要求的开源解决方案。
Jason

Jason,我喜欢你的采访,但恕我直言,运行一件设备(如太空电梯)与运行空中交通管制系统是*不*一样的。让我们这样说,RTEMS 和 VxWorks 都有“截止日期调度器”,其中一个现在才被合并到 Linux 主线中。硬实时的需求对于 Linux 来说并非不可能满足,但 Thomas Gleixner 和其他人多年来一直在努力添加它们,并且还没有完成。

我捐赠了给 Keith 的 Indiegogo 众筹活动,即使它失败了。我发现他的评论非常鼓舞人心。感谢发布!

这里有两个网站试图将开源和安全认证结合起来
http://www.open-do.org/about/ 的目标
<cite>
<li>解决安全关键软件的“大冻结”问题;
<li>确保合格的开源工具和可认证组件的广泛和长期可用性,用于安全关键软件开发的主要方面;
<li>降低安全关键软件开发的入门门槛;
<li>鼓励安全关键软件开发领域的研究;
<li>增加安全关键软件开发教育材料的可用性,特别是对于学者及其学生;
<li>促进开源和安全关键软件社区之间的交叉融合。
</cite>

http://opencert.iist.unu.edu/ 的目标
<cite>
<li>产品和流程认证
<li>认证标准
<li>形式化建模和验证(模型检查和定理证明)
<li>软件质量和逆向工程
<li>静态分析、测试和检查
<li>安全、安保和可用性认证
<li>语言和架构
<li>软件演化和可重构性
<li>自动化源代码分析
<li>云计算
<li>知识管理
<li>实证研究
</cite>

RTEMS 是一个 BSD 许可的 RTOS,它运行着斯坦福直线加速器中心的大部分设备。IDE 有点糟糕,但该软件相对容易学习,并且非常可靠,具有集成的状态机。为了表彰它的实用性,RTEMS 吸引了大量的 Google Summer of Code 学生。

太棒了

顺便说一句,有很多 FDA 批准的医疗设备运行 Linux。ISO 13485 和 IEC 60601-1 等医疗设备标准都与变更控制、QA 和风险管理有关。

在 FOSS(自由和开源软件)世界中,有很多方法可以解决问题和改进事物,总的来说,它变得更加完善。

不,先生。我最近安装了 Linux,立即遇到了鼠标在屏幕上冻结的问题。我很沮丧,开始搜索故障排除方法,发现这是一个常见问题,但没有解决方案。有错误报告被提交并等待处理。我很抱歉,但如果你甚至不能让鼠标正常工作,Linux 永远不会成为主流。

Dan,我很抱歉听到你的鼠标问题。如果你想再试一次,我可以建议你向当地的 Linux 用户组 (LUG) 寻求帮助。开源的奇怪之处在于人们会竭尽全力互相帮助。

Creative Commons License本作品采用知识共享署名-相同方式共享 3.0 未本地化版本许可协议进行许可。
© . All rights reserved.