Ir al contenido principal

Gestión interna de la Brecha Digital

Introducción

Somos La Brecha Digital, un pequeño Hacklab localizado en Vallekas, Madriz (Estado Español). Somos un grupo de entusiastas que nos reunimos para aprender y experimentar sobre software libre, seguridad informática y autodefensa digital.

El propósito de este post es explicar cómo nos organizamos en nuestro centro. La idea detrás de todo esto es generar documentación libre y pública que permita a cualquiera replicar, reproducir y mejorar nuestro método de actuación.

El fin real es que cualquiera que quiera aportar lo tenga fácil, si estás leyendo esto y ves que se podría mejorar por favor haz un MR y si no sabes ven a decírnoslo los miércoles a las 19:30 :)

Gestión de la programación

El día a día del grupo requiere de la realización de varias tareas periódicas, hemos visto que es necesario asignar un responsable rotatorio para realizarlas, si no, no se hacían.

El responsable se elige en la asamblea mensual durante un periodo de un mes.

Dicha persona se encarga de:

  • Garantizar que hay algo organizado todos los miércoles
  • Enviar un mail a brechadigital@inventati.org sobre lo que se va a hacer el siguiente miércoles el jueves y un recordatorio el lunes
  • El mismo texto subirlo al blog y asegurarse de que se ha publicado en GNU social.
  • Preparar el orden del día de la siguiente asamblea (adaptar este documento). Generalmente subiendo una copia a hackmd.io
  • Actualizar la plantilla base de las actas en el repositorio de documentación
  • Comprobar que hay créditos en MVS

En la asamblea se decidió intentar seguir la siguiente distribución de días:

  • Primer miércoles de mes: Asamblea
  • Segundo miércoles: Charla
  • Tercer miércoles: Tareas Internas
  • Cuarto miércoles: Hacer comunidad (viciarse vamos) o Charla

Los días de tareas internas se intentará sacar las tareas especificadas en la asamblea entre todos.

Gestión del git

Este es el flujo de vida de un merge request

  • Partimos de un repositorio vacío, imaginemos que hemos hecho un git clone.

bash git clone git@git.digitales.cslabrecha.org:poneraquielnombredelrepo

  • Primero que hay que hacer es un commit en master mínimo (con el License o .gitignore No README.md).

bash git add .gitignore git commit -m "Agregado gitignore"

  • Se crea una rama diferente a master
  • fix/{{ nombre de fix }}
  • feature/{{ nombre de nueva feature }}
  • improve/{{ nombre de nueva mejora }}

bash git checkout -b feature/desarrollo-script-mvs

  • Se hacen commits en esa rama pusheando al remote para tener una copia de seguridad y que todos podamos contribuir

bash git push

  • Cuando este lista se hace un merge request a master. En el merge request mencionamos a @La_Brecha_Digital
  • Todos lo revisamos y hacemos comentarios.
    • La persona que haya hecho el MR contesta a los comentarios, de dos maneras, o acepta la sugerencia, o no
    • El comentario lo cierra la persona que lo ha abierto
    • Si acepta el comentario, lo suyo es que haga un commit arreglando ese comentario, y que el que lo haya hecho referencie a el que ha abierto el comentario y el commit
    • Si no lo acepta el comentario expone sus razones (siempre mencionar a la gente para que salga notificación). La discusión sigue hasta el que ha abierto el comentario lo cierra
  • Cuando haya 2 LGTM (LooksGoodToMe) se puede mergear.

Gestión de tareas

Aquí puedes encontrar la lista de tareas del grupo.

En cada asamblea analizamos esta lista en dos pasos.

Primero repasamos el trabajo hecho en el mes pasado, que se ha quedado en el tintero y por qué, que problemas nos hemos encontrado y cómo solucionarlos.

Posteriormente decidimos qué trabajo creemos que podemos abordar en el mes que entra. Estas tareas se meten en un milestone con el formato YYYYMM (por ejemplo 201803 para marzo del 2018).

Por lo tanto si te apetece colaborar lo suyo es que te metas en la lista de tareas y veas las que están activas para este milestone. Una vez veas las que te parecen interesantes contacta con el responsable de dicha tarea para coordinar como realizarla en conjunto.

Otra posibilidad es venir a la asamblea del mes siguiente y proponer que quieres hacer X tarea. A las muy malas si te pones a hacer una tarea random, no te vamos a flagelar.

Para facilitar más las cosas a los neofitos, solemos taguear las tareas en función a la dificultad. Por lo que si no te sientes muy segura, busca por el tag Facil.

Gestión de charlas

En este repositorio guardamos las presentaciones de las charlas que vamos dando en La Brecha.

Además se listan las futuras charlas en forma de Issues.

Si os interesa alguna charla de las de los issues ponerles +1 y así podemos priorizar.

En cada asamblea se mirarán que charlas dar ese mes. Las que tengan más +1 se les dará prioridad.

Quiero dar una charla

Si estás interesado en dar una charla los pasos a seguir serían:

Ten en cuenta que el texto que pongas en la descripción es el que se utilizará en el mail, el post de la web y el GNUSocial. Intenta ser descriptiva. Revisar en el calendario cuando hay un hueco. Una vez que hayas decidido la fecha, regístralo en el issue. Manda un correo electrónico a la lista de correo: brechadigital@inventati.org Si tienes acceso al Gnusocial de la brecha mandar un mensaje con tiempo. Si no lo tienes, en el correo electrónico o en el issue comentarlo Una vez que hayas dado la charla crea un Merge Request con tu presentación al repositorio de charlas * Cuando se haya aceptado el MR se puede cerrar el issue

Quiero recibir una charla del tema X

Si estás interesado en que demos una charla tendrías que seguir los siguientes pasos: Abrir un Issue. Convencer a la gente de que fría tu issue a +1 :)

Gestión de la web

Actualmente para actualizar la web hay que hacer un merge request al repo de blogs.

La idea es clonarse el repositorio:

git clone https://git.digitales.cslabrecha.org/La_Brecha_Digital/brechadigital-web.git
cd brechadigital-web/posts

Copiarse cualquier articulo que haya ahí y modificarlo al gusto. Una vez tengamos el archivo, hacemos una rama, un add y un commit, como se ha especificado en el apartado de git y se hace el merge request.

Una vez que se haya aceptado hay que meterse en la maquina, acceder como root, activar el virtualenv de nikola source /root/docker/brecha-web/builder/bin/activate y ejecutar el nikola build.

Cuando tengamos la CI instalada, este último paso se hará solo.

Gestión de manera incremental

Para que la documentación y el blog no mueran, antes de cerrar cada tarea nos preguntamos si de todo lo que hemos hecho para esa tarea, se podría escribir el blog o completar la documentación de este git.

Con ello mantenemos este tinglado vivo a la vez que esperamos hacer más fácil la participación de quien quiera aportar.