Unity在GitHub 发布 Unity 引擎和编辑器的 C#源代码

上周,Unity 在 GitHub 上发布了 Unity 引擎和编辑器的 C# 源代码,仅供 Unity 学习参考使用。

为何如此决定

为了了解或改进自己的 Unity 项目,一直以来有用户对 Unity .NET 程序集反汇编,虽然服务条款明确允许这样做。但反汇编有二大缺点:

尽管这不难做,但过程还是十分麻烦。

反汇编后导出的结果不会给出最初的注释和变量名,这样要理解代码会很困难。

为了提供方便,不少社区成员不辞辛劳向 GitHub 仓库提供反汇编的代码。Unity 表示对这件事的感觉比较复杂。一方面,很高兴看到用户为壮大Unity社区提供实用的服务。但另一方面,这种行为从严格意义上说是违法的。虽然服务条款允许进行反汇编,但服务条款里却不允许将这些代码发布。

经过良久的考虑,Unity 决定解决这些问题的最好办法只有一个:那就是自己发布源代码。

要点解释

随后 Unity 官方发表解释说,并不会将 Unity 开源。开源可能会对现有的业务产生影响。这次仅是发布 Unity 引擎和编辑器的 C# 源代码,用户仅可以阅读代码,不可以修改代码。在进行操作之前,请查看完整的协议文本,以了解所有细节,避免触及底线做违法的事:

同时,还表示不会接受 C# 参考源代码的合并请求。因为 Unity 既没有法律框架也没有组织框架来处理这些合并请求,更不用说准备合并请求这个行为本身就已经违反了参考协议。

Unity 希望能从中了解到 C# 参考源代码有哪些错误,用户可以使用 Unity Bug Reporter 来汇报错误,不要只是在 GitHub 上提交合并请求。

注意,使用 Unity Bug Reporter 来汇报错误时候,需要详细描述问题,指出在参考源代码中有哪些与问题相关的代码行或文件。

源代码的用意

所有进入 UnityEngine 和 UnityEditor 托管程序集中的 C# 源,其每个版本都会从Unity 2017.1开始。在未来的日子里,这个库将会在每次新版本发布后不久进行更新。

通过查看每次提交,你可以发现在后续版本之间发生了哪些变化。例如:你可以看到 Unity 2017.3.1 patch 2 的更新中修改了这些文件:

服务条款及完整协议

https://unity3d.com/cn/legal/terms-of-service/software

https://unity3d.com/cn/legal/licenses/Unity_Reference_Only_License

Unity引擎及编辑器C#源代码地址:

https://github.com/Unity-Technologies/UnityCsReference

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180331B08JOU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券