热心陌生人与开源的意义

1 位读者喜欢这篇文章。
Share in pixels

Opensource.com

我做软件工程师已经快 15 年了,虽然当时我没有意识到,但我从一开始就一直在使用开源软件从基本的 GNU 命令行实用程序到 C 编译器,开源从一开始就存在。

即使我的职业重点随着时间的推移而发生了变化,但在某种程度上,我一直生活在一个开源生态系统中无论是我使用的操作系统、我使用的库,甚至是日常使用的集成开发环境 (IDE)。尽管如此,直到三年前我加入 Red Hat 并开始从事 oVirt(一个开源数据中心虚拟化项目)的工作,我才想到要为开源软件做贡献。

我花了一段时间才接受这种开发流程,这与我之前经历的任何事情都完全不同提交功能页面以征求意见、提交补丁以供审查、与来自不同国家和公司的贡献者协作。这一切对我来说都是新鲜而不同的,但最终变得有意义。以开放的方式协作只是生产高质量软件的更好方式。

然而,尽管贡献了一些巧妙的功能和大量的代码改进,但我仍然不确定我是否真的理解开源,直到最近。我像往常一样在上班通勤途中浏览 StackOverflow,遇到了 一个关于在 java-libpst 中关闭文件的问题。即使我以前从未使用过 java-libpst,我也想尝试一下。快速浏览一下 javadoc,我发现确实没有办法做到这一点,除非释放对象并等待垃圾收集器处理它。我把这个写成了一个答案,正要点击提交按钮时,我的开源意识的第一阶段击中了我我们都知道文档并不总是完美的。开发人员很容易忘记(这是一种礼貌的说法,实际上是“忽略”)记录他的代码。即使开发人员没有过错,在线文档也经常过时,与代码不同步。如果有一种方法可以验证我的答案就好了……

哦,等等,有办法!快速 git clone 后,我浏览了代码,我可以确认确实没有办法显式关闭打开的文件句柄。我在 我的答案 中注明了这一点,点击提交,然后继续我的一天。

当我处理到一半的早晨电子邮件时,我的开源意识的第二部分击中了我。它是开源的。我刚刚克隆了源代码并检查了它。如果修复真的那么简单,为什么不言行一致,自己动手做呢?几分钟后,我提交了一个拉取请求,几天后,它被项目维护者 Richard Johnson 接受并合并。

对我来说,这就是开源的真正含义:当您发现软件不足时,您不必等待某个无名的发行商来修复您的错误报告或满足您的增强请求。您可以继续自己动手做。而且通常情况下,会有一个热心的陌生人出现并帮助您,原因仅仅是想让世界变得更美好,一次一行代码。

User profile image.
一位软件工程经理,他最喜欢的事情莫过于员工证明他是错的。白天管理 Synopsys Seeker Agents 研发团队,晚上摆弄数据库。

1 条评论

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.