如何阻止程序员在离开公司时从GitHub复制代码?

How to stop programmers to copy the code from GitHub when they leave the company?

我的一个朋友拥有一家科技公司,他说他面临的最大问题之一是当一名程序员离开公司时,他们会以某种方式复制代码并与他们的个人共享 GitHub帐户。对此可以采取哪些预防措施?整个代码驻留在 GitHub 上。

不确定 Whosebug 是否最适合这个,也许试试:https://law.stackexchange.com/

如果 repo 是私有的并且代码通常也是私有的,则不允许他们复制和粘贴整个代码库。他们也可以在离开前复制它,所以这种做法很难停止,但如果你能证明他们复制了 proprietary/private 代码,他们可能会遇到麻烦。

还有一些代码真的很简单,可以重写,特别是如果离开的人写的...只是需要时间。

如果可能的话,在自定义文件的顶部添加带有公司名称的版权声明,以避免专有代码与导入的库和文件等外部代码之间的混淆。还要确保您拥有适当的所有权合同。

真正的问题是:他们使用此代码是为了与您竞争还是为了完全不同的东西?

他们的代码来自哪里并不重要。他们可以轻松地将其复制到 USB 光盘或 CD 或诸如此类的东西,然后稍后将其放入 github。或者放在其他任何地方,Bitbucket, filesharing 等。这个和github.

确实关系不大

常见的保护措施是让员工签署保密协议,在所有文件中获得许可 headers,并让法律部门跟踪副本。

这与防止在互联网上免费提供视频电影没有什么不同。

如果代码在 public 存储库中,任何人都可以复制它。所以我假设这一定是一个私有存储库。

应在 GitHub 撤销员工帐户。这会阻止他们继续访问存储库。 Github 还允许您查看已克隆存储库的唯一用户数。如果就在员工离职前意外上升,则表明您需要进行调查 - 此时您应该向 Github 询问 IP 地址日志。

同时,如果您有任何可行的证据表明用户已将存储库按原样复制到他们自己的个人 github 帐户,从技术上讲,github 进行检查将是微不足道的。他们可以简单地将 HEAD 提交 SHA 与您的存储库进行比较。我不知道他们是否会在没有法院命令的情况下这样做。

说这个 github 只是从组织中获取代码的众多途径之一。如果您允许用户将存储库克隆到个人设备上(比如在家工作),那么您永远无法完全证明他们没有将其复制到其他地方。如果他们可以通过 USB 访问他们的工作机器,是什么阻止他们手动复制它?如果互联网使用不受监控和限制,他们可以将其压缩并上传到许多文件托管站点中的任何一个。如果最坏的情况发生,总是会在个人移动设备上拍下屏幕照片,或者打印出地段,然后走出前门。

公司经常发现试图通过技术措施解决此类问题是无底洞的金钱陷阱,最终会阻碍开发人员的工作和士气。我建议通常更好的方法是尝试推动一种文化,在这种文化中,开发人员足够尊重您,不会试图窃取您的东西。同时,如果您有可行的证据表明某位员工滥用了他们的权限以遵循正确的法律程序。

好吧,在你做任何事情之前,首先要确保你有正确的书面合同。相信我,我很少有案件在法庭上结案,有 2 次我输了,只是因为律师没有做好他的工作。在交易时因为我们是国际化的,所以更 complicated.So 你必须首先确保你公司开发的所有东西都合法地属于你的公司,然后你在发布内容时必须非常小心,因为你可能会接受一些条款这可能会让你付出 later.Unlike 大多数用户的代价,我想谈谈这部分,因为在大多数情况下,当开发人员或程序员在 99% 的情况下离开某家公司时,他们已经拥有大部分代码(或某些部分),因为作为程序员我知道我们大多数人是如何工作的……总是有本地工作代码和本地备份,因此可能在云中的某个地方……或者你将无法在他们离开后立即拒绝访问,但他们仍然可以访问到 it.But 如果你有法律依据而不是在大多数情况下只是事实 t只要您拥有受法律保护的代码就足够了。