开源项目的名称背后都有哪些故事?
你有没有想过自己最喜欢的开源项目或编程语言的名称来自何处?有着怎样的起源和含义?opensource.com 社区汇总了一些人们最常使用的项目名称及其背后的故事。
Ansible
名称 “Ansible” 直接来自科幻小说。Ursula Le Guin 的著作《罗坎农的世界》(Rocannon's World)中, 有一种设备允许即时(比光速更快)通信,它被称为 ansible(从 “answerable” 一词派生)。 Ansible 也成为了科幻小说的构成要素,包括在 Orson Scott Card 的《安德的游戏》(Ender's Game)中,该设备远程控制了许多太空飞船。 对于控制分布式机器的软件来说,这似乎是一个很好的模型,因此 Ansible 的创建者 Michael DeHaan 借用了这个名字。
Apache
Apache 是一个开源的 Web 服务器,最初于 1995 年发布。 它是指对原始软件代码重复的补丁,“A-patchy server”(一个补丁服务器)。
Bash
最初的 Unix shell,即 Bourne shell,以其创建者命名。 在开发 Bash 时,csh(发音为“seashell”)实际上在交互式用户登录中更为流行。Bash 项目旨在通过使其更适合交互使用来使 Bourne shell 焕然一新,因此它被称为 “Bourne Again shell”,是对 “Born Again”(重生)的双关语。
C
早期有一个称为 BCPL(基本组合编程语言)的编程系统, AT&T 的 Thompson 创建了一个简化的 BCPL 版本,称为 B。但是 B 不那么灵活。然后 Ritchie 接受了 B 的想法,并将其扩展为一种称为 C 的编译语言。
Emacs
经典的 anti-vi 编辑器,其名称的真正词源并不明显,因为它源自 “Editing MACroS”(编辑宏)。它拥有许多恶作剧式的解读,例如 “Escape Meta Alt Control Shift”(用来调侃其对键盘的严重依赖), “Eight Megabytes And Constantly Swapping”(调侃它很吃内存) 和 “Eventually malloc()s All Computer Storage”(最终分配了计算机所有的储存空间)等等。
GNOME
根据维基百科上的说法,GNOME 最初是一个缩写,代表 “GNU Network Object Model Environment”(GNU 网络对象模型环境)。现在,该名称不再代表该项目,并且已被删除,但名称仍然存在。
Java
Java 最初被称为 Oak,但该名称因现有商标而被否决。传说该语言的工作组在 1995 年 1 月进行了一次大规模的头脑风暴。 他们还起过很多其他名称,包括 Silk、DNA、WebDancer 等。团队不希望新名称与过度使用的术语 “web” 或 “net” 有任何关系。最终,Java 更符合他们“具有动态感”、“有趣”且“易于记忆”的要求。
Jupyter
许多数据研究者都会用到 Jupyter notebook。 Jupyter 的名称是其使用的三种开源语言的组合,这些语言在数据科学中非常重要:Julia、Python 和 R。
Kubernetes
Kubernetes 源自希腊语中的“舵手”。该项目创始人 Craig McLuckie 想坚持航海主题,他解释说,技术驱动容器,就像舵手或飞行员驾驶容器船一样。有趣的是,它和英语单词 “governor” 具有相同的词源,与蒸汽机上的机械负反馈装置一样。
KDE
KDE 最初代表 “Kool Desktop Environment”(Kool 桌面环境)。它由 Matthias Ettrich 于 1996 年创立。
Linux
Linux 因其创始人 Linus Torvalds 而得名。Linus 最初想将他的作品命名为 “Freax”,因为他认为以自己的名字命名太过自负。但 Torvalds 的同事,当时是 FTP 服务器志愿管理员之一的 Ari Lemmke,不认为 Freax 是个好名字。 因此,他在未咨询 Torvalds 的情况下,在服务器上将项目命名为 “Linux”。
以下还有一些受欢迎的 Linux 发行版:
CentOS
CentOS 是 Community Enterprise Operating System(社区企业操作系统)的缩写。
Debian
创建于 1993 年 9 月的 Debian Linux,名字来源于创始人 Ian Murdock 和他当时的女友 Debra Lynn。
RHEL
Red Hat Linux 得名于创始人 Marc Ewing,因为他戴着祖父给的红色康奈尔大学软呢帽。
Ubuntu
Ubuntu 旨在广泛地共享开源,它以非洲 ubuntu 哲学的名字命名。Ubuntu 可以翻译为“对他人的人性”。
Nginx
该名称实际上应该被读作 “EngineX”,指功能强大的 web 服务器,就像引擎(engine)一样。
Python
Python 的创建者 Guido Van Rossum 是喜剧团 Monty Python 的粉丝,Python 的名称也由此而来。
Raspberry Pi
在 70 年代和 80 年代,以水果命名的计算机是一种流行的趋势,Apple、Tangerine、Apricot 等等。Raspberry Pi 正是对这一趋势的致敬。树莓虽小,味道却很浓郁。名称中的 “Pi” 暗含着这样一个事实:最初,计算机只能运行 Python。
Zsh
Zsh 是一个交互式登录 shell。1990 年,普林斯顿大学的学生 Paul Falstad 编写了第一个版本。他在看到普林斯顿大学助教 Zhong Sha(zsh)的登录 ID 后,觉得这听起来像是一个好名字,于是直接用来对其进行了命名。
除此之外,还有很多其他有趣的项目名称,你还了解哪些?可以在评论中与大家一同分享。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
看完就懂 webpack 打包原理
什么是 webpack ? 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。 webpack 就像一条生产线,要经过一系列处理流程后才能将源文件转换成输出结果。 这条生产线上的每个处理流程的职责都是单一的,多个流程之间有存在依赖关系,只有完成当前处理后才能交给下一个流程去处理。 插件就像是一个插入到生产线中的一个功能,在特定的时机对生产线上的资源做处理。 webpack 通过 Tapable 来组织这条复杂的生产线。 webpack 在运行过程中会广播事件,插件只需要监听它所关心的事件,就能加入到这条生产线中,去改变生产线的运作。 webpack 的事件流机制保证了插件的有序性,使得整个系统扩展性很好。 -- 深入浅出 webpack 吴浩麟 webpack 核心概念 Entry 入口起点(entry point)指示 webpack 应...
- 下一篇
微软表示将为所有人免费修复 Windows 7 壁纸 bug
微软已经确认,其 Windows 7 壁纸错误修复程序将交付给所有用户,而不仅是那些支付扩展支持费用的用户。 Windows 7 于今年 1 月 14 日终止了支持,因此从理论上讲,它已经不在支持范围之内,这意味着其不应再收到任何其他更新和 bug 修复。 但是,在最终更新发布后不久,一些人却发现其桌面墙纸功能被破坏,而罪魁祸首似乎正是此最终更新。 具体表现为,使用“Stretch”模式时,该 bug会导致 Windows 7 桌面墙纸切换为黑色。在了解到此问题后,Microsoft在几天前发布的更新中解释说,已经在进行修复。但是,其措辞建议仅向付费定制支持(在 1 月 14 日支持结束后可用)提供此修补程序。 目前,考虑到更新才是导致此问题的原因,微软则表示将向仍在运行 Windows 7 的每个用户发布此修复程。但是,该公司尚未提供有关何时发布该补丁程序的任何具体信息,但有可能在下个 Patch Tuesday(2 月 11 日举行)上获得批准。 参考消息
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启