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 comparte similitudes con el software libre, pero no es lo mismo. El software libre es una forma de OSS, pero eso no significa necesariamente 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 a que el sistema crezca.
- Tecnología: a menudo en la vanguardia de la tecnología. La tecnología se mueve rápido. Se volverán obsoletos si no lo hacen.
- Comunidad: la gente alrededor quiere mejorar a medida que crece. Los canales públicos permiten un acceso fácil y la construcción de comunidad.
- Confianza: el software es público y accesible. Todos pueden verificar la calidad del software en cualquier momento.
Para Contribuidores Individuales
- Flexibilidad: decide en qué quieres trabajar.
- Autoconfianza: la experiencia mejora tus habilidades.
- Formación: sin la presión de un entorno de PROD.
- Tecnología: juega con las últimas características de tu tecnología. ¡Prueba las próximas versiones de tu lenguaje de programación, o incluso prueba nuevos!
- Habilidades blandas: mejora tus habilidades de comunicación. La buena comunicación en el proyecto es importante. Especialmente cuando enfrentas 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 playground para crear software y entrenar tus habilidades profesionales. Crear proyectos personales en tu perfil público de GitHub tiene todos los beneficios de contribuir a OSS, además de que 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.
- typed-arrays: reemplazo de genéricos para PHP.
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
Desarrollando un sexto sentido para oler patrones que ya has hecho y sus experiencias positivas y negativas.
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.