Github 和代码权限

在经过一圈的折腾后,我们又回到 Github,用它来进行协同开发,之前我们用过其他同类的服务(commitcode,bb),也用开源软件搭建过私有服务(gitlab,gs),甚至基于开源自己也二次开发了一套,但现在全都抛弃,回到Github,主要有两点:

但它的问题显而易见,比如权限问题,其实这个问题不只是我们遇到,相信很多公司都遇到了这样的问题,尤其是一些做产品的早期创业公司。

对一些大公司来说,在协同开发的过程中,它有足够的能力保护代码的安全,软性的方面有大公司的强势和开发人员对公司的敬畏等,硬性方面有公司的规章法律文件,以及即便拿到代码也只是部分代码等,所以保护代码在大公司并不是非常重要的事情,当然也有大公司权限做得很变态的,比如 Google,它们自己开发的工具已经让权限控制到每个文件。

但小的创业公司就不这样了,人少,没有规范的制度,加上早期的产品不会太复杂,基本每个开发都会很容易的拿到所有的代码,一旦发生这样的恶意事件,分分钟就会有一个竞品出现,而 Github 这样开放式的 workflow 就容易让这一担忧变成现实,所以保护代码可能尤其显得重要。

现在我们强行要求的开发流程是 fork -> clone -> develop -> push -> pull request -> code review -> merge,这是一个非常漂亮的快速开发流,但因为 Github 的弱权限管理,当只有一个 repo 的时候,这个流程会导致所有的开发人员都会很轻易的获得这个 repo 里所有的代码。

目前我们的解决办法是:

我们想要的:

我们可能会做的:

最后的话才是最重要的,如果你没有办法保证你的代码安全,不如就对所有开发同事公开,甚至开源吧。

update@201701013: 今天遇到灾难,github 删除了我所有的私有库,并且 flag 了我的账户,瞬间让我对它没有了信心。商业代码看来还是要选择自行架设。

© 2008 - 2021 · TOURCODER.COM ·