参与开源松的一些个人想法

在我做一些杂乱无章和文笔极差的叙述之前,我必须抛出自己的一个很主观的观点:

“开源松有一个相当好的机制,对于开源项目维护者和开源贡献者来说他是互利的。”

---- 以下是正文 -----

开源是侠客行为?

相信很多人接触到代码厨房应该是从一开始的hello flask社区,,那里聚集了很多刚刚开始接触web编程,接触flask的人群,当然也包括我自己。那会了解到 @greyli 也是flask的维护者,我当时觉得那是一件很酷的事情,开源工作者,没有什么回报,在网上给人解答问题,维护大家用的框架。 这更像是一种武侠小说里面的侠客行为。

我在洗衣服和刷碗的时候听过Python捕蛇者里面的一期栏目,里面 @greyli 讲述了自己是如何开始从零到一为开源做贡献,我从中学习到一个很重要的品质 : 胆子大,脸皮厚,这两个词不是贬义的,这是王道少年漫画里面主角标配的特质。

所以,刚学会一点点Python,精通git里面的pushpull的我也硬着头皮报名了这第一次开源松。由于怕搞不定项目给网暴(狗头),我选择了相对简单任务,我接的项目是为flask-ckeditor写一个防止xss攻击的函数 链接

一波N折的第一次PR

这个项目简单来说就是调个bleach的包,然后封装一下别人提供的函数,我在一个无风的夜晚,劈里啪啦几十行代码,很快就搞定了,为了装逼,考了4遍四级才勉强过的我还用英文写了docstring。由于不知道怎么提交PR,我还去网上搜了有一会,这篇通俗易懂给有需要的朋友分享以下。

啪的一下很快啊,一个git push提上去,然后我的屏幕上出现了一个叉,

这应该是给拒绝了的意思吧…

我不服气,咔咔一顿查,噢 原来如此,是因为仓库设置了一个叫github action的东西,可以用于设置仓库的一些自动化的操作,简单来说就是在我提交PR的然后git push到主分支的时候,它自动去跑单元测试格式检查了,然后我单元测试没通过,格式检查也没通过,所以出现了个大叉。下面是我查到的一些资料。

花了点时间伺候好单元测试和格式检查之后,我再次直接再一个commit 然后 push上去,啪的一下很快啊。

结果还是有问题,看描述应该是没有达到目标的覆盖率,所以又是一个鲜红的叉。

这时候我收到了邮件,是李大的review。

他给我指出了每一个存在问题的点,包括我蹩脚的英文

需要符合代码仓库的docstring写法。

用一个or替换掉了两行代码。

很多时候,我自己一个人写代码的时候,对于代码写法啊风格啊本身是没有反馈的,只有命令行反馈给我结果正确与否,这让我觉得,我好像给拉到了一个真实的交互的氛围之中,而且这种交互是正向的。

我想这可能就叫做社区吧。

我后面补上了一个单元测试,修改了李大提出来的一些问题,我贡献的一些代码也成功的躺在了flask-ckeditor的主分支之中!

当然了,还有很多的地方是李大自己兜着底,比如一些新函数不符合直觉的地方的修改,比如新功能的文档还是李大自己commit的,由于不会rst和英文比较烂,我也并没有为新功能去写文档。

当然,都是会用搜索引擎的成年人了,”不会"不能成为借口,下一次开源贡献,我希望自己能做得更好一些。

欢迎大家加入代码厨房和参与开源松

站在一个用户和参与者得角度,我觉得代码厨房的功能完善程度(我爱死了每个动态有邮件推送的功能,估计得花钱吧),还有一些小彩蛋的设计,贡献者的徽章啊和成就系统,在国内属于是较高水平的了。

在各大论坛都是营销号和水文横行、贩卖焦虑的今天,我认为代码厨房更有可能成为中国的stack overflow,这里大佬也很多,flask的维护者 @greyli ,pdm的作者 @frostming 都在哇,这些人都是切切实实的有在参与到社区活动中的…

如果你也像我一样,也想试试开源贡献是什么感觉(提交代码还有回答别人问题巨有成就好吗?)

那请放下一些程序员固有的闷骚参与进来吧 !

4 Likes

感谢 r1cardohj 超级认真的总结!很开心开源松能给你带来好的体验。也非常希望代码厨房或是开源松能给更多人带来快乐或帮助。

于我个人而言,我希望建造一个自己和别人都愿意生活在其中的虚拟空间。同时希望交到志同道合的朋友,尤其是可以一起做事情的朋友。我对其他社交媒体或程序呈现的社区形态并不满意。而代码厨房社区,或者说一个论坛作为主要存在形式的社区可以避免诸多弊端。

开源松 Sprint 1 其实比较匆忙,算是一次尝试。从 Sprint 2 开始,会有一些新的改进:

  • 引入更多不同语言和框架的项目
  • 不再创建微信群,也不再开 kickoff 会议(避免社交压力)
  • 时间缩短为两周(sprint 之间或许会设置一周的 review 和休息)

P.S. 论坛的邮件目前是用的 SendGrid 的免费账户,每天有 100 封的额度。不过基本每天都是超出限额,我不太确定超出的部分是否都正常发出了,以及会不会哪天账号被限制……

3 Likes

说实话这个徽章设计得真的牛逼。顺便问一下 这个论坛也是基于Discourse搭建的吗。

1 Like

是的。有时间打算换个更适合代码厨房的主题,现在还是默认主题

1 Like