Docker open-source-a-thon小记

周四的晚上,去时代广场微软的纽约总部参加了一个Meetup,跟不少技术宅聊了聊天,也亲见了外国人是怎么做开源的,觉得觉得还蛮值得一书的。

当天的主题是庆祝Docker的两岁生日的系列活动之一。名字叫做open-source-a-thon,因为活动形式跟Hackthon很像。 组织者设立了一个网站:docker.party。号召大家为Docker贡献代码和文档。有意思的是,因为Docker的Logo是一个鲸鱼,于是他们决定跟某个保护海洋动物的慈善机构合作,在活动期间参加活动的人每成功为Docker相关的项目提交一次代码或文档,活动赞助商就向该慈善机构捐助50美元。

不得不说这个点子还蛮赞的。因为当天吸引到的都是对Golang或者Docker有兴趣的人,不说免费的披萨和啤酒,能在github上成为Docker的contributor其实还挺诱人的。而Docker则不但推广了项目本身,还突然多了一大批人来帮忙改进一些大牛们懒得去看的细枝末节(比如出错信息,指引文档之类的)。当然,对应的慈善机构也乐得多筹一些款项。所以说算是三赢。

开场前,有个叫Steve的人在会场内问,谁会Go,谁知道open source,出乎我意料,举手的人其实并不多,而我因为两次都举了手,也被招募为当晚的Mentor之一,被发了一件紫色的T恤。

T shirt

当然,后来我才发现这个Steve自己其实是github上的spf13,本博客所使用的网站生成系统Hugo的作者。能目击大牛,也算是当晚收获之一了。

然后随着大家吃完披萨陆陆续续地回到会议厅,Steve把活动的流程和规则简单讲了讲,大家就开始分组开始干活了。组织者很贴心地给Docker项目在github上的700多个issue中很多都打上了标签,标明了难度和类别。有代码相关的,也有文档相关,所以即使你不会写代码,也可以参与进来。而且他们设计了一个小机器人GordonTheTurtle,自动分析issue页面的评论,来给当前issue打标签

Docker issues

开始之后,我跟附近的人聊了聊天,各自自我介绍了一下,发现完全不懂Docker或者Golang的也还挺多的。导致一时间我也不知道怎么去Mentor人家了,因为我觉得虽然Golang很容易,但也不是几分钟能讲完的。 后来Steve过来给了个很好的建议,说如果之前有编程经验,那么学习Golang的一个很好的办法是看代码写注释,因为Golang的文档都是自动生成的,所以了解了注释的格式之后,写注释就相当于写文档了。

于是几位小伙伴立马就挑代码开始看了起来。不得不说这是个好主意。我们一直说学习一门语言最好的方式是读开源的代码,平时也会去读读Docker的代码,但是一直没有想到这其实也是个入门的好方法,而且还能够从一开始就给开源代码做贡献。看起来一开始我举手说懂open source是大误了,其实我还真的不怎么懂open source。我一直认为做开源首先你自己得是相关领域的大牛,而且我之前狭隘的理解给开源项目做贡献就是帮人家实现新的功能或者改bug,无一不需要大量的时间和对相关技术的精通。

而谁知道真正做起来,其实门槛要低得多,当晚我看了一会儿issue列表,就尝试着自己claim了一个小的输出信息的issue,直接改了然后提交了pull requset了。当时我就想,要是我们自己的产品代码也能请用户帮忙完善细节该多好。

第二天,我就发现自己的pull request已经被并入Docker的代码主分支,在开心自己为开源和慈善都做了一些贡献的同时,还发现有人给我发了一点叫做PrimeCoin的电子货币。

contributor!

谁知道做开源这么好玩呢?

另外,当场还跟另一位Mentor聊了聊天,感觉这娃对Go和开源项目都很有研究,自己平时也做很多好玩的工具,一听说他再给一个加拿大的公司远程打工,就觉得放着大好的纽约机会舍近求远太浪费了,于是塞给他我的名片一张,看看能不能赚点推荐费,哈哈。

comments powered by Disqus