开源名称的含义是什么?

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

Opensource.com

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 是一个开源 Web 服务器,最初于 1995 年发布。它的名字与著名的美洲原住民部落无关;相反,它指的是对其原始软件代码的重复补丁。因此,称为“A-patchy server(补丁服务器)”。

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 上的 Common Desktop Environment(通用桌面环境) (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 哲学命名,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) 的后续(即续集)而创建的。”——Ken Gaillot

XFCE

XFCE 是由 Olivier Fourdan 创立的流行桌面。它最初是 1996 年 CDE 的替代品,其名称最初是 XForms Common Environment 的缩写。

Zsh

Zsh 是一个交互式登录 shell。1990 年,第一个版本的 shell 由普林斯顿大学学生 Paul Falstad 编写。他看到普林斯顿大学的助教 Zhong Sha (zsh) 的登录 ID 后将其命名,并认为这听起来像是 shell 的一个好名字

此列表中还有许多我们未包含的项目和名称。请务必在评论中分享您最喜欢的名称。

接下来阅读什么

我为什么使用 Java

根据工作要求,可能存在比 Java 更好的语言。但我还没有看到任何可以让我放弃 Java 的东西。

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

15 条评论

回到 Unix 时代,dd 是设备到设备复制,据我所知现在仍然是。

我再补充一个

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

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

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

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

我也一直对 fsck 实用程序感到有点好笑。

我听说过一个关于 PERL 的故事版本,从我对 Larry Wall 的一点了解来看,它似乎是真的,但我也听说还有另一个反义缩写选项:Practical Extraction and Reporting Language(实用提取和报告语言)或如维基百科文章中所述,Larry Wall 的版本:Pathologically Eclectic Rubbish Lister(病态折衷主义垃圾列表器)。

这是我了解的另一个:FRED(友好的编辑器)——70 年代和 80 年代在 Honeywell 大型机上运行的 QED 版本。它在早期版本中有点让人想起 vi(和 vim)和 Ex

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

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

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

Python 的文档和示例中充满了对该节目的引用(我想最突出的是 spam 和 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(Unix 替换守护进程的 Hird)”。然后,“Hird”代表“Hurd of Interfaces Representing Depth(代表深度的接口的 Hurd)”。据我所知,我们这里有第一个以一对相互递归的首字母缩写词命名的软件。

— Thomas (当时的 Michael) Bushnell'”

好的,这里有一些我多年来发现的。

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

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

daemon 是什么意思?

奇怪的是,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 License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.