开源软件名称中的故事
有没有想过你喜欢的开源项目或编程语言的名称来自何处？让我们按字母顺序了解一下流行的技术术语背后的起源故事。
开源
有没有想过你喜欢的开源项目或编程语言的名称来自何处？让我们按字母顺序了解一下流行的技术术语背后的起源故事。

> 
> 有没有想过你喜欢的开源项目或编程语言的名称来自何处？让我们按字母顺序了解一下流行的技术术语背后的起源故事。
> 
> 
> 


![](/data/attachment/album/201912/17/225902ogkk85zm4gqlim9h.jpg)


GNOME、Java、Jupyter、Python……如果你的朋友或家人曾留意过你的工作对话，他们可能会认为你从事文艺复兴时期的民间文学艺术、咖啡烘焙、天文学或动物学工作。这些开源技术的名称从何而来？我们请我们的作者社区提供意见，并汇总了一些我们最喜欢的技术名称的起源故事。


### Ansible


“Ansible”这个名称直接来自科幻小说。Ursula Le Guin 的《Rocannon's World》一书中能进行即时（比光速更快）通信的设备被称为 ansibles（显然来自 “answerable” 一词）。Ansibles 开始流行于科幻小说之中，Orson Scott Card 的《Ender's Game》（后来成为受欢迎的电影）中，该设备控制了许多远程太空飞船。对于控制分布式机器的软件来说，这似乎是一个很好的模型，因此 Michael DeHaan（Ansible 的创建者和创始人）借用了这个名称。


### Apache


[Apache](https://httpd.apache.org/) 是最初于 1995 年发布的开源 Web 服务器。它的名称与著名的美国原住民部落无关；相反，它是指对原始软件代码的重复补丁。因此称之为，“<ruby> 一个修补的 <rt>  A-patchy </rt></ruby>服务器”。


### awk


“awk(1) 代表着 Aho、Weinberger、Kernighan（作者）”—— Michael Greenberg


### Bash


“最初的 Unix shell，即 Bourne shell，是以其创造者的名字命名的。在开发出来 Bash 时，csh（发音为 ‘seashell’）实际上更受交互登录用户的欢迎。Bash 项目旨在赋予 Bourne shell 新的生命，使其更适合于交互式使用，因此它被命名为 ‘Bourne again shell’，是‘<ruby> 重生 <rt>  born again </rt></ruby>’的双关语。”——Ken Gaillot


### C


在早期，AT&T 的 Ken Thompson 和 Dennis Ritchie 发现可以使用更高级的编程语言（而不是低级的、可移植性更低的汇编编程）来编写操作系统和工具。早期有一个叫做 BCPL（<ruby> 基本组合编程语言 <rt>  Basic Combined programming Language </rt></ruby>）的编程系统，Thompson 创建了一个名为 B 的简化版 BCPL，但 B 的灵活性和速度都不高。然后，Ritchie 把 B 的思想扩展成一种叫做 C 的编译语言。”——Jim Hall


### dd


“我想你发表这样一篇文章不能不提到 dd。我的外号叫 Didi。发音正确的话听起来像 ‘dd’。我开始学的是 Unix，然后是 Linux，那是在 1993 年，当时我还是个学生。然后我去了军队，来到了我的部队中少数几个使用 Unix（Ultrix）的部门之一（其它部门主要是 VMS），那里的一个人说：‘这么说，你是一个黑客，对吗？你以为你了解 Unix 吗？好的，那么 dd 这个名字的是怎么来的呢？’我不知道，试着猜道：‘<ruby> 数据复印机 <rt>  Data duplicator </rt></ruby>？’所以他说，‘我要告诉你 dd 的故事。dd 是<ruby> 转换 <rt>  convert </rt></ruby>和<ruby> 复制 <rt>  copy </rt></ruby>的缩写（如今人们仍然可以在手册页中看到），但由于 cc 这个缩写已经被 C 编译器占用，所以它被命名为 dd。’就在几年后，我听闻了关于 JCL 的数据定义和 Unix dd 命令不统一的、半开玩笑的语法的真实故事，某种程度是基于此的。”——Yedidyah Bar David


### Emacs


经典的<ruby> 反 vi <rt>  anti-vi </rt></ruby>编辑器，其名称的真正词源并不明显，因为它源自“<ruby> 编辑宏 <rt>  Editing MACroS </rt></ruby>”。但是，它作为一个伟大的宗教亵渎和崇拜的对象，吸引了许多恶作剧般的缩写，例如“Escape Meta Alt Control Shift”（以调侃其对键盘的大量依赖），“<ruby> 8MB 并经常发生内存交换 <rt>  Eight Megabytes And Constantly Swapping </rt></ruby>”（从那时起就很吃内存了），“<ruby> 最终分配了所有的计算机存储空间 <rt>  Eventually malloc()s All Computer Storage </rt></ruby>”和 “<ruby> EMACS 使一台计算机慢 <rt>  EMACS Makes A Computer Slow </rt></ruby>”——改编自 Jargon File/Hacker's Dictionary


### Enarx


[Enarx](https://enarx.io) 是机密计算领域的一个新项目。该项目的设计原则之一是它应该是“可替代的”。因此最初的名字是“psilocybin”（著名的魔术蘑菇）。一般情况下，经理级别的人可能会对这个名称有所抵触，因此考虑使用新名称。该项目的两位创始人 Mike Bursell 和 Nathaniel McCallum 都是古老语言极客，因此他们考虑了许多不同的想法，包括 тайна（Tayna——俄语中代表秘密或神秘——虽然俄语并不是一门古老的语言，但你就不要在乎这些细节了），crypticon（希腊语的意思是完全私生的），cryptidion（希腊中表示小密室），arconus（拉丁语中表示秘密的褒义形容词），arcanum（拉丁语中表示秘密的中性形容词）和 ærn（盎格鲁撒克逊人表示地方、秘密的地方、壁橱、住所、房子，或小屋的词汇）。最后，由于各种原因，包括域名和 GitHub 项目名称的可用性，他们选择了 enarx，这是两个拉丁词根的组合：en-（表示内部）和 -arx（表示城堡、要塞或堡垒）。


### GIMP


没有 [GIMP](https://www.gimp.org/) 我们会怎么样？<ruby> GNU 图像处理项目 <rt>  GNU Image Manipulation Project </rt></ruby>多年来一直是开源的重要基础。[维基百科](https://en.wikipedia.org/wiki/GIMP)指出，“1995 年，[Spencer Kimball](https://en.wikipedia.org/wiki/Spencer_Kimball_(computer_programmer)) 和 [Peter Mattis](https://en.wikipedia.org/wiki/Peter_Mattis) 在加州大学伯克利分校开始为<ruby> 实验计算设施 <rt>  eXperimental Computing Facility </rt></ruby>开发 GIMP，这是一个为期一个学期的项目。”


### GNOME


你有没有想过为什么 GNOME 被称为 GNOME？根据[维基百科](https://en.wikipedia.org/wiki/GNOME)，GNOME 最初是一个表示“<ruby> GNU 网络对象模型环境 <rt>  GNU Network Object Model Environment </rt></ruby>”的缩写词。现在，该名称不再表示该项目，并且该项目已被放弃，但这个名称仍然保留了下来。[GNOME 3](https://www.gnome.org/gnome-3/) 是 Fedora、红帽企业版、Ubuntu、Debian、SUSE Linux 企业版等发行版的默认桌面环境。


### Java


你能想象这种编程语言还有其它名称吗？Java 最初被称为 Oak，但是遗憾的是，Sun Microsystems 的法律团队由于已有该商标而否决了它。所以开发团队又重新给它命名。[据说](https://www.javaworld.com/article/2077265/so-why-did-they-decide-to-call-it-java-.html)该语言的工作组在 1995 年 1 月举行了一次大规模的头脑风暴。许多其它名称也被扔掉了，包括 Silk、DNA、WebDancer 等。该团队不希望新名称与过度使用的术语“web”或“net”有任何关系。取而代之的是，他们在寻找更有活力、更有趣、更容易记住的东西。Java 满足了这些要求，并且奇迹般地，团队同意通过了！


### Jupyter


现在许多数据科学家和学生在工作中使用 [Jupyter](https://jupyter.org/) 笔记本。“Jupyter”这个名字是三种开源计算机语言的融合，这三种语言在这个笔记本中都有使用，在数据科学中也很突出：[Julia](https://julialang.org/)、[Python](https://www.python.org/) 和 [R](https://www.r-project.org/)。


### Kubernetes


Kubernetes 源自希腊语中的舵手。Kubernetes 项目创始人 Craig McLuckie 在 [2015 Hacker News](https://news.ycombinator.com/item?id=9653797) 回应中证实了这种词源。他坚持航海主题，解释说，这项技术可以驱动集装箱，就像舵手或驾驶员驾驶集装箱船一样，因此，他选择了 Kubernetes 这个名字。我们中的许多人仍然在尝试正确的发音（koo-bur-NET-eez），因此 替代使用 K8s 也是可以接受的。有趣的是，它与英语单词“<ruby> 行政长官 <rp>  （ </rp> <rt>  governor </rt> <rp>  ） </rp></ruby>”具有相同的词源，也与蒸汽机上的机械负反馈装置相同。


### KDE


那 K 桌面呢？KDE 最初代表“<ruby> 酷桌面环境 <rt>  Kool Desktop Environment </rt></ruby>”。 它由 [Matthias Ettrich](https://en.wikipedia.org/wiki/Matthias_Ettrich) 于 1996 年创立。根据[维基百科](https://en.wikipedia.org/wiki/KDE)上的说法，该名称是对 Unix 上 <ruby> <a href="https://sourceforge.net/projects/cdesktopenv/">  通用桌面环境 </a> <rt>  Common Desktop Environment </rt></ruby>（CDE）一词的调侃。


### Linux


[Linux](https://en.wikipedia.org/wiki/Linux) 因其发明者 Linus Torvalds 的名字命名的。Linus 最初想将他的作品命名为“Freax”，因为他认为以他自己的名字命名太自负了。根据[维基百科](https://en.wikipedia.org/wiki/Linux)的说法，“赫尔辛基科技大学 Torvalds 的同事 Ari Lemmke 当时是 FTP 服务器的志愿管理员之一，他并不认为‘Freax’是个好名字。因此，他没有征询 Torvalds 就将服务器上的这个项目命名为‘Linux’。”


以下是一些最受欢迎的 Linux 发行版。


#### CentOS


[CentOS](https://www.centos.org/) 是<ruby> 社区企业操作系统 <rt>  Community Enterprise Operating System </rt></ruby>的缩写。它包含来自 Red Hat Enterprise Linux 的上游软件包。


#### Debian


[Debian](https://www.debian.org/) Linux 创建于 1993 年 9 月，是其创始人 Ian Murdock 和他当时的女友 Debra Lynn 的名字的混成词。


#### RHEL


[Red Hat Linux](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux) 得名于它的创始人 Marc Ewing，他戴着一顶祖父送给他的康奈尔大学红色<ruby> 软呢帽 <rt>  fedora </rt></ruby>。红帽公司成立于 1993 年 3 月 26 日。[Fedora Linux](https://getfedora.org/) 最初是一个志愿者项目，旨在为红帽发行版提供额外的软件，它的名字来自红帽的“Shadowman”徽标。


#### Ubuntu


[Ubuntu](https://ubuntu.com/about) 旨在广泛分享开源软件，它以非洲哲学“<ruby> 人的本质 <rt>  ubuntu </rt></ruby>”命名，可以翻译为“对他人的人道主义”或“我之所以是我，是因为我们都是这样的人”。


### Moodle


开源学习平台 [Moodle](https://moodle.org/) 是“<ruby> 模块化面向对象动态学习环境 <rt>  modular object-oriented dynamic learning environment </rt></ruby>”的首字母缩写。Moodle 仍然是领先的线上学习平台。全球有近 10.4 万个注册的 Moodle 网站。


另外两个流行的开源内容管理系统是 Drupal 和 Joomla。Drupal 的名字来自荷兰语 “druppel”，意思是“掉落”。根据维基百科，Joomla 是斯瓦希里语单词“jumla”的[英式拼写](https://en.wikipedia.org/wiki/Joomla#Historical_background)，在阿拉伯语、乌尔都语和其他语言中是“在一起”的意思。


### Mozilla


[Mozilla](https://www.mozilla.org/en-US/) 是一个成立于 1998 年的开源软件社区。根据其网站，“Mozilla 项目创建于 1998 年，发布了 Netscape 浏览器套件源代码。其旨在利用互联网上成千上万的程序员的创造力，并推动浏览器市场上前所未有的创新水平。” 这个名字是 [Mosaic](https://en.wikipedia.org/wiki/Mosaic_(web_browser)) 和 Godzilla 的混成词。


### Nginx


“许多技术人员都试图装酷，并将它念成‘n’‘g’‘n’‘x’。实际上，很少的一些人做点基本的调查工作，就可以很快发现该名称实际上应该被念成是“EngineX”，指的是功能强大的 web 服务器，像个引擎。”——Jean Sebastien Tougne


### Perl


Perl 的创始人 Larry Wall 最初将他的项目命名为“Pearl”。根据维基百科，Wall 想给这种语言起一个有积极含义的简短名字。在 Perl 正式发布之前，Wall 发现了已有 [PEARL](https://en.wikipedia.org/wiki/PEARL_(programming_language)) 编程语言，于是更改了名称的拼写。


### Piet 和 Mondrian


“有两种编程语言以艺术家 Piet Mondrian 命名。一种叫做‘Piet’，另一种叫做‘Mondrian’。（David Morgan-Mar [写道](http://www.dangermouse.net/esoteric/piet.html)）：‘Piet 是一种编程语言，其中的程序看起来像抽象绘画。该语言以几何抽象艺术的开创者 Piet Mondrian 的名字命名。我曾想将这种语言命名为 Mondrian，但是有人告诉我这会让它看起来像一种很普通的脚本语言。哦，好吧，我想我们不能都是深奥的语言作家。’”——Yuval Lifshitz


### Python


Python 编程语言的独特名称来自其创建者 Guido Van Rossum，他是英国六人喜剧团体 Monty Python 的粉丝。


### Raspberry Pi


Raspberry Pi 以其微小但强大的功能和对低廉的价格而闻名，在开源社区中是最受欢迎的。但是它可爱（和好吃）的名字是从哪里来的呢？在 70 年代和 80 年代，以水果命名的计算机是一种流行的趋势。苹果、橘子、杏……有人饿了吗？根据创始人 Eben Upton 的 [2012 采访](https://www.techspot.com/article/531-eben-upton-interview/)，“<ruby> 树莓派 <rt>  Raspberry Pi </rt></ruby>”这个名称是对这种趋势的致敬。树莓也很小，但却很有味道。名称中的“Pi”暗示着这样的事实：最初，该计算机只能运行 Python。


### Samba


[Server Message Block](https://www.samba.org/) 用于在 Linux 上共享 Windows 文件。


### ScummVM


[ScummVM](https://www.scummvm.org/)（《疯狂大楼》虚拟机的脚本创建实用程序）是一个程序，可以在现代计算机上运行一些经典的计算机冒险游戏。最初，它旨在玩用 SCUMM 构建的 LucasArts 的冒险游戏，该游戏最初用于开发《疯狂大楼》，后来又被用来开发 LucasArts 的其它大多数冒险游戏。目前，ScummVM 支持大量游戏引擎，包括 Sierra Online 的 AGI 和 SCI，但仍保留着名称 ScummVM。


有一个相关的项目 [ResidualVM](https://www.residualvm.org/) 之所以得名，是因为它涵盖了 ScummVM 未涵盖的“<ruby> 剩余的 <rt>  residual </rt></ruby>” LucasArts 冒险游戏。 ResidualVM 涵盖的 LucasArts 游戏是使用 GrimE（Grim Engine）开发的，该引擎最初用于开发 Grim Fandango，因此 ResidualVM 的名称是双关语。


### SQL


“你可能知道 SQL 代表<ruby> 结构化查询语言 <rt>  Structured Query Language </rt></ruby>，但你知道为什么它经常被读作‘sequel’吗？它是作为原本的‘QUEL’（<ruby> 查询语言 <rt>  QUEry Language </rt></ruby>）的后续（如<ruby> 结局 <rt>  sequel </rt></ruby>）而创建的。”——Ken Gaillot


### XFCE


[XFCE](https://www.xfce.org/) 是由 [Olivier Fourdan](https://en.wikipedia.org/wiki/Olivier_Fourdan) 创建的一个流行的桌面。它在 1996 年作为 CDE 的替代品出现，最初是 <ruby> XForms 公共环境 <rt>  XForms Common Environment </rt></ruby>的缩写。


### Zsh


Zsh 是一个交互式登录 shell。1990 年，普林斯顿大学的学生 Paul Falstad 写了该 shell 的第一个版本。他在看到当时在普林斯顿大学担任助教的 Zhong Sha 的登录 ID（zsh）后，觉得这个名字听起来像 [shell 的好名字](http://www.zsh.org/mla/users/2005/msg00951.html)，给它起了这个名字。


还有更多的项目和名称还没有包括在这个列表中。请一定要在评论中分享你的收藏。




---


via: <https://opensource.com/article/19/10/open-source-name-origins>


作者：[Joshua Allen Holm](https://opensource.com/users/holmja) 选题：[lujun9972](https://github.com/lujun9972) 译者：[laingke](https://github.com/laingke) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

