How to stop programmers to copy the code from GitHub when they leave the company?
我的一个朋友拥有一家科技公司,他说他面临的最大问题之一是,当一个程序员离开公司时,他们不知何故地复制并与他们的个人Github帐户共享代码。在这方面可以采取什么预防措施?整个代码驻留在Github上。
他们的代码来自哪里并不重要。他们可以很容易地将其复制到USB光盘、CD或其他什么东西上,然后将其放在Github上。或者把它放在任何其他位置,位桶,文件共享等。这与GitHub没有什么关系。
常见的保护措施是让员工签署NDA,在所有文件中都有许可证头,并让法律部门跟踪副本。
这与保护视频电影在互联网上免费提供没有什么不同。
如果代码在公共存储库中,任何人都可以复制它。所以我假设这一定是一个私有的存储库。
应在Github上撤消员工帐户。这会阻止他们继续访问存储库。GitHub还允许您查看克隆存储库的唯一用户数。如果这在员工离开前意外上升,则表明您需要调查-此时,您应该向Github请求IP地址日志。
同时,如果您有任何可行的证据,证明用户已经将存储库原样复制到了他们自己的GitHub帐户上,那么GitHub检查起来就很简单了。他们可以简单地将head commit sha与您的存储库进行比较。我不知道他们是否会在没有法院命令的情况下这么做。
说这个Github只是许多从组织中获取代码的向量之一。如果您允许用户将存储库克隆到个人设备上(比如在家工作),那么您永远无法完全证明他们没有将其复制到其他地方。如果他们的工作机器有USB接口,是什么阻止他们手动复制它的?如果互联网使用不受监控和限制,他们可以将其压缩并上传到许多文件托管站点中的任何一个。如果最坏的情况发展到最坏的时候,总是会有人在个人移动设备上给屏幕拍照,或者把照片打印出来,然后走出前门。
公司经常发现,通过技术措施来解决此类问题是无底洞的金钱陷阱,最终阻碍了开发人员的工作和士气。我建议通常一个更好的方法是尝试和推动一种文化,在这种文化中,开发人员足够尊重您,不会试图从您那里窃取信息。同时,如果你有确凿的证据证明员工滥用了他们的访问权限,从而遵循了正确的法律程序。
嗯,在你做任何事情之前,首先要确保你有适当的书面合同……相信我,我很少有案件在法庭上结束,我输了两次,只是因为律师没有做好他的工作……当我们在国际上进行交易时,情况更为复杂。所以你必须首先确保你公司开发的所有东西实际上都属于你。对于你的公司来说,从法律上讲,你在发布内容的时候必须非常小心,因为你可能会接受一些以后会让你付出代价的条款。与大多数用户不同,我想谈谈这部分内容,因为在大多数情况下,当开发者或程序员离开某个公司时,99%的情况下,他们已经拥有了大部分代码(或某些部分),因为作为progRammer我知道我们大多数人是如何工作的……总是有本地工作代码和本地备份,因此很可能是在云端的某个地方……或者,在他们离开之后,你将无法拒绝访问,他们仍然可以访问它。但是,如果你有合法的理由,而不是在大多数情况下,事实上你有合法的代码保护wil。我够了。
不确定stackoverflow是否最适合此功能,请尝试:https://law.stackexchange.com/
如果repo是私有的,并且代码通常也是私有的,则不允许复制和粘贴整个代码库。他们也可以在离开之前复制它,所以这种做法很难停止,但是如果你能证明他们复制了专有/私有代码,他们可能会遇到麻烦。
还有一些代码非常简单,可以重写,特别是如果离开的人写了它…只是需要时间。
如果可能,在自定义文件的顶部添加公司名称的版权声明,以避免专有代码和外部代码(如导入的libs和文件)之间的混淆。还要确保你有适当的所有权合同。
真正的问题是:他们是用这个代码来和你竞争,还是为了完全不同的东西?