开源名称的含义?

是否想知道您最喜爱的开源项目或编程语言的名称从何而来?了解从 A 到 Z 的流行技术命名背后的起源故事。
196 位读者喜欢这篇文章。
How to make release notes count

Opensource.com

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 KimballPeter 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 这个名称是三种开源计算机语言的混合,这些语言在笔记本中使用并在数据科学中突出显示:JuliaPythonR

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 的好名字

此列表中未包含更多项目和名称。请务必在评论中分享您的收藏夹。

接下来阅读什么
标签
User profile image.
Lauren 是 Opensource.com 的执行编辑。当她不组织编辑日历或深入研究数据时,她会带着家人和德国牧羊犬救援犬 Quailford 去冒险。她热衷于传播开源技术和原则如何应用于科技行业以外的领域(如教育和政府)的意识。
User profile image.
教育家、企业家、开源倡导者、终身学习者、Python 教师。教育心理学硕士,教育领导学硕士,Linux 系统管理员。
User profile image.
自 1997 年左右以来,我一直从事开源工作,并且从那时起就一直在家庭和工作中运行 (GNU) Linux 作为我的主要桌面:并非总是容易... 我是一名安全专家和架构师,Enarx 项目的联合创始人,目前是一家初创公司的首席执行官

15 条评论

回到 Unix 时代,dd 是设备到设备复制,并且 AFAIK 仍然是。

我再补充一个

FreeDOS 的命名是因为它是 DOS 操作系统的免费版本。它最初被命名为 PD-DOS,因为它最初由许多公共领域实用程序组成。此外,PD-DOS 也是对其他 DOS 名称(如 Microsoft 的 MS-DOS、Digital Research 的 DR-DOS 和 IBM 的 PC-DOS)的戏仿。

DOS 的意思是磁盘操作系统。最初是软盘,最初是 5 1/4 英寸 360 千字节的类型。

Zope 是一个用面向对象编程语言“Python”编写的免费开源 Web 应用程序服务器。

前几天,我被提醒了文本操作实用程序 unix2dos 和 dos2unix,我发现这很有趣,因为即使它引用的两个特定操作系统几乎完全被取代,它们仍然很有用。(吉姆,无意冒犯,我仍然喜欢 FreeDOS!)

我也一直对 fsck 实用程序有点傻笑。

我听说过关于 PERL 的故事的一个版本,并且从我对 Larry Wall 的一点了解来看,它具有真实性,但我也听说还有另一个反义缩写选项:Practical Extraction and Reporting Language 或如维基百科文章中所述,Larry Wall 的版本:Pathologically Eclectic Rubbish Lister。

这是我所知道的另一个:FRED(friendly editor)- 70 年代和 80 年代在 Honeywell 大型机上运行的 QED 版本。它在早期版本中有点让人想起 vi(和 vim)和 Ex

Aaargh FRED 不是开源的!我记得游说我们的 IT 部门经理购买它。我在大学时代在 Unix 终端上学到了它。他最终批准了它,有一段时间我都在编辑器天堂里。

ClickHouse(开源分析数据库管理系统)的命名是将“clickstream”和“data warehouse”结合起来。因为它最初是为点击流数据处理而开发的。

我是 Monty Python 的粉丝,所以我真的很喜欢学习用 Python 编程 :)

Python 的文档和示例中充满了对该节目的引用(spam and eggs 是最突出的,我想)。

它的社区也是如此:有 Eric IDE 和 Python 的内置 IDE 叫做 IDLE,都是以 Monty Python 的 Eric Idle 命名的。

但我认为我最喜欢的是 GNU Hurd,来自 https://en.wikipedia.org/wiki/GNU_Hurd:

“现在是[时候]解释“Hurd”的含义了。“Hurd”代表“Hird of Unix-Replacing Daemons”。然后,“Hird”代表“Hurd of Interfaces Representing Depth”。据我所知,我们这里有第一个通过一对相互递归的首字母缩略词命名的软件。

——托马斯(当时的迈克尔)布什内尔'

好的,这是我多年来发现的几个。

dd 是磁盘转储或磁盘销毁器,取决于情况。
XFCE 是 eXtra Fine Computing Environment(超精细计算环境)。

我不再能够找到这些的互联网来源,但嘿,它们无论如何都很好。;-)

守护进程是什么意思?

奇怪的是,GNU 在整篇文章中被多次提及,但从未解释其名称。它太出名以至于无需解释?恐怕,在年轻一代中已经不再如此了,不幸的是。

我提名它为“奇怪名称”竞赛的明确获胜者:它是一个动物的名字(如 Python)、文字游戏首字母缩略词(如 KDE)以及如何发音的词(如 SQL)的结合。

无论如何,没有人能比 Richard Stallman 博士本人解释得更好,所以这里摘录了他的演讲 [0]

| 因此,我们开始工作所要做的就是为系统找到一个名称。现在,我们黑客总是为程序寻找一个有趣或不正经的名字,因为想到人们会因这个名字而感到有趣是编写程序乐趣的一半。[笑声] 我们有递归首字母缩略词的传统,即说您正在编写的程序与某些现有程序类似。您可以给它一个递归首字母缩略词名称,说明:这个不是另一个。因此,例如,在 60 年代和 70 年代,有很多 Tico 文本编辑器,它们通常被称为 something-or-other Tico。然后,一位聪明的黑客将他的编辑器称为 Tint,即 Tint Is Not Tico——第一个递归首字母缩略词。1975 年,我开发了第一个 Emacs 文本编辑器,并且有很多 Emacs 的模仿者,其中很多都被称为 something-or-other Emacs,但其中一个被称为 Fine,即 Fine Is Not Emacs,还有一个 Sine,即 Sine Is Not Emacs,还有一个 Eine,即 Eine Is Not Emacs,还有 MINCE,即 Mince Is Not Complete Emacs。[笑声] 这是一个精简版的模仿。然后,Eine 几乎被完全重写,新版本被称为 Zwei,即 Zwei Was Eine Initially。[笑声]
|
| 因此,我寻找一个递归首字母缩略词来表示 Something is not UNIX。我尝试了所有 26 个字母,发现其中没有一个是单词。[笑声] 嗯,换一种方式尝试。我做了一个缩写。这样我就可以得到一个三个字母的首字母缩略词,表示 Something's not UNIX。我尝试了字母,然后我遇到了单词“GNU”——单词“GNU”是英语中最有趣的单词。[笑声] 就是它了。当然,它有趣的原因是根据词典,它的发音是“new”。你明白了吗?这就是为什么人们在很多文字游戏中都使用它。让我告诉你,这是一种生活在非洲的动物的名字。非洲的发音中有一个咂嘴音。[笑声] 也许现在仍然有。因此,欧洲殖民者到达那里时,他们懒得学习说出这个咂嘴音。所以他们只是省略了它,他们写了一个“G”,意思是“这里应该有另一个我们没有发音的声音”。[笑声] 所以,今晚我要去南非,我已经恳求他们,我希望他们能找到人教我说咂嘴音,[笑声] 这样我就知道在它指动物时如何正确发音 GNU。
|
| 但是,当它是我们系统的名称时,正确的发音是“guh-NEW”——发硬的“G”音。如果您谈论“new”操作系统,您会让人们非常困惑,因为我们已经为此工作了 17 年了,所以它不再是新的了。[笑声] 但它仍然是,并且永远是 GNU——无论有多少人错误地称其为 Linux。[笑声]

[0] https://gnu.ac.cn/philosophy/rms-nyu-2001-transcript.txt

好主意!您可能可以看出,此列表并未涵盖*所有*名称,仅涵盖其中一部分。也许 GNU 项目会出现在后续文章中。我们还有一篇关于特定项目名称 (POSIX) 的文章,所以再写一篇也不是不可能。

回复 作者 Dmitry

Koku!但这是一个可爱的名字 :D

Creative Commons 许可本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.