É aconselhável solicitar aos funcionários que criem contas do GitHub 'profissionais'?


91

Mudei todos os repositórios Git de nossa empresa para o GitHub e agora quero adicionar funcionários aos projetos. Como a maioria dos funcionários já têm contas GitHub pessoais, eu estou querendo saber se eu deveria pedir-lhes para criar um trabalho conta GitHub. A razão pela qual estou pensando em fazer isso é diminuir as chances de acesso não autorizado à nossa base de códigos, pois 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 conta pessoal for comprometida, isso não significa que toda a empresa esteja acessível ao seqüestrador. Como isso trará o ônus de manter duas contas para os funcionários, estou me perguntando se é a abordagem correta e se faz sentido.

Atualização Obrigado por todas as informações úteis. Não definirei uma resposta como aceita por causa da natureza subjetiva da pergunta / respostas e desde que tirei os melhores pontos de várias respostas diferentes.

Decidi avançar desta maneira: lembrarei aos funcionários que as notificações por email do GitHub relacionadas ao trabalho deverão ser enviadas para as contas de email do trabalho por motivos práticos. Portanto, faria mais sentido criar contas de trabalho do GitHub. Se eles estão dispostos a usar suas contas pessoais do GitHub e conectá-las às suas contas de e-mail comercial, tudo bem. Em qualquer caso, os funcionários deverão 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 nenhuma outra conta, não acessar o GitHub através de computadores que não sejam de sua propriedade ou administrados por eles etc. No final do dia, os funcionários terão que decidir se uma conta de trabalho faz mais sentido para eles ou não.


A conta de trabalho seria igualmente fácil de comprometer, não?
Boris Yankov

10
GitHub acrescentou roteamento email per-organização em agosto de 2012. github.com/blog/1204-notifications-stars
Paul Schreiber

2
@BorisYankov, a conta de trabalho pode ser mais difícil de comprometer, se você não tiver nenhuma atividade pública e o login não tiver relação com seu nome. É segurança pela obscuridade, mas com certeza ajuda. Você pode criar um fluxo de trabalho em que todos os emails enviados pelo github também sejam enviados ao líder da equipe de desenvolvimento, etc. entre empresa e funcionário. Um terceiro ponto importante: assim que o usuário sair do emprego, você poderá assumir a conta dele.
VP.

7
É contra os termos de serviço do GitHub que os indivíduos mantenham mais de uma conta. "Uma pessoa ou entidade legal não pode manter mais de uma conta gratuita." help.github.com/articles/github-terms-of-service
Riley Major

2
Sobre este último comentário. Verificado os termos, ponto A.7. Então, o que acontece se você tiver sua conta pessoal e sua empresa criar outra conta em seu nome e você a usar? Sua conta pessoal será encerrada, mesmo se você não errar?
Matteo Mosca

Respostas:


63

Se houvesse um benefício, seria apenas doloroso. Mas nada é pior do que doloroso e sem sentido. Basta ter uma única conta pessoal. 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. Se eles tivessem uma conta corporativa, você teria que recuperá-la de alguma forma para obter os benefícios declarados. Na prática, você provavelmente removeria o acesso à conta, como se eles tivessem uma conta pessoal.

  • Ter mais de uma conta é doloroso. O login e o logout entre contas prejudicam e adicionam comentários, depois e todo o material social quando você usa contas diferentes.

Referências: eu crio um servidor de IC com integração ao GitHub , por isso tenho muitas contas de teste e conversei com clientes com todo tipo de configurações estranhas, incluindo contas de trabalho e contas pessoais separadas. Sempre leva a problemas.


25

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 literalmente anexado a ele, publicamente. No entanto, assumirei que todos os seus repositórios são privados.

No geral, parece que você prefere que as contas de seus funcionários não sejam visíveis publicamente no GitHub. Infelizmente, eles ganham dinheiro com a venda do GitHub Enterprise, então imagino que esse seja um dos motivos pelos quais eles não permitem a criação de contas privadas 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 imaginar que você configurou contas de trabalho para seus funcionários. Você aplicaria alguma restrição sobre como eles podem usar essas contas? Você permitiria que eles contribuíssem com código para projetos que não sejam de trabalho para fins de trabalho? Nesse caso, suas contas se tornarão visíveis publicamente, trazendo você de volta à sua preocupação inicial. Você pode permitir que eles façam as contribuições com suas contas pessoais, mas depois cria um ponto de dor logístico para elas. Pessoalmente, incentivaria meus funcionários a contribuir com código para outros projetos como eles próprios. Isso não apenas lhes dá um impulso de confiança, como também lhes permite obter uma experiência valiosa e construir sua credibilidade.

De qualquer forma, acho que não vale a pena o esforço para ter contas de trabalho. A interface do GitHub permite controlar facilmente quem tem acesso a quê, portanto, remover o acesso é simples de qualquer maneira. Também não acho que ter contas separadas realmente "traça uma linha" entre projetos pessoais e de trabalho mais do que a interface do GitHub já faz.

Além disso, lembre-se de como planeja lidar com isso à medida que sua empresa cresce. As políticas que você definiu agora serão escalonáveis ​​do ponto de vista do gerenciamento? Gerenciar cinco contas no momento pode ser bom, mas o que acontece quando você cresce para 20 ou 50? Mas quando você chegar nesse 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 as instalações do GitHub Enterprise. Nesse caso, vejo que esse é um motivo positivo para ter contas de trabalho.


Ótimos pontos, obrigado. Sim, os repositórios são privados. Em relação ao trabalho em projetos não relacionados ao trabalho, não estou preocupado com isso. É apenas a segurança da conta.
fiorenti

Eu editei esse comentário específico, pois não era relevante.
precisa

19

Não está 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 extrair suas contas pessoais do repositório da empresa naquele momento?

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

Embora a manutenção de duas contas seja uma dor, seus funcionários devem aproveitar a oportunidade. Ele fornece uma linha mais limpa entre o que é deles e o que é da empresa.

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

Por exemplo, se um funcionário usa sua conta pessoal e contribui com a empresa e o Projeto X, como você identifica em que função o funcionário estava nesses momentos? A contribuição para o X foi em nome da sua empresa ou a seu critério pessoal? O funcionário ou a empresa possui os direitos autorais do trabalho dado a X? Nesse caso, se você permitir contribuições externas ao trabalho da sua empresa, como distinguir se o funcionário era um funcionário 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? Problemas graves de marca podem ocorrer sem uma descrição clara do que é uma conta específica.

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

Não se trata dos aspectos técnicos da separação da conta do usuário, são as questões legais que podem te enganar.

Observe que esse pode ser um ponto discutível se todos os produtos da sua empresa forem lançados como código aberto sob licença permissiva e / ou você não estiver preocupado com possíveis problemas de marca.
(Dica para Paul Biggar por solicitar esta edição)


Obrigado, eu também gostaria de receber esta política se eu fosse um funcionário pelos motivos mencionados. A interface do GitHub permite remover facilmente o acesso dos usuários de repositórios privados. Suponho também que, se um funcionário sair em péssimas condições, na maioria dos casos ele terá tempo suficiente para causar danos, se quiser.
fiorenti

23
Eu não entendo essa resposta. O GitHub possui controle de acesso refinado. Quando um funcionário sai, você remove o acesso da sua organização. O que é difícil nisso? Na verdade, é mais fácil remover a conta pessoal do que "recuperar" a conta profissional.
precisa

2
@ fiorenti: presumivelmente, o usuário também teria uma verificação completa do código, o que aconteceria independentemente de onde o código estivesse hospedado!
precisa

2
@PaulBiggar - atualizei minha resposta para capturar alguns dos problemas mais amplos envolvidos. É principalmente um problema de atribuição legal que me leva a recomendar contas separadas. Eu já vi vários casos em que não separamos contas pessoais de contas de trabalho causadas por graves dores de cabeça depois. Todo mundo é MMV, e cada situação deve ser examinada com base no ethos da empresa.

Obrigado por apontar o possível campo minado da questão legal em que você pode encontrar
RidiculousRichard

10

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

Apenas 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 sinal verde para código-fonte aberto no projeto em que trabalharei e trabalhei com a menor quantidade 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 sobre itens de trabalho.

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

Então, é claro, há um equilíbrio a ser encontrado com o fato de que sua reputação pessoal pode ganhar com suas contribuições para o 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 impor o uso de contas dedicadas ao trabalho . Mas você não deve proibi-lo, para que os funcionários que preferem elevar a barreira pessoal possam fazê-lo e talvez sugerir sobre esses riscos ...?


Como uma observação lateral, no que diz respeito à segurança, uma vez que parece haver alguma dispensa fácil em outras respostas:

Obviamente, uma conta "profissional" não seria mais ou menos segura do que uma conta "pessoal" em relação a senhas. Mas quando você estiver usando o GitHub, poderá pressionar com uma chave SSH. E essa chave geralmente está na sessão de alguém ... Portanto, a conta pessoal pode comprometer todos os repositórios de trabalho com um simples roubo de computador pessoal (sem o conhecimento da senha), enquanto uma conta de trabalho dedicada provavelmente teria sua chave apenas na máquina de trabalho, tornando-a mais fisicamente seguro (espero).


+1: dois pontos em que não pensei: e-mails e chaves SSH. Embora seja um problema ter emails separados no GitHub, você pode configurar várias chaves SSH para sua conta.
precisa

@JeremyHeiler O que você quer dizer exatamente com “ter e-mails separados no GitHub é um problema?” . Eu estou usando três e-mails diferentes (um velho, um pessoal actual, trabalho um), uma vez que você adicionou-los ao seu perfil GitHub combina-los com sua conta sem problema :)
MattiSG

Eu estava me referindo a essa essência . Você está dizendo que, se você colocar seu email comercial no git.config no computador do trabalho e adicioná-lo à sua conta, todas as notificações relacionadas ao trabalho serão enviadas para o email comercial? Se assim for, isso é ótimo!
precisa

@JeremyHeiler Ah, não, ok, tivemos um pequeno mal-entendido sobre o que é "um problema" nos e-mails :) Não, de fato, como eu disse na minha resposta, você sempre recebe notificações na sua conta "principal" (geralmente pessoal). Mas não é um "problema", pois você precisaria de uma conta para cada endereço de confirmação: você pode associar quantos e-mails desejar à sua conta, mas apenas um e-mail recebe notificações da sua conta.
precisa saber é o seguinte

Desculpe, sim, eu deveria ter sido mais específico no meu comentário :-P inicial
Jeremy Heiler

9

Eu votaria "Não". É um pouco de aborrecimento para seus desenvolvedores e oferece segurança através da obscuridade: se alguém está direcionando ativamente seus desenvolvedores, há muitos outros vetores de ataque para que alguém obtenha seu código.

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

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


2

Eu diria que deve ser uma escolha deixada para o funcionário. Uma coisa que eu diria é que não os force a usar sua conta pessoal no github se não quiserem. Eu estava em uma empresa que usava o GitHub e, embora não fosse um requisito, eu pessoalmente queria criar uma conta separada. O principal motivo foi proteger meus projetos pessoais. Eu não queria que a empresa tentasse dizer que um dos meus projetos pessoais era deles, porque estava sob a mesma conta do github usada para seus projetos corporativos (não tenho certeza se isso aconteceria no tribunal, no entanto, não tenho muita fé no sistema jurídico quando se trata de coisas assim). Eu acho que ter essa limpeza separada pode ser uma coisa boa.


2

Estamos fazendo isso em nossa empresa. Eu não quero iniciar uma discussão "o que é mais seguro, o github ou um servidor em sua tabela, para que todos tenham acesso root, não tenho certeza se o backup está funcionando, etc". Nossa abordagem foi:

  • todo desenvolvedor deve 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 nenhuma atividade pública.
  • É propriedade da empresa. Não é a conta dele / dela.
  • Todas as contas estão conectadas a uma empresa, nome aleatório também. Nenhuma atividade pública também.

2
Você não pode impor o requisito de complexidade da senha, pois você não tem como validar a senha do GitHub;
Ramhound 21/05

bem, você está dizendo que, se você não é capaz de impor algo tecnicamente , não o está impondo. Estou dizendo que se o funcionário ler a política de segurança e se ele a assinar, sabendo das consequências, será uma imposição.
VP.

3
Estou dizendo que você não tem como saber que algo não está sendo feito porque você não tem como verificar se um funcionário criou a senha da conta do GitHub.
Ramhound 21/05

bem, se, por exemplo, uma conta estiver comprometida, e nós, de alguma maneira descobrirmos que a senha era abc123, poderemos "responsabilizar" o funcionário. Não vejo problema aqui. Outro ponto: onde está escrito que eu a reforço? Eu escrevi que deve (agora atualizei para deveria) ...
VP.

Essa abordagem deve ser temperada com um acordo de que esse nome também é deles e você não tomará nenhuma ação em seu nome .
Michael Michael

0

Eu reconheço que as perguntas e respostas têm alguns anos, então talvez isso não estivesse disponível antes, mas elas afirmam especificamente nas diferenças entre as contas de usuário e organização que:

Pode ser tentador ter mais de uma conta de usuário, como para uso pessoal e comercial, mas você só precisa de uma conta.

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


Sobre o que foi o voto negativo, hein? Eu acho que essa é uma boa resposta.
John McGehee

-2

As pessoas ainda não confiam nos servidores de origem baseados em nuvem. O Github possui muitas empresas da web da nova era que se inscreveram com elas, mas o fato real é 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 is ainda precisa ser adaptado em um ambiente corporativo. Mesmo os servidores de correio corporativos não são realmente apreciados fora das instalações da empresa.


1
Eu atualmente trabalho em uma empresa de serviços, os treinou com Git, ea maioria dos seus clientes (como, grandes empresas) estão migrando do ClearCase, ou se preparando para fazê-lo em seus próximos projetos ...
MattiSG
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.