如今开发一个系统, 已经少有人从零开始编写每一行代码. 因为过去 10 年开源软件的发展, 让你只有想不到, 没有找不到. 最后你的系统一定会构架在一堆开源软件的基础之上. 因此基础的选择至关重要, 我们可不希望我们的系统是构建在沙滩上的摩天大楼.
那么问题来了, 那么那么多的开源软件, 同一个类别经常有几十上百上千那么多, 哪一个才是最好的呢? 道听途说? 还是经验之谈? 就算是经验之谈那也是你经历过无数次踩坑之后得到的经验. 如何尽量减少踩坑呢?
所以今天我们想谈谈开源软件的选择.
(图片出自新浪博客)
当然最基本的是需求的满足. 一个不满足你需求的开源软件, 就算它再好再强大, 你也不在乎. 好在需求是否满足是很容易去验证的, 开源软件我们只需要用起来, 或者通过官方的 Demo 去进行测试, 就可以知道能否满足自身需要.
假设当我们筛选出了 10 个满足自身需求的同类开源软件, 该选哪一个呢? 很多人会选 UI, 接口等我们能看到的东西显得更顺眼, 更符合个人品味的产品. 但这未免过于主观和感性, 不一定会是最合适的选择.
理性的选择开源软件, 需要认真的考量如下几个角度:
一. 影响力
到底有没有人在关注这个项目, 还只是作者自娱自乐的产品?
二. 代码活跃度
你肯定不会想要一个多年都没人更新的产品, 出了问题也没人管的软件, 而全球这样的开源项目不在少数.
三. 社区活跃度
有多少人真正在使用这个产品, 而不仅仅是停留在关注? 有使用才有反馈, 有反馈就会形成社区活跃度
四. 团队是否稳健
这一点非常非常重要, 一个项目的长期健康发展, 离不开一个稳健的团队. 当一个项目有非常多的贡献者的时候, 我们会偏向认为它比那些拥有很少贡献者的项目更加可靠, 这个可靠主要是体现在软件未来发展上, 不会因为个别人的缺位而影响软件自身的发展. 现实中也有很多类似情况, 当一个作者无暇顾及或者有什么突发变化的时候, 经常导致一个软件停更.
----------
角度很多, 可难道要靠感觉去评估这几个维度吗? 怎么样的活跃度才叫活跃呢? 怎样的稳健度才是稳健呢?
为此码云准备了近一年的功能 -- 码云指数正式公测了. 码云指数从 5 个角度对开源软件进行分析, 以直观数值的形式来展示一个开源软件全方位的指标度量, 可以为你在进行开源软件筛选时提供有价值的参考. 我们也希望更多的开源项目托管到码云平台, 一较高下.
来看看一个 Java 开发的网络编程框架的码云指数:
此外我们也希望软件的作者能引导用户使用 issue 来反馈问题, 使用 PR 来进行代码贡献. 让更多的问题沉淀下来, 而不是通过 Q 群的方式交流.
码云指数目前只针对码云上的星标和 GVP 项目开放, 可以到 https://gitee.com/explore 体验.
往期精彩:
码云如何保护你的数据 -- 内部安全治理篇
企业代码安全知多少? 这些是你应该了解的...
自建 GitLab 似乎很简单? 这些坑也许你不知道
码云超轻量级 Gitee IDE 更新, 新增暗色主题 https://blog.gitee.com/2018/11/07/gitee_ide/
来源: http://www.jianshu.com/p/1bab8d653a2b