分类 观点 下的文章

代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商 红帽 Red Hat 精心制作的音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。点击链接https://www.redhat.com/en/command-line-heroes 查看更多信息。

本文是《代码英雄》系列播客第一季(2):操作系统战争(下)音频脚本。

微软帝国控制着 90% 的用户。操作系统的完全标准化似乎是板上钉钉的事了。但是一个不太可能的英雄出现在开源反叛组织中。戴着眼镜,温文尔雅的 林纳斯·托瓦兹 Linus Torvalds 免费发布了他的 Linux® 程序。微软打了个趔趄,并且开始重整旗鼓而来,战场从个人电脑转向互联网。

Saron Yitbarek: 这玩意开着的吗?让我们进一段史诗般的星球大战的开幕吧,开始了。

配音:第二集:Linux® 的崛起。微软帝国控制着 90% 的桌面用户。操作系统的全面标准化似乎是板上钉钉的事了。然而,互联网的出现将战争的焦点从桌面转向了企业,在该领域,所有商业组织都争相构建自己的服务器。[00:00:30]与此同时,一个不太可能的英雄出现在开源反叛组织中。固执、戴着眼镜的 林纳斯·托瓦兹 Linus Torvalds 免费发布了他的 Linux 系统。微软打了个趔趄,并且开始重整旗鼓而来。

Saron Yitbarek: 哦,我们书呆子就是喜欢那样。上一次我们讲到哪了?苹果和微软互相攻伐,试图在一场争夺桌面用户的战争中占据主导地位。[00:01:00] 在第一集的结尾,我们看到微软获得了大部分的市场份额。很快,由于互联网的兴起以及随之而来的开发者大军,整个市场都经历了一场地震。互联网将战场从在家庭和办公室中的个人电脑用户转移到拥有数百台服务器的大型商业客户中。

这意味着巨量资源的迁移。突然间,所有相关企业不仅被迫为服务器空间和网站建设付费,而且还必须集成软件来进行资源跟踪和数据库监控等工作。[00:01:30] 你需要很多开发人员来帮助你。至少那时候大家都是这么做的。

在操作系统之战的第二部分,我们将看到优先级的巨大转变,以及像林纳斯·托瓦兹和 理查德·斯托尔曼 Richard Stallman 这样的开源反逆者是如何成功地在微软和整个软件行业的核心地带引发恐惧的。

我是 Saron Yitbarek,你现在收听的是代码英雄,一款红帽公司原创的播客节目。[00:02:00] 每一集,我们都会给你带来“从码开始”改变技术的人的故事。

好。想象一下你是 1991 年时的微软。你自我感觉良好,对吧?满怀信心。确立了全球主导的地位感觉不错。你已经掌握了与其他企业合作的艺术,但是仍然将大部分开发人员、程序员和系统管理员排除在联盟之外,而他们才是真正的步兵。[00:02:30] 这时出现了个叫林纳斯·托瓦兹的芬兰极客。他和他的开源程序员团队正在开始发布 Linux,这个操作系统内核是由他们一起编写出来的。

坦白地说,如果你是微软公司,你并不会太在意 Linux,甚至不太关心开源运动,但是最终,Linux 的规模变得如此之大,以至于微软不可能不注意到。[00:03:00] Linux 第一个版本出现在 1991 年,当时大概有 1 万行代码。十年后,变成了 300 万行代码。如果你想知道,今天则是 2000 万行代码。

[00:03:30] 让我们停留在 90 年代初一会儿。那时 Linux 还没有成为我们现在所知道的庞然大物。这个奇怪的病毒式的操作系统只是正在这个星球上蔓延,全世界的极客和黑客都爱上了它。那时候我还太年轻,但有点希望我曾经经历过那个时候。在那个时候,发现 Linux 就如同进入了一个秘密社团一样。就像其他人分享地下音乐混音带一样,程序员与朋友们分享 Linux CD 集。

开发者 Tristram Oaten [00:03:40] 讲讲你 16 岁时第一次接触 Linux 的故事吧。

Tristram Oaten: 我和我的家人去了红海的 Hurghada 潜水度假。那是一个美丽的地方,强烈推荐。第一天,我喝了自来水。也许,我妈妈跟我说过不要这么做。我整个星期都病得很厉害,没有离开旅馆房间。[00:04:00] 当时我只带了一台新安装了 Slackware Linux 的笔记本电脑,我听说过这玩意并且正在尝试使用它。所有的东西都在 8 张 cd 里面。这种情况下,我只能整个星期都去了解这个外星一般的系统。我阅读手册,摆弄着终端。我记得当时我甚至不知道一个点(表示当前目录)和两个点(表示前一个目录)之间的区别。

[00:04:30] 我一点头绪都没有。犯过很多错误,但慢慢地,在这种强迫的孤独中,我突破了障碍,开始理解并明白命令行到底是怎么回事。假期结束时,我没有看过金字塔、尼罗河等任何埃及遗址,但我解锁了现代世界的一个奇迹。我解锁了 Linux,接下来的事大家都知道了。

Saron Yitbarek: 你会从很多人那里听到关于这个故事的不同说法。访问 Linux 命令行是一种革命性的体验。

David Cantrell: [00:05:00] 它给了我源代码。我当时的感觉是,“太神奇了”。

Saron Yitbarek: 我们正在参加一个名为 Flock to Fedora 的 2017 年 Linux 开发者大会。

David Cantrell: ……非常有吸引力。我觉得我对这个系统有了更多的控制力,它越来越吸引我。我想,从 1995 年我第一次编译 Linux 内核那时起,我就迷上了它。

Saron Yitbarek: 开发者 David Cantrell 与 Joe Brockmire。

Joe Brockmeier: [00:05:30] 我在 Cheap Software 转的时候发现了一套四张 CD 的 Slackware Linux。它看起来来非常令人兴奋而且很有趣,所以我把它带回家,安装在第二台电脑上,开始摆弄它,有两件事情让我感到很兴奋:一个是,我运行的不是 Windows,另一个是 Linux 的开源特性。

Saron Yitbarek: [00:06:00] 某种程度上来说,对命令行的使用总是存在的。在开源真正开始流行还要早的几十年前,人们(至少在开发人员中是这样)总是希望能够做到完全控制。让我们回到操作系统大战之前的那个时代,在苹果和微软为他们的 GUI 而战之前。那时也有代码英雄。 保罗·琼斯 Paul Jones 教授(在线图书馆 ibiblio.org 的负责人)在那个古老的时代,就是一名开发人员。

Paul Jones: [00:06:30] 从本质上讲,互联网在那个时候客户端-服务器架构还是比较少的,而更多的是点对点架构的。确实,我们会说,某种 VAX 到 VAX 的连接(LCTT 译注:DEC 的一种操作系统),某种科学工作站到科学工作站的连接。这并不意味着没有客户端-服务端的架构及应用程序,但这的确意味着,最初的设计是思考如何实现点对点,[00:07:00] 它与 IBM 一直在做的东西相对立。IBM 给你的只有哑终端,这种终端只能让你管理用户界面,却无法让你像真正的终端一样为所欲为。

Saron Yitbarek: 图形用户界面在普通用户中普及的同时,在工程师和开发人员中总是存在着一股相反的力量。早在 Linux 出现之前的二十世纪七八十年代,这股力量就存在于 Emacs 和 GNU 中。有了斯托尔曼的自由软件基金会后,总有某些人想要使用命令行,但上世纪 90 年代的 Linux 提供了前所未有的东西。

[00:07:30] Linux 和其他开源软件的早期爱好者是都是先驱。我正站在他们的肩膀上。我们都是。

你现在收听的是代码英雄,一款由红帽公司原创的播客。这是操作系统大战的第二部分:Linux 崛起。

Steven Vaughan-Nichols: 1998 年的时候,情况发生了变化。

Saron Yitbarek: [00:08:00] Steven Vaughan-Nichols 是 zdnet.com 的特约编辑,他已经写了几十年关于技术商业方面的文章了。他将向我们讲述 Linux 是如何慢慢变得越来越流行,直到自愿贡献者的数量远远超过了在 Windows 上工作的微软开发人员的数量的。不过,Linux 从未真正追上微软桌面客户的数量,这也许就是微软最开始时忽略了 Linux 及其开发者的原因。Linux 真正大放光彩的地方是在服务器机房。当企业开始线上业务时,每个企业都需要一个满足其需求的独特编程解决方案。

[00:08:30] WindowsNT 于 1993 年问世,当时它已经在与其他的服务器操作系统展开竞争了,但是许多开发人员都在想,“既然我可以通过 Apache 构建出基于 Linux 的廉价系统,那我为什么要购买 AIX 设备或大型 Windows 设备呢?”关键点在于,Linux 代码已经开始渗透到几乎所有网上的东西中。

Steven Vaughan-Nichols: [00:09:00] 令微软感到惊讶的是,它开始意识到,Linux 实际上已经开始有一些商业应用,不是在桌面环境,而是在商业服务器上。因此,他们发起了一场运动,我们称之为 FUD - 恐惧、不确定和怀疑 fear, uncertainty and double 。他们说,“哦,Linux 这玩意,真的没有那么好。它不太可靠。你一点都不能相信它”。

Saron Yitbarek: 这种软宣传式的攻击持续了一段时间。微软也不是唯一一个对 Linux 感到紧张的公司。这其实是整个行业在对抗这个奇怪新人的挑战。[00:09:30] 例如,任何与 UNIX 有利害关系的人都可能将 Linux 视为篡夺者。有一个案例很著名,那就是 SCO 组织(它发行过一种 UNIX 版本)在过去 10 多年里发起一系列的诉讼,试图阻止 Linux 的传播。SCO 最终失败而且破产了。与此同时,微软一直在寻找机会,他们必须要采取动作,只是不清楚具体该怎么做。

Steven Vaughan-Nichols: [00:10:00] 让微软真正担心的是,第二年,在 2000 年的时候,IBM 宣布,他们将于 2001 年投资 10 亿美元在 Linux 上。现在,IBM 已经不再涉足个人电脑业务。(那时)他们还没有走出去,但他们正朝着这个方向前进,他们将 Linux 视为服务器和大型计算机的未来,在这一点上,剧透警告,IBM 是正确的。[00:10:30] Linux 将主宰服务器世界。

Saron Yitbarek: 这已经不再仅仅是一群黑客喜欢他们对命令行的绝地武士式的控制了。金钱的投入对 Linux 助力极大。 Linux 国际 Linux International 的执行董事 John “Mad Dog” Hall 有一个故事可以解释为什么会这样。我们通过电话与他取得了联系。

John Hall: [00:11:00] 我有一个名叫 Dirk Holden 的朋友,他是德国德意志银行的系统管理员,他也参与了个人电脑上早期 X Windows 系统图形项目的工作。有一天我去银行拜访他,我说:“Dirk,你银行里有 3000 台服务器,用的都是 Linux。为什么不用 Microsoft NT 呢?”[00:11:30] 他看着我说:“是的,我有 3000 台服务器,如果使用微软的 Windows NT 系统,我需要 2999 名系统管理员。”他继续说道:“而使用 Linux,我只需要四个。”这真是完美的答案。

Saron Yitbarek: 程序员们着迷的这些东西恰好对大公司也极具吸引力。但由于 FUD 的作用,一些企业对此持谨慎态度。[00:12:00] 他们听到开源,就想:“开源。这看起来不太可靠,很混乱,充满了 BUG”。但正如那位银行经理所指出的,金钱有一种有趣的方式,可以说服人们克服困境。甚至那些只需要网站的小公司也加入了 Linux 阵营。与一些昂贵的专有选择相比,使用一个廉价的 Linux 系统在成本上是无法比拟的。如果你是一家雇佣专业人员来构建网站的商店,那么你肯定想让他们使用 Linux。

让我们快进几年。Linux 运行每个人的网站上。Linux 已经征服了服务器世界,然后智能手机也随之诞生。[00:12:30] 当然,苹果和他们的 iPhone 占据了相当大的市场份额,而且微软也希望能进入这个市场,但令人惊讶的是,Linux 也在那,已经做好准备了,迫不及待要大展拳脚。

作家兼记者 James Allworth。

James Allworth: 肯定还有容纳第二个竞争者的空间,那本可以是微软,但是实际上却是 Android,而 Andrid 基本上是基于 Linux 的。众所周知,Android 被谷歌所收购,现在运行在世界上大部分的智能手机上,谷歌在 Linux 的基础上创建了 Android。[00:13:00] Linux 使他们能够以零成本从一个非常复杂的操作系统开始。他们成功地实现了这一目标,最终将微软挡在了下一代设备之外,至少从操作系统的角度来看是这样。

Saron Yitbarek: [00:13:30] 这可是个大地震,很大程度上,微软有被埋没的风险。John Gossman 是微软 Azure 团队的首席架构师。他还记得当时困扰公司的困惑。

John Gossman: 像许多公司一样,微软也非常担心知识产权污染。他们认为,如果允许开发人员使用开源代码,那么他们可能只是将一些代码复制并粘贴到某些产品中,就会让某种病毒式的许可证生效从而引发未知的风险……他们也很困惑,[00:14:00] 我认为,这跟公司文化有关,很多公司,包括微软,都对开源开发的意义和商业模式之间的分歧感到困惑。有一种观点认为,开源意味着你所有的软件都是免费的,人们永远不会付钱。

Saron Yitbarek: 任何投资于旧的、专有软件模型的人都会觉得这里发生的一切对他们构成了威胁。当你威胁到像微软这样的大公司时,是的,他们一定会做出反应。[00:14:30] 他们推动所有这些 FUD —— 恐惧、不确定性和怀疑是有道理的。当时,商业运作的方式基本上就是相互竞争。不过,如果是其他公司的话,他们可能还会一直怀恨在心,抱残守缺,但到了 2013 年的微软,一切都变了。

微软的云计算服务 Azure 上线了,令人震惊的是,它从第一天开始就提供了 Linux 虚拟机。[00:15:00] 史蒂夫·鲍尔默 Steve Ballmer ,这位把 Linux 称为癌症的首席执行官,已经离开了,代替他的是一位新的有远见的首席执行官 萨提亚·纳德拉 Satya Nadella

John Gossman: 萨提亚有不同的看法。他属于另一个世代。比保罗、比尔和史蒂夫更年轻的世代,他对开源有不同的看法。

Saron Yitbarek: 还是来自微软 Azure 团队的 John Gossman。

John Gossman: [00:15:30] 大约四年前,处于实际需要,我们在 Azure 中添加了 Linux 支持。如果访问任何一家企业客户,你都会发现他们并不会才试着决定是使用 Windows 还是使用 Linux、 使用 .net 还是使用 Java TM 。他们在很久以前就做出了决定 —— 大约 15 年前才有这样的一些争论。[00:16:00] 现在,我见过的每一家公司都混合了 Linux 和 Java、Windows 和 .net、SQL Server、Oracle 和 MySQL —— 基于专有源代码的产品和开放源代码的产品。

如果你打算运维一个云服务,允许这些公司在云上运行他们的业务,那么你根本不能告诉他们,“你可以使用这个软件,但你不能使用那个软件。”

Saron Yitbarek: [00:16:30] 这正是萨提亚·纳德拉采纳的哲学思想。2014 年秋季,他站在舞台上,希望传递一个重要信息。“微软爱 Linux”。他接着说,“20% 的 Azure 业务量已经是 Linux 了,微软将始终对 Linux 发行版提供一流的支持。”没有哪怕一丝对开源的宿怨。

为了说明这一点,在他们的背后有一个巨大的标志,上面写着:“Microsoft ❤️ Linux”。哇噢。对我们中的一些人来说,这种转变有点令人震惊,但实际上,无需如此震惊。下面是 Steven Levy,一名科技记者兼作家。

Steven Levy: [00:17:00] 当你在踢足球的时候,如果草坪变滑了,那么你也许会换一种不同的鞋子。他们当初就是这么做的。[00:17:30] 他们不能否认现实,而且他们里面也有聪明人,所以他们必须意识到,这就是这个世界的运行方式,不管他们早些时候说了什么,即使他们对之前的言论感到尴尬,但是让他们之前关于开源多么可怕的言论影响到现在明智的决策那才真的是疯了。

Saron Yitbarek: 微软低下了它高傲的头。你可能还记得苹果公司,经过多年的孤立无援,最终转向与微软构建合作伙伴关系。现在轮到微软进行 180 度转变了。[00:18:00] 经过多年的与开源方式的战斗后,他们正在重塑自己。要么改变,要么死亡。Steven Vaughan-Nichols。

Steven Vaughan-Nichols: 即使是像微软这样规模的公司也无法与数千个开发着包括 Linux 在内的其它大项目的开源开发者竞争。很长时间以来他们都不愿意这么做。前微软首席执行官史蒂夫·鲍尔默对 Linux 深恶痛绝。[00:18:30] 由于它的 GPL 许可证,他视 Linux 为一种癌症,但一旦鲍尔默被扫地出门,新的微软领导层说,“这就好像试图命令潮流不要过来,但潮水依然会不断涌进来。我们应该与 Linux 合作,而不是与之对抗。”

Saron Tiebreak: 事实上,互联网技术史上最大的胜利之一就是微软最终决定做出这样的转变。[00:19:00] 当然,当微软出现在开源圈子时,老一代的铁杆 Linux 支持者是相当怀疑的。他们不确定自己是否能接受这些家伙,但正如 Vaughan-Nichols 所指出的,今天的微软已经不是以前的微软了。

Steven Vaughan-Nichols: 2017 年的微软既不是史蒂夫·鲍尔默的微软,也不是比尔·盖茨的微软。这是一家完全不同的公司,有着完全不同的方法,而且,一旦使用了开源,你就无法退回到之前。[00:19:30] 开源已经吞噬了整个技术世界。从未听说过 Linux 的人可能对它并不了解,但是每次他们访问 Facebook,他们都在运行 Linux。每次执行谷歌搜索时,你都在运行 Linux。

[00:20:00] 每次你用 Android 手机,你都在运行 Linux。它确实无处不在,微软无法阻止它,而且我认为以为微软能以某种方式接管它的想法,太天真了。

Saron Yitbarek: 开源支持者可能一直担心微软会像混入羊群中的狼一样,但事实是,开源软件的本质保护了它无法被完全控制。[00:20:30] 没有一家公司能够拥有 Linux 并以某种特定的方式控制它。Greg Kroah-Hartman 是 Linux 基金会的一名成员。

Greg Kroah-Hartman: 每个公司和个人都以自私的方式为 Linux 做出贡献。他们之所以这样做是因为他们想要解决他们所面临的问题,可能是硬件无法工作,或者是他们想要添加一个新功能来做其他事情,又或者想在他们的产品中使用它。这很棒,因为他们会把代码贡献回去,此后每个人都会从中受益,这样每个人都可以用到这份代码。正是因为这种自私,所有的公司,所有的人都能从中受益。

Saron Yitbarek: [00:21:00] 微软已经意识到,在即将到来的云战争中,与 Linux 作战就像与空气作战一样。Linux 和开源不是敌人,它们是空气。如今,微软以白金会员的身份加入了 Linux 基金会。他们成为 GitHub 开源项目的头号贡献者。[00:21:30] 2017 年 9 月,他们甚至加入了 开源促进联盟 Open Source Initiative 。现在,微软在开源许可证下发布了很多代码。微软的 John Gossman 描述了他们开源 .net 时所发生的事情。起初,他们并不认为自己能得到什么回报。

John Gossman: 我们本没有指望来自社区的贡献,然而,三年后,超过 50% 的对 .net 框架库的贡献来自于微软之外。这包括大量的代码。[00:22:00] 三星为 .net 提供了 ARM 支持。Intel 和 ARM 以及其他一些芯片厂商已经为 .net 框架贡献了特定于他们处理器的代码生成,以及数量惊人的修复、性能改进等等 —— 既有单个贡献者也有社区。

Saron Yitbarek: 直到几年前,今天的这个微软,这个开放的微软,还是不可想象的。

[00:22:30] 我是 Saron Yitbarek,这里是代码英雄。好吧,我们已经看到了为了赢得数百万桌面用户的爱而战的激烈场面。我们已经看到开源软件在专有软件巨头的背后悄然崛起,并攫取了巨大的市场份额。[00:23:00] 我们已经看到了一批批的代码英雄将编程领域变成了我你今天看到的这个样子。如今,大企业正在吸收开源软件,通过这一切,每个人都从他人那里受益。

在技术的西部荒野,一贯如此。苹果受到施乐的启发,微软受到苹果的启发,Linux 受到 UNIX 的启发。进化、借鉴、不断成长。如果比喻成大卫和歌利亚(LCTT 译注:西方经典的以弱胜强战争中的两个主角)的话,开源软件不再是大卫,但是,你知道吗?它也不是歌利亚。[00:23:30] 开源已经超越了传统。它已经成为其他人战斗的战场。随着开源道路变得不可避免,新的战争,那些在云计算中进行的战争,那些在开源战场上进行的战争正在加剧。

这是 Steven Levy,他是一名作者。

Steven Levy: 基本上,到目前为止,包括微软在内,有四到五家公司,正以各种方式努力把自己打造成为全方位的平台,比如人工智能领域。你能看到智能助手之间的战争,你猜怎么着?[00:24:00] 苹果有一个智能助手,叫 Siri。微软有一个,叫 Cortana。谷歌有谷歌助手。三星也有一个智能助手。亚马逊也有一个,叫 Alexa。我们看到这些战斗遍布各地。也许,你可以说,最热门的人工智能平台将控制我们生活中所有的东西,而这五家公司就是在为此而争斗。

Saron Yitbarek: [00:24:30] 如果你正在寻找另一个反叛者,它们就像 Linux 奇袭微软那样,偷偷躲在 Facebook、谷歌或亚马逊身后,你也许要等很久,因为正如作家 James Allworth 所指出的,成为一个真正的反叛者只会变得越来越难。

James Allworth: 规模一直以来都是一种优势,但规模优势本质上……怎么说呢,我认为以前它们在本质上是线性的,现在它们在本质上是指数型的了,所以,一旦你开始以某种方法走在前面,另一个新玩家要想赶上来就变得越来越难了。[00:25:00] 我认为在互联网时代这大体来说来说是正确的,无论是因为规模,还是数据赋予组织的竞争力的重要性和优势。一旦你走在前面,你就会吸引更多的客户,这就给了你更多的数据,让你能做得更好,这之后,客户还有什么理由选择排名第二的公司呢,难道是因为因为他们落后了这么远么?[00:25:30] 我认为在云的时代这个逻辑也不会有什么不同。

Saron Yitbarek: 这个故事始于史蒂夫·乔布斯和比尔·盖茨这样的非凡的英雄,但科技的进步已经呈现出一种众包、有机的感觉。我认为据说我们的开源英雄林纳斯·托瓦兹在第一次发明 Linux 内核时甚至没有一个真正的计划。他无疑是一位才华横溢的年轻开发者,但他也像潮汐前的一滴水一样。[00:26:00] 变革是不可避免的。据估计,对于一家专有软件公司来说,用他们老式的、专有的方式创建一个 Linux 发行版将花费他们超过 100 亿美元。这说明了开源的力量。

最后,这并不是一个专有模型所能与之竞争的东西。成功的公司必须保持开放。这是最大、最终极的教训。[00:26:30] 还有一点要记住:当我们连接在一起的时候,我们在已有基础上成长和建设的能力是无限的。不管这些公司有多大,我们都不必坐等他们给我们更好的东西。想想那些为了纯粹的创造乐趣而学习编码的新开发者,那些自己动手丰衣足食的人。

未来的优秀程序员无管来自何方,只要能够访问代码,他们就能构建下一个大项目。

[00:27:00] 以上就是我们关于操作系统战争的两个故事。这场战争塑造了我们的数字生活。争夺主导地位的斗争从桌面转移到了服务器机房,最终进入了云计算领域。过去的敌人难以置信地变成了盟友,众包的未来让一切都变得开放。[00:27:30] 听着,我知道,在这段历史之旅中,还有很多英雄我们没有提到,所以给我们写信吧。分享你的故事。Redhat.com/commandlineheroes 。我恭候佳音。

在本季剩下的时间里,我们将学习今天的英雄们在创造什么,以及他们要经历什么样的战斗才能将他们的创造变为现实。让我们从壮丽的编程一线回来看看更多的传奇故事吧。我们每两周放一集新的博客。几周后,我们将为你带来第三集:敏捷革命。

[00:28:00] 代码英雄是一款红帽公司原创的播客。要想免费自动获得新一集的代码英雄,请订阅我们的节目。只要在苹果播客、Spotify、 谷歌 Play,或其他应用中搜索“Command Line Heroes”。然后点击“订阅”。这样你就会第一个知道什么时候有新剧集了。

我是 Saron Yitbarek。感谢收听。继续编码。


via: https://www.redhat.com/en/command-line-heroes/season-1/os-wars-part-2-rise-of-linux

作者:redhat 选题:lujun9972 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

2019 年 8 月 17 - 18 日,我参加了心念已久的在台湾连续举办了 14 届的 COSCUP 2019,并在会后,进行了一系列的开源访谈,以期促进两岸的开源软件、开源社群、开源人的交流。

这次的台湾之行,也让我看到了两岸在开源之间的差异,因此,希望能够通过这一篇文章,让更多的大陆开源人,看到不同的世界,了解多元的开源世界。

源自长荣航空广告

Just For Fun 的开源事业

Linux 之父 Linus Torvalds 有一本书 《Just For Fun》,在中国大陆的书名是 《只是为了好玩》(也有译作《一生只为寻欢笑》),这一句话,在我看来,很好的表现出台湾开源人的精神风貌。

在台湾参会期间,令我印象最为深刻的,莫过于所有议程结束后的 Lighting Talk。

Lighting Talk,闪电演讲,每个人都只有 5 分钟完成自己的演讲,如果没有完成,就会被主持人拔掉电源,强制停止演讲。在这五分钟里,每一个演讲者都竭尽所能,将自己的演讲内容完成。

现在听起来似乎还很正常?但是当你看到演讲者的题目,就会觉得不那么正常了。

今年的 COSCUP 的 Lighting Talk 的主题是这样的

  • 聖家堂與軟體開發 by hlb
  • 開源與 COSCUP 起源圖文 by 唐唐
  • 不務正業工程師成長之路 by 聽風
  • How to get beer using Pinpoint by HyunGil Jeong
  • HackMD feat. XXX by 黃鈺凱
  • 如何(物理上的)延長你的工程師生涯 by LSChyi
  • 機房監控酷炫上手 by Haraguroicha Hsu
  • 我在Taipei Ethereum Meetup的跳坑滅頂全記錄 by Jerry Ho
  • 基於數據科學的房地產價格預測,做成Chat bot應用,最後如何被政府一句話終止開發 - 柯克
  • 如何才能做好自己的工作Side Project by 白宦成
  • 4分鐘看Free list的演進 by Julian
  • 報到 App - OPass 專案回顧及展望 by Denny Huang

你会看到,大家提供的议题并不像我们在大陆所提交的议题那样,高端大气上档次,反而是十分的接地气,大家在起标题时,选择的也是尽可能有意思的话题,并以此来吸引参会者来听。

或许你会想,只是一个 Lighting Talk,随意一点也正常,正式的议题肯定就很正经了,然而,并不是。

正式的议题是这样的:

  • 懶惰鬼的函數式爬蟲 ー 以 Tezos 應用需求為例
  • 當 Rails 遇上 Docker,環境部署原來是這樣!?
  • 開拓者們建立鐵道的辛酸血淚史
  • 前端開發的再次典範轉移 - 如何走出混亂並讓複雜變的可掌控
  • 你媽知道你在用 PostgreSQL 看 PTT 嗎?

是的,正式议题也并不那么正式,也带有一丝戏谑和玩笑。回过头来看我们的大会的议题,支撑亿级 XX 的 XX 平台架构实践XXX 面对亿级并发场景的组件体系设计,此类型的议题数不胜数。一场大会,从头到尾都是亿级流量,如今的架构师,如果没有扛过亿级流量,都没有资格上大会。

这种差异,使得两岸的开源会议的参与者完全不同。大陆的会议主题大多高端大气上档次,其门票也一样的高端大气上档次,使得大家根本提不起兴趣来自费参会,加上会议总是会在工作日举办,导致如果你想要自费参会,所要付出的成本是极高的。而台湾的会议主题则相对更加的接地气,门票一样接地气,针对开源贡献者,更是提供的免费的门票,让你可以开开心心参会。

台湾开源推崇的便是 “Just For Fun”,首先先要让开发者 Happy ,然后才是考虑产品的商业利益,让爱好,变为财富。首先学会快乐,再学会成功。

而大陆开源推崇的更多是“利益至上”,我如何让我的产品击败别人的产品?开发者先要考虑商业的利益,再去考虑自己的爱好。从一开始,便与利益挂钩,后续,便再也难于利益脱钩。

当然,我不能只是一味的说,台湾的开源更活泼、更有生机,我们也需要看到其后的原因,并提出相应的解决方案。

台湾之所以更活跃,首先应当是开源项目主要由个人及小企业主导。对于个人主导的开源项目来说,因为没有重重的 KPI,所以拥有更多的活力,开发者会大量投入自己的精力去完成、完善、推广一个项目。对于小企业主导的项目,则是希望帮助小企业在残酷的商业竞争中获取一定的竞争优势,有一个社区所认可的开源项目显然比没有要好。此外,这些小企业的团队领导人大多是从工程师起来的,所以对于开源社区、开源贡献是有认同感的,他们会思考,我的项目能够活下来,是得益于开源社区的贡献,因此,我需要也为社区做一些贡献。

而大陆的开源项目则更多是以企业主导,背负着特定的 KPI,大家做开源的动力难免不足。一方面,工作的压力使得不少人在工作之余,根本没有时间去做开源项目。另一方面,企业主导的开源项目因为也会背负一些从开源到业务引流的 KPI,也使得整个过程失去了快乐与活力。同时,大陆的企业领导者大多不是工程师,而是产品、商务等岗位,这会使得他们对于开源社区、开源软件没有认同感,他们也不会觉得,自己使用了开源软件,就需要为开源社区做出贡献。此外,大陆的开源教育也做的并不好,我们太过于看重成败,使得原本一些不错的项目,可能因为惧怕失败而放弃开源,如果我们不去看重成败,而是将更多的心思放在开源本身的价值,或许我们可以做的更好。

就像前面的长荣航空的广告中所言,在学会赢之前,先学会享受了玩的乐趣,也因此,才有了“乐在其中,才会无限精彩”。对于大陆的我们,或许需要找回自己最初的初心,享受生活、享受工作,让自己的工作不再是抑制成长的压力,而是推动我们前进的动力。

当然, Just For Fun 并非全然没有问题的,就如 Skywalking 的创始人吴晟老师所言,开源不能仅仅是 Just For Fun ,如果没有一个好的商业目标,一个好的开源项目可能随时因为创始人的离去而失去维护者。相比之下,一个好的商业目标虽然看起来与起初的目标相冲突,但是终归确保了开源项目的长期运转,也不失是一种贡献。

(题图来自:2019!開源久酒!

什么技术运行在 Linux 上?你可能会惊讶于日常生活中使用 Linux 的频率。

现在 Linux 几乎可以运行每样东西,但很多人都没有意识到这一点。有些人可能知道 Linux,可能听说过超级计算机运行着这个操作系统。根据 Top500,Linux 现在驱动着世界上最快的 500 台计算机。你可以转到他们的网站并搜索“Linux”自己查看一下结果。

NASA 运行在 Linux 之上

你可能不知道 Linux 为 NASA(美国国家航空航天局)提供支持。NASA 的 Pleiades 超级计算机运行着 Linux。由于操作系统的可靠性,国际空间站六年前从 Windows 切换到了 Linux。NASA 甚至最近给国际空间站部署了三台运行着 Linux 的“Astrobee”机器人。

电子书运行在 Linux 之上

我读了很多书,我的首选设备是亚马逊 Kindle Paperwhite,它运行 Linux(虽然大多数人完全没有意识到这一点)。如果你使用亚马逊的任何服务,从亚马逊弹性计算云(Amazon EC2) 到 Fire TV,你就是在 Linux 上运行。当你问 Alexa 现在是什么时候,或者你最喜欢的运动队得分时,你也在使用 Linux,因为 Alexa 由 Fire OS(基于 Android 的操作系统)提供支持。实际上,Android) 是由谷歌开发的用于移动手持设备的 Linux,而且占据了当今移动电话的76% 的市场

电视运行在 Linux 之上

如果你有一台 TiVo,那么你也在运行 Linux。如果你是 Roku 用户,那么你也在使用 Linux。Roku OS 是专为 Roku 设备定制的 Linux 版本。你可以选择使用在 Linux 上运行的 Chromecast 看流媒体。不过,Linux 不只是为机顶盒和流媒体设备提供支持。它也可能运行着你的智能电视。LG 使用 webOS,它是基于 Linux 内核的。Panasonic 使用 Firefox OS,它也是基于 Linux 内核的。三星、菲利普斯以及更多厂商都使用基于 Linux 的操作系统支持其设备。

智能手表和平板电脑运行在 Linux 之上

如果你拥有智能手表,它可能正在运行 Linux。世界各地的学校系统一直在实施一对一系统,让每个孩子都有自己的笔记本电脑。越来越多的机构为学生配备了 Chromebook。这些轻巧的笔记本电脑使用 Chrome OS,它基于 Linux。

汽车运行在 Linux 之上

你驾驶的汽车可能正在运行 Linux。 汽车级 Linux(AGL) 是一个将 Linux 视为汽车标准代码库的项目,它列入了丰田、马自达、梅赛德斯-奔驰和大众等汽车制造商。你的车载信息娱乐(IVI)系统也可能运行 Linux。GENIVI 联盟在其网站称,它开发了“用于集成在集中连接的车辆驾驶舱中的操作系统和中间件的标准方法”。

游戏运行在 Linux 之上

如果你是游戏玩家,那么你可能正在使用 SteamOS,这是一个基于 Linux 的操作系统。此外,如果你使用 Google 的众多服务,那么你也运行在 Linux上。

社交媒体运行在 Linux 之上

当你刷屏和评论时,你可能会意识到这些平台正在做的很多工作。也许 Instagram、Facebook、YouTube 和 Twitter 都在 Linux 上运行并不令人惊讶。

此外,社交媒体的新浪潮,去中心化的联合社区的联盟节点,如 MastodonGNU SocialNextcloud(类似 Twitter 的微博平台)、Pixelfed(分布式照片共享)和Peertube(分布式视频共享)至少默认情况下在 Linux 上运行。由于开源,它们可以在任何平台上运行,这本身就是一个强大的优先级。

商业和政务运行在 Linux 之上

与五角大楼一样,纽约证券交易所也在 Linux 上运行。美国联邦航空管理局每年处理超过 1600 万次航班,他们在 Linux 上运营。美国国会图书馆、众议院、参议院和白宫都使用 Linux。

零售运行在 Linux 之上

最新航班座位上的娱乐系统很可能在 Linux 上运行。你最喜欢的商店的 POS 机可能正运行在 Linux 上。基于 Linux 的 Tizen OS 为智能家居和其他智能设备提供支持。许多公共图书馆现在在 EvergreenKoha 上托管他们的综合图书馆系统。这两个系统都在 Linux 上运行。

Apple 运行在 Linux 之上

如果你是使用 iCloud 的 iOS 用户,那么你也在使用运行在 Linux 上的系统。Apple 公司的网站在 Linux 上运行。如果你想知道在 Linux 上运行的其他网站,请务必使用 Netcraft 并检查“该网站运行在什么之上?”的结果。

路由器运行在 Linux 之上

在你家里将你连接到互联网的路由器可能正运行在 Linux 上。如果你当前的路由器没有运行 Linux 而你想改变它,那么这里有一个优秀的方法

如你所见,Linux 从许多方面为今天的世界提供动力。还有什么运行在 Linux 之上的东西是人们还没有意识到的?请让我们在评论中知道。


via: https://opensource.com/article/19/8/everyday-tech-runs-linux

作者:Don Watkins 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

无论你是刚毕业的大学生,还是想在职业中寻求进步的经验丰富的 IT 专家,这些提示都可以帮你成为 DevOps 工程师。

DevOps 工程是一个备受称赞的热门职业。不管你是刚毕业正在找第一份工作,还是在利用之前的行业经验的同时寻求学习新技能的机会,本指南都能帮你通过正确的步骤成为 DevOps 工程师

让自己沉浸其中

首先学习 DevOps 的基本原理、实践以及方法。在使用工具之前,先了解 DevOps 背后的“为什么”。DevOps 工程师的主要目标是在整个软件开发生命周期(SDLC)中提高速度并保持或提高质量,以提供最大的业务价值。阅读文章、观看 YouTube 视频、参加当地小组聚会或者会议 —— 成为热情的 DevOps 社区中的一员,在那里你将从先行者的错误和成功中学习。

考虑你的背景

如果你有从事技术工作的经历,例如软件开发人员、系统工程师、系统管理员、网络运营工程师或者数据库管理员,那么你已经拥有了广泛的见解和有用的经验,它们可以帮助你在未来成为 DevOps 工程师。如果你在完成计算机科学或任何其他 STEM(LCTT 译注:STEM 是 科学 Science 技术 Technology 工程 Engineering 数学 Math 四个学科的首字母缩略字)领域的学业后刚开始职业生涯,那么你将拥有在这个过渡期间需要的一些基本踏脚石。

DevOps 工程师的角色涵盖了广泛的职责。以下是企业最有可能使用他们的三种方向:

  • 偏向于开发(Dev)的 DevOps 工程师,在构建应用中扮演软件开发的角色。他们日常工作的一部分是利用持续集成 / 持续交付(CI/CD)、共享仓库、云和容器,但他们不一定负责构建或实施工具。他们了解基础架构,并且在成熟的环境中,能将自己的代码推向生产环境。
  • 偏向于运维技术(Ops)的 DevOps 工程师,可以与系统工程师或系统管理员相比较。他们了解软件的开发,但并不会把一天的重心放在构建应用上。相反,他们更有可能支持软件开发团队实现手动流程的自动化,并提高人员和技术系统的效率。这可能意味着分解遗留代码,并用不太繁琐的自动化脚本来运行相同的命令,或者可能意味着安装、配置或维护基础结构和工具。他们确保为任何有需要的团队安装可使用的工具。他们也会通过教团队如何利用 CI / CD 和其他 DevOps 实践来帮助他们。
  • 网站可靠性工程师(SRE),就像解决运维和基础设施的软件工程师。SRE 专注于创建可扩展、高可用且可靠的软件系统。

在理想的世界中,DevOps 工程师将了解以上所有领域;这在成熟的科技公司中很常见。然而,顶级银行和许多财富 500 强企业的 DevOps 职位通常会偏向开发(Dev)或运营(Ops)。

要学习的技术

DevOps 工程师需要了解各种技术才能有效完成工作。无论你的背景如何,请从作为 DevOps 工程师需要使用和理解的基本技术开始。

操作系统

操作系统是一切运行的地方,拥有相关的基础知识十分重要。Linux 是你最有可能每天使用的操作系统,尽管有的组织会使用 Windows 操作系统。要开始使用,你可以在家中安装 Linux,在那里你可以随心所欲地中断,并在此过程中学习。

脚本

接下来,选择一门语言来学习脚本编程。有很多语言可供选择,包括 Python、Go、Java、Bash、PowerShell、Ruby 和 C / C++。我建议从 Python 开始,因为它相对容易学习和解释,是最受欢迎的语言之一。Python 通常是遵循面向对象编程(OOP)的准则编写的,可用于 Web 开发、软件开发以及创建桌面 GUI 和业务应用程序。

学习了 LinuxPython 之后,我认为下一个该学习的是云计算。基础设施不再只是“运维小哥”的事情了,因此你需要接触云平台,例如 AWS 云服务、Azure 或者谷歌云平台。我会从 AWS 开始,因为它有大量免费学习工具,可以帮助你降低作为开发人员、运维人员,甚至面向业务的部门的任何障碍。事实上,你可能会被它提供的东西所淹没。考虑从 EC2、S3 和 VPC 开始,然后看看你从其中想学到什么。

编程语言

如果你对 DevOps 的软件开发充满热情,请继续提高你的编程技能。DevOps 中的一些优秀和常用的编程语言和你用于脚本编程的相同:Python、Go、Java、Bash、PowerShell、Ruby 和 C / C++。你还应该熟悉 Jenkins 和 Git / Github,你将会在 CI / CD 过程中经常使用到它们。

容器

最后,使用 Docker 和编排平台(如 Kubernetes)等工具开始学习容器化。网上有大量的免费学习资源,大多数城市都有本地的线下小组,你可以在友好的环境中向有经验的人学习(还有披萨和啤酒哦!)。

其他的呢?

如果你缺乏开发经验,你依然可以通过对自动化的热情,提高效率,与他人协作以及改进自己的工作来参与 DevOps。我仍然建议学习上述工具,但重点不要放在编程 / 脚本语言上。了解基础架构即服务、平台即服务、云平台和 Linux 会非常有用。你可能会设置工具并学习如何构建具有弹性和容错能力的系统,并在编写代码时利用它们。

找一份 DevOps 的工作

求职过程会有所不同,具体取决于你是否一直从事技术工作,是否正在进入 DevOps 领域,或者是刚开始职业生涯的毕业生。

如果你已经从事技术工作

如果你正在从一个技术领域转入 DevOps 角色,首先尝试在你当前的公司寻找机会。你能通过和其他的团队一起工作来重新掌握技能吗?尝试跟随其他团队成员,寻求建议,并在不离开当前工作的情况下获得新技能。如果做不到这一点,你可能需要换另一家公司。如果你能从上面列出的一些实践、工具和技术中学习,你将能在面试时展示相关知识从而占据有利位置。关键是要诚实,不要担心失败。大多数招聘主管都明白你并不知道所有的答案;如果你能展示你一直在学习的东西,并解释你愿意学习更多,你应该有机会获得 DevOps 的工作。

如果你刚开始职业生涯

申请雇用初级 DevOps 工程师的公司的空缺机会。不幸的是,许多公司表示他们希望寻找更富有经验的人,并建议你在获得经验后再申请该职位。这是“我们需要经验丰富的人”的典型,令人沮丧的场景,并且似乎没人愿意给你第一次机会。

然而,并不是所有求职经历都那么令人沮丧;一些公司专注于培训和提升刚从大学毕业的学生。例如,我工作的 MThree 会聘请应届毕业生并且对其进行 8 周的培训。当完成培训后,参与者们可以充分了解到整个 SDLC,并充分了解它在财富 500 强公司环境中的运用方式。毕业生被聘为 MThree 的客户公司的初级 DevOps 工程师 —— MThree 在前 18 - 24 个月内支付全职工资和福利,之后他们将作为直接雇员加入客户。这是弥合从大学到技术职业的间隙的好方法。

总结

转职成 DevOps 工程师的方法有很多种。这是一条非常有益的职业路线,可能会让你保持繁忙和挑战 — 并增加你的收入潜力。


via: https://opensource.com/article/19/7/how-transition-career-devops-engineer

作者:Conor Delanbanque 选题:lujun9972 译者:beamrolling 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

了解开源如何促进互动小说的成长和发展。

互动小说技术基金会 Interactive Fiction Technology Foundation (IFTF) 是一个非营利组织,致力于保护和改进那些用来生成我们称之为 互动小说 interactive fiction 的数字艺术形式的技术。当 Opensource.com 的一位社区版主提出一篇关于 IFTF、它支持的技术与服务,以及它如何与开源相交织的文章时,我发现这对于我讲了数几十年的开源故事来说是个新颖的视角。互动小说的历史比 自由及开源软件 Free and Open Source Software (FOSS)运动的历史还要长,但同时也与之密切相关。希望你们能喜欢我在这里的分享。

定义和历史

对于我来说,互动小说这个术语涵盖了读者主要通过文本与之交互的任何视频游戏或数字化艺术作品。这个术语起源于 20 世纪 80 年代,当时由语法解析器驱动的文本冒险游戏确立了什么是家用电脑娱乐,在美国主要以 魔域银河系漫游指南) 和 Infocom 公司的其它佳作为代表。在 20 世纪 90 年代,它的主流商业价值被挖掘殆尽,但在线爱好者社区接过了该传统,继续发布这类游戏和游戏创建工具。

在四分之一个世纪之后的今天,互动小说包括了品种繁多并且妙趣橫生的作品,如从充满谜题的文字冒险游戏到衍生改良的超文本类型。定期举办的在线竞赛和节日为品鉴和试玩新作品提供了个好地方—英语互动小说世界每年都会举办一些活动,包括 Spring ThingIFComp。后者是自 1995 年以来现代互动小说的核心活动,这也使它成为在同类型活动中持续举办时间最长的游戏展示活动。IFComp 从 2017 年开始的评选和排名记录 显示了如今基于文本的游戏在形式、风格和主题方面的惊人多样性。

(作者注:以上我特指英语,因为可能出于写作方面的技术原因,互动小说社区倾向于按语言进行区分。例如也有 法语意大利语 的互动小说年度活动,我就听说过至少一届的中文互动小说节。幸运的是,这些边界易于打破。在我管理 IFComp 的四年中,我们很欢迎来自国际社区的所有英语翻译工作。)

“假冒的猴子”游戏截图

在解释器 Lectrote 上启动 Emily Short 的“假冒的猴子”新游戏(二者皆为开源软件)。

此外由于互动小说专注于文本,它为玩家和作者都提供了最方便的平台。几乎所有能阅读数字化文本的人(包括能通过文字转语音软件等辅助技术阅读的用户)都能玩大部分的互动小说作品。同样,互动小说的创作对所有愿意学习和使用其工具和技术的作家开放。

这使我们了解了互动小说与开源的长期关系,以及从它的全盛时期以来,对于艺术形式可用性的积极影响。接下来我将概述当代开源互动小说创建工具,并讨论共享源代码的互动小说作品古老且有点稀奇的传统。

开源互动小说工具的世界

一些开发平台(其中大部分是开源的)可用于创建传统的语法解析器驱动互动小说,其中用户可通过输入命令(如 向北走拾取提灯收养小猫向 Zoe 询问量子机械学)来与游戏世界交互。20 世纪 90 年代初期出现了几个 适于魔改 hacker-friendly 的语法解析器游戏开发工具,其中目前还在使用的有 TADSAlanQuest,它们都是开源的,并且后两者兼容 FOSS 许可证。

其中最出名的是 Inform,1993 年 Graham Nelson 发布了第一个版本,目前由 Nelson 领导的一个团队进行维护。Inform 的源代码是不太寻常的半开源:Inform 6 是前一个主要版本,它通过 Artistic 许可证开放源码。这其中蕴涵着比我们所看到的更直接的相关性,因为它专有的 Inform 7 将 Inform 6 作为其核心,可以让它在将作品编译为机器码之前,将其 杰出的自然语言语法 (LCTT 译注:此链接已遗失)翻译为其前一代的那种更类似 C 的代码。

inform 7 集成式开发环境截图

Inform 7 集成式开发环境,打开了文档以及一个示例项目

Inform 游戏运行在虚拟机上,这是 Infocom 时代的遗留产物。当时的发行者为了让同一个游戏可以运行在 Apple II、Commodore 4、Atari 800 以及其它种类的“家用计算机”上,将虚拟机作为解决方案。这些原本流行的操作系统中只有少数至今仍存在,但 Inform 的虚拟机使得它创建的作品能够通过 Inform 解释器运行在任何的计算机上。这些虚拟机包括相对现代的 Glulx,或者通过对 Infocom 过去的虚拟机进行逆向工程克隆得到的可爱的古董 Z-machine。现在,流行的跨平台解释器包括如 lectroteGargoyle 等桌面程序,以及如 QuixeParchment 等基于浏览器的程序。以上所有均为开源软件。

如其它的流行开源项目一样,如果 Inform 的发展进程随着它的成熟而逐渐变缓,它为我们留下的最重要的财富就是其活跃透明的生态环境。对于 Inform 来说,(这些财富)包括前面提到的解释器、一套语言扩展(通常混合使用 Inform 6 和 Inform 7 写成),当然也包括所有用它们写成并分享于全世界的作品,有的时候也包括那些源代码。(在这篇文章的后半部分我会回到这个话题)

互动小说创建工具发明于 21 世纪,力求在传统的语法解析器之外探索一种新的玩家交互方式,即创建任何现代 Web 浏览器都能加载的超文本驱动作品。其中的领头羊是 Twine,原本由 Klimas 在 2009 年开发,目前是 GNU 许可证开源项目,有许多贡献者正在积极开发。(事实上,Twine 的开源软件血统可追溯到 TiddlyWiki,Klimas 的项目最初是从该项目衍生而来的)

对于互动小说开发来说,Twine 代表着一系列最开放及最可用的方法。由于它天生的 FOSS 属性,它将其输出渲染为一个自包含的网站,不依赖于需要进一步特殊解析的机器码,而是使用开放并且成熟的 HTML、CSS 和 JavaScript 标准。作为一个创建工具,Twine 能够根据创建者的技能等级,展示出与之相匹配的复杂度。拥有很少或没有编程知识的用户能够创建简单但是可玩的互动小说作品,但那些拥有更多编码和设计技能(包括通过开发 Twine 游戏获得的技能提升)的用户能够创建更复杂的项目。这也难怪近几年 Twine 在教育领域的曝光率和流行度有不小的提升。

另一些值得注意的开源互动小说开发项目包括由 Ian Millington 开发的以 MIT 许可证发布的 Undum,以及由 Dan Fabulich 和 Choice of Games 团队开发的 ChoiceScript,两者也专注于将 Web 浏览器作为游戏平台。除了以上专用的开发系统以外,基于 Web 的互动小说也呈现给我们以开源作品的丰富、变幻的生态。比如 Furkle 的 Twine 扩展工具集,以及 Liza Daly 为自己的互动小说游戏创建的名为 Windrift 的 JavaScript 框架。

程序、游戏,以及游戏程序

Twine 受益于 一个致力于提供支持的长期 IFTF 计划,公众可以为其维护和发展提供资助。IFTF 还直接支持两个长期公共服务:IFComp 和 互动小说归档 IF Archive ,这两个服务都依赖并回馈开源软件和技术。

Harmonia 开场截图

由 Liza Daly 开发的“Harmonia”的开场画面,该游戏使用 Windrift 开源互动小说创建框架创建。

自 2014 年以来,用于运行 IFComp 网站的基于 Perl 和 JavaScript 的应用程序一直是 一个共享源代码项目,它反映了 互动小说特有子组件使用的 FOSS 许可证是个大杂烩,其中包括那些可以让以语法解析器驱动的竞争项目在 Web 浏览器中运行的各式各样的代码库。在 1992 年上线并 在 2017 年成为一个 IFTF 项目 互动小说归档 IF Archive ,是一套完全基于古老且稳定的互联网标准的镜像仓库,只使用了 一点开源 Pyhon 脚本 用来处理索引。

最后,也是最有趣的部分,让我们聊聊开源文字游戏

互动小说归档的主体 由游戏组成,当然,是那些历经岁月的游戏。它们反映了数十年来不断发展的游戏设计趋势和互动小说工具发展。

许多互动小说作品都共享其源代码,要快速找到它们的快速很简单 —— 在 IFDB 中搜索标签 “source available”。IFDB 是另一个长期运行的互动小说社区服务,由 TADS 的创立者 Mike Roberts 私人运营。对更加简单的界面感到舒适的用户,也可以浏览互动小说归档的 games/source 目录,该目录按开发平台和编写语言对内容运行分组(也有很多作品,由于太繁杂或太古老而无法分类,只能浮于顶级目录)。

对这些代码共享游戏随机抽取的几个样本,揭示了一个有趣的窘境:与更广阔的开源软件世界不同,互动小说社区缺少一种普遍认同的方式来授权它生成的所有代码。与软件工具(包括我们用来创建互动小说的所有工具)不同的是,从字面意思上讲,交互式小说游戏是一件艺术作品。这意味着,将面向软件的开源许可证用于交互式小说游戏,并不会比将其用于其它像散文或诗歌作品更适合。但同样,互动小说游戏也是一个软件,它展示了创建者希望合法地与世界分享的源代码模式和技术。一个拥有开源意识的互动小说创建者会怎么做呢?

有些游戏通过将其代码放到公共领域来解决这一问题,或者通过明确的许可证,亦或者如 42 年前由 Crowther 和 Woods 开发的“ 冒险之旅 Adventure 一样通过社区发布。一些人试图将其中的不同部分分开,应用他们自己的许可证,允许免费复用游戏公开的业务逻辑,但禁止针对其散文内容的再创作。这是我在开源自己的游戏 莺巢 The Warbler’s Nest 时采取的策略。天知道这是否能在法律上站得住脚,但我当时没有更好的主意。

当然,你会发现一些作品对所有部分使用单一的许可证,而不介意反对者。一个突出的例子就是 Emily Short 的史诗作品“ 假冒的猴子 Counterfeit Monkey ,其全部采用 Creative Commons 4.0 许可证发布。CC 对其应用于代码感到不满,但你可以认为 Inform 7 源码这种不寻常的散文风格特性 至少比传统的软件项目更适合 CC 许可证。

接下来要做什么呢,冒险者?

如果你希望开始探索互动小说的世界,这里有几个链接可供你参考:

  • 如上所述,IFDB互动小说归档都提供了可浏览的界面,用于浏览超过 40 年价值的互动小说作品。其中大部分可以在 Web 浏览器中玩,但有些需要额外的解释器程序。IFDB 能帮助你找到并安装它们。IFComp 的年度结果页面展现了另一个视图,帮助你了解最佳的免费和归档可用作品。
  • 互动小说技术基金会是一个非营利组织,主要帮助并支持 Twine、IFComp 和互动小说归档的发展,以及提升互动小说的无障碍功能、探索互动小说在教育领域中的应用等等。加入其邮件列表,可以接收 IFTF 的每月资讯,浏览其博客,亦或浏览一些主题商品
  • 在今年的早些时候,John Paul Wohlscheid 写了这篇关于开源互动小说工具的文章。它涵盖了一些这里没有提及的平台,所以如果你还想了解更多,请看一看这篇文章。

via: https://opensource.com/article/18/7/interactive-fiction-tools

作者:Jason Mclntosh 选题:lujun9972 译者:cycoe 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

自从第一个 Linux 内核发布已经过去 28 年了。自 1991 年以来发布了几十个 Linux 内核版本,你喜欢的是哪个?投个票吧!

让我们回到 1991 年 8 月,那个创造历史的时间。科技界经历过许多关键时刻,这些时刻仍在影响着我们。在那个 8 月,Tim Berners-Lee 宣布了一个名为 万维网 World Wide Web 的有趣项目,并推出了第一个网站;超级任天堂在美国发布,为所有年龄段的孩子们开启了新的游戏篇章;在赫尔辛基大学,一位名叫 Linus Torvalds 的学生向同好们询问(1991 年 8 月 25 日)了他作为业余爱好开发的新免费操作系统的反馈。那时 Linux 内核诞生了。

如今,我们可以浏览超过 15 亿个网站,在我们的电视机上玩另外五种任天堂游戏机,并维护着六个长期 Linux 内核。以下是我们的一些作者对他们最喜欢的 Linux 内核版本所说的话。

“引入模块的那个版本(1.2 吧?)。这是 Linux 迈向成功的未来的重要一步。” - Milan Zamazal

“2.6.9,因为它是我 2006 年加入 Red Hat 时的版本(在 RHEL4 中)。但我也更钟爱 2.6.18(RHEL5)一点,因为它在大规模部署的、我们最大客户(Telco, FSI)的关键任务工作负载中使用。它还带来了我们最大的技术变革之一:虚拟化(Xen 然后是 KVM)。” - Herve Lemaitre

“4.10。(虽然我不知道如何衡量这一点)。” - Ivan Bazulic

“Fedora 30 附带的新内核修复了我的 Thinkpad Yoga 笔记本电脑的挂起问题;挂起功能现在可以完美运行。我是一个笨人,只是忍受这个问题而从未试着提交错误报告,所以我特别感谢这项工作,我知道一定会解决这个问题。” - MáirínDuffy

“2.6.16 版本将永远在我的心中占有特殊的位置。这是我负责将其转换为在 hertz neverlost gps 系统上运行的第一个内核。我负责这项为那个设备构建内核和根文件系统的工作,对我来说这真的是一个奇迹时刻。我们在初次发布后多次更新了内核,但我想我必须还是推选那个最初版本,不过,我对于它的热爱没有任何技术原因,这纯属感性选择 =)” - Michael McCune

“我最喜欢的 Linux 内核版本是 2.4.0 系列,它集成了对 USB、LVM 和 ext3 的支持。ext3 是第一个具有日志支持的主流 Linux 文件系统,其从 2.4.15 内核可用。我使用的第一个内核版本是 2.2.13。” - Sean Nelson

“也许是 2.2.14,因为它是在我安装的第一个 Linux 上运行的版本(Mandrake Linux 7.0,在 2000 IIRC)。它也是我第一个需要重新编译以让我的视频卡或我的调制解调器(记不清了)工作的版本。” - GermánPulido

“我认为最新的一个!但我有段时间使用实时内核扩展来进行音频制作。” - Mario Torre

在 Linux 内核超过 52 个的版本当中,你最喜欢哪一个?参加我们的调查并在评论中告诉我们原因。


via: https://opensource.com/article/19/8/linux-kernel-favorite-release

作者:Lauren Pritchett 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出