
Software de Código Abierto
Cada proyecto que publicas se apoya en software de código abierto. Tu framework, tu test runner, tu compilador, la pequeña librería en la que nunca piensas.
Lo usas cada día. La pregunta de verdad es si alguna vez devuelves algo.
Devolver no es caridad. Es una de las formas más rápidas de crecer como desarrollador.
¿Qué es OSS?
El código abierto no es lo mismo que el software libre. El software libre es una forma de código abierto, pero el código abierto no tiene por qué ser gratis. Dos ejemplos marcan la línea. PHPUnit es código abierto y gratuito. Spryker es código abierto y de pago. Ambos publican su código para que cualquiera lo lea.
OSS es software público, abierto al mundo.
Beneficios
Dos grupos ganan con el código abierto: las empresas que lo publican, y la gente que contribuye.
Para empresas
El acceso abierto impulsa la adopción. Cuanto más fácil es conseguir el código, más rápido construye la gente sobre él. La formación y los tutoriales atraen a los que empiezan y hacen crecer el ecosistema. El código suele estar en la vanguardia, porque el software que se queda quieto se vuelve obsoleto. Un proyecto público reúne una comunidad a su alrededor, y los canales públicos hacen fácil unirse a ella.
Y como cualquiera puede leer el código, cualquiera puede comprobar su calidad. Esa confianza no se puede fingir.
Para contribuidores individuales
Tú eliges en qué trabajas. Practicas habilidades reales sin la presión de una caída en producción. Puedes jugar con las últimas novedades de tu lenguaje, o probar un lenguaje que nunca has tocado.
También afilas las habilidades blandas que sostienen una carrera: escribir con claridad, explicar un cambio, mantener tu postura cuando la gente no está de acuerdo.
El código enseña las habilidades técnicas. Los desacuerdos enseñan el resto.
Contribuyendo a OSS
Empezando con GitHub
Empezar es fácil, y tienes dos puertas. Abrir tu propio proyecto, o contribuir a uno que ya existe. Un proyecto personal encaja perfectamente en la primera puerta.
Proyectos personales
Un proyecto personal es un terreno de juego para crear software real y entrenar habilidades reales. Ponlo en tu perfil público de GitHub y tienes todos los beneficios de contribuir a OSS, más uno: no le respondes a nadie. Tú marcas la hoja de ruta. Tú decides qué construir y cómo. Eres tu propio jefe.
El proyecto está ahí para ti. Tú eres responsable de jugar, explorar y superar tus límites.
Mis proyectos personales
Activos:
- agnostic-ai: escribe agents, skills, rules y hooks de IA una vez, úsalos en cada CLI de IA.
- bashdep: un gestor de dependencias sencillo para Bash.
- phel-snake: el juego de la serpiente en tu terminal, escrito en Phel.
- edifact-parser: un parser para formato de archivo UN/EDIFACT en PHP.
- unspent: una librería PHP para contabilidad tipo UTXO con entradas no gastadas.
Inactivos:
- create-pr: un script de Bash para abrir un pull request desde tu rama y contexto.
Abandonados:
- stock-ticker: recibe una notificación con las noticias de tus Tickers favoritos.
- jira-status-notifier: notifica cuando los tickets de JIRA no avanzan.
- php-best-practices: lo que consideraba mejores prácticas para desarrollo web (archivado).
- php-scaffolding: un scaffolding básico de PHP con Docker (archivado).
- knob-mvc: un framework para crear plantillas WordPress (2015/2017).
… y muchos más en github.com/Chemaclass
Mis contribuciones a organizaciones OSS
Activas:
- phel-lang: Phel es un lenguaje de programación funcional que compila a PHP. Es un dialecto de Lisp inspirado en Clojure y Janet. Ya escribí un post sobre esto: Phel: Un Lisp que compila a PHP
- gacela-project: Gacela es un framework PHP que te ayuda a mejorar el diseño de tu aplicación dividiendo la lógica en diferentes módulos.
Abandonadas:
- nm_template: La plantilla base para NuevaMetal (2013-2016).
Compartir Conocimiento e Impacto
El código es solo la mitad. La otra mitad es lo que escribes y le entregas a la siguiente persona.
Posts del blog
- Pull Requests vs Pair Programming
- El proceso en sí es la meta
- El arte del refactoring: cuándo, cómo y por qué
- El arte del testing: donde el diseño se encuentra con la calidad
… y muchos más en https://chemaclass.com/es/blog/
La belleza del OSS
Contribuye en público el tiempo suficiente y empiezas a ver tu propio crecimiento. Las correcciones que sigues haciendo. El código que escribiste el año pasado, ya envejecido. Los errores, todos ellos, a la vista. Y por debajo, la prueba lenta de que estás mejorando.
Vas desarrollando un sexto sentido para detectar patrones que ya has visto, los buenos y los dolorosos.
Muestra tus habilidades. Ayuda a la gente a tu alrededor. Eso es trabajar con la puerta del garaje abierta.
El Software de Código Abierto te ofrece una de las mejores oportunidades para empezar a construir una carrera hacia la mejora continua.
Esta es una charla (en español) que hice de forma remota en abril de 2021, para la Comunidad PHPMad Madrid. Presento todas estas ideas junto con una demo en vivo de cómo contribuir a un OSS real.