如何丝滑地参与开源项目?

2023-01-03 19:32:55 +08:00
 guaguaguaxia1

如题,楼主后端。看到好多大佬的 Github Profile 都好活跃好多数据,看到他们参加了各种各样或大或小的 Project ,或者自己维护了几个一两千 star 的项目,好生羡慕。我也想在 Github 社区无私奉献自己的一份力量,从头开始,从提小 PR 开始,请问有什么好的建议或意见能帮助我更丝滑地进行这个过程吗

3825 次点击
所在节点    程序员
21 条回复
celeron533
2023-01-03 19:51:14 +08:00
你平日里用什么工具、软件,你写的代码里用了什么库?随便挑一些熟悉的去看看。
opentrade
2023-01-03 20:06:00 +08:00
关键是能持否?
saltbo
2023-01-03 20:06:26 +08:00
先用 遇到问题提 Issue 然后根据情况 PR 。具体用什么,可以是 lib ,也可以软件,不论是 cli 还是 app ,都用起来自然就有机会发现问题了
YVAN7123
2023-01-03 20:07:11 +08:00
jones2000
2023-01-03 21:25:55 +08:00
做开源, 首要你要问自己,你会什么,你能分享给我们哪些你工作中或你在行业里面踩坑的东西, 或总结性的东西。 那些东西是你会的,其他人都不会的东西。 然后用代码写出来基本就可以了。
amber0317
2023-01-03 22:19:02 +08:00
1. 选择一门自己比较熟悉的语言。
2. 既然你对这门语言比较熟悉,那么你一定多少知道一些使用这个语言编写的开源项目。选择一个。
3. 翻阅这个仓库的 Issue 区,直到找到一个你觉得能解决的问题。如果想体验一下流程,可以从修 typo 或者文档开始。
4. 动手,提 PR ,等待合并,并根据 Maintainer 的意见做调整。如果东西比较多(比如要加功能),可以先开个 draft 的 PR ,告诉大家你正在做什么,能解决哪个 issue 。
rekulas
2023-01-03 22:22:08 +08:00
提个小看法不建议为了 star 去做项目,我认为维护一个几十 star 的软钢需项目比上千 star 的通用轮子项目有意义的多
其实从这个出发点的话发起个很简单了,想想你工作或熟悉的开发领域有什么痛点、不方便的地方,然后用代码来解决 /提高效率,项目就有了
amber0317
2023-01-03 22:23:40 +08:00
补充一点:在第三点的实践过程中,需要大量阅读原项目的代码。这里可能很容易就放弃了,因为读代码有时候会很痛苦。不过坚持下来就是胜利:读通原项目代码并且知道如何在其上进行扩展,我觉得是很有成就感的事情。
RRyo
2023-01-03 22:48:57 +08:00
流程上:
先从开 issue 开始, 然后 fork 改 bug/添加需求实现, 提交最好规范一点(angular 规范), 再提 PR, PR 的格式如果项目有模板就对着填写, 然后等待项目维护者 code review 后合入, 可能会有冲突导致无法合入, 这时候需要 rebase, 然后再回复请求 review

项目选择的话建议从你感兴趣并且熟悉语言的项目开始, 不建议从一些明星项目入手, 容易因为各种各样的问题被打击积极性
Features
2023-01-03 22:59:20 +08:00
我感觉不容易啊
用爱发电是很难的
很多高 star 项目其实是作者在公司的项目衍生出来的开源
国内大部分开源项目应该都是大厂吧,并且通常伴随一定的 KPI 考核?

独立开发者忙着挣钱养活自己了,哪还有心思去干这些吃力不讨好的事情
你以为自己很无私很伟大,可是有人提 issue ,你没看到或者回复的不好
保证骂的你狗血淋头
OrkWard
2023-01-04 03:04:11 +08:00
@Features 你这就太片面了,国人做的好项目也非常多,有些人整个项目里面都没中文所以别人都不知道(本来就没什么必要宣传自己的国籍)
确实有很多高 star 项目是大厂开源出来的,但数量绝对没有社区产出的多,但凡稍微了解一点历史……
我几乎没见过提 issue 还敢骂人的,你这……我不知道怎么说,还是多接触一下社区吧
LXGMAX
2023-01-04 09:29:10 +08:00
当深度使用一个开源项目 /工具的时候自然会感到它的缺点或 bug ,然后提 issue ,通过阅读源码进一步提 PR ,参与进去
asdjgfr
2023-01-04 10:07:25 +08:00
同意 12 楼的方法,我就是这样给 mdn 和 element-plus 做贡献的
mumuy
2023-01-04 10:07:38 +08:00
哈哈哈,我也有 5 个上千 star 的项目,其实就是抓下痛点就好,做出特色。如果非要造轮子除非你的轮子比别人的好很多
antonius
2023-01-04 11:07:06 +08:00
挑自己熟悉的领域。写测试代码,写新平台的 cmakelists.txt ,改 bug ,pull request 。或者回答社区问题。
lankunblue
2023-01-04 11:27:05 +08:00
@Features 感觉你是不是有偏见呀。好像不是这样的吧,大家基本还是很友好的吧。
Features
2023-01-04 12:20:54 +08:00
@lankunblue
@OrkWard
我感觉这个东西确实用爱发电
而且也看到一些人在微博上分享开源的难处,这个提 issue 的就是在微博上看到的
我记得好像是 @easy 老师有转发过
wuwei12138
2023-01-04 14:04:58 +08:00
@LXGMAX 我经常看到别人这么说,但是我 java 的,使用到的 ssm ,或者 springboot 感觉也没有啥痛点啊。一般来说,这些非常热门的框架很少有 bug 吧
user7
2023-01-04 15:32:38 +08:00
https://jina.ai/news/how-to-start-your-career-in-open-source
可以看看这篇文章,总结了成为开源社区活跃分子的 5 个步骤
LXGMAX
2023-01-04 18:19:15 +08:00
@wuwei12138 确实,用的人多,出 bug 很快就修复了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/906347

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX