如何打造标准开源项目(序):打造开源项目的意义

前言

各位朋友大家好,为了让自己的生活充实起来,我决定再开一套新的教程。选这个主题,是因为我发现网上虽然针对类似的问题有不少回答,但终究没有一个从头讲到尾的具有可操作性的指导教程。我的目标,就是让大家能够根据文章的内容正儿八经地搞一个自己的开源项目。

说实话,CSDN 开了付费专栏功能后我就在想搞个什么试试水,现在到跟前了我怂了。倒不是怕订阅的人少面子上过不去,而是专栏的更新频率居然要求最低一周一篇,我裂开了。在分享知识的伟大事业与平静的生活之间我毅然选择了生活,毕竟这事业赚不了几个钱。(吉良吉影为我点赞)

圆规正转,通过这个教程,我想和大家一起动手过一遍开源项目生命周期中的各个流程,并学习、探讨如下内容:

  • 打造开源项目有什么意义?
  • 如何选择并应用好开源平台?
  • 一个规范的开源项目有哪些必要内容?
  • 如何丰富项目的表现形式?
  • 一个优秀的项目需要做到哪些方面?
  • 如何运营、维护我们的开源项目?

在解答上述问题的同时,教程还会穿插讲解 版本控制系统(Git)、开源平台(GitHub) 的使用。

整个教程计划再用 八到十篇 文章写完,这一篇算是预热,主要聊聊我对开源项目的一些认识。

一、开源项目还香吗?

几年以前,在 GitHub 上活跃的中国程序员并不算多,有一个高星的开源项目是一件很值得装比的事情。随着中国开发者人群的不断增长,中文项目逐渐霸占趋势榜,并在去年引发了整个社区的热烈讨论。不少人认为这些项目质量不高,水分较大,甚至存在明显的刷星、刷榜现象。我印象比较深刻的是李某来老师的 python 教程,仅用 5 天时间就获得了将近 4k stars,当然人家这不是刷星刷榜,人这是粉丝给力,我挺羡慕的,我这 6k 假粉丝儿,唉。

其实更多人开始用 GitHub 了一定是好事,说明中国开发者整体的认知在进步。开头难免会有些粗糙,咱们慢慢进步就好了,你看这不就有人尝试号召大家更加规范化地打造开源项目了么?

去年我为了做 Vue + Spring Boot 前后端分离开发的教程,把实作的项目上传到了 GitHub,这也是我第一次正经地去维护一个开源仓库。这个项目目前是 471 stars,地址如下:

https://github.com/Antabot/White-Jotter

说实话,这个项目在结构与管理上都有很大问题,缺少很多重要要素,没有严格遵守相关规范。但正是因为我持续地维护着这个项目,才会意识到存在这些问题。

对于一个开发者来说,拥有优质的开源项目绝对是一件值得骄傲的事。优秀不是一蹴而就的,不要在意别人的目光,坚持进步,吃嘛嘛香。

二、现实的好处

打造自己的开源项目除了获得认同感,还有许多现实上的好处。

1.技术能力提升

相比自己练习,开源项目处在众目睽睽之下,更容易激发你的羞耻心,啊不,上进心。而且不用担心羞耻过度,因为一开始一般别人根本看不到你的项目,得经过一番积累才有可能获得关注。

你可以随心所欲地进行技术选型,不用受制于公司里顽固的架构师。

你可以不断应用自己所学的新技术升级自己的项目,不用担心项目崩了带来经济损失。

你可以装作大佬审阅别人提交的代码,体会这个年纪不该有的深沉与寂寞。

2.社交

众所周知,GayHub GitHub 是全球最大的同X交友平台。这里汇聚着行业里最耿直的一群逗比,以交流技术为由进行着灵魂的碰 ♂ 撞。

比如这个女装项目,也许你会在里面找到你的真爱。
女装项目
给你们看其中一个美丽的小姐姐,怕你们爱上她,我把脸和谐了一下。
大佬大佬
项目地址: https://github.com/komeiji-satori/Dress

如果你纠结于提高项目的可靠性,不妨仔细研究一下下面这个项目,作者堪称程序员界的哲学带师:
nocode
地址: https://github.com/kelseyhightower/nocode

编程时老拼错单词心烦意乱,试试祖安人民开发的自动纠错程序:
the
地址: https://github.com/nvbn/thefuck

3.经济上的好处

打造开源项目不一定为了挣钱,但一个好的开源项目的确是可以挣钱的。挣钱的模式有很多种,比如:

  • 通过开源项目获得接私活的渠道,挣点辛苦钱
  • 通过开源平台向适合变现的平台引流,通过广告、销售产品等方式挣钱
  • 通过有实际价值的项目获取赞助
  • 为项目编写付费教程

4.求职、跳槽

我相信一个用心维护的开源项目是值得写在简历里的,它是你全方位展示自己技术能力的一个绝佳名片。除了项目本身的信息,你还可以聊聊自己在维护过程中发现了哪些问题,积累了哪些经验,这些会给你的面试带来积极的影响。

我见过有公司招聘,明确提出有超过 40 stars 开源项目的优先考虑录用,也见过不少依靠开源项目成功跳槽拿到更高薪水的前辈。说实话,这可能也是很多人入坑的最原始的动力。

5.为开发者社区做贡献

这就是比较大的命题了。虽然我们目前只是一名平平无奇的程序员,但总有一天我们也会独当一面。我们的项目一开始可能没有价值,总有一天会成为开发者资源宝库的一部分,推进整个行业的发展与进步。

我想,我们这个行业之所以会保持如此旺盛的生命力正是源自于这种共享精神。奇妙的是我们一开始通过开源项目得到的都是个人的好处,却最终能帮助更多的人,形成正向的循环。向开源运动的先驱们致敬!

下一步

一共八到十篇,这么一想,如果一个月写两篇的话岂不是得四个月才写完,不得了不得了,我还是尽量加快进度吧。

其实这个教程里并没有什么复杂的内容,有些东西只要你知道了也就会了。下一篇计划讲解如何初始化一个开源项目,这一步其实至关重要,把架子搭好,其它的事情才能自然而然地做好。

发布了50 篇原创文章 · 获赞 1465 · 访问量 48万+

猜你喜欢

转载自blog.csdn.net/Neuf_Soleil/article/details/104334476