Mi primer acercamiento al Open Source (Código Abierto)

El primer momento que me interesé por la tecnología fue al tener mi primera computadora, solo la usaba para consumir contenido principalmente en Youtube o Facebook. Pero con el tiempo me comencé a interesar más, me hacía preguntas como: ¿Por qué me pide actualizar mi computadora? o ¿Por qué mi navegador es más lento?. Sobre todo preguntas de un niño curioso. Luego, al aprender más e irme adentrando más comencé a hacerme preguntas más importantes: ¿Por qué tengo que pagar por usar Windows?, ¿Por qué la mayoría de programas se debe pagar y únicamente me dan una prueba gratuita? ¿Todo es así en el Internet, no hay nada accesible para todos?.

Al principio cuando se me caduca un programa, licencias para activar el sistema operativo o para poder adquirir un videojuego, opte por alternativas no “legales” o “crackeadas”. Simplemente con una búsqueda en Google se lograba obtener estas alternativas de forma gratuita. No le daba importancia y desconocía si lo que descargaba podía contener algún archivo malicioso (como un virus o malware) o algo que podría afectar el rendimiento de mi computadora. Mi pensamiento en ese momento, siempre fue si lo puedo conseguir gratis porque debería pagar.

Para hacerlo corto, efectivamente mi computadora fue infectada y tenía bajo rendimiento en la misma. Me tomó tiempo darme cuenta debido a mi desconocimiento, por recomendación de un amigo revisé los procesos y programas que se ejecutaban en segundo plano en mi computadora, donde era de esperar tenía un programa desconocido que no podía cerrarlo, ni desinstalar. Por primera vez, fui víctima de un ataque informático y pensé: ¿Cómo fue posible que mi antivirus no logró detectarlo?

A partir de ese momento, me di cuenta que se debe ser cuidadoso en el Internet y como siempre de manera curiosa, ¿No existen alternativas, que sean seguras y confiables para los programas que suelo usar? Claro, no quería asumir el coste de una licencia de los programas que solía usar.

En ese punto, conocí Open Source (Código Abierto). Pero al conocer sobre esto, más preguntas surgían, ¿Qué es esto? ¿Es una cultura? ¿Todos los programas son gratuitos? ¿Cómo se diferencia Open Source de lo existe en Internet?

Al investigar más, me percate que existían alternativas sobre los programas tradicionales que solemos usar.

Por ejemplo, Ubuntu, Debian o Mint como alternativas a Windows. En vez de usar Office 365 se podía usar LibreOffice. Una alternativa a AnyDesk, existía Rust Desk. Un sin fin de programas que explotó mi mente. ¿Cómo fue posible que no descubriera esto antes? Al inicio solo me concentré en estas alternativas de programas que solía usar, pero me percaté que no solo se trata de esto cuando se escuchaba Open Source.

Alternativas Open Source a programas usados.

Se trata de una cultura - la cultura de código abierto u Open Source, se ha fomentado por años en Web2 por parte de los desarrolladores en beneficio de los proyectos, productos, consumidores y el surgimiento de más entusiastas y comunidades que fomenten la colaboración.

Se trata de incentivar el uso y desarrollo de software descentralizado, donde estos proyectos se encuentran respaldados por la comunidad, para crear herramientas de libre acceso, donde el usuario sea el centro y pueda controlar el uso de sus datos. Fomentando la seguridad, transparencia y sobre todo conocer el código que tiene por detrás cada programa y herramientas que usas día a día.

Open Source no solo beneficia a los programadores, muchos programas que usas para procesar texto, para descomprimir archivos, guardar contraseñas o simplemente navegar en Internet son de código abierto.

Simplemente esto me impactó y nunca se fue mi curiosidad por aprender. Conforme iba aprendiendo iba respondiendo mis preguntas:

¿Qué es el software de código abierto (Open Source)?

El software de código abierto es un software con código fuente que cualquiera puede inspeccionar, modificar y mejorar.

El código fuente es la parte del software que la mayoría de los usuarios de computadoras nunca ven; Es el código que los programadores informáticos pueden manipular para cambiar el funcionamiento de un software, un "programa" o una "aplicación". Los programadores que tienen acceso al código fuente de un programa informático pueden mejorar ese programa añadiendo características o arreglando partes que no siempre funcionan correctamente.

¿Acaso "código abierto" no significa que algo es gratis?

No. Este es un concepto erróneo común sobre lo que implica "código abierto", si bien algunos programas de código abierto pueden ser gratuitos, las implicaciones del concepto no son solo económicas.

Los programadores de software de código abierto pueden cobrar dinero por el software de código abierto que crean o al que contribuyen. Pero en algunos casos, se cobra dinero a los usuarios por los servicios y el soporte de software (en lugar de por el software en sí) es más lucrativo. De esta manera, su software sigue siendo gratuito y ganan dinero ayudando a otros a instalarlo, usarlo y solucionarlo.

¿Cuál es la diferencia entre el software de código abierto y otros tipos de software?

El software de código abierto se diferencia del software propietario en que permite a cualquier persona ver, copiar, modificar y compartir su código fuente. En contraste, el software propietario, como Microsoft Office y Adobe Photoshop, tiene un código fuente controlado exclusivamente por sus creadores, quienes permiten su uso bajo términos estrictos que los usuarios deben aceptar. Estos términos generalmente prohíben a los usuarios inspeccionar o alterar el software sin permiso.

Las licencias de código abierto son mucho más flexibles en comparación con las licencias de software propietario. Mientras que las licencias de software propietario restringen las acciones que los usuarios pueden realizar con el software, las licencias de código abierto permiten a los usuarios usar, estudiar, modificar y distribuir el software para cualquier propósito. Esto fomenta la colaboración y la innovación, ya que el código fuente está disponible para el público.

Pero para profundizar más, ¿Qué es exactamente esta cultura Open Source?¿La puedo aplicar a mi trabajo o un proyecto personal?

La cultura Open Source (Código Abierto)

La cultura Open Source (Código Abierto) se refiere a un enfoque colaborativo y transparente para crear, compartir y mejorar el software y descentralizar para darle más poder al usuario. Esta cultura se nutre de la colaboración, la transparencia y la inclusión. Las comunidades de éxito, como las de proyectos como Linux, Mozilla Firefox, Python Software Foundation, entre otras, demuestran el poder de las diversas contribuciones que trabajan juntas para crear soluciones impactantes. La esencia del código abierto no reside únicamente en el código, sino en la creación de comunidades comprometidas y solidarias que impulsen la innovación y el progreso.

Open Source aplicado a diferente áreas fuera del desarrollo.

¿Cuáles son esas características comunes en la cultura Open Source?

  • Transparencia: La cultura del código abierto hace hincapié en la transparencia del proceso de desarrollo. Esto significa que el código fuente del producto o software desarrollado, las instrucciones subyacentes que hacen que el software funcione, se hace accesible y visible a cualquier persona interesada.
  • Colaboración: La colaboración está en el corazón de la cultura del código abierto. Desarrolladores de todo el mundo pueden contribuir a un proyecto, ofreciendo sus habilidades, conocimientos y experiencia.
  • Participación de la comunidad: Los proyectos de código abierto prosperan gracias a la participación activa de una comunidad de desarrolladores, usuarios y colaboradores. Este modelo impulsado por la comunidad fomenta el compromiso, el debate y el intercambio de ideas.
  • Conocimiento y aprendizaje compartidos: La documentación suele ser abierta y accesible, lo que permite a usuarios y desarrolladores comprender el funcionamiento de un proyecto. Este énfasis en el conocimiento compartido contribuye a una cultura de aprendizaje y mejora continuos.
  • Licencias: Los proyectos de código abierto suelen utilizar licencias que conceden a los usuarios el derecho a ver, utilizar, modificar y distribuir el código fuente.
  • Innovación e iteración: La cultura del código abierto fomenta la innovación al permitir que cualquiera proponga nuevas funciones, corrija errores o experimente con distintos enfoques. Su naturaleza iterativa significa que el software evoluciona rápidamente a medida que los colaboradores se basan en el trabajo de los demás.
  • Valores comunitarios: La cultura del código abierto suele caracterizarse por valores como la meritocracia, en la que las contribuciones se reconocen en función de sus méritos y no de otros factores. La inclusión y el respeto por las diversas perspectivas también son valores comunes en las comunidades de código abierto.
  • Libertad y accesibilidad: La cultura del código abierto se basa en la creencia de que los usuarios deben tener libertad para utilizar, modificar y compartir el software. Este énfasis en la libertad promueve la accesibilidad y garantiza que los beneficios de la tecnología no queden restringidos a unos pocos elegidos.

¿Por qué prefiero usar software de código abierto?

Software Open Source vs Software privativo o propietario.

Prefiero el software Open Source al software propietario por varias razones, entre ellas:

  • Control: Tienes más control sobre el tipo de software que quieres usar, se puede examinar el código para asegurarse de que no está haciendo nada que no quieran que haga, y por lo general estos software siempre se encuentran respaldados por una comunidad.
  • Aprendizaje: Leer código de software Open Source te puede ayudar a convertirte en un mejor programador. Debido a que el código fuente abierto es de acceso público, puedes estudiarlo fácilmente a medida que aprendes a crear un mejor software. Cuando las personas descubren errores en el código fuente de los programas, los comparten para que el autor o autores de ese software tomen los correctivos necesarios y a la vez te ayuda a ti mismo a evitar cometer esos errores. Sin darte cuenta ya te encuentras mejorando tus habilidades en la programación.
  • Seguridad: Considero que el software Open Source es más seguro y estable que el software propietario. Debido a que cualquiera puede ver y modificar el software de código abierto, se puede detectar y corregir errores o bugs que los autores originales de un programa podrían haber pasado por alto. Puedes trabajar o apoyar sin solicitar permiso a los autores originales, para arreglar, actualizar y mejorar el software de código abierto más rápidamente que el software propietario.
  • Comunidad: El software de código abierto a menudo inspira a una comunidad de usuarios y desarrolladores a formarse en torno a él. Eso no es exclusivo del código abierto, pero este si lo fomenta porque al final le brindas un soporte al software que usas día a día.

¿Qué es el código abierto "más allá del software"?

Me gusta pensar en el código abierto no solo como una forma de desarrollar y brindar una licencia a un software informático, sino también como una actitud.

Abordar todos los aspectos de la vida "a la manera del código abierto" significa expresar la voluntad de compartir, colaborar con los demás de manera transparente (para que otros puedan ver y unirse también), aceptar el fracaso como un medio para mejorar y esperar, incluso alentar, a todos los demás a hacer lo mismo.

También significa comprometerse a desempeñar un papel activo en la mejora del mundo, lo que solo es posible cuando todos tienen acceso a la forma en que ese mundo está diseñado.

El mundo está lleno de "código fuente" (planos, recetas, reglas) que guían y dan forma a la forma en que pensamos y actuamos en él. Creo que este código subyacente (cualquiera que sea su forma) debe ser abierto, accesible y compartido, para que muchas personas puedan participar en su modificación para mejor.

Busca una mejor calidad , con "código abierto"

Considero que la cultura Open Source ya se encuentra intrínseca en la Web3. La descentralización, la transparencia y la comunidad son clave. A medida que la Web3 sigue evolucionando, estamos viendo las cosas "a la manera del código abierto", lo que nos ha permitido tener una Internet más equitativa, segura y centrada en el usuario. Se puede observar claramente cómo las comunidades fomentan la participación y comparten sus conocimientos de forma abierta, sin esperar retribución. De manera individual, si logras tener la iniciativa e impacto necesario, eres respaldado y apoyado. De cierta forma, estamos mejorando el "código fuente" del Internet con la Web3 en beneficio de todos sin darnos cuenta.

¿Por qué se necesita la cultura Open Source en Web3?

La Web3 siempre ha tiene como objetivo hacer que Internet sea más privado, seguro y justo devolviendo el control a sus usuarios. El software de código abierto es una gran parte de este cambio porque los proyectos Web3 descentralizados ya no necesitan la condonación de los gigantes tecnológicos.

La tecnología de código abierto también es importante para las criptomonedas, como Bitcoin y Ethereum. Garantiza que el código sea seguro y confiable porque los participantes pueden explorar el código en cualquier momento. Esta apertura hace que los usuarios confíen y utilizan más estas criptomonedas. Además, el uso de software Open Source en la Web3 acelera el surgimiento de nuevos proyectos, estándares o protocolos que fortalecen cada vez más el espacio.

¿Cómo ayuda la cultura de código abierto a fortalecer el ecosistema Web3?

Camino para contribuir en Web3.

Desarrollo impulsado por la comunidad

Una comunidad Web3 es fundamental para apoyar financiera y tecnológicamente los proyectos de código abierto Web3. La comunidad siempre se respalda o apoya de diferentes formas:

  • La comunidad siempre está conformada por diferentes perfiles de profesionales o entusiastas con diferentes antecedentes y experiencias, donde se tiene un ambiente colaborativo para compartir ideas y conocimientos entre ellos.
  • Los participantes siempre están utilizando el producto Web3 y compartiendo valiosos comentarios y sugerencias. Esto ayuda a mejorar el software mediante un desarrollo iterativo debido a la colaboración dentro de la comunidad.
  • La naturaleza de los proyectos de código abierto permite la revisión del código por parte de pares, lo que garantiza la calidad y la seguridad del software.

Iteración y mejora más rápidas

El software Open Source, acelera la mejora iterativa de las aplicaciones Web3:

  • El ciclo de desarrollo se acelera a medida que los desarrolladores pueden trabajar en los módulos y características de los demás.
  • Hay una gran base de participantes siempre disponibles para probar la “beta” o MVP de la aplicación antes de salir. Por lo tanto, los desarrolladores pueden identificar rápidamente los problemas del programa.
  • Los desarrolladores pueden lanzar versiones tempranas de su software y recopilar comentarios de la comunidad.

Seguridad mejorada a través de la transparencia

Cómo hemos visto anteriormente el Open Source fomentar la transparencia y seguridad para brindar un entorno confiable para desarrollar aplicaciones Web3:

  • Dado que los códigos del programa están abiertos para todos, los desarrolladores ni siquiera pensarán en agregar códigos maliciosos dentro de la aplicación. Es evidente que alguien eventualmente revelará el defecto.
  • Los desarrolladores de la comunidad revisan el código de los demás para crear una capa adicional de escrutinio y responsabilidad.
  • Los desarrolladores llegan a detectar una vulnerabilidad, las informan o las corrigen al instante.

Diversidad y resiliencia de los ecosistemas

Los proyectos de Open Source fomentan la aparición de un comunidad para respaldar el proyecto, lo que se traduce en aporte de diferentes perfiles y soporte por parte de usa miembros:

  • La comunidad es respaldada por diferentes perfiles desde Marketing, Moderadores, Creadores, entre otros; que aportan ideas innovadoras para crear nuevas soluciones y servicios para hacer crecer el proyecto.
  • Los desarrolladores pueden seguir añadiendo más funciones al ecosistema Web3, lo que genera diversas oportunidades de ingresos.
  • Los proyectos Web3 se vuelven más resilientes que nunca gracias a la gobernanza descentralizada.

Código abierto y Web3: una combinación ganadora

El software de código abierto y la Web3 forman un dúo dinámico en el mundo digital. Dado que la Web3 tiene como objetivo descentralizar Internet, haciéndolo más privado, seguro y justo, los proyectos de código abierto son esenciales para esta visión. Fomentan la transparencia, la colaboración comunitaria y la innovación rápida. Todo esto es crucial para el desarrollo de productos o soluciones en la Web3.

Si bien empecé como un niño curioso, hoy se podría decir que me considero un activista y entusiasta por el Open Source y la Web 3, porque prácticamente comparten mi filosofía de valores, siempre centrados en la comunidad y la descentralización.

Veamos a las cosas a “a la manera del código abierto” veamos las cosas “a los nounish”.