Huozhi

隔着屏幕的朋友 - 开源参与小记

「开源」指开放源代码,任何人都可以访问,并根据协议进行不同程度的使用。整个 web 在开源圈一直很活跃 —— 前言

介绍一下 ZEIT

说起 zeit(现在叫 vercel)可能很多做 web 的人都听说过,zeit 是一家很小的公司,整个团队只有三十来人,但是却产出了大量优秀的开源作品,他们的各种 js lib 支撑了无数网站和应用。代码精致,小且优美,包括他们简洁的设计在内,很多都像小巧的艺术品。去年在知乎上突然看到了一篇回答,「zeit.co 是一家怎样的组织?」,回答者是 @shuding,zeit 目前在中国大陆唯一的员工,这两年一直在 remote 工作。

image

zeit github page

zeit 的平均年龄都很小(感觉很多 20 多岁的人,写这篇文章的时候),成员几乎来自世界各地。远程工作、时差讨论,随意切换工作地点和工作时间。我一直深怀羡慕。去年年底的时候在 github 上关注了他们几乎大半个 team,看了很多人的主页、code 和 design 作品,都是简洁又独特。

定义「参与」开源

一次在 twitter 上回复 shuding 的一条技术思考,然后收到了回复(提到了他在做的 swr 这个 lib)和突然的回粉(???),算是认识了。 某天突然看到了 zeit 另一个成员 @timneutkens 的一篇采访,他讲了他自己如何从一个大学前的实习状态(好像是荷兰政策的要求)开始给 next.js(zeit 最风靡的作品之一)贡献代码,然后成为核心 contributor 最后加入的经历。他提到最重要的一点就是,从帮助别人开始,哪怕不能修复 bug,回答问题也算是一种宝贵的贡献和帮助。

自己平时喜欢做一些小工具,或者很基础的 js lib 然后挂在 github 上,但基本上全靠野生的 star,所以也一直无人问津。一直只在制造东西但是未曾参与项目的我突然醍醐灌顶,可能对「参与开源」的认识需要变了。开始在 zeit 的各个仓库的 issues 里翻来翻去,最后发现只有 swr 差不多能很快上手帮忙修修 bug,然后在放假的时候搞了一下提了几个 PR。

其实如果放在几年前可能还是没有办法这么做,大家总说得很轻松可以给开源项目贡献 code,但其实对国内的软件工程师真的没那么方便,因为英语确实是一道坎 -_- 。。。现在勉强可以快速能看懂别人的问题,然后解答,或者帮忙修复。慢慢持续了一段时间之后,被 @shuding 拉进了某个聊天组,开始有机会实时交流一些项目上的想法,还有闲聊了很多关于开源和他 remote 工作的经历。甚至还发现我们都曾出现在 hackshanghai (2014 & 2015) 两次活动的现场...

慢慢感受到了,原来还可以这样玩。开源不止是写,还有维护、社区、推广、教学...比我想象的要多的多,社区也比我想象中要更复杂和活跃。收到陌生人提的 issue 或者建议,还有各类问题,评论后等待异步回复的消息,所有人都在跨着时区交流...如果你希望体验一下,找一个你喜欢的仓库,成为一个 contributor 试试看,真的很有趣。

image

参与 contribution 的这段时间,star 也涨了好几 k 的样子

他们是独立的

我之前一直觉得有时候关于这些专业、兴趣的交流很少,总感觉很寂寥,没有一个社区或者圈子一直在热火朝天地聊某个事情,所以很多东西才很难做出来。但后来发现,正是在和这些一个个犀利的,又非常独立的工程师交流后,才发现正他们往往都是非常独立的。在现在这个十分内卷的环境里,大家都渴望努力、晋升、赚钱然后做出成绩,而他们很多人并不是这样想的,他们选择了一条很有意思的道路,一路上都在追寻自己喜欢的东西。

有时候我又在想,如果我也像有几个年轻人一样,没有选择去上大学,我会在做什么呢?可能没什么,因为当时的视野太狭小了。而我现在看见他们,羡慕的不是他们的能力或者成绩,而是他们对自己决定的信心,it's cool so let's do it! 离开校园后好像我已经忘记了这种感觉。我也想尝试一下只做自己喜欢的东西,而现在需要再找回「喜欢某件事情」的力气。

可能你在惦记 remote 工作的时候,真正在 remote 的人已经惦记起了独立开发,等到你 remote 的时候你可能又开始羡慕。到底怎样选择才会让自己平静且快乐呢?我想就是一直去探索更多的选择,找回分辨自己厌恶和追求的能力,试一试不一样的生活。

小厨房「广告位」

image

给小厨房画的 logo

最近也在找点别的乐趣。在给自己的小厨房开了一个账号,宣传一下 ins: huozhi.food, 欢迎关注 😉

© 2020, Huozhi