-
项目地址:Github
-
在某一天,我突发奇想,Android 做开源的大佬很多,但是大多数人无法知道都有哪些人,于是乎我开源了一个项目,用于将 Android 行业中的开源大佬聚齐起来,大家不仅可以认识到这些开源大佬,还能知道他们有哪些优秀的开源作品,可以供我们学习和参考。
-
于是我个人自发收集了这些人的名单,以下数据均来自纯手工采集,整个过程耗时将近半年,供大家参考,如有遗留请通过 issue 通知我补上,如有错误也请通过 issue 通知我修改。
-
上榜规则:
-
不能违背开源精神
-
必须是 Android 开发者
-
必须是以个人的名义开源
-
Star 数不能通过任何手段掺假
-
只收录个人 Star 数在 3k 及以上
-
-
排名规则:
-
根据有效 Star 数从高到低进行排序
-
如果个人的 Star 数小于 10k,有效 Star 数则直接按照个人 Star 总数来计算
-
如果个人的 Star 数大于 10k 小于 20k,有效 Star 数必须要占个人 Star 总数的 60% 才能按照个人 Star 总数来计算,否则只能按照有效 Star 数来计算
-
如果个人的 Star 数大于 20k 小于 30k,有效 Star 数必须要占个人 Star 总数的 70% 才能按照个人 Star 总数来计算,否则只能按照有效 Star 数来计算
-
如果个人的 Star 数大于 30k 小于 40k,有效 Star 数必须要占个人 Star 总数的 80% 才能按照个人 Star 总数来计算,否则只能按照有效 Star 数来计算
-
如果个人的 Star 数大于 40k 及以上,有效 Star 数必须要占个人 Star 总数的 90% 才能按照个人 Star 总数来计算,否则只能按照有效 Star 数来计算
-
-
有效 Star 数的定义:
-
必须和 Android 相关的开源项目 Star 数,不限开发语言,不限类型
-
排除非 Android 平台的开源项目 Star 数,如 Flutter、ReactNative、Weex 等等
-
排除和 Android 无关的开源项目 Star 数,如算法题、简历模板、表情包等等
-
排除简单 fork 他人的开源项目所得的 Star 数(没有属于自己的任何提交)
-
-
开源项目推荐规则:
-
非简单的 Demo 工程
-
最多推荐三个开源项目
-
必须是和 Android 开发相关的项目
-
排除 Flutter、RN 等跨端开发的项目
-
-
开源项目过时标记规则:
-
基于 eclipse 项目
-
明确注明项目已经不维护
-
开源项目的仓库已经被标记为只读
-
代码最后更新停留在三个月前并且超过三个月没有处理 issue
-
只修改
README.md
文件的更新提交不计入内 -
非及时更新,更新频率为一年更新一次,更新时只检查没有过时的项目
-
一旦开源项目被标记过时,则无法删除,需要提 issue 给作者解除
-
-
开源项目刷 Star 鉴定标准:
-
通过 Star 趋势图 来判断,star 涨势图中的拐角处形成的角度无限接近于 90 度
-
查看 issue:通过 issue 的数量、作者的回复速度、问题是否解决这几个维度来判断
-
查看提交记录:通过代码的数量、代码的质量、commit 的描述这几个维度来判断
-
对比 fork 数量:一般 star 数和 fork 数正常的比例为
10 : 1
到10 : 2
之间 -
如果框架在 jitpack 仓库 发布的,可以通过查看每月的下载量,月下载量一般情况不会少于现有的 star 数,正常是 star 数的 2 到 10 倍左右
-
-
这是很多人问过我的一个问题,大多人可能无法理解好好的开源项目就不维护了,我觉得主要原因有如下几个:
-
不挣钱:我想跟大家说的是,开源项目不维护其实是一件最正常不过的事情了,我可以跟大家说一个残酷的事实,我做了那么多开源框架,也被很多人应用到自己项目中,被很多人夸赞过,但是这些并不能为我带来任何经济效益,简单来讲就是为爱发电,说白了不挣钱,等于免费为大家服务。包括大家给开源作者点 Star 也好,点 Follow 也罢,这些只能算是对开源作者的支持,但是不会给作者产生任何经济效益,不挣钱也将意味做这件事其实是亏钱的,因为房租要钱、水电要钱、吃饭也要钱,人活着是有生存成本的。
-
地位低:小时候我们常说老师像蜡烛,燃烧自己照亮他人,我觉得开源作者更合适用这句话,因为老师至少还是有工资的,而开源作者则是秉承自愿原则,付出多与少都是没有工资的,还有老师的社会地位也不一样,但是开源作者在行业中的地位并不高,几乎等于没有,我自己来讲,几乎没有感受到尊重二字,更多感受到世态炎凉,大致表现为:
-
呼之即来挥之即去,解决完问题没有一句谢谢,开源作者免费为人民服务是应该的;
-
有很多人都想来白嫖你的时间,具体表现为就算这个问题不属于框架的问题也会找上开源作者;
-
直接抄框架的代码到项目中,并且直接将代码中头注释中开源作者的署名剔除掉,然后把自己的名字加上;
-
基于框架自己本地维护了一套代码,后续遇到难题搞不定的时候找上开源作者要求基于他个人的当前版本去解决;
-
总是有人一遇到问题,就是不看文档,第一时间找到开源作者,问这个问题怎么解决,将开源作者硬活生生逼成了一台复读机;
-
总有人想白嫖作者,具体操作是加作者好友,备注美其名曰说是讨论技术,结果一通过好友请求,一上来就问他个人遇到的这个技术问题怎么解决;
-
有的人用了框架,一遇到问题也不反馈给作者,会选择在公共场合责怪作者,甚至辱骂作者都有,其他看到的人都选择默不作声,基本没有人出面制止;
-
也有的人,看到框架不错,直接占为己有,简单修改了对外调用类的名称,并发布了另外一个开源库,并且对外宣传框架是自研的;
-
...................................................
-
-
性质变了:大家还记得开源的初衷吗?一个人开源,许多人来帮忙一起做好,但是目前的实际情况是,一旦使用框架的人出现了问题,大多数人第一时间会找到作者,提个 issue 丢给作者处理,自己就坐等作者解决就可以了,如果作者弃更了,那么还可能会引来招骂,有的人还会说出作者不负责任、亏我那么支持你等负面的话。在这里我其实想跟大家说的是,开源作者其实没有任何义务帮你处理问题,虽然这句话大家不太中听,但我必须得说,因为我们在使用开源框架的时候,并没有付给开源作者任何一分钱,现在出了问题,开源作者自然也可以不处理,换一个角度想,你利用开源框架挣到的钱会分给开源作者吗?所以这个是在情理之中,换成你也很可能那么做,人都是自私的,切莫把自己标榜成圣人。
-
-
对此,我其实想给大家谈谈我的感受,以及我对开源的看法:
-
开源作者是伟大的:我问大家一个问题,假设有一个公司招你过去,老板说不给工资并且让你一直干下去,你能坚持多久?开源就是这种模式,一直付出但就是不挣钱,我相信很多人都无法接受这个结果,想都不用想直接拒绝了,但是仍然有一些开源作者坚持了很多才放弃维护,这无疑是非常伟大的,换位思考,如果是你会那么做吗?大家要明白一件事,做开源其实占用是开源作者的业余时间,当星期六日大家都在休息的时候,开源作者还在给框架加功能和修 Bug,开源作者大可不必那么累,也可以选择星期六日躺在床上睡大觉玩游戏,但是他们选择了一条别人不敢选择的路去坚守,所以哪有什么岁月静好,不过是有人替你负重前行。还有一点,无论开源作者维不维护,他们都是伟大的,至少证明他们曾经付出了,不能因为现在放弃维护了就否定了,我们应该要给予尊重和认可。
-
请善待开源作者:我觉得作为开源作者来说,承受了很多不该承受的事情,例如很多人跑来问我各种碰到的技术难题,早期粉丝少的时候还尝试帮忙解决,但是发现我的粉丝多了之后,发现这个事情我压根承受不住,就问你能顶得住每天都有几十个人来问你技术问题吗?我也可以选择不回复,但是我还是礼貌性地做了统一回复,我目前不处理框架之外的问题。这个经历让我感觉开源作者一旦做了开源,就摊上大麻烦了,不管是不是框架的问题都会找上我,并不是我不想帮大家,而我跟大家一样,很多时候工作和开源已经把我掏空了,已经没有多余的时间和精力做别的事情,我自己都犹如泥菩萨过江,自身难保。
-
请不要做技术的巨婴:另外我觉得很多人在网络上面很轻浮,动不动就劳烦别人,这要是来到了现实中,可是要欠了别人一次人情,如果帮完了没有一点表示,那么下次再有问题的时候,那么别人是不会再理睬你的;但是在网络中,大家没有任何顾忌,还有人完全不顾及开源作者的感受,就觉得这个忙对你这种大佬很简单,你就是应该要帮我,甚至在帮完之后连句谢谢都懒得讲,对此我只想说一句:别人帮你是情分,不帮你是本分。
-
没有任何开源项目是一直维护的:大家看到很多开源项目不维护了,很多人都感觉 Android 快不行了,但是这个是正常现象,不信你过去看看 iOS 行业,其实大家都差不多,我只想跟大家说,没有任何开源项目是一直维护的,因为开源项目本身就不挣钱,开源作者人家也要恰饭的,年纪大点家里还有老婆孩子要养,你说还维护这个开源项目,只谈理想不谈钱的事情还现实吗?所以维护是情分,不维护是本分。我自己目前还在维护开源项目,这完全得益于我还没有结婚,并且还有一份工作养活着,当我某一天因为某种原因离开 Android 行业了,手头的开源项目大概率也是会停更的。没有任何开源作者能一直维护下去,迟早有一天会停更,大家且行且珍惜。
-
-
在大家认知中,开源项目不维护是一件不正常的事情,但是如果你看完了上面这些话,你会相信开源项目不维护是一件再正常不过的事情。不过总是要有人肩负起开源的大旗,我们这代开源人迟早某一天会扛不动,这份扛大旗的重任将会留给行业的后辈们,至于后面能有多少后辈们愿意去做,得看大家未来对待开源的态度是什么样的,如果还是现在的态度,我觉得还是比较难的,至于怎么改变只能靠大家去共同努力了。
- 向所有开源作者致敬,感谢一路的美好及陪伴!
Copyright 2022 Huang JinQun
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.