
我从开源社区学到的30年经验
开源项目不仅仅是代码;它们是由充满激情的人们推动的,创造持久的改变。
1994年6月,我们中的几个人有了一个非常棒的想法:让我们创建一个DOS操作系统的开源版本。 在2024年6月29日,FreeDOS项目将迎来30周年。
DOS到底是什么?
如果您不了解FreeDOS,请允许我将时间拨回到1980年代。当IBM在1981年销售其首台IBM Personal Computer 5150时,他们需要一个操作系统来运行它。IBM与微软签订合同,微软又与西雅图电脑产品公司合作,为IBM PC提供磁盘操作系统(“DOS”)。

维基百科 知识共享 署名-相同方式共享 3.0 未本地化版本
十多年来,DOS一直是占主导地位的桌面操作系统。它在低端硬件上运行良好,并发展到支持更大的存储和内存。DOS提供了数千个出色的应用程序和游戏。如果您能想象得到,可能有人开发了一个应用程序来做到这一点。那个时代的人可能都记得桌面文字处理器,如WordStar、WordPerfect和PC-Write – 或电子表格应用程序,包括VisiCalc、Lotus 1-2-3和Quattro Pro。
我从小就接触DOS,从1981年的IBM PC一直到我在大学本科期间。我喜欢使用DOS,特别是命令行,我发现它非常灵活。当我学习C编程时,我也能够创建自己的工具来扩展DOS命令行功能。
但是,当微软决定停止制作新的DOS版本,转而全力投入Windows时,我不想失去命令行。我也不喜欢Windows 3.11,最新的版本。Windows是一个运行在DOS之上的“外壳”,但它笨拙而缓慢。如果一个Windows程序行为不端,它可能会导致整个Windows崩溃。如果Windows“3.2”或“4.0”会像Windows 3.11一样,我就不感兴趣了。相反,我更喜欢保留我的DOS应用程序。
我在一个名为Usenet的讨论区询问,寻找DOS的开源版本。没有人正在从事这方面的工作,但人们认为这是一个好主意,并鼓励我去做。有了这种鼓励,我决定是时候创建我们自己的开源DOS了。在1994年6月29日,我宣布了一个项目来做到这一点。最初称为“PD-DOS”,我们很快将项目重命名为“FreeDOS”,以反映我们制作自己的DOS的自由软件和开源目标。在2024年6月29日,FreeDOS项目将庆祝开源30周年。
开源社区的经验教训
作为FreeDOS的项目协调员,我喜欢认为我已经学到了一些关于如何维持开源社区运转的经验。以下是我在维护开源项目这么多年来学到的一些经验教训
1. 它不仅仅是代码。开源项目必须扎根于社区。如果没有为新想法和持续开发敞开大门,即使是最善意的项目也会变成停滞不前的回音室。
这意味着您需要对沟通持开放态度;如果有人提出了一个不符合项目最初目标的新想法,不要断然拒绝它。考虑一下这个新想法是否可以开启新的功能或做事方式。它可能是为项目带来酷炫新功能的火花。
2. 保持人们的参与度。作为项目协调员,我 চেষ্টা to keep people engaged. 这可以以多种形式出现,最基本的形式是认可那些以某种方式为项目做出贡献的开发人员,例如添加新功能、修复错误或发布新版本。
但是参与度也关乎寻找其他方式来认可人们。例如,在过去的几年中,我们通过发布采访和电子书,分享他们对FreeDOS的反思,来庆祝我们的社区。最近,我们还举办了虚拟聚会,在那里我们可以彼此了解,而不仅仅是一个电子邮件地址。
3. 维护一个网站。每个开源项目都需要一个网站。它不需要是一个伟大的网站,但您需要一个网站来为项目提供一个虚拟的“主基地”。一个独立的网站是理想的选择,但带有Readme文件的GitHub存储库也足够了。
新用户在听到您的项目时,首先会做的事情就是访问您的网站。网站是分享有关正在发生的事情的新闻的好机会,例如新版本。此外,考虑为您的网站应用一致的外观和感觉,并提供大量屏幕截图,以展示程序的外观以及它可以做什么。
我建议每年左右刷新网站。这并不意味着要彻底改造网站及其内容,而是利用这个机会重新审视网站导航。随着时间的推移,当您需要向网站添加更多信息时,您可能只是添加一个新的页面或“信息框”,而没有考虑用户将如何找到它。通过每年刷新一次网站,您可以清理任何网站垃圾并保持井井有条。
4. 分享好消息。除了网站之外,还可以考虑其他方式来提高人们对您的开源软件项目的认识。在FreeDOS项目中,我们发现将视频发布到我们的YouTube频道是帮助人们了解FreeDOS、它是什么、如何使用它以及您可以用它做什么的绝佳方式。我们有关于各种主题的视频,包括如何在VirtualBox中安装FreeDOS、如何使用软件包管理器添加程序、如何设置环境以创建新程序以及如何开始使用FreeDOS 1.3。
作为项目协调员,我也喜欢为网站撰写有关FreeDOS的文章。您可以分享的关于您的开源项目的信息越多,人们就越会觉得它熟悉并想尝试一下。
5. 保持开放的沟通渠道。开源项目需要保持开放的沟通。这可以采取多种形式,包括电子邮件列表、讨论区或其他一些讨论论坛。其他人们可以提出更一般的“帮帮我”问题的论坛也可以,但尽量将所有关于项目开发的讨论都保留在您的官方讨论渠道上。
例如,FreeDOS项目有两个电子邮件列表,freedos-devel 和 freedos-user,大多数FreeDOS开发人员都在这里闲逛。我们在这里讨论影响项目的主题,宣布FreeDOS程序的新版本,并就我们可能做的新事情或对FreeDOS进行的更改达成共识。但我们也有一个Facebook群组,其他用户更喜欢在那里提出诸如“我如何在FreeDOS上运行X程序”之类的问题。一些FreeDOS开发人员也在Facebook上,但我们明确表示,电子邮件列表是我们做出决定的地方。
6. 保持尊重。开源软件社区需要为彼此之间的尊重沟通设定期望。使这些“基本规则”清晰的最佳方法是发布一份关于什么是可接受行为和什么不可接受行为的行为准则。我们在我们的网站上发布了我们的行为准则。

7. 这也关乎代码。如果没有每个人都可以下载、学习、使用、修改和共享的源代码,开源项目就不是真正的开源。请务必为您的项目选择一个公认的开源许可证,以满足您的目标。例如,我们包含在FreeDOS中的每个程序 – 包括内核、command.com shell和实用程序都根据GNU通用公共许可证或类似的开源和自由软件许可证分发。
庆祝开源30周年
我们很高兴FreeDOS将迎来30周年!三十年对于任何开源项目来说都是很长的时间,特别是对于像FreeDOS这样的复古计算操作系统而言。
但这都归功于我们社区中伟大的开发人员和用户。在庆祝FreeDOS时,我们也在庆祝每个创建程序、修复错误、添加功能、翻译消息、编写文档、分享文章或以其他方式为FreeDOS项目做出贡献的人。
感谢编写我们第一个内核的Pat Villani,以及之后维护内核的众多人员,包括John Price、Bart Oldeman、Tom Ehlert和Jeremy Davis。 也非常感谢像Tim Norman、M. Hannibal Toal、Eric Auer、Martin、Arkady、Bernd、Charles、Eduardo、Rene、Dave、Mike、Aitor Santamaria、Tom、Paul Vojta、Joe Cosentino、Shaun、Till、Wilhelm、Rugxulo、Mateusz Viste、Gregory Pietsch、Imre、Louis、Fritz、Jim Tabor、Jason、Jerome Shidel、Ron、Lucho、ror4、Steffen、Ralf Quint以及我们社区的许多其他成员的开发人员和用户。
期待未来更多年!
3 条评论
评论已关闭。