"OSTC2015-朱照远(叔度)开源经验分享"
本文主要分享了阿里巴巴开源委员会成员朱照远(叔度)在2015年OSTC(Open Source Technology Conference)上的开源经验。朱照远是Tengine项目的发起人,他在演讲中阐述了开源对个人和企业的价值,参与开源项目的方式,如何创建自己的开源项目,以及如何运营开源社区。
1. 开源的意义:
- 对工程师而言,开源可以提升技术能力,获得同行的帮助,扩大项目影响力,延长代码生命周期,并且通过实际用户使用情况推动产品优化。
- 开源可以帮助项目快速吸引用户,因为用户可以自由地试用、修改和反馈,促进项目不断进步。
2. 如何参与开源项目:
- 从小事做起,比如编写文档、翻译、报告问题(bugreport)或提供补丁(patch)。
- 积极主动地贡献,从小规模开始,逐步获得社区的信任。
- 即使提交的贡献未被接受,也应保持积极态度,持续学习和改进。
3. 创建自己的开源项目:
- 解决实际问题,满足特定需求,如Tengine针对大规模网站的高级功能。
- 项目应易于上手,有清晰的快速启动指南,简化编译和运行过程,减少外部依赖。
- 代码结构良好,易于扩展,并提供完整的文档。
4. 开源社区的运营:
- 设定社区规则,形成社区“宪法”,规范行为。
- 实施代码审查(codereview),确保质量。
- 建立用户、开发者和核心团队的金字塔结构。
- 通过用户口碑、文章、会议等途径进行宣传。
5. 持之以恒:
- 开源不仅仅是发布源代码,还需要持续维护,包括修复问题、添加新功能,并保持频繁的版本更新。
6. 案例分析:Tengine
- Tengine是基于Nginx开发的开源Web服务器,专为高流量网站设计,具有许多高级特性。
- 自2011年12月开源以来,全球用户量排名第九,使用率0.2%。
- 特性包括动态模块加载、SO_REUSEPORT选项(提高连接性能)、SPDYv3协议支持、流式上传、强大的负载均衡能力等。
朱照远的分享揭示了开源项目成功的关键因素,包括社区建设、用户参与和持续发展。他的经验和见解对于任何想要投身开源领域的开发者和企业都有宝贵的指导意义。