知识卡片

开源发布本身就是一项架构决策,能省下大量重复造轮子的成本,还能换来外部持续的迭代反馈

专业/工作

内容

在其他系统管理程序还是私有软件的年代,Xen选择开源,直接带来的好处是可以复用大量现成组件(Linux内核、QEMU模拟器等),不必自己重新实现这些本可以借力的部分;更深远的好处是,一旦这些依赖的项目自身更新迭代,Xen也跟着受益,而Xen开发团队提交的补丁反过来又让那些项目变得更好,形成一种双向的共生关系。从一个剑桥研究生的兼职项目,到吸引Intel、AMD贡献硬件虚拟化支持代码,再到被各大Linux发行版收编维护,开源发布把原本只能靠一个团队慢慢积累的经验,变成了全球开发者共同投入的复利。这提示一个判断”要不要开源自己的基础设施项目”的角度:不只是考虑”分享出去会不会被抄”,更要考虑”不分享出去,需要自己一个人扛下多少本可以由生态分担的维护成本”。

参考来源

《架构之美》第7章《Xen和虚拟化之美》