愤世嫉俗者

  下载本文的PDF版本 PDF

换个名字的偏执狂...

Josh Coates,互联网档案馆

你是开源偏执狂吗?

我曾负责招聘许多软件工程师。我倾向于问很多详细的技术问题,以便真正了解候选人在解决难题时如何思考和与我合作。

QA(质量保证)工程师会喜欢这个问题(这是一个针对智力诚实的“负面测试”): “解释一下FreeBSD、Windows NT、Solaris和Linux的相对优势和劣势。”

啊,但问题就在这里。 intellectually honest 的答案是,它们都或多或少地一样糟糕。或者,如果你是乐观主义者,它们都很棒。

有很多领域可以讨论:线程、I/O性能、开发环境等等。我们只选择一个领域:安全性。所有操作系统都存在漏洞。我管理过许多基于Solaris、Windows 2000和Linux的大型服务器集群。我知道它们被“黑客入侵”的三个具体案例:Solaris集群一次,Linux两次。另一方面,我的Windows桌面每隔几个月就会蓝屏,我不得不依靠McAfee才能安心入睡。重点是,很多聪明的人都在开发出色的代码——没有一个是完美的,有些是专有的,有些是开源的。(OpenBSD的卓越安全性值得注意。)

让我们看看应用程序。 Microsoft Excel 是一款非常出色的软件。当然,当您绘制大于 65,536 的数据集时,最终不得不使用 Gnuplot,但除此之外,它是一个设计精良、超级有用的工具。

是的,它只是一个工具。它们都是工具。它们不是宗教偶像,也不是影响因果报应的比特流。

我的意思很明显。有些人深信,如果不是开源的,那就是劣质的(功能上、道德上以及其他方面)。您可能与这些人中的一个一起工作。 实际上,您甚至可能就是其中之一。不确定我在说什么? 这是韦氏词典提供的非常宽容的定义

发音: ‘bi-get

词性:名词

词源:中古法语,hypocrite, bigot

含义: 顽固或不宽容地坚持己见和偏见的人

我曾考虑匿名撰写这篇文章,因为有大量的开源狂热分子,他们像 SCO 的人一样迟钝和报复心强,我不想惹他们生气。 在伯克利大学,当一群成员在 Sproul Plaza 组织了一次“劝诱会议”时,我加入了 Linux 用户组委员会。 那时正值 Windows 98 发布前后,所以是“对抗权威”的好时机。

想象一下一群人在广场上游荡,举着写着“Got Linux?”和“Micro$oft must die!”的标语,与重生的基督徒的标语“Got Jesus?”和“Homosexuals will burn in hell”混在一起。 这两个群体偶尔会喊出类似“远离黑暗面”和“加入我们”的话。

他们之间有这么多共同点,这有点令人毛骨悚然。

这就是有趣的地方。 我并不是说所有的基督徒都是偏执狂。 我也不是说所有的开源支持者都是偏执狂。 我是说,这两种“宗教”都包括偏执的白痴,并且他们都患有相同的错误思维模式。 19 世纪美国作家 Josh Billings 说得最好:“智慧从未造就偏执狂,但学识却会。”1

有趣的是,现代历史上一些受过最高教育的人都非常偏执(或者我喜欢称之为“患有对现实的妄想认知”)。 查尔斯·达尔文是一位杰出的科学家,但他坚持认为女性的智力不如男性——更不用说他对“野蛮种族”的详尽解释了。 威廉·肖克利因发明晶体管而获得诺贝尔奖,但他继续宣扬黑人智力低下的遗传理论。

英国讽刺作家亚历山大·蒲柏写道:“一知半解是危险的; 深入饮用,否则就别尝皮埃里亚之泉:浅尝会使大脑中毒,而大量饮用会让我们再次清醒。”2

天哪,你认识任何浅尝辄止的人吗? 读过 Slashdot 吗?

所以这是一个不幸的情况——而且我想说,开源运动的致命弱点是傲慢自大,而傲慢自大滋生了偏执。 具有讽刺意味的是,开源的代表人物之一是 Linus Torvalds,他患有慢性傲慢自大症。 虽然网上有很多关于这种傲慢自大的描述,但我自己也亲眼目睹过。 1998 年,我参加了 Torvalds 访问伯克利大学时举行的一次小型问答环节。 但有趣的是,我唯一记得的是,他将为 Linux 工作的开源开发人员称为他的“奴隶”,并沾沾自喜地嘲笑他们是多么愿意听从他的命令。 只是古怪的幽默感? 也许吧。

既然我已经成功地冒犯了所有人,至少让我试着摆脱困境。 我使用开源软件。 我喜欢开源软件。 我使用专有软件。 我喜欢专有软件。 哦,Torvalds 可能没有那么糟糕(但是,好吧——他可能就是这样。 :-)

归根结底,对你热衷的任何事物充满热情和己见是可以的——但成为偏执狂是不可以的。 在我看来,如果你对软件开发方法论抱有偏见,那么你就离“程序员优等民族”只有一步之遥了。

好的,开始抨击吧: [email protected]

参考文献

1. Billings, J. (笔名 Henry Wheeler Shaw) Book of Sayings,最初出版于 1866 年。2. Pope, A. Essay on Criticism(第二部分,第 15-17 行),最初出版于 1711 年。

喜欢还是讨厌? 告诉我们

[email protected]www.acmqueue.com/forums

JOSH COATES 是互联网档案馆的工程和运营总监,互联网档案馆是一家致力于保存数字媒体的非营利组织。 1999 年,他创立了 Scale8,该公司推出了世界上最大的互联网存储系统,横跨三大洲。 在创立 Scale8 之前,Coates 在 Inktomi Corporation 工作,开发网络缓存软件应用程序。 2001 年,他被《红鲱鱼》杂志评为十大创新者之一,2002 年,他获得了 MIT Technology Review 的百强创新者奖。 Coates 获得了加州大学伯克利分校计算机科学学士学位,并积极参与工作站网络 (NOW) 集团和千年项目。

© 2004 1542-7730/05/0500 $5.00

acmqueue

最初发表于 Queue 第 2 卷,第 3 期
数字图书馆 中评论本文





更多相关文章

Amanda Casari、Julia Ferraioli、Juniper Lovato - 超越代码仓库
关于开源的大量现有研究选择研究软件代码仓库而不是生态系统。 开源代码仓库通常指的是版本控制系统中记录的工件,偶尔也包括围绕代码仓库本身的交互。 开源生态系统指的是代码仓库的集合、社区、它们的交互、激励、行为规范和文化。 开源的去中心化性质使得对生态系统进行整体分析成为一项艰巨的任务,社区和身份以有机和不断发展的方式相互交叉。 尽管存在这些复杂性,但对软件安全和供应链日益严格的审查使得在进行关于开源的研究时,采取基于生态系统的方法至关重要。


Guenever Aldrich、Danny Tsang、Jason McKenney - 献给尚未入门的项目经理的三部和声
本文探讨了系统采购工具箱中的三种工具,这些工具可以加快开发和采购速度,同时降低项目风险:OSS、开放标准以及 Agile/Scrum 软件开发流程都是 DoD 采购项目管理工具箱的强大补充。


Jessie Frazelle - 开源固件
开源固件可以通过使固件的行为更加可见且不易造成危害,从而帮助将计算带到一个更安全的地方。 本文的目标是让读者感到有能力向可以帮助推动这一变革的供应商提出更多要求。


Marshall Kirk McKusick、George V. Neville-Neil - FreeBSD 5.2 中的线程调度
繁忙的系统每秒会做出数千个调度决策,因此做出调度决策的速度对于系统的整体性能至关重要。 本文——摘自即将出版的书籍《FreeBSD 操作系统设计与实现》——以开源 FreeBSD 系统为例,帮助我们理解线程调度。 最初的 FreeBSD 调度器是在 20 世纪 80 年代为大型单处理器系统设计的。 尽管它在今天的环境中仍然运行良好,但新的 ULE 调度器是专门为优化多处理器和多线程环境而设计的。 本文首先研究了最初的 FreeBSD 调度器,然后描述了新的 ULE 调度器。





© 保留所有权利。

© . All rights reserved.