开源软件的选择
主要考虑以下因素:
- License
- User/Developer Community
- Documentation
- Standards and Interoperability
- Customization/Entensibility
- Commercial Support
Licences
开源协议和商业的冲突程度,可以分为三种:非常友好、不太友好、很敌对。
- 很敌对: GPL, AGPL
- 不太友好: LGPL
- 非常友好: BSD, MPL(Mozilla), Apache, MIT, Public Domain
User/Developer Community
- 搜索引擎的搜索结果
- 是否被知名软件和公司使用
- 开发是否活跃,版本更新速度如何
- 是否能够参与到开发中,对roadmap能有多大影响
用户和开发者社区活跃,往往成熟、稳定、安全,发现bug可以比较快被修复,有问题比较容易解答。
Documentation
- getting started guide
- tutorial
- user reference
- books
Standards and Interoperability
尽量选择实现了open standards的软件,避免vendor lock-in,使用standard的话学习的成本也比较低。
Customization/Entensibility
是否容易定制和扩展
Commercial Support
必要的时候,可以寻求商业支持
Notes
- 开源软件的1.0版本没那么重要,所以不要太在意当前版本是否是1.0。