如何选好开源项目

282 阅读2分钟

对于开源的世界里,相同类型的项目数不胜数,如何选择合适自己项目、企业的变的尤为重要,同时也会减少对项目调研时的成本投入

项目来源(渠道)

  • GitHub
  • 码云
  • OSChina
  • Apache 组织
  • Spring
  • 其他组织(WSO2,Confluence等)
对于开源项目的查找可以从如上来源进行初步筛选
GitHub:全球性开源项目
码云:更多的是国内开源项目
OSChina:综合类平台(1.提供开源项目搜索、2.提供论坛等)
Apache: Apache组织提供众多顶级的开源项目(tomcat,common等)
Spring: 提供对常见的开源项目的集成,提供类型Spring Boot,Spring Cloud等项目
其他组织: 如:wso2致力于paas服务平台软件的开发

项目筛选(定位)

  • 项目定位
GitHub:
1.如何高效的项目搜索
1.1 in关键字:
xxx in:name  项目名中包含xxx
xxx in:readme readme中包含xxx
xxx in:description  项目描述中包含 xxx
还可以组合  xxx in:readme, name, description
1.2 基于项目质量 
xxx stars: >数字 或 >= 数字
xxx forks:> 数字 或 >= 数字
1.3 其他
location:地区
language:语言
如:location:china language:java
更多参考:
https://github.com/search/advanced
  • 项目可靠性
1.基于仓库类型
 1.1 项目的维护度
   代码提交、更新频率(基于项目周期)
   项目issue的解决程度
 1.2 项目生态圈
   项目是否有生态圈,是否有存在社区形式进行开发贡献
 1.3 项目资料
   是否具有:项目文档、api、使用手册等
 1.4 项目扩展性
    项目是否能够扩展或者是否提供相关的扩展机制(如:插件机制等)
 1.5 项目复杂度
    项目的复杂度会影响项目的预演及后续的使用,对于项目复杂度需要进考虑
  • 项目预演
 1.项目版本选择?
   基于现状需求
   基于项目稳定性
   基于项目版本升级描述(如:修复了xxbug,提供新功能)
 2.环境准备?
   本地环境+虚拟机
 3.压测准备?
   检测项目相关指标
 4.调研结果?
   安装配置文档(相关坑点记录)
   项目功能使用情况说明(操作舒适度、功能复杂度等)
   压测结果统计
   项目演示总结