微软现在宣布不只开放C#编译器和程序语言功能开发,现在连C#制定标准的部分都要开源,社群可以在GitHub的dotnet/csharpstandard存储库中,参与C#标准制定的工作。
C#的开源计划从2014年开始,微软在GitHub的dotnet/roslyn存储库开源C#编译器,并且接着于dotnet/csharplang存储库,提供了一个可供社群讨论和参与C#语言创新的公开空间,而现在微软补齐C#开源最后一块拼图,将C#语言标准化工作也开放。
微软提到,在.NET基金会下公开C#标准化工作,会让标准制定工作变得更简单容易一些,现在不只是C#语言创新和功能设计,包括实例以及标准化工作,都是以公开的形式进行。社群能与语言设计团队、编译器实例者和标准委员会对话,而且这些对话将会对外透明公开。
三个开源存储库都有各自明确的目的,dotnet/csharplang用于语言设计和创新,而dotnet/roslyn则是用于编译器与相关工具的实例,dotnet/csharpstandard的主要目标是创建描述C#语言标准的文本。微软解释,创建C#语言标准提案的工作,仍是由ECMA C#标准委员会TC-49-TG2负责,而开源C#语言标准,会使得这项工作在.NET基金会底下公开进行。
dotnet/csharplang和dotnet/docs中有关规范文本的问题,将会移动到新的dotnet/csharpstandard存储库中,在接下来的一到两个月内,docs.microsoft.com上C#规范会更换成为标准委员会的版本。
目前已经可以看到委员会正在制定C# 6标准,该工作将目前托管在dotnet/csharplang存储库的C# 5.0标准文本,整合到草稿规范中,而一旦在标准存储库中,C# 6拉取请求都完成审核和整合,dotnet/csharplang存储库中的C# 6草稿规范就会被移除。社群可以通过审查拉取请求,来参与未解决的问题,并帮助完善语言。