众所周知, 开源无论是对跳槽找工作还是队升职加薪, 或者日常装x都起着举足轻重的作用。 但事实是, 我周围很多同事, 明明有了开源的实力, 却没有一个开源项目。但是对于开源之路很多人都有如下苦恼:
- 怎么找到一个值得做的idea?
- 怎么进行开源协作?
- 如何让自己的star增长起来,获得更多关注?
我经过自己的思考和总结,得到如下内容,并通过三篇内容详细阐述,希望能帮到大家:
第一篇:idea从何而来?
首先要澄清一个问题,能做开源的并不一定是最优秀的人或者最牛的人,而是那些善于思考,并努力付诸实践的人,所以不要因为技术不够牛,没有达到顶尖水平就放弃做开源,很多时候都是先有一个好的想法, 然后去学习要做成这个想法的所需技能, 在我看来, 入行一年就可以拥有做一个好的开源的能力。
创意来源1:从变化中寻求机会
在现在编程界尤其是前端,有一个很大的特点就是新东西出现的太快。变化快就会产生两方面的影响,第一, 我们很自然的感受就是要不断的学习,一天不学习好像就要被世界淘汰了,很多人很抱怨学不动了,(话锋一转),但是,你有没有想过,正是有了变化,才有了机会,才能够弯道超车。
具体到开源灵感来源(灵魂叩问):
我们在做iOS开发时需要日历组件📅,在做Android时需要日历组件📅,难道当flutter出来后,不需要一个好用的日历组件📆吗?
我们知道PHP有Web框架laravel,Python有web框架 Django,那当Go出来的时候呢? 那当Node出来的时候呢? 或者还没火的Deno语言呢,他们难道不需要一个web框架吗?他们不需要相应的配套生态吗?
react生态有某个组件,是不是能够迁移到Vue呢?
简而言之,当新的语言/框架/库出现时,如果你认为是趋势(有些赌博风险,他可能不火了),你可以借鉴其它语言/库/框架,集众家所长,针对此语言/库/框架进行开发,相信是个不错的选择。
创意来源2:吐槽是你开源的契机
你有没有在日常工作中吐槽xx组件/库真是垃圾,真难用,要是我写,肯定比他好一万倍。 对,就是这个时刻,如果你发现自己在日常工作中使用的插件,组件,库,工具不够好用,有优化的空间时,记得拿笔记下,然后开始行动起来,相信你一定可以写出比他好一万倍的东西,祝福你㊗️。
简而言之,我们要吐槽,但不仅仅要吐槽, 更要思考改进空间是什么。
创意来源3:再一再二不再三原则
当你在写某段逻辑时,写了一遍,很正常; 当第二遍发现类似逻辑,拷贝一波,改改几个参数名就可以了,可以接受; 但是当你又发现了一处类似逻辑,你就要考虑是不是可以抽象出一个方法/类/库了。 当你抽象出来,放到你的项目后,如果挺不做,你就要考虑,是不是其他项目或者别人也需要类似一段代码,如果你的回答是肯定的,恭喜你,你可以开源一波了!
简而言之,在日常的开发过程,我们要养成don't repeat yourself的思维,从更高纬度抽象业务,久而久之你就能感觉自己的升华了。
创意来源4:从无到有、从有到优、从收费到免费
从无到有: 讲道理,说实话,从无到有是比较难的,你很难在JQuery时代去想做一个MVVM的框架,封装DOM操作,使用数据控制渲染;你很难在Node诞生前想象JS还能写后端;你也很难想想人工智能时代,前端是怎么的状态,但如果你想到了一个idea,他能做到之前技术做不到的事,又便捷又好用,恭喜你,你是新时代的创造者。
从有到优: 这个相对简单一些,也对应着创意来源2,当你发现你有一个比现有解决方案更优(更快?更小?更强?更简单?)的解决方案时,你就大胆的干吧(dayjs的故事)
从收费到免费: 看看你的电脑,有什么收费又好用的软件? 再看看日常开发中,有什么公司花钱买的? 能不能在不侵犯别人的权益下做一个类似的免费的,开源的软件,例如一个开源的小说网站,一个开源的flutter电商网站,一个开源的教育管理系统?
创意来源5:新需求
由于业务的推动,新需求就会产生新问题,就需要有新的解决方案,就像雷老板说的, 如果你是一头^(* ̄(oo) ̄)^
, 但是站在技术风口编程的,相信都会被吹飞。 下面简单总结了一下前端的几个新需求:
- 微前端: 由于前端日益变得复杂和庞大,如果对前端系统进行有效的拆分和组合,值得思考;
- serverless: 大前端趋势明显,但 serverless 目前仍没有较好的落地实践,你是不是可以尝试一波,并分享;
- less code: 市场竞争从由于To C转到To B导致这两年,管理系统类开源项目越来越收欢迎,但由于后台系统的标准化和统一化,所以推出了很多通过可视化拖拽实现界面的,但让没有一方独大,你可以尝试;
- 人工智能:你不主动革命,就会有别人革你的命,如何用人工智能帮助前端实现升华,是一个思考的方向;
- WebAssembly: 讲道理,不是很懂,但应该是趋势。
创意来源6:资料的整理
这个严格来说不能算编程,但也是开源的一个好方向,即通过收集一个专题资料,实现开源项目: 例如 awesome-vue / awesome-mac / 电子书 / 挣钱 等等。
创意来源7:知识分享
你是不是也关注过某位大牛 xxx原理分析,xxx源码逐行分析的仓库,你是不是也将开过别人将GitHub Issue作为写技术文章的,没做,将GitHub作为技术分析分享和积累的地方,也是一个不错的开源选择。
讲了这么多思路,你是不是也在脑海中闪现了一些想法,不要犹豫,赶紧行动起来,你和开源只差一个想法!
听说看完文章点赞的人都变帅/漂亮了(✪ω✪) (o) (ΦωΦ*)
Github: https://github.com/dream2023