当 的第一期出版时,工作人员做了一些市场调查,以了解人们最想听取什么内容。令我们颇感惊讶的是,开源位居榜首。我们知道开源很受欢迎,但似乎地球上每本计算机杂志都已经至少用一期专门讨论它了——事实上,有几本杂志完全致力于这个主题。开源肯定已经被彻底探索过了。
但经过进一步思考,也许事实并非如此。大多数关于开源的文章都强调开源作为一种软件开发模式的优点(或缺点)。这些文章往往有些片面——你要么接受它,要么不接受它。一些更有趣的讨论开源的文章来自经济学家的角度。由于经济学这门沉闷的科学不认为任何事物是纯粹的好或坏,因此这些类型的文章通常会引人入胜,反过来又引导你更仔细地思考开源可能对某些事物有好处,但对另一些事物则不太有利的可能性。
由于对开源进行了深入反思,本期 Queue 主要关注开源和专有模式相遇(有时会发生冲突)时出现的问题。公司越来越多地以各种方式参与开源,通常在任务关键型的方式中使用它,有时会基于开源构建自己的产品。在少数知名的案例中,公司正在将开源作为自己的产品进行生产。“你如何进行开源开发”等问题已经被充分探讨过,虽然总有更多东西需要学习,但我们选择探索其他领域,而不是老调重弹。
将本期 Queue 汇集在一起比我们预期的要困难。我们试图避开“常见的嫌疑人”;即使他们有好的观点要表达,他们也已经有足够的论坛来表达他们的观点。而且由于他们的生活往往与开源紧密联系在一起(通常在经济上和情感上都是如此),我们预感我们会从那些损失较少的人那里获得更有趣的观点。即使这样也比我们预期的要困难——有几个人拒绝撰稿,在某些情况下,似乎是因为他们想避免说任何有争议的话。起初这让我们感到惊讶,但事后看来,答案很清楚:如果一个人来自一家将未来押在开源上的公司,他们就不太愿意说任何关于开源的负面言论,如果他们受雇于一家非开源公司,他们也不太愿意说任何积极的言论。
尽管如此,我们还是汇集了一套很棒的文章。首先,Jim Barton 向我们简要介绍了开源的历史,然后讨论了 TiVo 如何以及为何选择开源 Linux 作为其产品的基础。Paul Ferris 紧随其后,从宗教战争的角度审视了美国企业界如何看待开源与闭源——宗教是一个非常贴切的比喻,它阐明了两个阵营之间一定程度的敌意,但也表明双方都可以从对方身上学到一些东西。
一个常见的区别通常归结为在服务器与客户端上的使用。闭源似乎今天占据了桌面,但也有一些有趣的尝试来弥合这一差距(例如,Ximian)。为了了解桌面冲突的某个方面,我们展示了 Hal 和 Christopher Varian 这对父子团队对 Microsoft Office 和各种基于 Linux 的办公套件之间的互操作性进行的临时研究结果。
Mike Karels 给出了他对将开源转化为商业产品的看法。作为最早尝试这样做的人之一(他是 BSDi 的创始人之一),Mike 对这个话题的看法可能比其他人更成熟一些。John Weathersby 还讨论了开源在政府部门中日益增长的应用——在 IT 问题上,政府部门并不以大胆和疯狂著称。
期望传统的闭源世界对此袖手旁观是不太现实的,如果不提及 SCO 与 IBM 的诉讼,就出版一期关于开源主题的杂志,充其量也是不负责任的。Greg Lehey 为我们提供了关于所有正在发生的事情的有趣视角。
为了使内容更加完善,本期我们的访谈对象是 Chris DiBona。虽然 Chris 的名字不如其他一些人那么广为人知,但长期以来,他一直是开源社区中重要且备受尊敬的成员。他与 Queue 谈论了他如何进入开源领域,使用(非常)早期版本的 Linux,在 VA Linux 的生活,SCO 诉讼,他如何进入营销以及这意味着什么,担任 Slashdot 的编辑,以及他的新冒险事业 Damage Studios,设计一个在 Linux 上运行的多用户全球游戏。哦,对了,还有他为什么喜欢 Microsoft 的 Visual Studio(不,真的)。
这里应该有适合每个人的东西。
ERIC ALLMAN 是 Sendmail, Inc. 的联合创始人兼首席技术官,Sendmail, Inc. 是最早的开源公司之一。他之前是加州大学伯克利分校 Mammoth 项目的首席程序员。这是他在伯克利的第二次工作经历;他曾是 INGRES 数据库管理项目的首席程序员。除了分配的任务外,Allman 还参与了伯克利早期的 Unix 工作。他对 Unix 的第一次体验是在第 4 版。多年来,Allman 编写了许多实用程序,这些实用程序出现在 BSD 的各种版本中,包括 -me 宏、tset、trek、syslog、vacation——当然还有 sendmail。他在伯克利两次工作经历之间的几年在 Britton Lee(后来的 Sharebase)从事数据库用户和应用程序界面工作,并在国际计算机科学研究所参与了用于基于神经网络的语音识别的环形阵列处理器项目。Allman 还与他人合著了《Unix Review》的“C 顾问”专栏多年。他曾是 Usenix 协会董事会成员。
MARSHALL KIRK MCKUSICK,博士,拥有一家位于伯克利的咨询公司,撰写关于 Unix 和 BSD 相关主题的书籍和文章,并教授相关课程。他从事 Unix 相关工作已有 20 多年。在加州大学伯克利分校工作期间,McKusick 实现了 4.2 BSD 快速文件系统,并曾担任伯克利计算机系统研究组 (CSRG) 的研究计算机科学家,负责监督 4.3 BSD 和 4.4 BSD 的开发和发布。他感兴趣的领域是虚拟内存系统和文件系统。McKusick 在康奈尔大学获得电气工程学士学位,并在加州大学伯克利分校攻读研究生,在那里他获得了计算机科学和工商管理硕士学位以及计算机科学博士学位。他是 Usenix 协会主席,也是 和 IEEE 的成员。
最初发表于 Queue 第 1 卷,第 5 期—
在 数字图书馆 中评论本文
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 调度器。