¿Te has planteado como ser anónimo en GitHub? En la mayoría de ocasiones, quieres justo lo contrario: que todo el mundo vea tus contribuciones. Ya que colaboras con proyectos de software libre, como mínimo quieres que te sirva para conseguir notoriedad y como “puntos positivos” para tu currículum. Ya sabes que para buscar trabajo, lo primero que hará recursos humanos es buscar tu perfil en Google  pero lo segundo será mirar tus contribuciones en GitHub.

Pero a veces quieres justo lo contrario: entrar en GitHub de incógnito (y a lo mejor revelar sólo a posteriori quien eras). Déjame darte tres ejemplos para querer ser anónimo en GitHub:

  • Puede que quieras colaborar en proyectos que hagan la competencia a tu empresa actual o que creas que no serán bien vistos por tu entorno (temas políticos por ejemplo)
  • O bien eres mujer (o perteneces a algún colectivo que creas que puede ser discriminado) y tienes miedo que tus contribuciones se traten pero por culpa de eso. Por cierto, en ese caso, estarías en lo cierto. El sexismo también existe en GitHub (un ejemplo).
  • Eres investigador y necesitas enviar los resultados de tu investigación (incluyendo el código) para su evaluación a un congreso o revista que utiliza el sistema “double-blind review”. Este sistema obliga a que el autor del trabajo científico sea anónimo. Y claro, si escondes tu nombre en el texto pero después envías el código de tu repositorio, pues todo el mundo va a saber quien eres y pueden rechazar tu trabajo sin revisarlo sólo por eso.

Fijaros que cada una de estas situaciones es ligeramente diferido. En el último caso queremos anonimizar un repositorio completo. En los otros queremos esconder nuestras nuevas issues, pull requests,… Además en el primer caso, queremos que no se sepa que somos los autores de una forma indefinida, mientras que a veces sólo queremos permanecer de incógnito durante un breve periodo de tiempo (una vez el artículo está aceptado queremos que todo el mundo sepa que éramos nosotros quién estábamos detrás). Os presento un par de soluciones para cada caso. Que quede claro que ninguno de estos sistemas es perfecto. Si alguien quiere de verdad quién está detrás de una acción siempre hay maneras de saberlo (o intuirlo). Se trata de poner las cosas lo suficientemente difíciles.

Anomizar un repositorio GitHub

Anonymous Github que puedes utilizar de proxy al enviar el link a tu repositorio. Pensado sobre todo para la evaluación de proyectos científicos como parte de iniciativas open science / ciencia abierta.

En lugar de dar tu URL real, via la página web de este servicio haces una copia de tu repo y utilizas la URL generada dentro del dominio http://anonymous.4open.science/ mantenida por este servicio. 

Aparte de anonimizar la URL, también puedes anonimizar el contenido del repositorio.  Si das una lista de palabras prohibidas (ej. el nombre de los autores, de su institución,…), éstas se borran del README, de los archivos y hasta de los nombres archivos tal y como se muestra en este pequeña animación.

Proceso para anonimizar un repositorio en GitHub

Hace unos días que la página del servicio esta caída. Pero como el repositorio GitHub de esta iniciativa sigue disponible creo que vale la pena mencionarla. Y si los autores originales no recuperan el servicio, a ver si alguno de vosotros se anima a reemplazarlos 🙂

Anomizar tus contribuciones a proyectos en GitHub

Dentro de esta categoría os presentamos dos opciones: GitMask y Anonydog. Las dos funcionan de un modo similar: hacen el pull request por tí. Y anonimizan también tu nombre, email, hora,… de los commits en ese PR. A ojos del proyecto receptor es alguien llamado GitMask o Anonydog quién está haciendo la petición. Esto evita que el PR se discrimine en función de tus características personales (aunque, evidentemente, el proyecto podría también decidir no aceptar PRs anónimos como política, una discriminación por otra 🙁 ).

La diferencia es que con Anonydog puedes decidir revelar después quien es el verdadero autor del PR. También se diferencia en la manera de enviar los pull requests que quieres anonimizar. Con Anonydog primero tienes que pedirle que haga el fork del proyecto original y a continuación trabajar sobre esa

anonydog/anyrepo

fork. Con gitMask trabajas completamente por tu cuenta y una vez estás listo, le envías el git bundle a anonimizar.

Anonimizar pull requests en GitHub

Otras alternativas para estar en GitHub en modo incógnito

Una manera más “exótica” de anonimizar tus acciones en GitHub pasa por usar Tor. Este proyecto os muestra como enviar commits anónimos via Tor. También hay una iniciativa que lleva las cosas al extremo y permite mover todo el proceso de programación colaborativa a Tor, replicando allí una especie de GitHub alternativo (una “dark web” para todo ese código que no quieres que ni el gobierno vea).