GNOME、Java、Jupyter、Python。如果您的朋友或家人曾经偷听过您的工作对话,他们可能会认为您从事文艺复兴时期的民俗、咖啡烘焙、天文学或动物学行业。这些开源技术的名称从何而来?我们向我们的作家社区征求意见,并整理了一些我们最喜欢的技术名称起源故事。
Ansible
“Ansible”这个名字直接取自科幻小说。厄休拉·勒奎恩的书《罗卡农的世界》中有允许瞬时(超光速)通信的设备,称为 ansibles(显然源自“answerable”这个词)。Ansibles 成为科幻小说的主要内容,包括奥森·斯科特·卡德的《安德的游戏》(后来成为一部流行的电影),其中该设备控制着许多远程宇宙飞船。这似乎是控制分布式机器的软件的一个很好的模型,因此 Michael DeHaan(Ansible 的创建者和创始人)借用了这个名字。
Apache
Apache 是一个开源 Web 服务器,最初于 1995 年发布。它的名字与著名的美洲原住民部落无关;相反,它指的是对其原始软件代码的重复补丁。因此,“A-patchy 服务器”。
awk
“awk(1) 代表 Aho、Weinberger、Kernighan(作者)”——Michael Greenberg
Bash
“最初的 Unix shell,Bourne shell,是以其创建者命名的。在 Bash 开发时,csh(发音为 'seashell')实际上更受交互式用户登录的欢迎。Bash 项目旨在通过使其更适合交互使用来赋予 Bourne shell 新的生命,因此它被命名为 'Bourne again shell',这是对 'born again' 的双关语。”——Ken Gaillot
C
“早期,AT&T 的 Ken Thompson 和 Dennis Ritchie 发现,您可以使用更高级的编程语言(而不是低级且可移植性较差的汇编编程)来编写操作系统和工具,这很有趣。早期有一个名为 BCPL(Basic Combined Programming Language)的编程系统,Thompson 创建了一个精简版的 BCPL,称为 B。但 B 的灵活性和速度都不太好。然后 Ritchie 借鉴了 B 的思想,并将其扩展为一种名为 C 的编译语言。”——Jim Hall
dd
“我认为在不提及 dd 的情况下,您无法发表这样的文章。我的昵称是 Didi。正确发音,听起来像 'dd'。我最早在 1993 年作为一名学生学习了 Unix,然后是 Linux。然后我去了军队,到达了我所在单位中极少数使用 Unix (Ultrix) 的部门之一(其余部门主要使用 VMS),那里的一位人士说:'所以,你是一个黑客,对吧?你认为你了解 Unix?好吧,那么 dd 名称的原因是什么?' 我不知道,并试图猜测:'数据复制器?' 所以他说,'我会告诉你 dd 的故事。dd 是 convert and copy 的缩写(任何人今天仍然可以在手册页上看到),但由于 cc 已被 c 编译器占用,因此它被命名为 dd。' 几年后,我才听到关于 JCL 的数据定义以及 Unix dd 命令的非统一、半开玩笑的语法的真实故事,这些语法在某种程度上是基于它的。”——Yedidyah Bar David
Emacs
经典的 anti-vi 编辑器,名称的真正词源并不引人注目,因为它源于“Editing MACroS”。然而,作为宗教上极大的谴责和崇拜的对象,它吸引了许多恶搞的反义缩写,例如“Escape Meta Alt Control Shift”(嘲讽其对击键的严重依赖),“Eight Megabytes And Constantly Swapping”(从那时起那是大量内存),“Eventually malloc()s All Computer Storage”和“EMACS Makes A Computer Slow”。——改编自 Jargon File/Hacker's Dictionary
Enarx
Enarx 是保密计算领域的一个新项目。该项目的设计原则之一是它应该是“可替代的”。所以最初的名字是“psilocybin”(著名的魔术蘑菇)。普遍的感觉是管理人员可能会抵制,因此考虑了新名称。该项目的两位创始人 Mike Bursell 和 Nathaniel McCallum 都是古代语言极客,因此他们考虑了许多不同的想法,包括 тайна (Tayna—俄语,意思是秘密或神秘—虽然俄语,诚然,不是古代语言,但嘿),crypticon(对希腊语的完全歪曲),cryptidion(希腊语,意思是小秘密场所),arcanus(拉丁语阳性形容词,意思是秘密),arcanum(拉丁语中性形容词,意思是秘密),以及 ærn (盎格鲁-撒克逊语,意思是场所、秘密场所、壁橱、住所、房屋或小屋)。最后,由于各种原因,包括域名和 GitHub 项目名称的可用性,他们最终选择了 enarx,它是两个拉丁语词根的组合:en-(意思是内部)和 -arx(意思是城堡、堡垒或要塞)。
GIMP
如果没有 GIMP,我们会怎么样?GNU 图像处理项目多年来一直是开源的主力军。维基百科指出,“1995 年,Spencer Kimball 和 Peter Mattis 开始在加州大学伯克利分校的实验计算设施中开发 GIMP,作为为期一个学期的项目。”
GNOME
您是否想过为什么 GNOME 被称为 GNOME?根据 维基百科,GNOME 最初是一个首字母缩略词,代表“GNU 网络对象模型环境”。现在这个名称不再代表该项目,并且已被删除,但该名称仍然保留。GNOME 3 是 Fedora、Red Hat Enterprise、Ubuntu、Debian、SUSE Linux Enterprise 等的默认桌面环境。
Java
您能想象这种编程语言被命名为其他任何名称吗?Java 最初被称为 Oak,但不幸的是,Sun Microsystems 的法务团队否决了这个名称,因为该名称已存在商标。因此,开发团队又回到了绘图板。传说 1995 年 1 月,该语言的工作组举行了一次大规模的头脑风暴。讨论了很多其他名称,包括 Silk、DNA、WebDancer 等。团队不希望新名称与过度使用的术语“web”或“net”有任何关系。相反,他们正在寻找更动态、有趣且易于记忆的东西。Java 符合要求,并且奇迹般地,团队达成了一致!
Jupyter
当今的许多数据科学家和学生都在他们的工作中使用 Jupyter 笔记本。Jupyter 这个名称是三种开源计算机语言的混合,这些语言在笔记本中使用并在数据科学中突出显示:Julia、Python 和 R。
Kubernetes
Kubernetes 源自希腊语,意为舵手。Kubernetes 项目创始人 Craig McLuckie 在 2015 年 Hacker News 回复中证实了这一词源。他想坚持航海主题,他解释说,该技术驱动容器,很像舵手或飞行员驾驶集装箱船。因此,Kubernetes 是选定的名称。我们中的许多人仍在努力正确发音(koo-bur-NET-eez),因此 K8s 是一个可接受的替代品。有趣的是,它与英语单词“governor”具有相同的词源,因此与蒸汽机上的机械负反馈装置有共同之处。
KDE
K 桌面怎么样?KDE 最初代表“Kool Desktop Environment”。它由 Matthias Ettrich 于 1996 年创立。根据 维基百科,该名称是对 Unix 上的 通用桌面环境 (CDE) 的戏仿。
Linux
Linux 以其发明者 Linus Torvalds 的名字命名。Linus 最初想将他的作品命名为“Freax”,因为他认为以自己的名字命名作品太自负了。根据 维基百科,“Ari Lemmke,Torvalds 在赫尔辛基理工大学的同事,当时是 FTP 服务器的志愿者管理员之一,认为 'Freax' 不是一个好名字。因此,他在服务器上将该项目命名为 'Linux',而没有咨询 Torvalds。”
以下是一些最流行的 Linux 发行版。
CentOS
CentOS 是 Community Enterprise Operating System(社区企业操作系统)的首字母缩略词。它包含来自 Red Hat Enterprise Linux 的上游软件包。
Debian
Debian Linux 成立于 1993 年 9 月,是其创始人 Ian Murdock 和他当时的女友 Debra Lynn 的名字组合。
RHEL
Red Hat Linux 的名字来源于其创始人 Marc Ewing,他戴着一顶红色的康奈尔大学软呢帽,这是他的祖父送给他的。Red Hat 成立于 1993 年 3 月 26 日。Fedora Linux 最初是一个志愿者项目,旨在为 Red Hat 发行版提供额外的软件,其名称来源于 Red Hat 的“Shadowman”徽标。
Ubuntu
Ubuntu 旨在广泛分享开源,并以非洲的 ubuntu 哲学命名,该哲学可以翻译为“对他人的仁慈”或“我之所以成为我,是因为我们所有人”。
Moodle
开源学习平台 Moodle 是“modular object-oriented dynamic learning environment”(模块化面向对象动态学习环境)的首字母缩略词。Moodle 继续成为电子学习的领先平台。全球有近 104,000 个注册的 Moodle 站点。
另外两个流行的开源内容管理系统是 Drupal 和 Joomla。Drupal 的名字来源于荷兰语单词“druppel”,意思是“滴”。根据维基百科,Joomla 是斯瓦希里语单词“jumla”的 英语化拼写,在阿拉伯语、乌尔都语和其他语言中,意思是“全部在一起”。
Mozilla
Mozilla 是一个成立于 1998 年的开源软件社区。根据其网站,“Mozilla 项目于 1998 年随着 Netscape 浏览器套件源代码的发布而创建。它旨在利用互联网上数千名程序员的创造力,并推动浏览器市场前所未有的创新水平。” 这个名字是 Mosaic 和 Godzilla 的组合。
Nginx
“许多技术人员试图装酷,并说它是 'n' 'g' 'n' 'x'。很少有人真正做过更深入的研究,很快发现这个名字实际上应该发音为 'EngineX',指的是强大的 Web 服务器,就像引擎一样。”——Jean Sebastien Tougne
Perl
Perl 的创始人 Larry Wall 最初将他的项目命名为“Pearl”。根据维基百科,Wall 想给该语言起一个简短且具有积极含义的名称。Wall 在 Perl 正式发布之前发现了现有的 PEARL 编程语言,并更改了名称的拼写。
Piet 和 Mondrian
“有两种编程语言以艺术家 Piet Mondrian 的名字命名。一种叫做 'Piet',另一种叫做 'Mondrian'。[David Morgan-Mar 写道]:'Piet 是一种编程语言,其中程序看起来像抽象画。该语言以 Piet Mondrian 的名字命名,他是几何抽象艺术领域的先驱。我本想将该语言称为 Mondrian,但有人用一种相当平淡的脚本语言抢先一步。好吧,我想我们不可能都是深奥的语言作家。'”——Yuval Lifshitz
Python
Python 编程语言的独特名称来源于其创建者 Guido Van Rossum,他是喜剧团体 Monty Python 的粉丝。
Raspberry Pi
Raspberry Pi 以其微小但强大的功能和经济实惠的价格标签而闻名,是开源社区的最爱。但其可爱(且美味)的名字从何而来?在 70 年代和 80 年代,以水果命名计算机是一种流行的趋势。Apple、Tangerine、Apricot......有人饿了吗?根据对创始人 Eben Upton 的 2012 年采访,名称“Raspberry Pi”是对这种趋势的致敬。覆盆子也很小,但味道浓郁。名称中的“Pi”暗示最初该计算机只能运行 Python。
Samba
服务器消息块,用于在 Linux 上共享 Windows 文件。
ScummVM
ScummVM(Maniac Mansion 虚拟机脚本创建实用程序)是一个程序,它使在现代计算机上运行一些经典计算机冒险游戏成为可能。最初,它旨在玩使用 SCUMM 构建的 LucasArts 冒险游戏,SCUMM 最初用于开发 Maniac Mansion,然后用于开发 LucasArts 的大多数其他冒险游戏。目前,ScummVM 支持大量的游戏引擎,包括 Sierra Online 的 AGI 和 SCI,但仍然保留了 ScummVM 这个名称。一个相关的项目 ResidualVM 得名是因为它涵盖了 ScummVM 未涵盖的“剩余”LucasArts 冒险游戏。ResidualVM 涵盖的 LucasArts 游戏是使用 GrimE(Grim Engine)开发的,GrimE 最初用于开发 Grim Fandango,因此 ResidualVM 名称是一个双关语。
SQL
“您可能知道 [SQL] 代表结构化查询语言,但您知道为什么它通常发音为 'sequel' 吗?它是作为原始 'QUEL' (QUEry Language) 的后续 (即 sequel) 创建的。”——Ken Gaillot
XFCE
XFCE 是由 Olivier Fourdan 创立的流行桌面。它最初是 1996 年 CDE 的替代品,其名称最初是 XForms Common Environment 的首字母缩略词。
Zsh
Zsh 是一个交互式登录 shell。1990 年,普林斯顿大学学生 Paul Falstad 编写了 shell 的第一个版本。他看到普林斯顿大学的助教 Zhong Sha (zsh) 的登录 ID 后,将其命名为 Zsh,并认为这听起来像是一个 shell 的好名字。
此列表中未包含更多项目和名称。请务必在评论中分享您的收藏夹。
15 条评论