随着互联网技术的飞速发展,网络公司的数量不断增加,漫天的代码和技术方案让人目不暇接。而在不同的网络公司中,他们可能有着不同的代码开源战略,不同的技术方案,但有一些公司开发的源码,是业界公认的优秀实践的样本。既然是优秀的,我们自然要探究一下它们的开源之路,看看其中有哪些值得借鉴的经验。
一、阿里巴巴
谈到国内计算机技术企业的代表,不得不提阿里巴巴。在开源方面,淘宝的 Dubbo、阿里云的 Eureka 已经成为了业界的优秀作品。那么,这些优秀作品背后的开源之路是怎样的呢?
阿里巴巴著名开源专家 Xiang Xing(阮一峰老师的好朋友)曾经分享过他们开源的心得:
1、打造开源社区文化(文化)
“开源社区文化的核心是共同的价值观和目标。”这种文化的核心是:分享、批判性思考、开放、信任和协作。如果你要打造一个可以吸引和留住开发者的开源项目,必须在团队之间建立这样一种文化。
2、为开发者提供价值(用户体验、易用性)
在开放源代码的同时,作者要尽力做好用户体验和易用性,同时为开发者提供有价值的使用指南。
3、透明、公开的开发流程(透明)
透明是指开发过程中的方法和工具要让所有人都知道。公开的开发流程能够营造信任。同时,与原始代码相比,更好地记录和公开提交历史。
4、积极的社区参与(活跃)
好的开源项目离不开好的社区支持。参与者通过提供反馈和修复错误等方式来帮助将其推进。
阿里巴巴开源社区已经成为了一个活跃的社区,也是我们开源之路的一个优秀样本。
二、道富信息
道富信息发现了一个隐形的市场,依靠着双向代理模式、火车采购等实用的技术方案,在几年的时间里迅速崛起。那么,他们技术的核心,即火车采购的技术在开源方面又有哪些值得我们学习的经验呢?
1、开源让项目更加受欢迎
道富信息认为,将项目中有意义但核心不重要的部分开源可以更好地吸引开发者。这些代码可以加速开发者在项目中的理解,而一旦加入了开源社区,这些项目就会获得更广泛和更深入的开发和测试支持。
2、开源能够提高项目质量
开放源代码使得项目自己变得更加健壮,同时可以在许多不同的平台上测试和开发。这也帮助公开代码的其他团队发现问题并通过修复这些问题来提高整个项目的质量。
3、开放文档和邀请评论
只有不断对项目的文档进行更新和维护并邀请其他开发者来评论,才能更好地增加项目的透明性和开放性,并提供更好的指导和帮助。
从道富信息的经验中,我们可以看到开源之路的另一种优秀实践路径。
三、华为
华为在最近几年也开始了自己的开源之路,他们研发的操作系统 HarmonyOS 就是以开源方式发布的。那么,华为如何打造自己的开源社区?
1、选拔和接纳贡献者(招揽)
Huawei 编写的软件和代码可能会在五个不同的 GitHub 存储库中托管。该公司有一支专门招募开发人员的团队,以获得足够的参与者、共同贡献和保持社区的活力。
2、对社区成员采取开放性的行为(尊重)
华为在招募候选人时,会优先考虑那些已经使用并喜欢其产品的人,因为这些人对华为产品的个人认可非常重要,他们是忠实于公司的粉丝。
3、公开发展计划(计划)
开源代码的传统是要在许可证中指定一些开发准则、规则和计划,以确保代码在不同的平台和设置下都能正常运行。
华为的开源社区因其透明度和开放性而获得了赞誉,这也是可以为今后开源之路的开拓者提供帮助和启示的。
四、总结
在开发过程中,开源项目的代码、技术方案都可以是有效的资源共享。优秀的开源项目可以对公司的技术能力进行提升,也可以为开发者提供更多的工具和资源。在这些优秀开源项目的背后,有着不同的开源之路。无论是领先企业的阿里巴巴,还是独具特色的道富信息,还是华为的开源之路,无论它们的代码、技术方案或是开源社区都有着宝贵的实践经验。开源之路的成本和价值应被充分考虑,好的开源项目会有更好的成果,而有益的指导和建议可以帮助我们更好地适应和应对这个万变的技术世界。