是否建议要求员工创建“工作” GitHub帐户?


91

我已经将所有公司的Git存储库移至GitHub,现在我想将员工添加到项目中。由于大多数员工已经拥有个人GitHub帐户,所以我想知道是否应该要求他们创建一个工作 GitHub帐户。我之所以考虑这样做,是为了减少未经授权访问我们代码库的可能性,因为他们的个人帐户可能会通过他们在网站上的个人活动而得到很好的宣传,从而增加了有针对性的攻击机会。此外,如果他们的个人帐户遭到入侵,这并不意味着劫机者可以访问整个公司代码。由于这将带来为员工维护两个帐户的负担,我想知道这是否正确,甚至是否合理。

更新 感谢您提供所有有用的见解。由于问题的主观性质,并且因为我从几个不同的答案中获得了最佳成绩,所以我不会将答案设置为可接受。

我决定以这种方式前进:我将提醒员工,出于实际原因,必须将与工作相关的GitHub电子邮件通知发送到其工作电子邮件帐户。因此,创建工作GitHub帐户会更有意义。如果他们愿意使用其个人GitHub帐户并将其连接到其工作电子邮件帐户,那就很好。任何状况之下,员工必须以书面形式同意与使用GitHub相关的许多条件。这些与帐户安全性相关:使用不与任何其他帐户一起使用的安全随机密码生成器选择安全密码,不通过非其拥有或管理的计算机访问GitHub等。最终,员工必须自己决定工作帐户是否对他们更有意义。


工作帐户同样容易被盗用,不是吗?
鲍里斯·扬科夫

10
GitHub在2012年8月添加了按组织的电子邮件路由。github.com/blog/1204
Paul Schreiber

2
@BorisYankov,如果您没有任何公共活动并且登录名与您的姓名没有任何关系,那么更难以更改工作帐户。默默无闻是安全性,但肯定会有所帮助。您可以创建一个工作流,将github发送的所有电子邮件也发送给开发团队负责人,等等。另一点:作为工作帐户,您可以决定甚至进行尽职调查,审核帐户并查看它们是否符合约定。在公司和员工之间。第三个重要点:用户辞职后,您就可以接管他的帐户。
副总裁

7
个人拥有多个帐户违反GitHub服务条款。“一个人或法人实体不得开设多个免费帐户。” help.github.com/articles/github-terms-of-service
Riley Major

2
关于这最后的评论。检查条款,指向A.7。那么,如果您拥有自己的个人帐户,而您的公司代表您创建了另一个帐户并使用它,将会发生什么情况呢?即使您没有记错,您的个人帐户也会被终止吗?
Matteo Mosca 2015年

Answers:


63

如果有好处,那只会是痛苦的。但是,没有什么比痛苦和毫无意义的糟透了。只需拥有一个个人帐户。两个原因:

  • Github在其组织中具有非常好的访问控制。如果员工离职,您可以立即删除其访问权限。如果他们拥有公司帐户,则您必须以某种方式收回该帐户,以获得规定的利益。实际上,您可能只是删除帐户访问权限,就像他们拥有个人帐户一样。

  • 拥有多个帐户很痛苦。在使用不同帐户时,在帐户之间登录和注销很麻烦,并添加注释,关注和所有社交内容。

参考资料:我制作了一个具有GitHub集成CI服务器,因此我有很多测试帐户,并且我已经与客户进行了各种奇怪的配置交谈,包括单独的工作帐户和个人帐户。它总是导致麻烦。


25

贵公司的代码在公共还是私有存储库中?如果他们(或至少一些)是公开的,并且您允许员工使用自己的GitHub帐户,那么这将激励他们编写好的代码。他们的名字将在字面上公开附加。但是,我假设您所有的存储库都是私有的。

总的来说,听起来您希望您的员工帐户在整个GitHub上不公开可见。不幸的是,他们通过出售GitHub Enterprise赚钱,所以我想这就是为什么他们不允许您为组织创建私人帐户的原因之一。在这两种情况下,在选择一个非常社交的网站来托管您的存储库之后,拥有(基本上)被锁定的工作帐户实际上是违反直觉的。

假设您确实为员工设置了工作帐户。您会限制他们如何使用这些帐户吗?您是否允许他们出于工作目的向非工作项目贡献代码?如果是这样,那么他们的帐户就会公开显示出来,让您回到最初的担忧中。您可以只允许他们用他们的个人帐户进行捐款,但随后却为他们造成了后勤上的痛点。就个人而言,我鼓励员工自己为其他项目贡献代码。这不仅增强了他们的信心,还使他们获得了宝贵的经验并树立了信誉。

无论如何,拥有工作账户是不值得的。GitHub界面使您可以轻松控制谁有权访问什么,因此删除访问权很简单。我也不认为拥有单独的帐户真的比GitHub接口已经在个人和工作项目之间“划清了界限”。

另外,请记住,随着公司的发展,您打算如何应对。从管理的角度来看,您设置的策略现在是否可以扩展?现在管理5个帐户可能很好,但是当您成长为20或50个帐户时会发生什么呢?但是,一旦达到这一点,也许GitHub Enterprise将是一个易于解决的解决方案。在那种情况下,我会考虑确定是否可以将GitHub帐户迁移到GitHub Enterprise安装。如果是这样,我可以看到这是拥有工作账户的一个积极原因。


好点,谢谢。是的,存储库是私有的。关于在工作中的非工作项目,我一点也不担心。这只是帐户安全性。
fiorenti 2012年

我已经删除了该评论,因为它不相关。
Jeremy Heiler 2012年

19

并非不可能,这实际上是一个很好的主意。

令人遗憾的是,您需要计划在公司生命中某个时刻离开公司的员工。您将如何在那个时间点从公司的存储库中提取他们的个人帐户?

如果员工辞职不好,您该怎么办?在理想的世界中,一切都将保持专业,并且公司与前员工之间不会有任何仇恨。您应该为不太理想的情况进行计划。

保留两个帐户虽然很麻烦,但是您的员工应该欢迎这个机会。它提供了他们与公司之间的界限更清晰的界限。

编辑:这里值得关注的是,将员工对项目X,Y,Z等的个人贡献与他们对公司产品的有偿工作之间的区分清楚。使用单独的工作帐户有助于提供必要的划界,以识别谁拥有什么知识产权和相关版权。

例如,如果某个员工使用其个人帐户并为公司和Project X捐款,那么您如何确定员工在这些时间点所扮演的角色?是X代表您的公司还是由您自己决定?员工或公司是否拥有授予X的作品的版权?因此,如果您允许公司的外部贡献,您如何区分该雇员是雇员还是自愿捐款?

从广义上讲,假设您有一个通过参与其他项目建立起代表公司行事的声誉的员工。该员工离职后,您如何指示个人用户帐户不再与您的公司关联?如果不明确描述特定帐户的用途,则会发生严重的品牌问题。

当您开始考虑潜在的情况时,很容易掉落所有权,品牌和版权问题。使用单独的工作帐户有助于消除这种歧义。该公司必须能够对以其名义提供的捐款提出索赔。

这与将用户帐户分离出来的技术无关,而是法律上的问题可能会让您失望。

请注意,如果您公司的产品全部在许可的许可下作为开源发布,并且/或者您完全不担心潜在的品牌问题,那么这可能是一个有争议的话题。
(向保罗·比格(Paul Biggar)请求此编辑的提示)


谢谢,由于上述原因,如果我还是一名员工,我也欢迎这项政策。GitHub的界面使您可以轻松地从私有存储库中删除用户的访问权限。我还假设,如果员工辞职很差,在大多数情况下,如果他愿意,他将有足够的时间进行损害赔偿。
fiorenti 2012年

23
我不明白这个答案。GitHub具有细粒度的访问控制。员工离职后,您可以从组织中删除其访问权限。这有什么难的?实际上,删除他们的个人帐户比“收回”他们的工作帐户要容易得多。
Paul Biggar 2012年

2
@fiorenti:大概,用户还将对代码进行完整的签出,无论代码在何处托管,都将发生!
Paul Biggar 2012年

2
@PaulBiggar-我更新了回复,以记录涉及的一些更广泛的问题。这主要是一个法律归属问题,导致我建议使用单独的帐户。我已经看到许多案例,如果不将个人账户与工作账户分开,会在事后造成严重的头痛。每个人的MMV以及每种情况都必须根据公司的精神进行检查。

感谢您指出可能遇到的潜在法律问题雷区
RidiculousRichard

10

由于每个人似乎都同意缺乏雇主将两者分开的需求,因此这是我的短暂经验,曾尝试将我的个人帐户用于专业项目和在工作环境中做出的开源贡献。

只是为了使内容更完整:我没有被问到有关帐户的任何信息,实际上我的工作场所中的大多数人都不知道GitHub。我只是能够开绿灯来开源我将要从事的项目,并且花费最少的工作,即使用我的个人帐户。

从员工的角度来看,我真正讨厌的一件事是:在个人电子邮件中收到有关工作内容的通知

从这个观察中,我意识到这是公然打破专业/个人障碍的:如果我想在休假期间为一个项目做贡献,我仍然会从我的工作项目中得到所有更新……这可能会给外部贡献者带来困惑,他们可能会在不知道您退出项目的情况下与您联系。

然后,当然可以找到一个平衡点,那就是您的个人声誉可以从您的工作贡献中获得。但是话又说回来,如果您的名字与一个糟糕的项目有关,那可能正好相反...

最后,从雇主的角度提出问题,并考虑所有其他答案:我要说的是,使用工作专用帐户强制执行的意义不大。但是您不应该禁止这样做,以便喜欢提高个人障碍的员工可以这样做,并可能暗示这些风险……?


附带说明一下,关于安全性,因为在其他答案中似乎有些容易解雇:

当然,“工作”帐户在密码方面不会比“个人”帐户安全得多。但是,当您使用GitHub时,可以使用SSH密钥进行推送。而且该密钥通常位于用户的会话中。因此,个人帐户可以通过简单的个人计算机窃取(无需密码知识)来破坏所有工作存储库,而专用工作帐户则可能仅在工作机上拥有其密钥,因此更加安全(希望如此)。


+1:我没想到的两点:电子邮件和SSH密钥。虽然在GitHub上有单独的电子邮件是一个问题,但是您可以为您的帐户设置多个SSH密钥。
Jeremy Heiler 2012年

@JeremyHeiler什么你的意思究竟“在GitHub上有单独的电子邮件是一个问题?”。一旦您将它们添加到您的个人资料中,我将使用三种不同的电子邮件(旧的,当前的个人的,工作的):GitHub将它们与您的帐户毫无问题地匹配:)
MattiSG 2012年

我指的是这个要点。您是在说,如果您将工作电子邮件放在工作计算机上的git.config中并将其添加到您的帐户中,所有与工作相关的通知都将发送到您的工作电子邮件中?如果是这样,那就太好了!
杰里米·海勒

@JeremyHeiler哦,不,我们对电子邮件的“问题”有一个小小的误解:)确实,就像我在回答中所说的那样,您总是会收到通知到您的“主”(通常是个人)帐户的通知。但这不是“问题”,因为您需要为每个提交地址提供一个帐户:您可以将任意数量的电子邮件与您的帐户相关联,但是只有一封电子邮件会从您的帐户中收到通知。
MattiSG 2012年

抱歉,是的,我应该在最初的评论中更具体:-P
杰里米·海勒

9

我会投票“否”。对于您的开发人员来说,这是相当麻烦的事情,并且可以通过模糊的方式为您提供安全性:如果有人积极地针对您的开发人员,那么会有很多其他攻击手段可以使您获得代码。

另外,作为一家初创公司,除非您有很多神奇的秘密调味酱类型的算法在起作用,否则有人得到您的代码将很尴尬,可怕,令人讨厌,但不应带来重大的竞争优势(谁可以合法地使用您的代码?)还是导致您倒闭。

如此低的订单概率与开发人员的生产率?我会提高开发人员的工作效率,但这是我的计算。:)


2

我想这应该是员工的选择。我要说的一件事是,如果他们不想,不要强迫他们使用他们的个人github帐户。我当时在使用GitHub的公司工作,虽然这不是必需条件,但我个人想创建一个单独的帐户。主要原因是为了保护我的个人项目。我不希望公司尝试说我的一个私人项目是因为他们的私人项目,因为该项目是在他们的共同项目中使用的相同的github帐户下的(不确定是否会在法庭上成立,但是我对此并不抱有信心)在法律体系中涉及到此类问题)。我认为单独进行清理可能是一件好事。


2

我们正在我们公司中做到这一点。我不想开始讨论“什么是更安全的,github或表下的服务器,每个人都具有root用户访问权限,不确定备份是否正常工作,等等”。我们的方法是:

  • 每个开发人员都必须创建一个新帐户,该帐户与其个人github帐户无关
  • 它应该使用公司的电子邮件。
  • 它应符合我们的安全规则(登录名和密码要求)。
  • 他们无法显示/进行任何公共活动。
  • 这是公司财产。不是他/她的帐户。
  • 所有帐户都与公司(随机名称)相关。也没有公共活动。

2
您无法强制执行密码复杂性要求,因为您无法验证GitHub密码,为什么还要密码呢?
拉姆猎犬,2013年

很好,您是说,如果您不能从技术上强制执行某项操作,那么您就不会强制执行。我的意思是,如果一名员工阅读了安全策略,并且在知道后果的情况下对其进行了签名,那么它就是一项强制措施。
副总裁

3
我是说您无法知道某事未完成,因为您无法验证员工创建的GitHub帐户的密码。
拉姆猎犬,2013年

好吧,例如,如果某个帐户被盗用,并且我们通过某种方式发现密码为abc123,我们可以“负责”该员工。我在这里没有问题。还有一点:我在哪里写的?我写了它必须(现在我更新为应该)...
副总裁。

必须通过同意该名称也是他们的名字来限制这种方法,并且您不会以他们的名字采取任何行动
迈克尔

0

我认识到此问询已有几年的历史了,所以也许以前没有这个问题,但是他们特别指出了用户帐户和组织帐户之间的差异

拥有多个用户帐户(例如用于个人用途和商业用途)可能很诱人,但是您只需要一个帐户。

GitHub构建了很好的工具,可以按存储库等来打开/关闭通知,因此似乎将个人/工作结合在一起是最有意义的。


那票选票是关于什么的,是吗?我认为这是一个很好的答案。
John McGehee

-2

人们尚未信任基于云的源服务器。Github拥有许多与之签约的新时代网络公司,但事实是,大多数人都有自己的服务器来维护源代码。以我的经验,大多数都使用Clear-case或SVN。Git尚未在企业环境中适应。甚至在公司办公场所之外,甚至对公司邮件服务器也没有真正的赞赏。


1
我目前在一家服务公司工作,接受过Git的培训,他们的大多数客户(如公司)正在从ClearCase迁移,或者准备在下一个项目中进行迁移……
MattiSG 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.