Software de Código Abierto

¿Qué es el Software de Código Abierto (OSS)? ¿Cuáles son sus beneficios? ¿Cómo puedes empezar a contribuir a cualquier OSS? ¿Proyectos personales? ¿Compartir conocimiento? ¿Por qué todo esto?
¿Qué es OSS?
OSS tiene similitudes con el software libre, pero no es lo mismo. El software libre es una forma de OSS, aunque eso no significa que tenga que ser gratis. Por ejemplo:
OSS es básicamente software que es público, abierto al mundo.
Beneficios
Para Empresas
- Adopción: cuanto más fácil el acceso, más fácil la adopción.
- La formación y los tutoriales ayudan al crecimiento del sistema.
- Tecnología: suelen estar en la vanguardia. La tecnología avanza rápido y quedarse atrás significa volverse obsoleto.
- Comunidad: la gente quiere mejorar a medida que el proyecto crece. Los canales públicos facilitan el acceso y construyen comunidad.
- Confianza: el software es público y accesible. Cualquiera puede verificar su calidad en cualquier momento.
Para Contribuidores Individuales
- Flexibilidad: decides en qué trabajar.
- Autoconfianza: la experiencia mejora tus habilidades.
- Formación: sin la presión de un entorno de producción.
- Tecnología: puedes jugar con las últimas novedades. Prueba nuevas versiones de tu lenguaje o incluso lenguajes nuevos.
- Habilidades blandas: mejoras tu comunicación. Esto importa mucho, especialmente cuando hay desacuerdos.
Contribuyendo a OSS
Empezando con GitHub
Hoy en día, es realmente trivial empezar a contribuir a OSS:
- Puedes empezar tu propio proyecto. ¡Un proyecto personal encaja aquí perfectamente!
- Puedes contribuir a un proyecto OSS existente.
Proyectos Personales
Un proyecto personal es un terreno de juego para crear software y entrenar tus habilidades. Tener proyectos personales en tu perfil público de GitHub tiene todos los beneficios de contribuir a OSS, y además eres tu propio jefe:
- Tú dictas la hoja de ruta.
- Tú decides qué hacer 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:
- php-best-practices: lo que considero mejores prácticas para desarrollo web.
- php-scaffolding: un scaffolding básico de PHP con Docker.
Inactivos:
- stock-ticker: recibe una notificación con las noticias de tus Tickers favoritos.
- jira-status-notifier: notifica cuando los tickets de JIRA no avanzan.
- edifact-parser: un parser para formato de archivo UN/EDIFACT en PHP.
Abandonados:
- knob-mvc: un framework para crear plantillas WordPress (2015/2017).
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
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
- Ver las correcciones que constantemente sigues haciendo
- Ver cómo tu propio código envejece con el tiempo
- Ver los muchos errores que has cometido
- Ver cómo estás mejorando en programación con el tiempo
Vas desarrollando un sexto sentido para detectar patrones que ya has visto, con sus experiencias buenas y malas.
Mostrando tus habilidades y ayudando a la comunidad a tu alrededor.
El Software de Código Abierto te ofrece una de las mejores oportunidades para empezar a construir tu camino profesional 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. Básicamente presento todas estas ideas junto con una demo en vivo de cómo contribuir a un OSS real.