2.5 Visual Studio Code是如何做开源的

Visual Studio Code成功的一大原因就是它的开源。

知否知否,Visual Studio Code不止开源,昨夜始于“开源”,如今“开源”深处渡。

读者看到这句话,也许会有疑惑,为什么两个“开源”都加上了双引号?其实是笔者有意为之,因为这两个“开源”的意义有着很大的差别,第一个“开源”代表着开源的初始阶段,而在笔者看来,第二个“开源”,才是真正的开源。

2.5.1 代码开源

我们先来看一看第一个“开源”。2015年4月19日,微软在Build大会上宣布了Visual Studio Code。在半年后的11月18日,Visual Studio Code获得MIT License(MIT许可证)并在GitHub上开源。众多开发者为之振奋。至此,Visual Studio Code的开源之路迈出了第一步——把代码放到GitHub上,全球的开发者都能看到。可能一些开源项目也就停留在了这个阶段,甚至GitHub上的代码只是个镜像,内部会有一个代码控制系统,定期把代码同步到GitHub上,Issues和Pull requests也是关闭的。然而真正的“开源”却不止于此。

2.5.2 Issues和Pull requests

除了代码开源,Visual Studio Code团队通过Issues和Pull requests与整个社区一起合作,打造最优秀的开源产品。

通过GitHub上的Issues,Visual Studio Code团队可以倾听用户的反馈。在不同的时间段,都会有Visual Studio Code团队的成员对GitHub上的Issue进行分类。无论是bug还是功能请求,开发团队都会指定相应的成员进行进一步的跟进。

通过GitHub Pull requests,世界上的每一个人都有机会向Visual Studio Code贡献自己的代码。Visual Studio Code团队也非常欢迎社区的贡献,会认真审核每一个Pull request,给出审核建议,最后合并合适的Pull request。

2.5.3 开源的开发流程

Visual Studio Code团队把整个产品的开发过程建立于开源之上。那么我们就来看一看微软是怎么来运作Visual Studio Code这个开源产品的:

○ 每年,Visual Studio Code团队都会在GitHub的Wiki上发布Roadmap,列出一整年的规划图。

○ 每个月月初,在产品设计阶段,Visual Studio Code团队会在GitHub的Issues上发布Iteration Plan,列出这个月会开发的每一个功能,基本上一个功能对应一个GitHub上的Issue,你可以看到详细的设计及mockup。

○ 每个月月末,临近产品发布,你可以在Endgame上了解到Visual Studio Code是如何进行产品测试与发布的。

Visual Studio Code不仅将代码开源,而且其整个产品的计划、设计及发布管理都是开源的:每个阶段对每个用户都是公开透明的,你不仅可以提交Issue,发布Pull request,甚至还可以参与到每个功能的设计与讨论中去!

2.5.4 开源的生态

前面说过,除了Visual Studio Code编辑器是开源的,Visual Studio Code还把它的许多重要组件抽离出来,使其成为人人都可以复用的开源产品(我们将在下一章对相关开源组件进行详细的介绍)。

除此之外,Visual Studio Code的文档也是开源的,具体见参考资料[7]。