从前,在一个小写字楼里,有一个勤劳善良的年轻码农,他一个人负责一个项目,没有人给他调数据库,没有人为他写前端页面。所有的事情都要他自己来,日子过的很辛苦。公司的运维走得早,机房设备都要他自己搞。周围组的程序员们虽然知道小伙子是个好人,但谁也不想来与他结对编程,就是因为他是全栈的,怕跟了他后会受苦。 小伙子太善良了,很多人跟他在一起工作都会有压力,都离职了。渐渐的,原来还是一个小团队的地方,就只剩下小伙子一个人工作了。 有一天,小伙子来上班的路上,捡到一个又大又美丽的田螺。他觉得很好看,就带回到办公室,养在桌上的大水缸里。小伙子不知道这其实是个田螺精。 那是个田螺精。他知道小伙子是个好人,就来可怜他,帮助他,在小伙子下班回家之后幻化成一个精壮汉子,帮他改 bug,补单元测试。等早晨小伙子快要上班来了,田螺汉子就又变回去,又住回田螺里面。 小伙子觉得奇了怪了,怎么突然有人帮他不声不响地就把 bug 改了,单元测试也补了。下意识里,他希望这是个汉子。他是想跟一个汉子在一起工作,然后再结对编程。 他一个人工作的时间久了,肯定有失落感,表现在他晚上加班多了,睡眠少了,心思多了。他想招人,一个大团队一起工作,蔚然如大树,形成一个上市企业,那是一件多么让人激动的事情。现在,他开始把注意力集中在办公室里发生的那些很奇怪的事情上。 有一天他提前坐早班车从上班来了。远远地,他听到办公室里啪啪啪有敲键盘的声音,等他推开门的时候,他听到“咕咚”一声,好像是谁往水缸里扔了块瓦片,他来得迟了,只看到缸里的水面涟漪渐渐平息。他觉得这是声东击西,做好事的人故意把他引到水缸处,本人却从另一个方向跑走了。 第二天,他 5 点就打 uber 来了,可是,并没有人为他改 bug;这晚,他就躲在屋子里,等候做好事的人出现,却没有等到。也许,那个人根本不想暴露自己的身份,受惊了一次,就不想再来了。小伙子怅然若失。 这样,他又要开始自己打点一切了,加上不时地琢磨神秘人物,小伙子开始为伊消得人憔悴了。更关键的是,小伙子总陷入自己思维的死角,根本比不上那人察觉 bug 的速度,小伙子翻了翻别人的 commit log,觉得自己总在救火代码质量实在是太 low 了。 小伙子连着几天自己加班改 bug,晚上失眠,身体不几日就精瘦精瘦的。躲在水缸里的田螺汉子,看在眼里,急在心里,心想这不成了自己害了一个善良码农吗。实在按捺不住了,田螺汉子就又从壳里面钻出来,为小伙子改 bug 补测试。 小伙子人虽晚上回家,却心系办公室。有一天突然智商上线,心想我把监控记录调出来不就好了。于是晚上买通保安,蹲在监控室盯着荧幕,看到田螺汉子从田螺里出来的这一幕,忙不迭冲进了办公室。 田螺汉子措手不及,结果 bug 还没改完,测试更是没开始写,但小伙子还是顺着这思路写下去并且提交了,笑咪咪地。 接下来的时间,小伙子就在想方设法怎么才能把精壮的田螺汉子留在自己身边。他躲在暗处,看到田螺汉子从田螺里跳出来,代码 push 后,又跳进田螺中。看了很多次,小伙子就有了主意,他想,我只要让他回不去不就成了吗。牛郎就是抱走了织女的衣服,延误了织女返回天宫的时间,才能和织女喜结良缘的。 于是,有天早上,小伙子开始编写非常烂的代码,仿照 IOCCC 的风格写了几个函数,设计函数表示错误时不用异常用返回码,还故意埋了几个 bug 在代码里。晚上趁田螺汉子跳出田螺壳改代码改得欲仙欲死还没有来得及回去的时候,小伙子一下子扑住田螺壳,死死的用两只手掌捂住。 放我回去吧。田螺汉子哀求。 可是你回去了就不会再来了。小伙子说,就再也没有人关心我,为我改 bug 补测试了。 可我是个精怪,你不害怕我吗?田螺汉子说。 是的,刚开始的时候我吓坏了。可你也是个码农。作为一个码农你对我的诱惑力远远大过了你作为精怪的恐怖,而且,只要我不让你接触这个田螺,你就永远只能是一个码农而不是一个精怪。小伙子说,我正需要一个码农,与我结对编程。 那好吧,你会得到一个码农的,他会做任何码农都能做的事情。但请你答应我,不要毁了我的田螺,它是我的自由。田螺汉子说。 我不会毁了它,但在我有生之年你也不会得到它。我知道你会想方设法偷走它,然后你就会离开我,甚至你会删掉磁盘根目录来报复我。小伙子说。 我们精怪和你们人类不一样,你们有太多的需要,而我们看重的只是自由。所谓的自由就是代码都用 GPL 授权发布,确保程序的自由被完善的保留。以 GPL 授权的代码允许用户享有以任何目的运行此程序的自由,再发行复制件的自由,以及改进此程序,并公开发布改进的自由。换言之任何接受 GPL 接受人都有修改、复制、再发行作品或作品的演绎版本的授权。许可证接受人可以对此项服务收取费用 ,反之亦然。这一点是 GPL 与其他禁止商业用途的自由软件许可证最大的不同。自由软件基金会主席 RMS 认为自由软件不应限制其商业用途,同时 GPL 清楚地说明了这一点。你可以去自由软件基金会的网站 www.fsf.org 上去查看更详细的 GPL 条款。
|