任何人都可合法实现C#与CLI规范

来源:互联网 发布:mac iso怎么解压缩 编辑:程序博客网 时间:2024/05/17 02:58
近日,微软宣布为C#和CLI的相关规范即ECMA 334和ECMA 335,提供公众承诺(Community Promise),这确保了任何人都可以用任何语言和方式来实现它们,而不会受微软侵犯知识产权及专利权的诉讼。这与开源.NET项目Mono息息相关,直到目前为止它的合法性仍未澄清。具体的公众承诺如下:
微软不可撤销地承诺不对制造、使用、销售、提供销售、进口或分发任何实现而进行索赔。本承诺直接适用于所有制造、使用、销售、提供销售、进口或分发相关细节的个人或组织。目的在于授权开源的实现。
该公众承诺比起开放规范承诺的自由度要低些,因为公众承诺“要求实现的内容必须符合所有细节的规定部分”。但开发人员无需和微软签署任何许可协议或通知微软关于他们实现C#和CLI规范的详情。

Peter Galli在Port25站点上作出声明来解释当中的含义:

在公众承诺下,我们注意到任何人都可以用他们的技术、代码和解决方案来自由地实现这些规范。 我们不需要签署许可协议,抑或告诉微软我们是如何实现这些规范的。
该承诺适用于开发人员、经销商以及涉及相关实现的用户,与实现的开发模型、版权许可类型和业务模型无关。
一周前,GNU之父Richard M. Stallman才刚刚警告过包括Mono在内的开源项目:
Debian打算把Mono包含在GNOME的主要安装过程中,由于该应用程序用C#编写,会让开源社区冒上极大的风险。依赖C#非常的危险,所以我们并不鼓励用户使用。
问题不仅仅在Mono;所有免费的C#实现都会面临同样的问题。微软很可能迫使所有免费C#实现的地下组织获得软件许可。
我们应该有条不紊地少用免费的C#实现。换句话说,我们不鼓励人们用C#编写程序。因此,我们不应该在GNU/Linux默认安装或者GNOME安装的主要方式中包含C#实现,我们应该尽可能推荐用户使用非C#应用程序。
Miguel de Icaza就微软澄清Mono许可的问题做出如下报告:
几个月前,我们在微软接触过Bob Muglia和Brian Goldfarb,要求他们就ECMA标准中包括的C#和CLI作出说明。
由于Mono不仅仅实现了这两个ECMA标准,故Icaza还是有所担心:
在未来的几个月,我们将把庞大的Mono源代码大部分拆分为两份单独的源代码。一个是ECMA,另一个则会包含我们对ASP.NET、ADO.NET、WinForm和其他部分的实现。
由于获取Mono的方式不同,也许你已经拿到这个拆分的版本或者还没有。
把C#和CLI置于公众承诺之中说明微软不会针对开源开发人员和Linux经销商实现相关规格或者包含Mono到经销产品当中的行为进行诉讼。到目前为止,公众承诺仅包含了VBA语言规范、HealthVault服务规范、UI自动控制1.0和XPS规范1.0。