É aconselhável pedir que os funcionários criem contas do GitHub para 'trabalho'?

86

Mudei todos os nossos repositórios Git da empresa para o GitHub e agora quero adicionar funcionários aos projetos. Como a maioria dos funcionários já possui contas pessoais do GitHub, estou pensando se devo pedir a eles que criem uma conta do GitHub work . A razão pela qual estou pensando em fazer isso é diminuir as chances de acesso não autorizado à nossa base de código, já que suas contas pessoais podem ser bem divulgadas por meio de suas atividades pessoais no site, aumentando as chances de ataques direcionados. Além disso, se a sua conta pessoal estiver comprometida, isso não significa que o código da empresa seja acessível ao sequestrador. Como isso trará o ônus de manter duas contas para os funcionários, estou me perguntando se é a abordagem correta e se faz sentido. Eu adoraria ouvir suas opiniões sobre isso.

Atualizar Obrigado por todos os insights úteis. Não vou definir uma resposta como aceita por causa da natureza subjetiva da pergunta / resposta e desde que tirei os melhores pontos de várias respostas diferentes.

Decidi seguir em frente dessa maneira: lembrarei aos funcionários que as notificações por e-mail relacionadas ao trabalho do GitHub terão que ser enviadas para as contas de e-mail do trabalho por motivos práticos. Portanto, faria mais sentido criar contas GitHub de trabalho. Se eles estiverem dispostos a usar suas contas pessoais do GitHub e conectá-las às contas de e-mail do trabalho, tudo bem. Em qualquer caso , os funcionários terão que concordar, por escrito, com várias condições associadas ao uso do GitHub. Eles estão relacionados à segurança da conta: escolher uma senha segura usando um gerador de senha aleatória seguro que não seja usado com outra conta, não acessar o GitHub por meio de computadores não pertencentes ou administrados por eles etc. No final do dia, os funcionários precisarão decidir se uma conta de trabalho faz mais sentido para eles ou não.

    
por fiorenti 04.06.2012 / 19:24
fonte

9 respostas

59

Se houvesse um benefício, seria apenas doloroso. Mas nada é pior do que doloroso e sem sentido. Apenas tenha a conta pessoal única. Duas razões:

  • O Github tem um controle de acesso incrivelmente bom em suas organizações. Se um funcionário sair, você poderá remover instantaneamente o acesso dele. Se eles tivessem uma conta da empresa, você teria que recuperar a conta de alguma forma para obter os benefícios declarados. Na prática, você provavelmente removeria o acesso à conta, como se tivesse uma conta pessoal.

  • Ter mais de uma conta é doloroso. Fazer o login e sair de uma conta entre as contas dói e adicionar comentários, seguir e todas as coisas sociais quando você usa contas diferentes.

Referências: eu faço um servidor de IC que tem integração com o GitHub , então tenho muitas contas de teste, e conversei com clientes com todos os tipos de configurações estranhas, incluindo contas de trabalho separadas e contas pessoais. Isso sempre leva a problemas.

    
por 05.06.2012 / 01:43
fonte
24

O código da sua empresa está em repositórios públicos ou privados? Se eles (ou pelo menos alguns) forem públicos e você permitir que seus funcionários usem suas próprias contas do GitHub, seria um incentivo para eles escreverem um bom código. O nome deles seria anexado a ele, publicamente. No entanto, assumirei que todos os seus repositórios são privados.

No geral, parece que você preferiria que as contas do seu funcionário não sejam visíveis publicamente em todo o GitHub. Infelizmente, eles ganham dinheiro vendendo o GitHub Enterprise , então imagino que esse seja um dos motivos pelos quais eles não permitem a criação de contas particulares para organizações. Em ambos os casos, ter (essencialmente) contas de trabalho bloqueadas seria realmente contra-intuitivo depois de escolher um site muito social para hospedar seus repositórios.

Vamos supor que você configurou contas de trabalho para seus funcionários. Você aplicaria restrições sobre como eles podem usar essas contas? Você permitiria que eles contribuíssem com código para projetos não relacionados ao trabalho para fins de trabalho? Se assim for, então suas contas se tornariam publicamente visíveis, trazendo você de volta à sua preocupação inicial. Você pode simplesmente permitir que eles façam as contribuições com suas contas pessoais, mas você está criando um ponto de dor logístico para eles. Pessoalmente, eu encorajaria meus funcionários a contribuírem com código para outros projetos como eles mesmos. Isso não apenas lhes dá um impulso de confiança, mas também permite que eles ganhem uma experiência valiosa e criem sua credibilidade.

De qualquer forma, não acho que valha a pena o esforço de ter contas de trabalho. A interface do GitHub permite controlar facilmente quem tem acesso a quê, portanto, a remoção do acesso é simples em qualquer um dos casos. Eu também não acho que ter contas separadas realmente "desenha uma linha" entre projetos pessoais e de trabalho mais do que a interface do GitHub já faz.

Além disso, tenha em mente como você planeja lidar com isso à medida que sua empresa cresce. As políticas que você estabelece agora serão escaláveis a partir de um ponto de vista de gerenciamento? Gerenciar 5 contas agora pode ser bom, mas o que acontece quando você aumenta para 20 ou 50? Mas quando você chegar a esse ponto, talvez o GitHub Enterprise seja uma solução acessível. Nesse caso, eu consideraria descobrir se as contas do GitHub podem ser migradas para instalações do GitHub Enterprise. Se assim for, posso ver que é um motivo positivo para ter contas de trabalho.

    
por 04.06.2012 / 19:54
fonte
19

Não fora de questão e, na verdade, uma boa ideia.

Por mais lamentável que seja, você precisa planejar seus funcionários deixando a organização em algum momento da vida da empresa. Como você vai liberar suas contas pessoais do repositório da empresa naquele momento?

O que você vai fazer se o funcionário sair em condições ruins? Em um mundo ideal, tudo permanecerá profissional e não haverá animosidade entre a empresa e o ex-funcionário. Você seria prudente planejar para circunstâncias menos que ideais.

Embora seja difícil manter duas contas, seus funcionários devem aceitar a oportunidade. Ele fornece uma linha mais clara entre o que é deles e o que é da empresa.

Edit: De preocupação aqui é fornecer uma separação clara entre as contribuições pessoais do empregado para projetos X, Y, Z, etc ... e seu trabalho remunerado no produto da sua empresa. O uso de uma conta de trabalho separada ajuda a fornecer a delimitação necessária para identificar quem possui qual propriedade intelectual e direitos autorais associados.

Por exemplo, se um funcionário usa sua conta pessoal e contribui para a empresa e para o Projeto X, como você identifica em que papel o empregado estava nesses momentos? A contribuição para X foi em nome da sua empresa ou a sua própria discrição pessoal? O funcionário ou a empresa possui os direitos autorais desse trabalho dado a X? Nesse caso, se você permitir contribuições externas para o trabalho de sua empresa, como distinguir se o funcionário era um empregado ou se era uma contribuição voluntária?

Em um sentido mais amplo, digamos que você tenha um funcionário que construa uma reputação agindo em nome da empresa, contribuindo para outros projetos. Quando esse funcionário sai, como você indica que a conta de usuário pessoal não está mais associada à sua empresa? Podem ocorrer sérios problemas de marca sem uma delineação clara do que é uma conta específica.

É muito fácil cair na trilha da propriedade, da marca e das preocupações com direitos autorais quando você começa a pensar nos possíveis cenários. Usar contas de trabalho separadas ajuda a remover parte dessa ambiguidade. A empresa precisa poder reivindicar as contribuições feitas em seu nome.

Não é sobre os aspectos técnicos de separar a conta do usuário, são as questões legais que podem enganá-lo.

Observe que isso pode ser um ponto discutível se os produtos de sua empresa forem lançados como código aberto sob licenciamento permissivo e / ou você não estiver preocupado com possíveis problemas de branding.
(Dica de chapéu para Paul Biggar por solicitar esta edição)

    
por 04.06.2012 / 19:55
fonte
9

Como todos parecem concordar com a falta de necessidade do empregador de separar os dois, eis a minha curta experiência em usar minha conta pessoal em projetos profissionais e contribuições de código aberto feitas no contexto do trabalho.

Só para completar o contexto: não me perguntaram nada sobre contas, na verdade o GitHub é desconhecido para a maioria das pessoas no meu local de trabalho. Eu simplesmente consegui acender luzes verdes para abrir o projeto em que estarei trabalhando e trabalhei com o mínimo de trabalho, ou seja, usando minha conta pessoal.

Do ponto de vista de um funcionário, uma coisa que eu realmente odeio: receber notificações no meu e-mail pessoal para trabalhar.

A partir dessa observação, percebi que é uma quebra flagrante da barreira profissional / pessoal: se eu quiser contribuir para um projeto durante meu tempo livre, ainda recebo todas as atualizações dos meus projetos de trabalho ... E isso pode trazer confusão para contribuidores externos, que podem entrar em contato sem saber que você está fora do projeto .

Então, é claro, há um equilíbrio entre o fato de que sua reputação pessoal pode ganhar com suas contribuições de trabalho. Mas, novamente, pode ser o oposto se o seu nome for associado a um projeto ruim ...

No final, como a pergunta é feita do ponto de vista do empregador , e considerando todas as outras respostas: eu diria que provavelmente não há muito sentido em forçar o uso de trabalho contas dedicadas . Mas você não deve proibir isso, para que os funcionários que preferem aumentar a barreira pessoal o façam, e talvez insinuar sobre esses riscos…?

Como uma observação, em relação à segurança, já que parece haver uma certa rejeição em outras respostas:

É claro que uma conta de "trabalho" não seria mais ou menos segura do que uma conta "pessoal" relacionada a senhas. Mas quando você está usando o GitHub, você pode pressionar com uma chave SSH. E essa chave geralmente está na sessão… Assim, a conta pessoal pode comprometer todos os repositórios de trabalho com um simples roubo de computador pessoal (sem conhecimento de senha), enquanto uma conta de trabalho dedicada provavelmente teria sua chave somente na máquina de trabalho, tornando-a mais fisicamente seguro (espero).

    
por 05.06.2012 / 18:54
fonte
8

Eu votaria "não". É um pouco trabalhoso para seus desenvolvedores e lhe dá segurança através da obscuridade: se alguém está atacando ativamente seus desenvolvedores, há muitos outros vetores de ataque para alguém obter seu código.

Além disso, como uma startup, a menos que você tenha muitos algoritmos mágicos do tipo molho secreto, alguém que consiga seu código seria embaraçoso, terrível e desagradável, mas não deve resultar em uma vantagem competitiva significativa (que poderia legalmente usar seu código?) ou fazer com que você saia do mercado.

Uma probabilidade de ordem tão baixa vs. produtividade do desenvolvedor? Eu levaria a produtividade do desenvolvedor, mas esse é o meu cálculo. :)

    
por 05.06.2012 / 01:36
fonte
2

Eu diria que deveria ser uma escolha deixada para o funcionário. Uma coisa que eu diria é não forçá-los a usar sua conta pessoal no github se eles não quiserem. Eu estava em uma empresa que usava o GitHub e, embora não fosse uma exigência, eu pessoalmente queria criar uma conta separada. O principal motivo foi proteger os projetos da minha pessoa. Eu não queria que a empresa tentasse dizer que um dos meus projetos pessoais era o deles, porque estava sob a mesma conta do github usada em seus projetos de parceria (não tenho certeza se isso aconteceria no tribunal, mas não tenho muita fé no sistema legal quando se trata de coisas assim). Acho que ter essa separação limpa pode ser uma coisa boa.

    
por 05.06.2012 / 20:49
fonte
2

Estamos fazendo isso em nossa empresa. Eu não quero começar uma discussão "o que é mais seguro, o github ou um servidor sob sua tabela que todo mundo tem acesso root, não tenho certeza se o backup está funcionando, etc". Nossa abordagem foi:

  • todos os desenvolvedores devem criar uma nova conta, não relacionada à sua conta pessoal do github
  • deve usar o email da empresa.
  • Ele deve estar em conformidade com nossas regras de segurança (nome de login e requisito de senha).
  • Eles não podem mostrar / ter qualquer atividade pública.
  • É propriedade da empresa. Não é a conta dele / dela.
  • Todas as contas estão conectadas a uma empresa e o nome aleatório também. Nenhuma atividade pública também.
por 21.05.2013 / 10:32
fonte
0

Eu reconheço que Q & A tem alguns anos de idade, então talvez isso não estivesse disponível antes, mas eles afirmam especificamente em Diferenças entre contas de usuários e organizações que:

It may be tempting to have more than one user account, such as for personal use and business use, but you only need one account.

O GitHub construiu boas ferramentas para ativar / desativar notificações por repositório e, mais, parece que combinar o pessoal / trabalho faz mais sentido.

    
por 15.05.2017 / 22:31
fonte
-2

As pessoas ainda não confiam nos servidores de origem baseados na nuvem. O Github possui muitas empresas da web da nova era que se inscreveram com elas, mas o fato é que a maioria das pessoas tem seus próprios servidores para manter o código-fonte. Na minha experiência, a maioria deles usa Clear Case ou SVN. O Git ainda está para ser adaptado em um ambiente corporativo. Mesmo os servidores de correio corporativo não são realmente apreciados fora das instalações da empresa.

    
por 05.06.2012 / 07:53
fonte

Tags