开发者:如何选择合适的开源库?

开源
对于现在的开发者而言,互联网上丰富的开源资源无疑提供了很大的便利。如此海量的资源,开发者应如何选择合适的开源库?本文探讨了选择开源库所需要考虑的八个方面,为开发者们提供一些指导。

丰富的开源资源为开发者提供了便利,但如何在这么多的资源中找到适用自己项目的呢?国外开发者Daniel Marbach(他的介绍)在其博客中详细介绍了相关技巧。

Daniel Marbach认为利用开源库可以大大提高开发速度,他经常鼓励自己的团队成员在开发中选用开源项目。他总结选用开源库的技巧如下:

1. 首先根据自己的项目性质选择合适的开源许可证。

对你所开发软件的顾客和应用对象来说,许可证是否适用非常重要。例如,在受监管的环境下,通常只有Apache2可用。

2. 定义你要解决的问题类型。

例如需要解决的是软件的分发、缓存、持久性还是松散耦合?

3. 提炼出问题的mate标签和描述性短语。

例如,如果你需要解决的问题是关于在多个机器中的***路径,你的标签或短语可能会是遗传算法、job-Shop Scheduling、规划图、优化调度算法、最短路径等。

4. 浏览codeplex, google code or sourceforge (github.com 也是个很有价值的网站) ,并列出初步筛选到的项目。

例如:在IoC/DI列表里,可以找到ninject, structuremap, autofac, windsor等开源项目。

5. 找到这些项目的主页,分别查看项目的***进展,标出那些很久没有更新或者已经停止开发的项目。

注意主页上的新闻、发布通告、提交记录、网站更新等。我一般会从列表中删除掉那些超过6个月没有做更新的项目。

6. 到代码库页找到相关测试组件。

建议你将没有单元测试组件的项目从列表中删去,也许你觉得这个要求过于苛刻了,但如果没有单元测试,如何能保证这个项目的质量呢?

7. 在项目主页中确认有相关文档。

从选好的项目列表中删去那些没有文档、代码示例或适用指南的项目。毕竟学习一个全新的工具或框架我们需要付出一定的精力,一个全面细致的文档是非常必要的。

8. 检查项目源代码是否指定了版本控制系统,并查看是否有扩展点(extension points)。

理想的开源软件库或框架并不限制你使用特定的日志框架或依赖注入容器(DI container)。而多种扩展点可以为你提供定制化日志系统、容器等的可能性。

还有其他一些筛选原则,你可以根据所作项目的需求进行考查:

1. 是否附有构建脚本(build script)

2. 该开源项目小组是否持续使用同一集成开发环境。

3. 该开源项目是否有清晰的road map。

4. 该项目是否设有问题跟踪器(issue tracker)?

5. 是否很快就有社区补丁推出?

6. 在社区中,关于该项目的问题反馈是否迅速?

7. 其他的开发者是否乐于使用该开源项目,在社区中关于该项目的知识技巧是否很快传播。

8. 有多少活跃的项目贡献者?

9. 版本号管理是否清晰?

10. 对于来自社区的具体需求,该项目的改进和集成情况?

外文出处:http://www.planetgeek.ch/2010/06/20/how-to-select-open-source-libraries/

【编辑推荐】

  1. 打不赢的战争 开源Linux玩不起数字游戏
  2. 有关开源内部应用程序的争论
  3. 企业选择开源CRM不得不说的十个好处
责任编辑:yangsai 来源: csdn
相关推荐

2022-07-25 09:46:25

React数据库

2018-07-25 15:43:27

机器学习框架开发

2021-01-10 15:29:53

开源数据库数据库

2018-10-25 08:00:00

数据库开源数据库开源技术

2010-06-25 17:42:08

EclipseEclipse 3.6Java

2009-04-01 09:05:34

Java云计算亚马逊EC2

2023-04-03 08:00:00

数据库NoSQL

2018-01-04 22:17:05

Python开源工具

2012-01-16 11:05:22

红帽PaaS 开源

2018-01-03 09:48:51

Python开源库工具

2020-06-17 15:01:30

物联网数据库物联网数据库

2016-10-08 18:13:55

数据库性能工具数据库管理系统

2017-06-19 16:20:09

数据库性能工具

2012-06-13 01:23:30

开发者程序员

2017-04-01 18:00:08

开发者数据库

2009-03-20 11:50:44

LinuxSunCommunityOn

2017-11-23 15:06:14

前端数据库开发

2015-09-02 09:40:21

core data工具开源库

2015-10-19 11:06:42

CoreDate开源库
点赞
收藏

51CTO技术栈公众号