【译】如何开始成为我们开源工程的贡献者(unity)
原文地址:http://blogs.unity3d.com/2014/09/16/getting-started-as-a-contributor-to-our-open-source-projects/
原文作者未做版权声明,视为共享知识产权进入公共领域,自动获得授权
Unity 和 开源
在上个月的Unite大会上,我们宣布了开放源代码的计划,也就是未来我们将对于Unity的一些组件开源。自从我们公布了在BitBucket(源码托管网站)上的Unity Test Tools项目,我们已经看见众多开发者进行了各种克隆、创建分支、拉取代码的操作(你可以从Test Tools工程的仓库中看到工程的发展动态,当然你也可以在工程的事件追踪器issue tracker中来观察)。此后,我们还发布了XcodeManipulation API(允许开发者修改和调整所生成的Xcode项目)和iOS Native Code示例项目(给出一些类似于如何整合Unity和Native UI以及进行NativeVideo Rendering的例子)。现在,我们正在加紧Unity4.6版本中的全新的UI系统的开源工作(目前为公测Unity4.6beta版),同时我们也正在制定对于更多组件进行开源的计划。
我们还公布了参与者指南,它已经属于了用户手册中的一部分。今天,就让我同大家一起来了解一下其中的具体步骤。
参与步骤
我们的代码仓库托管在Mercurial或者Git的BitBucket上。如果你曾经参与过在GitHub上项目的开发,那么它们的步骤基本相似。但是如果你以前使用的是Perforce或者SVN(或者一些其他的集中式版本管理系统),那么类似于“forks(分支)”,“clones(克隆)”,“pushing(推送)”和”pulling(拉取)”这些概念对于你可能比较陌生,我们建议你详细遵循参与者指南的步骤(因为在每一个步骤都附带了截图指导)并且充分利用“扩展阅读”这部分的内容。
你需要做的第一件事情就是创建一个BitBucket的账户,这是我们我们管理资源库的地方。这有一个非常简单的步骤(如果你从未用过BitBucket,但是你有一个GitHub的账号,你可以在BitBucket上使用相同的一个账号)(你首先需要创建一个BitBucket的账号,然后再连接你的GitHub(或者是谷歌)账号,然后你就可以用你的GitHub(或谷歌)账号登陆到BitBucket了),同时如果你还在思考为什么我们不用GitHub,而用BitBucket,请查看我们的FAQ。
下一步,你要在BitBucket的Unity的主页上,找到你想要参与的资源库。一旦完成以上操作,你就可以在你自己的空间上建立一个资源库的分支(fork)。一个资源库的分支就是一个简单的资源库的克隆体,它将存贮在你自己的私有空间下,并且你可以在这里随意的推送提交你的更改。
克隆分支以及确认你的更改。除非你喜欢低效混乱的命令行工具,我们推荐Atlassian的Source Tree,它同时整合了Mercurial和Git。无论你使用的是Mercurial或者是Git,或者无论你在Mac或者Windows平台下工作,它都非常适用于你。
最后从你的分支开启一个pull请求,然后等待。Unity工程师将会查看你的pull请求,并且处理它,如果通过了审核,它将被合并到我们的仓库中。
处理过程类似于:
Pull请求后的出现的情况
当你提交一个pull的请求,通常可能会发生以下4种情况之一:
1. pull请求通过,并最终被整合。
2. pull请求因为拒绝而关闭。
3. pull请求不是因为被拒绝而关闭,而是Unity工程师要求你在分支被顺利合并之前做一些其他的工作。
4. pull请求被拒绝,但是Unity工程师仍然会采用pull请求中一部分的更改。
情况1和2是很简单明了的。情况3通常意味着你需要清空或者是处理一些额外情况。如果Unity工程师并不想采用你所有的更改,而只是选取其中一部分,或者以往的更改需要在应用之前清空的时候,通常会发生第4种情况。在Unity Test Tools项目中,我们已经碰到了第1,第2和第4种情况。
在任何情况下,你将通过邮件收到关于你的pull请求活动的通知,所以请确保你设置了能从BitBucker收到邮件通知。
就这么简单
所以,仅仅几个简单明了的步骤,你就可以参与改善Unity和它的整个系统,这不只是为了你自己,而且也是为Unity社区中的每一个人。正如之前说到的,我们非常期待看到你的贡献!