为什么开源对你这么重要?
我的信念是,开源是允许“知识”在软件工程领域扩展的原则。在能够解决实际问题之前重新发明轮子只能让你走这么远。如果每个人都能站在别人的肩膀上,随着时间的推移,我们都能到达越来越高的地方。
问:你在哪些方面对开源做出了贡献?
我为许多现有的开源项目做过贡献,其中最流行的是WordPress Core。我还维护或共同维护项目,比如WordPress的命令行界面WP-CLI。此外,我还确保我工作的客户端项目将所有可重用代码作为开放源码包贡献回来。我通常把这些项目收集到GitHub组织的brightnucleus中。
问:你是什么时候第一次听说开源的?那时候你对开源有什么想法?你现在对开源有什么看法?
在90年代中期,我对开源有了更直接的认识。那时,我迷上了Sourceforge站点,它拥有数以千计的开放源代码存储库。这是我第一次能够访问这么多的源代码,以便为自己的目的自由浏览和重用。这改变了我的生活。无穷无尽的软件工程知识在同行之间自由分享!
当时,我甚至都没有在家里上网,所以当我有机会进入互联网,我浏览代码存储库在Sourceforge下载ZIP档案无论我想检查仔细,带回家与我的代码(软盘!)。
如今,我认为开源是我们现代社会的一个重要组成部分。几乎所有的东西都是软件驱动的,而且几乎所有的软件都直接或间接地构建在开放源代码之上。
问:开源是否说明了产品的质量?
开源并不直接说明产品的实际质量,但是它使任何人都可以详细地评估给定产品的质量。专有软件不一定更好或更坏,但你只有在开始使用它之后才会发现它的真正质量,你不能在前面检查它。
问:你的第一个开源贡献是什么时候?
我不太确定我记得对不对。我想它一定是Linux项目的硬件驱动程序,大约在90年代中期到后期。当我第一次使用Linux进行试验时,驱动程序的情况仍然非常糟糕,许多不太常见的硬件根本不受支持,或者仅以一种不完整且有bug的方式得到支持。在那个时候,如果你真的想让新设备运行起来,自己为外来硬件编写硬件驱动程序是很正常的。
问:你如何从开源中学习?其他人如何从开源中学习?
只要打开代码并阅读它!它的大部分都带有文档和内联注释,因此应该很容易弄清楚它做什么以及为什么要这样做。
如果重用现有的开放源码库,就可以轻松地进入和退出库的代码,并检查它的功能。这种“边做边学”的开源变体是一种快速改进代码的方法。
维护良好的项目通常还会在提交拉请求或补丁时提供免费的代码审查。这就相当于有一位导师在你的肩膀上看着你,告诉你在哪里可以进一步改进,而这一切的代价都是微乎其微的——没有比这更好的了。
问:为什么开源对每个人都很重要?
现在很难找到一个不使用任何开源工具或库的电子设备。每个人都被开源的好处所包围。一个没有开源的世界将会看到更少的技术进步,而它们将会付出更高的代价。
问:你必须是一名开发人员才能参与开源吗?那么开源社区中的多样性呢?
不,您可以很容易地参与到开放源码中来,而不是开发人员。WordPress社区就是一个充满活力的例子,所有行业和背景的人聚在一起为共同的目标而合作。
问:我想为开源做出贡献!我在哪里开始呢?
拿起任何你非常感兴趣和好奇的东西!我敢打赌,您不需要深入挖掘,就可以找到相关的、欢迎您的贡献的开源项目。如果您需要更多的动手指导,可以从GitHub这样的开放源码门户开始,在那里您可以浏览数以千计的流行项目,并了解它们需要哪些帮助。