He trasladado todos los repositorios Git de nuestra compañía a GitHub y ahora quiero agregar empleados a los proyectos. Como la mayoría de los empleados ya tienen cuentas personales de GitHub, me pregunto si debería pedirles que creen una cuenta de trabajo de GitHub. La razón por la que estoy pensando en hacer esto es para disminuir las posibilidades de acceso no autorizado a nuestra base de código, ya que sus cuentas personales pueden ser bien publicitadas a través de su actividad personal en el sitio, aumentando las posibilidades de ataques dirigidos. Además, si su cuenta personal se ve comprometida, no significará que el secuestrador pueda acceder a todo el código de la compañía. Dado que esto traerá la carga de mantener dos cuentas para los empleados, me pregunto si es el enfoque correcto e incluso si tiene sentido.
Actualización Gracias por todas las ideas útiles. No estableceré una respuesta como aceptada debido a la naturaleza subjetiva de la pregunta / respuestas y desde que tomé los mejores puntos de varias respuestas diferentes.
He decidido seguir adelante de esta manera: les recordaré a los empleados que las notificaciones por correo electrónico de GitHub relacionadas con el trabajo deberán enviarse a sus cuentas de correo electrónico de trabajo por razones prácticas. Por lo tanto, tendría más sentido crear cuentas de trabajo de GitHub. Si están dispuestos a usar sus cuentas personales de GitHub y conectarlas a sus cuentas de correo electrónico de trabajo, entonces está bien. En todo caso, los empleados deberán aceptar por escrito una serie de condiciones vinculadas al uso de GitHub. Estos están relacionados con la seguridad de la cuenta: elegir una contraseña segura utilizando un generador de contraseñas aleatorias seguro que no se use con ninguna otra cuenta, no acceder a GitHub a través de computadoras que no son de su propiedad o administradas por ellos, etc. Al final del día, los empleados deberán deciden si una cuenta de trabajo tiene más sentido para ellos o no.
Respuestas:
Si hubiera un beneficio, sería simplemente doloroso. Pero nada apesta peor que doloroso e inútil. Solo tenga la cuenta personal única. Dos razones:
Github tiene un control de acceso increíblemente bueno en sus organizaciones. Si un empleado se va, puede eliminar instantáneamente su acceso. Si tuvieran una cuenta de empresa, tendría que reclamar la cuenta de alguna manera para obtener los beneficios establecidos. En la práctica, probablemente eliminarías el acceso a la cuenta, igual que si tuvieran una cuenta personal.
Tener más de una cuenta es doloroso. Iniciar sesión y cerrar sesión entre cuentas duele, y agregar comentarios, seguimientos y todas las cosas sociales cuando usa diferentes cuentas.
Referencias: creo un servidor de CI que tiene integración con GitHub , por lo que tengo muchas cuentas de prueba y he hablado con clientes con todo tipo de configuraciones extrañas, incluidas cuentas de trabajo separadas y cuentas personales. Siempre lleva a problemas.
fuente
¿Está el código de su empresa en repositorios públicos o privados? Si ellos (o al menos algunos) son públicos, y usted permitió que sus empleados usen sus propias cuentas de GitHub, entonces sería un incentivo para ellos escribir un buen código. Su nombre estaría literalmente unido a él, públicamente. Sin embargo, supondré que todos sus repositorios son privados.
En general, parece que preferiría que las cuentas de sus empleados no sean visibles públicamente en GitHub. Desafortunadamente, ganan dinero vendiendo GitHub Enterprise, así que imagino que esa es una razón por la que no le permiten crear cuentas privadas para organizaciones. En cualquier caso, tener (esencialmente) cuentas de trabajo bloqueadas sería realmente contra-intuitivo después de elegir un sitio muy social para alojar sus repositorios.
Imaginemos que creó cuentas de trabajo para sus empleados. ¿Haría cumplir alguna restricción sobre cómo pueden usar esas cuentas? ¿Les permitiría contribuir con código a proyectos que no son de trabajo para fines laborales? Si es así, sus cuentas se volverán públicamente visibles, lo que lo llevará de vuelta a su preocupación inicial. Podrías permitirles que hagan las contribuciones con sus cuentas personales, pero luego estás creando un problema logístico para ellos. Personalmente, recomendaría a mis empleados que contribuyan con código a otros proyectos como ellos mismos. Esto no solo les da un impulso de confianza, sino que les permite obtener una valiosa experiencia y construir su credibilidad.
En cualquier caso, no creo que valga la pena tener cuentas de trabajo. La interfaz de GitHub le permite controlar fácilmente quién tiene acceso a qué, por lo que eliminar el acceso es simple de cualquier manera. Tampoco creo que tener cuentas separadas realmente "dibuje una línea" entre proyectos personales y laborales más de lo que ya lo hace la interfaz de GitHub.
Además, tenga en cuenta cómo planea lidiar con esto a medida que su empresa crezca. ¿Las políticas que establezca ahora serán escalables desde el punto de vista de la administración? Administrar 5 cuentas en este momento podría estar bien, pero ¿qué sucede cuando creces a 20 o 50? Pero una vez que llegue a ese punto, tal vez GitHub Enterprise será una solución accesible. En ese caso, consideraría averiguar si las cuentas de GitHub pueden migrarse a las instalaciones de GitHub Enterprise. Si es así, puedo ver que esa es una razón positiva para tener cuentas de trabajo.
fuente
No está fuera de discusión, y en realidad es una muy buena idea.
Por muy lamentable que sea, debe planificar que sus empleados abandonen la organización en algún momento de la vida de la empresa. ¿Cómo va a sacar sus cuentas personales del repositorio de la compañía en ese momento?
¿Qué vas a hacer si el empleado se va en malos términos? En un mundo ideal, todo seguirá siendo profesional y no habrá animosidad entre la empresa y el ex empleado. Sería prudente planificar para circunstancias menos que ideales.
Si bien mantener dos cuentas es una molestia, sus empleados deberían aprovechar la oportunidad. Proporciona una línea más limpia entre lo que es suyo y lo que es la empresa.
Editar: Lo que preocupa aquí es proporcionar una separación clara entre las contribuciones personales del empleado a los proyectos X, Y, Z, etc. y su trabajo remunerado en el producto de su empresa. El uso de una cuenta de trabajo separada ayuda a proporcionar la delineación necesaria para identificar quién posee qué propiedad intelectual y derechos de autor asociados.
Por ejemplo, si un empleado utiliza su cuenta personal y contribuye tanto a la empresa como al Proyecto X, ¿cómo identifica qué papel desempeñó el empleado en esos momentos? ¿Fue la contribución a X en nombre de su empresa o su propia discreción personal? ¿El empleado o la empresa poseen los derechos de autor de ese trabajo otorgado a X? De hecho, si permite contribuciones externas al trabajo de su empresa, ¿cómo distingue si el empleado era un empleado o si era una contribución voluntaria?
En un sentido más amplio, supongamos que tiene un empleado que construye una reputación que actúa en nombre de la empresa contribuyendo a otros proyectos. Cuando ese empleado se va, ¿cómo indica que la cuenta de usuario personal ya no está asociada con su empresa? Pueden ocurrir serios problemas de marca sin una descripción clara de para qué sirve una cuenta en particular.
Es muy fácil caer en un camino de propiedad, marca y derechos de autor cuando comienzas a pensar en los posibles escenarios. El uso de cuentas de trabajo separadas ayuda a eliminar parte de esta ambigüedad. La empresa necesita poder reclamar las contribuciones hechas en su nombre.
No se trata de los aspectos técnicos de separar la cuenta de usuario, sino de las cuestiones legales que pueden hacer que te tropieces.
Tenga en cuenta que esto puede ser un punto discutible si todos los productos de su empresa se lanzan como código abierto bajo licencia permisiva y / o no está preocupado en absoluto por posibles problemas de marca.
(Un consejo para Paul Biggar por solicitar esta edición)
fuente
Dado que todo el mundo parece estar de acuerdo con la falta de la necesidad del empleador de separar ambos, aquí está mi corta experiencia de haber intentado usar mi cuenta personal en proyectos profesionales y contribuciones de código abierto hechas en el contexto del trabajo.
Solo para completar el contexto: no me preguntaron nada sobre cuentas, en realidad GitHub es desconocido para la mayoría de las personas en mi lugar de trabajo. Simplemente pude obtener luz verde para abrir el proyecto en el que trabajaré, y fui con la menor cantidad de trabajo, es decir, usando mi cuenta personal.
Desde el punto de vista de un empleado, una cosa que realmente odio: recibir notificaciones en mi correo electrónico personal para cosas de trabajo.
A partir de esa observación, me di cuenta de que es una ruptura flagrante de la barrera profesional / personal: si quiero contribuir a un proyecto durante mi tiempo libre, todavía recibo todas las actualizaciones de mis proyectos de trabajo ... Y puede generar confusión para los colaboradores externos. , quién podría contactarlo sin saber que está fuera de ese proyecto.
Entonces, por supuesto, hay un equilibrio para encontrar con el hecho de que su reputación personal puede obtener de sus contribuciones laborales. Pero, de nuevo, podría ser lo contrario si su nombre se asocia con un proyecto pobre ...
Al final, como la pregunta se hace desde el punto de vista del empleador , y considerando todas las otras respuestas: diría que probablemente no tiene mucho sentido hacer cumplir el uso de cuentas dedicadas al trabajo . Pero no debe prohibirlo, de modo que los empleados que prefieren elevar la barrera personal puedan hacerlo, y quizás insinuar sobre esos riesgos ...
Como nota al margen, con respecto a la seguridad, ya que parece haber un rechazo fácil en otras respuestas:
Por supuesto, una cuenta "laboral" no sería más o menos segura que una cuenta "personal" con respecto a las contraseñas. Pero cuando usa GitHub, puede presionar con una tecla SSH. Y esa clave generalmente se encuentra en la sesión de uno ... Por lo tanto, la cuenta personal puede comprometer todos los repositorios de trabajo con un simple robo de computadora personal (sin conocimiento de contraseña), mientras que una cuenta de trabajo dedicada probablemente tendría su clave solo en la máquina de trabajo, por lo que más físicamente seguro (con suerte).
fuente
Yo votaría "No". Es bastante complicado para sus desarrolladores y le brinda seguridad a través de la oscuridad: si alguien se dirige activamente a sus desarrolladores, hay muchos otros vectores de ataque para que alguien obtenga su código.
Además, como startup, a menos que tenga muchos algoritmos mágicos de tipo secreto en juego, alguien que obtenga su código sería vergonzoso, terrible y desagradable, pero no debería resultar en una ventaja competitiva significativa (quién podría usar legalmente su código?) o hacer que cierre su negocio.
¿Una probabilidad de orden tan baja frente a la productividad del desarrollador? Tomaría la productividad del desarrollador, pero ese es mi cálculo. :)
fuente
Yo diría que debería ser una opción que le quede al empleado. Una cosa que diría es que no los obligue a usar su cuenta personal de Github si no lo desean. Estaba en una empresa que usaba GitHub y, aunque no era un requisito, personalmente quería crear una cuenta separada. La razón principal fue proteger mis proyectos personales. No quería que la compañía tratara de decir que uno de mis proyectos personales era de ellos porque estaba bajo la misma cuenta de github utilizada para sus proyectos de empresa (no estoy seguro de si eso alguna vez se mantendría en la corte, sin embargo, no tengo mucha fe en el sistema legal cuando se trata de cosas como esta). Creo que tener esa limpieza separada puede ser algo bueno.
fuente
Lo estamos haciendo en nuestra empresa. No quiero comenzar una discusión "qué es más seguro, github o un servidor debajo de su mesa para que todos tengan acceso de root, no estoy seguro si la copia de seguridad está funcionando, etc.". Nuestro enfoque fue:
fuente
Reconozco que estas preguntas y respuestas tienen algunos años, por lo que tal vez esto no estaba disponible antes, pero expresan específicamente en las diferencias entre las cuentas de usuario y organización que:
GitHub ha creado buenas herramientas para activar / desactivar las notificaciones por repositorio y, más aún, parece que combinar el personal / trabajo tiene más sentido.
fuente
Las personas aún no confían en los servidores de origen basados en la nube. Github se jacta de que muchas compañías web de la nueva era se inscribieron con ellos, pero el hecho real es que la mayoría de las personas tienen sus propios servidores para mantener el código fuente. En mi experiencia, la mayoría de ellos usa Clear-case o SVN. Git aún no se ha adaptado en un entorno empresarial. Incluso los servidores de correo corporativo no son realmente apreciados fuera de las instalaciones de la compañía.
fuente