如何使用MobyDick探索以航海为主题的开源项目的深度
介绍
Herman Melville 的寓言冒险小说 Moby-Dick,尽管在首次出版后在商业上失败了; 或者,《鲸鱼》 是当今美国经典中最受欢迎和最有影响力的小说之一。 威廉·福克纳、拉尔夫·埃里森和鲍勃·迪伦等不同的艺术家都承认这部小说对他们作品的影响,人们可以在电影、电视、音乐,当然还有开源项目中发现对它的引用。
在本文中,我们将分析几个以航海为主题的开源项目,以及它们如何向 Moby-Dick 致敬。
警告: 虽然您不必在阅读本文之前阅读 Moby-Dick,但本文确实包含一些剧透。 如果您还没有读过这本小说但想读,您可能希望在读完这篇文章后再读。
先决条件
要学习本教程,您需要:
- 熟悉 19 世纪的文学作品。
- 对航海双关语的欣赏。
- 冒险的性格。 例如,每当你发现自己的嘴巴越来越难看时,你就认为是时候尽快出海了。
码头工人
Docker是一个执行操作系统级虚拟化的开源程序,也称为容器化。 Moby-Dick的影响在这个项目中是显而易见的:Docker的标志和吉祥物是鲸鱼,被亲切地称为Moby Dock。 但是,Moby Dick 和 Moby Dock 之间存在一些实质性差异。
首先,Moby Dock 的物种并不是很明显。 从小说的开头就可以清楚地看出,Moby Dick 是抹香鲸,虽然 Moby Dock 也可能是抹香鲸,但有几条线索表明并非如此:
- 头部:抹香鲸的头部特别大,呈块状。 然而,Moby Dock 的前额平坦,鼻子平滑地向下倾斜到下巴,这更让人联想到露脊鲸或弓头鲸。
- 气孔:总是从左侧看到Moby Dock。 任何称职的捕鲸者都知道,抹香鲸的气孔总是略微偏向头部左侧。 在 Moby Dock 的任何已知图像中都看不到气孔,这是它不是抹香鲸的另一个线索。
- 鳍:Moby Dock似乎没有胸鳍。 所有抹香鲸出生时都有胸鳍,为“Moby Dock 是抹香鲸”的理论再添一笔。 也就是说,所有的鲸鱼都有胸鳍,所以这就引出了 Moby Dock 是否是鲸鱼的问题。
这些 Mobys 之间的另一个重要区别是 Moby Dock 有助于携带几堆容器。 白鲸记永远不会这么随和。 事实上,人们很容易想象白鲸会不遗余力地推倒如此整齐有序的集装箱堆。 也许 Moby Dock 应该被视为 Moby Dick 更温暖、更友好的表弟。 毕竟,将一个人的产品与一心想摧毁其路径上的一切的凶猛巨兽联系起来可能是一种糟糕的营销方式。
OpenFaaS
OpenFaaS 是一个开源项目,旨在通过使用 Docker 容器简化无服务器功能,允许用户以更大的灵活性运行复杂的基础设施,而无需担心供应商锁定。
OpenFaaS 标志完全集中在鲸鱼的尾巴上,这很重要,因为梅尔维尔用一整章来描述抹香鲸的尾巴。 在其中,以实玛利揭示了他对鲸鱼尾巴的深刻欣赏:
这就是[尾巴]微妙的弹性,无论是在运动中,还是在认真地,或在愤怒时,无论它处于何种情绪状态,它的弯曲总是以极其优雅的方式标记。 其中没有仙女的手臂可以超越它。
OpenFaaS 鲸鱼被证明正在达到顶峰,大概是因为它即将下潜。 在同一章中,伊斯梅尔认为“除了壮丽的裂口……鲸鱼吸虫的顶峰可能是所有动画自然界中最壮观的景象。” 也许 OpenFaaS 团队选择了鲸鱼的尾巴作为他们的标志,以传达 OpenFaaS 为管理功能带来的优雅和力量。 鲸鱼甚至可能正在“潜入”作为服务的功能领域。
由于 OpenFaaS 与 Docker 密切相关,因此该项目的徽标也以鲸鱼为特色是显而易见的。 但是,这些应该是 相同的 鲸鱼吗? 让我们不要忘记白鲸被认为是“无处不在的”,水手们上下发誓他们“在同一时刻在相反的纬度”遇到了他。 这或许是 Moby Dock 和 OpenFaaS 鲸鱼确实是一回事的线索。
也许在选择这个标志时,OpenFaaS 团队试图表明他们希望该框架将在未来的软件项目中无处不在。 有趣的是,虽然无处不在的鲸鱼可能会让捕鲸者心生恐惧,但如果软件被广泛使用,它通常被认为更安全。 OpenFaaS 团队应该庆幸的是,程序员通常不像捕鲸者那么迷信。
Kubernetes
Kubernetes 是一个开源容器编排系统,有助于自动化应用程序的部署、扩展和管理。 “Kubernetes”这个名字来自希腊语“κυβερνήτης”,在英语中翻译为“船长”或“舵手”。 恰当地,它的标志由船的轮子或舵组成,传达了轻松管理复杂容器编排所需的控制和稳定性。
奇怪的是,Pequod 没有轮子。 相反,它有一个由鲸鱼颚骨制成的分蘖。 一些读者认为这强调了亚哈船长和这艘船的共同历史,因为亚哈因大白鲸失去了一条腿,并用鲸骨假肢取而代之。
尽管舵机或舵柄可以传达稳定和控制,正如 Kubernetes 标志设计者所期望的那样,Moby-Dick 向我们展示了项目维护者可能忽略的更深层次的问题。 谁在掌舵 Kubernetes? 更重要的是,谁在我们的日常生活中掌舵? 我们驱动软件,还是软件驱动我们? 在所有这些东西中,掌舵是象征。
MySQL
MySQL 是世界上部署最广泛的开源数据库管理系统(DBMS)。 MySQL 的徽标具有海豚的轮廓,人们亲切地称为 Sakila。
虽然海豚并没有在 Moby-Dick 的情节中突出显示,但梅尔维尔在一本著名的伪科学旁白书中详细讨论了它们。 在第 32 章“Cetology”中,以实玛利将海豚称为“Huzza Porpoises”,之所以这么称呼是因为水手们认为它们是好运的征兆:
他们的出现通常受到水手的欢呼...... 如果你自己在看到这些活泼的鱼时能承受三声欢呼,那么上帝会帮助你; 敬虔的游戏精神不在你们身上。
也许 MySQL 开发人员选择了一只海豚来代表他们的 DBMS,以向使用它的人传达同样的希望快乐。 通过将数据库与海豚相关联,他们希望用户会认为它同样快速、敏捷和有趣。 毕竟,谁不喜欢运行相关子查询呢?
玛丽亚数据库
MariaDB 是社区支持的 MySQL 分支,如其类似的航海标志所示。 MariaDB 和 MySQL 的徽标都包含各自的 RDBMS 的名称,并以一种水生动物为特色:在 MariaDB 的案例中,这种动物是鳍足类动物。
有趣的是,对于 MariaDB 徽标中描绘的是哪种动物存在一些混淆。 根据项目的商标页面,标识中的动物是海狮。 然而,MariaDB 社区的 some members 将其视为印章。 MariaDB 的官方消息来源相当一致地将他们的吉祥物称为海狮,尽管 并不总是 。 当然,吉祥物的形状看起来确实更像海狮,但它也缺少可以区分它的耳朵。
人类感知本质上是有偏见和不可靠的想法贯穿整部小说。 也许通过保持鳍足类动物的种类含糊不清,MariaDB 团队正在做出梅尔维利安评论,即真相并不总是显而易见的,在某些情况下,永远无法确定。 它是海豹还是海狮? 白鲸记是真实的还是想象的? Vim 或 Emacs 是更好的文本编辑器吗? 像这样的谜语在我们生活的世界中比比皆是,就像魔术师的玻璃一样,对每个人来说,反过来又反映了他自己神秘的自我。 对于那些要求世界解决它们的人来说,痛苦很大,收获很小。
当然,这个标志也有可能只是为了代表一只海狮。 也许当 MariaDB 团队要求设计师画耳朵时,他们回答 “我宁愿不画。”
结论
显然,梅尔维尔的影响力远远超出了文学领域,并深入到了开源技术领域。 正如本文所强调的那样,这五个项目(可能还有更多项目)通过名称和徽标中的微妙引用向他的伟大捕鲸故事致敬,以及它们如何挑战我们对真理和人性的看法。
我们希望通过阅读本文,您将继续创建您自己的以梅尔维尔为灵感、以航海为主题的开源项目。 这里有一些想法可以帮助您入门:
- Ishmael:将任何服务器进程变为 孤儿进程 的应用程序。
- Starbuck:一个正常运行时间监视器,发誓它会控制一切,但最终只是放弃并让系统崩溃。
- Stubb:一个声称可以完成许多重要工作的程序,但实际上只是将其他应用程序完成的工作归功于自己。
注: 有读者可能会疑惑为什么这篇文章还没有提到DigitalOcean自己的鲨鱼Sammy。 原因很简单,Sammy 与 Moby-Dick 中描绘的鲨鱼几乎没有共同之处。 在整部小说中,鲨鱼被描绘成本能支配的贪婪野兽。 梅尔维尔的鲨鱼会吃掉沿途的任何东西,它们是暴力、危险的生物,对 Pequod 的船员构成严重风险(尽管风险明显不如鲸鱼)。
显然,梅尔维尔从未遇到过像萨米这样的鲨鱼。 毕竟,Sammy 是素食主义者,而且非常友好!