最后更新于2017年11月6日星期一21:23:12 GMT

我想和你们分享一些非常神奇的东西. 但在此之前,请允许我介绍一下背景故事.

The Backstory

我使用开源软件(OSS)已经有一段时间了. 我从大的开始, Apache, Maven, MySQL, etc…. 但是,随着时间的推移,我的工作变得更加专业化,我开始使用较小的项目. 当您使用像Maven和Apache这样的大型项目时, 有一船的书, 你可以用视频和文章来学习你需要的东西. 然而,较小的项目没有相同的资源. Thus, 有时候,让开源软件启动并运行关键任务是一件苦差事.

我的工作风格是当我不能让代码工作时,不要拐弯抹角. 当我碰壁时,我就去找根源,没有双关语的意思. When I am jacked up, 我通过在StackOverflow或GitHub上发布问题/问题来联系项目, 有时我会直接编写项目的创建者.

现在,神奇的地方来了.

这是我的做法,当我得到报酬工作补偿那些帮助我的人. 我曾不止一次地联系OSS贡献者,提出一些相当复杂的问题. 当一个问题得到对我有利的回答时, 我询问我可以寄多少钱给帮助方作为补偿. 到目前为止,每次我这样做,都被拒绝了.** That’s right! 我提出的付款被拒绝了!**但是,我坚持,最后通常会送一张亚马逊礼品卡.

尽管如此,这段经历还是相当惊人,以至于这种模式激起了我的好奇心. 我需要知道发生了什么事. 所以我问了一些帮助我了解更多的人. 这是他们告诉我的.

“知道别人在用你的作品,这种感觉很酷。”

Brandon Goode是开源项目的发布者, Dynamoose. Dynamoose是Amazon Web Service的建模工具 DynamoDB. Dynamoose允许NodeJS开发者通过抽象模型来处理DynamoDB中的数据. 布兰登每周花2到10个小时回答关于Dynamoose的问题. 我知道,我是他帮助过的人之一. 我问Brandon,为什么他花时间回答关于他的项目的问题,却不期待回报. He replied:

“我喜欢帮助别人完成他们的项目,我也得到了很多回报. 社区是我合作过的最好的QA部门. 他们不仅会帮助发现错误和有缺陷的逻辑,而且还会修复它们. 知道别人正在使用你的作品是一种很酷的感觉. “

是的,布兰登就是那些拒绝我付款的人之一. 显然,获得帮助来改进项目对他是有好处的. 然而,从本质上讲,布兰登似乎是那种想通过做好事来获得成功的人.

他不是唯一一个这样的人. 想想杰里米·惠特洛克.

“我喜欢把爱传递出去。”

Jeremy Whitlock 参与了许多重要的开源项目, Kubernetes, Node.js, OpenAPI (formerly known as Swagger), and Subversion, to name a few. 我是在使用的时候认识杰里米的 Swagger-Tools. 就像我的惯例一样,当我遇到瓶颈时,我会写信给知情人士,在这种情况下,是杰里米. 根据我的经验,杰里米帮了大忙. 事实证明,Jeremy把他的时间分给了他的雇主支持的开源项目以及他自己的工作. 杰里米每周花4到20个小时来支持他的个人项目. 当我问他为什么时,他是这样告诉我的.

“我喜欢把爱传递出去. OSS帮助了我这么多,所以我想帮助OSS社区. 我也认为OSS在简历上是很好的,所以参与到正确的社区中, 比如Kubernetes和Node.js, looks great.”

再一次,和布兰登一样,杰里米从帮助别人中获得了职业上的好处. But, 以他的才能和经验, 杰里米可以忽略他的问题页面和收件箱里的求助电话. 他一点也不难受. Yet, he doesn’t. Why? 分享的概念, 帮助下一个人, 照顾社区是杰里米的首要任务.

这让我们想到Seth Kenlon.

“开源是人类的自然状态”

Seth Kenlon 开发各种开源软件. 他为编剧和操纵视听媒体制作工具. 此外,他还为Linux开发环境编写实用程序.

Seth除了每周花几天的时间为他的项目和他参与的其他项目编写代码之外,他还在为自己的项目编写代码 contributor在美国,他每周花大约8小时回复那些使用他的软件的人发来的电子邮件. 当然,我问他为什么. He reports:

“开源是人类的自然状态. 我们人类并不想变得贪婪,囤积知识和权力. 当我们害怕挨饿或害怕不被认可时,我们就会这样做, or whatever we fear. 但在内心深处,大多数人都想分享. 我为开源做贡献是因为我相信这是社会自我管理的正确方式, 为自己提供工具和技术, 并改善其成员的生活.”

Wow. 说了这些话之后,没什么可说的了.

A Call to Action

当我第一次开始体验到开源社区给我的极端慷慨的思想时, 我有一种感觉,不只是扔代码这么简单. 我开始相信有. 这一切的核心是社区的概念. 在这个星球上,我们中的一些人认为社区是有共同兴趣的人的集合, 谁为个人和团队做出了贡献.

听起来不错,是吧? But beware, 还有另一种观点认为,如果有人可以免费得到一些东西, he or she will.

开源社区有, to date, 一直是前者的一个有效例子:社区成员为所有人的利益做出贡献. But, there is a rub. 为了成为开源项目的贡献者,您需要有时间做出贡献. 或者换句话说,为了成为一名志愿者,你需要有时间去做志愿者. 可悲的是,我们中的许多人都没有. 我们有房贷要还,有孩子要养. 我们没有雇主或赞助者来资助OSS的工作. 或者,我们的大学编程时代已经结束了. 我们需要为我们所做的工作得到报酬. 汽车贷款需要这样做.

But still, 对于我们这些必须赚钱才能度过难关的人来说,利用业余时间来指导我们孩子的少年棒球联盟, 我们真的想成为那种认为不劳而获是完全可以的人吗? I know that I don’t. 因此,我送出了礼品卡.

So, 下次当您下载一个开源软件成为您职业生活的一部分时, 或者你的问题在GitHub上得到回答, 找到帮助你的人,并帮助他或她, 即使只是送一张5美元的礼品卡或一张免费电影票. At least do something. 请加油. 因为,正如我们在地形上了解到的, 一个索取多于给予的社会!


从今天开始用一个工具捕获和分析所有日志数据 免费Logentries帐户.