🖌 开源的心情:杂志、画画与创业公司
本文亦见于 Kowyo 的个人主页。
缘起
23 年底,因为曾经参与过贡献,收到了学校开源项目「OpenAuto」的邀请参与「OpenAuto」网站的搭建,这个项目平时使用 GitHub 仓库分享学长学姐流传的学习资料,有效解决了自救群资料代际交接比较麻烦的问题,因此我觉得是一个很有意义的项目。尽管自己没有创作学习资料的动力,但了解到了这个项目现在需要创建一个网站,而这又恰好是我所擅长的范围,因此我就选择加入了。
关于动机的参考,浙大、北大乃至本校另外一个专业的项目都使用了同样一套模版,我觉得是一件很懒惰的事情。清华同类项目的作者在自己的博客中有一句话却说的很好:
但是我其实平时挺爱搞事情的,也想以另类的方式来获取影响力从而帮助他人。 比如我在大三下学期创立了一个 GitHub 仓库叫 thu-cst-cracker,里面收集了 各种我用过的学习资料。我想改变目前大学学习以信息战为主的方式,让大家公平 竞争,于是无偿分享给需要使用的人,目前已经有一万三千 star,当时也被报道 了一波,也确实帮助到了不少学弟学妹们;
认同这是一件有意义的事情,并且自己有所能力贡献,是我加入这个开源项目的初心。
杂志的好奇心
我中学的时候喜欢看报纸和杂志,因为那时候觉得这些读物可以摆脱枯燥的学习,同时可以不用像阅读名著那样字字斟酌。
23 年初,我因为看到朋友搭建的博客而有了动力,学着搭建网站并写下了第一篇博客:「通过 Hugo+GitHub Pages 搭建你的第一个博客」。当时想着将这个博客作为我的「网志(网路杂志)」,在上面发表各种内容(周报,论文笔记,教程)。写作的模版来自于其他优秀的博客。尽管影响力甚微,我还是收获不少,在搭建和写作过程中接触到了不少开源社区的知识和新鲜资讯。
自己最初参与 OpenAuto 项目的维护,多少也是出于希望办一本更有影响力的杂志的想法。
画画的闲心
这个网站如果只是要实现基础的功能,其实我们最初一个月就已经实现了基础功能,但是就像要杂志需要有装饰的插图一样,我和几位维护者虽都是前端小白,但是也做了一些 UI(用户界面)上的改进:
- 移植原主题的 shortcode 让文件的下载链接显得像目录树一样(by me)
- 半年前来自开源社区的 VTuber 风格的 VSCode 标志火爆了全网,我联系到了开源社区运营类似项目的画画家 Petrica 帮助我们设计了 Logo,Petrica 很快地回应了我并为我们制作。我至今想起来都觉得感激不已。Longlin(我们的一位维护者)为我们把这个 Logo 移植到了网站。
对我来说,敲敲打打键盘,至今都还是不懂 html,css 和 js 这「前端三件套」的系统知识,但总之就是把代码改了一下之后风格变好看了,就算是辛苦自己在前端上做了努力。我对我使用的产品还有一个很重要的审美原则,就是尽量不改变原貌(使用原生组件,不使用美化插件),并且尽量参考一些非常有设计/知名的网站:例如苹果,或者一些已经很成熟的文档样式进行设计。
这是一件非常需要闲心的事情,你现在在网站上看到很多不起眼的小细节,背后都有维护者在不少的夜晚的 CI 等待中受折磨。
创业公司的操心
我们的网站实现了自动抓取组织仓库下的文档并渲染到网站,根据每个仓库下的课程资料生成 CDN 分配的下载链接,由于需求奇葩,同类项目大多没有转型,我们的项目自动化部署方案应该是全网唯一的,虽然理解之后并不复杂,但总归做了一件对于建站小白来说值得骄傲的事情。我们在技术方案的选型和实现上,由于无可借鉴,也算是操过技术型创业公司的心了。
项目技术稳定之后,我又操起了用户群体的心,一本杂志的排版很好,但是吸引用户的核心关键还是内容。如果一直都是我们原始团队成员写文章/贡献资料的话,杂志的内容就自然就会乏善可陈,并且我们毕业之后,还有随时断代的风险。
由于我们项目是资料分享的性质,「开源」自然就成为了项目很好的属性。通过开源,我们允许任何人贡献资料,编辑文档,也允许任何人看到我们一点一滴的改变。但是,可能是因为网站结构比较新颖的原因,加之很多自动化的同学都是代码小白,我们没有能收到期待中的“参与”(我会尽量用“参与”这个词代替“贡献”,灵感来源于台湾同类项目「資夢」,开源项目是任何人都可以参与的,很平常的一件事,用「贡献」这个词担心会让有一些同学有心理负担)。
我们从以下三个方面作出了努力来让我们的项目活的更久:
宣传
我们做出了以下几点的努力:
- 转发海报到各大相关群聊。
- Maxwell(我们的一位维护者)在淘宝制定了贴纸在线下派发。
- 在群聊讨论到相关话题时,会援引项目中的链接(例如 git 怎么用,学生邮箱羊毛怎么薅,xx 资料怎么找)。
- 邀请各个领域的同学加入博客创作,资料分享,加入核心团队。
文档
作为技术型产品,详尽的文档可以让用户更快上手熟悉,因此我们制定了以下文档:
- 「参与指南」:内容公约,格式公约和操作指引。
- 「新人指南:不使用第三方工具访问 GitHub」:无法顺利连接 GitHub 是很多同学遇到的痛点问题。
捐赠
这是最现实的也是最开始想到的,因为域名并不便宜(13 美刀/年)。考虑到大学生经济情况和项目性质,我们希望每个用户可以带来 2 元的捐赠,以保证项目的社区性质。尽管后来事实证明这个途径获得的捐赠来源有限,我们还是要对曾经和将来捐赠的金主爸爸妈妈表示感谢,我们的捐赠者名单在 这个页面 中,虽然是个人赞赏码,但是捐赠者和捐赠的金额在维护者内部公开,以确保透明性。
我在运营开源社区的时候,很大程度上受到 GitHub 一篇博客的启发:Building Welcoming Communities。
在上述的努力下,我们让 OpenAuto 在第一年成功的活了下来,并且超越了很多我们原来设想的目标。我们对社区/普通用户的肯定表示感谢。
写在最后:对开源事情本身的一点随心
2023 年年底,Clash(一款网络代理工具)相关的许多开源项目遭到删库,这在开源界引起了巨大的讨论和争议,这其中诞生了一篇很触动我的文章:「基于荷尔蒙开发的开源项目」。文章中针砭了很多开源圈子的时弊:
究其根本,一个没有商业化的开源项目,本质上就是开发者的技术热情。换句话讲,这样的开源项目就是其开发者荷尔蒙在成果上的体现。
也许我和几位目前的核心开发者也终有一天会因为忙碌的生活而褪去荷尔蒙。到那时候,如果没有新的核心维护者,没有人审核 PR 的时候,也许这个项目就真的「死亡」了。
所幸,这个项目在现在还很活跃,在过去的一年里达到了我们从所未遇见的影响力,你可以从 longlin 的「写在 HOA 一周年之际」 开头了解更多。
同时,感谢 Oliver 和其他所有维护者,他们贡献了大部分的资料和文档。Oliver 在 「OpenAuto 一周年生日纪」 中分享了资料维护的体验。