Github与Android

关于开源,关于 GitHub, 关于 Android

接上条关于某几个开源库抄袭其他 Android 著名开源库的微博。

1. 缘由

首先郑重向该作者道歉,我第一条相关微博(已删除)提到他 “大量抄袭其他著名开源库代码” 用词不当,“大量” 可能就让大家以为超过 70%,虽然三个项目都存在完整复制其他几个开源项目若干类代码,没署名引用,但远达不到这个比例。另外这件事对事不对人。

 

正好借这个机会介绍下关于我对开源的理解,如何用开源项目及一个开源项目的标准,欢迎吐槽,首先看两张图
Word mobile growth
Android user growth
第一张是 2007-2013 年全球智能手机增长曲线,第二张是 2008-2013 年​ GitHub 上开源项目总数的增长曲线,大家注意看下 Android 设备增长曲线和 GitHub 增长曲线,我不确定两者是不是有一定联系,但我经常告诉 Andorid 开发的小伙伴们他们比 iOS 开发幸福,因为 Android 开源,因为 Java 开源。

 

2. 怎么用开源项目

关于这个问题年中我吐槽过,如下
open project use
所以针对 Android 我们拉了个协作的开源项目,先从原理分析开始
android open project analysis
不出意外元旦后这个项目就有第一期的产出,感谢几十位辛苦优秀的小伙伴们,你们是最棒的。

那么说下我对开源库选择的考虑

(1) 开源协议

谨慎使用 GPL 协议,GPL 协议规定使用了该开源库的代码也必须遵循 GPL 协议,即开源和免费。更多请大家自己 Google “gpl bsd apache mit license”。

 

(2) 原理

必须能驾驭该库,这就要求必须了解该库的实现原理,关于这点请任何人不要跟我争辩。

 

(3) 功能、文档、稳定性、扩展性

功能是否能满足业务需求,是否足够稳定(稳定性测试)、文档是否齐全、扩展性是否足够。
性能要求较高库需要性能对比测试。

 

(4) 源码修改

a. 个性化业务带来的修改
请尽量使用 Wrap 方式,而不要直接改源码。实在绕不开,请在 Git 上打上 Tag,并著名详细原因。

 

b. 通用需求的修改
请按源项目要求修改代码,并提交 PR,反馈回开源社区,请求合并进主分支。
源代码修改原则只有一个不要让你 clone 的副本脱离开源广袤的大陆,变成孤岛。

 

(5) 其他

GitHub 现在四五百 star 的开源项目很水的多的是,对于一个项目大家可以更多关注 contributors、commits、Pull Requests、Issues、Fork 个数。

 

3. 一个开源项目的标准

(1) 合适的文件和代码

合适的文件指的是要有自己的 gitignore,合适的代码是指代码要符合代码规范(如很简单的四空格缩进很多 Java 开源项目都做不到)。

 

(2) README.md

README.md 是一个项目必不可少的,其中要求示例、文档、引用方式、开源的 Licence 齐全。对 Android 来说示例可能包括 Demo APK、截图。引用方式可以是 Maven 和 Gradle 引用方式。

 

(3) 联系方式

总有很急的 Bug 需要 GitHub Issue 外的即时沟通。

 

(4) 开源精神

请大家遵守开源精神,遵守其他人的劳动成果,如果有借鉴或是部分拷贝其他开源库,请在明显地方声明感谢!
欢迎大家讨论吐槽,一起把开源做的更好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值