¿Por qué usar Software Libre?
He sido usuario de Software Libre desde finales de 2006 y escuché el concepto en un curso al que asistí mientras cursaba el primer semestre de la universidad, estudié Ingeniería en Sistemas Computacionales.
En el curso aprendimos a instalar Ubuntu, una distribución GNU/Linux pensada para el usuario final, 5.04 o 5.10 (no recuerdo la versión exacta), pero a partir de entonces empecé a indagar más sobre el tema y pronto me involucré en algunos proyectos.
No intentaré convencerte de que uses Software Libre, lo que si haré en las próximas líneas es contarte lo que he aprendido de usar tecnologías libres por más de una década y explicaré las razones por las que deberías considerar darle una oportunidad a herramientas que garantizan tus libertades como usuario.
¿Qué es el Software Libre?
Hablar de Software Libre es hablar de herramientas de software que brindan ciertas libertades a los usuarios. Un movimiento global iniciado en 1983 por Richard Stallman, un hacker estadounidense que en aquel entonces trabajaba en el departamento de Inteligencia Artificial del Instituto Tecnológico de Massachusetts (MIT).
Libertades del Software Libre
Para que una herramienta sea considerada como Software Libre, la Free Software Foundation (fundación encargada de promover el uso y desarrollo de Software Libre a nivel global) establece cuatro libertades básicas que un programa debe cumplir.
- Libertad 0: Ejecutar el programa como se desea, con cualquier propósito.
- Libertad 1: Estudiar como funciona el programa y modificarlo.
- Libertad 2: Redistribuir copias.
- Libertad 3: Distribuir copias de las versiones modificadas a terceros.
Pero, ¿qué significa esto para el usuario final? En esencia, si encuentras una herramienta de Software Libre que te ayude en tu día a día y quieres compartirla con otras personas, puedes hacerlo sin preocuparte por infringir una licencia de software, ya que la libertad 2 te lo permite.
Para usuarios más técnicos, el acceso al código fuente del programa es una condición necesaria para que las libertades 1 y 3 se cumplan, por lo que si eres desarrollador puedes estudiar como funciona y realizar modificaciones de acuerdo a lo que necesites y crear una versión nueva, la cual puedes compartir con terceros.
En términos legales, la Licencia Pública General de GNU (GNU GPL) es la licencia que se usa para publicar un programa como Software Libre y es la que garantiza que el usuario cuente con las libertades mencionadas anteriormente.
Software Libre vs Software Privativo
El termino Software Libre viene del inglés Free Software, un concepto ambiguo ya que en español la palabra “Free” significa tanto libre como gratis, sin embargo, un programa de Software Libre no necesariamente es gratuito y algunas empresas como Red Hat, que ofrece servicios a otras compañías y desarrolla Software Libre, factura más de 1,000 millones de dólares al año.
Por ello es importante marcar la diferencia entre el Software Privativo y el Software Libre, que aunque en ocasiones puede confundirse, no es exactamente lo mismo.
Software Privativo es un concepto introducido por Microsoft (Redmond, Washington). Se refiere a programas cuya licencia bajo la que son publicados no permite que el código fuente pueda estudiarse y por lo tanto modificarse, por lo que la corrección de errores e implementación de nuevas funcionalidades depende únicamente de los responsables del desarrollo.
Además, los programas privativos pueden estar disponibles para su descarga sin ningún costo o pueden adquirirse por el pago de una licencia, que usualmente permite que solo pueda instalarse en un único equipo, por lo que se debe adquirir una licencia por cada equipo en el que se usará. Lo que significa que no puedes distribuir copias del software sin que se tenga que pagar por la licencia.
Sin embargo, es una realidad que en muchas ocasiones los usuarios de software privativo como Windows o la suite ofimática de los de Redmond, no siempre compran la licencia, y usan versiones “crackeadas” de dichos programas, que contienen modificaciones que se saltan la validación, exponiendo al usuario a que algún malware sea instalado o se recolecten datos sin su consentimiento, lo cual no siempre puede verificarse al no tener acceso al código fuente.
Los costos de las licencias obligan a los usuarios a buscar opciones para instalar estas aplicaciones sin tener que adquirir la liencia, ya sea porque su economía no se lo permite o debido a la cultura promovida por quienes ofrecen servicios de mantenimiento a equipos de cómputo.
En el Software Libre además de las libertades con las que el usuario cuenta, existen otras ventajas por las que incluso algunos gobiernos están migrando su infraestructura tecnológica al uso de herramientas libres, cómo lo está haciendo la ciudad de Montreal, en donde han empezado un proceso de migración hacia el Software Libre en la administración pública. Algunas de estas ventajas son las siguientes:
- Independencia tecnológica. Si los desarrolladores de un programa deciden descontinuar el software, al tener acceso al código fuente otros programadores pueden continuar el proyecto.
- Económico. La mayoría de las herramientas de Software Libre está disponible sin costo alguno, y aunque hay herramientas comerciales, no se paga por una licencia sino por el servicio prestado.
- Libertad de uso y redistribución. Si usas una herramienta de Software Libre, puedes hacer copias y compartirlo con tus amigos, familia o colegas del trabajo sin ninguna restricción de uso.
- Corrección de errores. El desarrollo de Software Libre no depende únicamente de las empresas o programadores responsables, sino de voluntarios que dedican parte de su tiempo a contribuir a esos proyectos, por lo que la corrección de errores e implementación de funcionalidades se realiza en menor tiempo.
- Seguridad. Sabemos que un sistema no puede ser totalmente seguro y muchos de los errores de seguridad dependen de las acciones que realizamos como usuarios. Sin embargo, con el Software Libre podemos saber si se ha introducido código malicioso o puertas traseras a un programa, ya que se tiene acceso al código fuente.
- Soporte y compatibilidad. A diferencia de lo que pasa con el software privativo, no se necesita adquirir hardware nuevo con cada versión que se publica de un programa, por lo que podemos seguir usando los equipos por mucho más tiempo. Lo que hace que aunque el equipo que estamos usando no sea el último en el mercado, aún así podamos usar las últimas versiones de una herramienta.
¿Quienes usan Software Libre?
Es probable que hasta este punto aún no tengas claro si el Software Libre es para ti, ya que es posible que antes de este artículo no hayas escuchado del tema o tengas una idea errónea de lo que significa.
Si conoces a alguien que estudia o estudió alguna carrera relacionada a tecnologías de la información, seguramente le has escuchado hablar de GNU/Linux o “Linux” (como coloquialmente se le conoce), que es uno de los proyectos más importantes en el Software Libre, y mientras lo oías creabas en tu mente una imagen como la siguiente.
Después de escucharlo es probable que hayas recordado esas películas dónde un “hacker” (en el correcto sentido de la palabra) escribía instrucciones en una pantalla negra con letras blancas para decirle a una computadora u otro dispositivo que hacer.
Un hacker es alguien a quien le apasiona aprender, saber como funcionan las cosas, mejorarlas o crear nuevas y compartir conocimiento. Se trata de expertos en áreas tan diversas como las TICs, arte, medicina, etc.
Lo cierto es que el Software Libre no es solo para “hackers” y entonces, ¿quienes usan Software Libre? Empresas y organizaciones como Google, Facebook, Twitter, Wikimedia usan Software Libre en su infraestructura tecnológica para que sea posible que tu puedas acceder a sus servicios.
La NASA y el CERN usan distribuciones GNU/Linux en sus servidores, por la escalabilidad de su infraestructura y fiabilidad en el procesamiento de información que esto les permite. Promueven el uso de estándares abiertos y muchas de las herramientas desarrolladas por estas instituciones se encuentran publicadas en repositorios de GitHub como software de código abierto.
En películas como Plumíferos, Spider-Man 2 y Captain America: The Winter Soldier se ha usado Blender, herramienta libre para animación 3D, de acuerdo a Wikipedia. Y desde la Blender Foundation se ha impulsado la creación de las Open Movies, teniendo a la fecha ocho títulos publicados.
El Software Libre también es la elección de Ingenieros, Makers, Profesores, Emprendedores y Administradores de Sistemas, aunque no se limita únicamente a estos perfiles. En los últimos años he conocido a personas con una formación ajena a las TICs, quienes además de usar Software Libre, lo promueven desde lo técnico, político y filosófico del movimiento.
Pero, ¿me creerías si te digo que también usas o has usado Software Libre? La verdad es que casi todos usamos Software Libre, si usas alguno de los siguientes programas, también usas Software Libre y no lo sabías hasta hoy.
- Android
- Mozilla Firefox
- VLC
- WordPress
Debo mencionar que de la lista anterior no todos los programas se publican con la licencia GNU GPL, sino con otras licencias que son compatibles, por lo que aquellos programas que no usan esa licencia a veces se conocen como software de código abierto, un concepto muy similar pero con diferencias entre ambos términos.
Alternativas en el Software Libre
La primera pregunta a responder tiene que ver con el uso que se le da a un equipo de cómputo o dispositivo móvil y las herramientas que se usan, para buscar alternativas en el Software Libre que nos permitan realizar las mismas tareas. Voy a recomendar algunos programas de los que he leído o he usado y con los que puedes reemplazar algunas de las herramientas que usas actualmente.
Dejé de usar Windows como sistema operativo por defecto hace varios años, y siempre que compro una laptop lo primero que hago es borrar el sistema que trae preinstalado e instalar una versión de GNU/Linux en su lugar.
GNU es un sistema operativo libre de tipo Unix creado por Richard Stallman, padre del movimiento del Software Libre y Linux es el kernel (núcleo) del sistema, el cual fue desarrollado por Linus Torvalds en 1991 a los 21 años mientras estudiaba en la Universidad de Helsinki.
El sistema operativo es el conjunto de programas que interactuan entre si para que tu puedas usar un equipo de cómputo o dispositivo móvil. Este se encarga de traducir las instrucciones dadas por el usuario a un lenguaje (0s y 1s) que estos dispositivos puedan entender.
Existen diversas versiones de GNU/Linux a las que se les conoce como distribuciones o “distros”, cada una diseñada para un propósito específico y para un tipo de usuario diferente. Las hay aquellas que están pensadas en el usuario final, para que sean amigables y permitan que la migración desde Windows u otro sistema operativo sea más sencilla.
La primera distribución que instalé fue Ubuntu, desarrollada por Canonical y basada en Debian, la cual está pensada para usuarios finales. La primera vez que instalé este sistema operativo fue en Diciembre de 2006 y su instalador era en modo texto. Actualmente cuenta con un instalador en modo gráfico, haciendo que el proceso sea mucho más sencillo que hace más de diez años y siguiendo con el enfoque de ser una distro para usuarios finales.
Usé Ubuntu por varios años, luego instalé otras distribuciones, entre ellas Debian, Fedora, Arch Linux y actualmente el sistema que tengo instalado es Manjaro. Además, he instalado o virtualizado otras distros solo para probarlas y saber si debería recomendar alguna a usuarios nuevos.
Si vienes de Windows y quieres probar GNU/Linux, mi recomendación es que le des una oportunidad a Ubuntu. Aunque Canonical ha recibido críticas por malas decisiones tomadas en el desarrollo de la distribución, ha sido uno de los sistemas por los que GNU/Linux se ha dado a conocer entre los usuarios finales. Puedes tener ambos sistemas operativos instalados, mientras te familiarizas con la interfaz de Ubuntu o puedes probar desde una memoria USB o un CD.
Otras distribuciones que deberías tener en cuenta:
Las distribuciones anteriores también se recomiendan para usuarios finales, si quieres conocer su interfaz y las herramientas que tienen preinstaladas visita sus sitios oficiales o busca videos en YouTube. Y si te interesa conocer una lista más completa de los sistemas operativos libres que existen, consulta la siguiente tabla periódica de distribuciones GNU/Linux.
Hasta ahora solo he mencionado distribuciones que pueden usarse en PCs, laptops y servidores, pero también han habido intentos de llevar Linux o GNU/Linux a dispositivos móviles, algunos proyectos de más éxito que otros.
Android es uno de los sistemas operativos para móviles más usados, y que podemos encontrar en tablets y smartphones. Es probable que estés leyendo este artículo desde un dispositivo con Android. Y gracias al concepto de convergencia hoy es posible que puedas transformar tu teléfono en una laptop con un dispositivo como el Superbook.
Otros proyectos que no tuvieron tanta suerte son Firefox OS, sistema operativo para móviles de Mozilla, del que vimos algunos smartphones, tablets y smart TVs, y que fue presentado en México el 30 de Octubre de 2013, siendo un proyecto que estuvo activo hasta 2015.
Ubuntu for Phones fue un proyecto de Canonical para llevar Ubuntu a dispositivos móviles y que fue descontinuado hace algunos meses. BQ (una empresa española) en alianza con Canonical lanzó smartphones y tablets con el sistema operativo. Aunque hace poco se anunció por parte de la comunidad la intención de revivir el proyecto (artículo en portugués), por lo que Canonical donó teléfonos a UBPorts.
Y aunque estos proyectos no funcionaron, recientemente hemos podido ver un poco de luz en el camino y es que se anunció que la campaña de financiamiento en Kickstarter de Librem 5 fue un éxito. Este es un smartphone con enfoque en la seguridad y privacidad al que se podrán instalar algunas distribuciones GNU/Linux como Debian, Ubuntu o Arch Linux.
Por otro lado, Samsung anunció recientemente el proyecto Linux on Galaxy, que permitirá usar GNU/Linux desde los smartphones de la familia Galaxy gracias al concepto de convergencia.
En fin, si decides no cambiar de sistema operativo pero quieres darle una oportunidad al Software Libre, te dejo una lista con software privativo y su alternativa en el Software Libre.
- Photoshop — GIMP
- Corel DRAW — Inkscape
- Microsoft Office — LibreOffice
- Windows Media Player —VLC
- Internet Explorer — Firefox
- WhatsApp — Telegram
La lista anterior solo contiene algunos ejemplos que se me ocurren en este momento, si buscas una alternativa a otra herramienta puedes hacer una búsqueda en Google o preguntarme.
El Software Libre ha evolucionado mucho estos años y hoy contamos con más herramientas que nos pueden servir en nuestras actividades diarias y la mayoría de ellas se encuentra disponible sin ningún costo.
¿Dónde empezar?
Si quieres aprender más sobre el Software Libre, te recomiendo que leas en foros, blogs y sitios donde se hable de ello, acércate a alguien que conozca del tema, intenta y lo más importante, asiste a eventos.
Lee tanto como sea posible
La mejor manera de aprender sobre un tema es leyendo y en relación al Software Libre existen varios sitios que puedo recomendar, a continuación te dejo una lista con algunos sitios en español en los que puedes encontrar información.
- MuyLinux — http://muylinux.com/
- Linux Adictos — https://www.linuxadictos.com/
- OpenLibra — http://openlibra.com/
Busca alternativas
Haz una lista de las aplicaciones que usas cotidianamente y realiza una búsqueda en Google para encontrar alternativas en el Software Libre con las que puedas reemplazar los programas que ya usas.
Aunque seguramente encontrarás alternativas a la mayoría de las herramientas que usas, es probable que aún no exista una opción en el Software Libre para alguna de ellas, por lo que no podrás reemplazarlas todas.
Puedes consultar el sitio del proyecto cdlibre.org que contiene un catalogo de Software Libre para Windows.
Pregúntale a un experto
Si te interesa aprender sobre el Software Libre y no sabes donde empezar, es probable que alguien en tu escuela, tu familia o el lugar donde vives ya esté usando Software Libre, acércate y pregunta lo que necesites saber. Ten por seguro que te guiará en el proceso y de esa forma tu experiencia será lo más amigable posible y llena de aprendizaje.
Si algo nos caracteriza a quienes usamos tecnologías libres es que nos gusta compartir lo que sabemos y ayudar a los demás, es parte de la filosofía que hemos aprendido del Software Libre.
Por lo que si después de leer este artículo tienes alguna pregunta que no se haya respondido aquí, puedes contactarme y te responderé lo más pronto posible.
Intenta
La mejor manera de aprender algo nuevo es intentando, no tener miedo a probar nuevas tecnologías y sobre todo estar dispuesto a dar el siguiente paso. Es probable que lo que quieras hacer no resulte al primer intento, pero solo tienes que seguir insistiendo y nunca pensar que se sabe todo, porque siempre aprendemos algo nuevo.
Asiste a eventos
¿Quieres conocer a otras personas y aprender? Asiste a eventos en donde se hable del tema que te interesa. En esta ocasión hablamos de Software Libre y te recomiendo asistir a los siguientes eventos:
El Festival Latinoamericano de Instalación de Software Libre [FLISoL] es el mayor evento de difusión de Software Libre en América Latina y se realiza en más de 200 ciudades en la región desde 2005. El Festival se celebra cada año el cuarto sábado de abril.
Es un evento al que te recomiendo asistir, y en el sitio del evento puedes encontrar tu sede más cercana y si no hay alguna, te invito a que lo organices, no necesitas ser un experto en el tema, busca en tu ciudad si hay alguien que conozca sobre los temas que se abordan en el evento e invítale a participar con una conferencia o taller.
Software Freedom Day es un evento similar a FLISoL, que se realiza cada año el tercer sábado de septiembre y en el que se abordan temas relacionados al Software Libre, aunque se trata de un evento global.
Además de los eventos antes mencionados, cada país en la región organiza otros eventos, por lo que debes revisar en redes sociales o hacer una búsqueda en Google para saber que eventos en los que se hable del Software Libre se realizan en tu ciudad.
Software Libre preinstalado
Siempre que adquiero un equipo de cómputo, lo primero que hago es borrar el sistema operativo instalado por defecto, generalmente Windows, e instalar Manjaro, una distribución basada en Arch Linux y que es el sistema operativo que he usado desde 2013, año en que se publicó la primera versión.
Si quieres darle una oportunidad a un sistema operativo libre como Ubuntu, y no cuentas con el conocimiento técnico para realizar la instalación, no olvides acercarte a alguien que ya use GNU/Linux y pedirle ayuda.
Si por otro lado estás pensando en adquirir un equipo nuevo y quieres evitar realizar este proceso, algunas empresas venden equipos de cómputo con Ubuntu u otras distribuciones preinstaladas, como Dell, que presentó recientemente su famila de portátiles con Ubuntu.
Empresas como Station X, establecidos en Inglaterra, y que presentaron hace algunos meses una laptop con Manjaro. Purism, empresa encargada del desarollo de PureOS, un sistema operativo enfocado en la seguridad y privacidad; detrás de Librem 5, el smartphone pensado en la privacidad y seguridad; con oficinas en San Francisco y quienes venden laptops con PureOS preinstalado.
Por otro lado si planeas comprar una Chromebook, ya no será necesario seguir un proceso para nada sencillo si quieres instalar Ubuntu, pues ChromeOS, el sistema que viene preinstalado en estos equipos, soportará la ejecución de algunas aplicaciones para GNU/Linux como GIMP.
Por lo que en la actualidad tienes varias opciones si deseas adquirir un equipo de cómputo con alguna distribución GNU/Linux preinstalada.
Contribuir al Software Libre
Existen diversas formas de apoyar al Software Libre y depende del tiempo que puedas dedicarle y lo que te interese hacer.
Usa Software Libre
La forma más sencilla de contribuir al Software Libre es usando herramientas libres cuando sea posible. Si siempre has usado software privativo, escribe una lista de las herramientas que usas y busca alternativas. Si colaboras con otras personas, invítalos a usar Software Libre.
Promueve su uso
Recomienda a las personas que están cerca de ti que usen Software Libre, háblales del tema y cuéntales porque deberían empezar a usarlo. Si puedes dedicar más tiempo y te gusta hablar frente a otros, prepara una charla y cuenta tu experiencia.
Ayuda a otros
Si después de contarle a alguien sobre el Software Libre decide que quiere intentar, ayúdale a instalar los programas que haya elegido y explícale como usarlos. Responde a las preguntas que te hagan siempre que tengas la respuesta. Comparte lo que sabes y lo que has aprendido.
Colabora en proyectos
No necesitas tener un perfil técnico para colaborar con un proyecto de Software Libre, ya que siempre se necesita ayuda en otras áreas.
- Desarrollo. Si sabes programar o quieres aprender a hacerlo, contribuye con código a proyectos de Software Libre. Puedes hacer una búsqueda en GitHub y encontrar repositorios de proyectos en los que puedas colaborar. También puedes ayudar a tus herramientas favoritas. Y durante el mes de Octubre participar en el Hacktoberfest y contribuir a proyectos de código abierto, ayudando a resolver errores, implementando funcionalidades, etc.
- Localización. Hablas algún otro idioma además del idioma en que se publica un programa, entonces puedes ayudar a localizar (traducir) el texto de la interfaz de usuario, las opciones de ayuda, etc.
- Diseño. Eres diseñador o tienes experiencia usando herramientas de diseño, entonces puedes ayudar a crear material gráfico para el proyecto.
Existen otras tareas en las que se puede colaborar, como redacción de la documentación, difusión, etc.
Crea Software Libre
Hace un año publiqué en mi blog un artículo sobre Aprender a programar y no morir en el intento, en el que cuento cual ha sido mi experiencia como desarrollador y cuales son mis recomendaciones para quienes les interese aprender a programar.
La mejor manera de mejorar como programador, después de aprender un lenguaje, es resolviendo problemas, leyendo código fuente de proyectos publicados en plataformas como GitHub, GitLab o Bitbucket, contribuyendo a proyectos, así como trabajar en proyectos personales.
Si te apasiona programar y resolver problemas creando tecnología, te recomiendo que cualquier aplicación que crees, sin importar el lenguaje o lo que haga, publiques el código fuente en GitHub o cualquier plataforma similar.
En mi experiencia puedo decir que cualquier herramienta por pequeña que sea, si ayuda a optimizar procesos, puede ser de interés para otras personas. Algunos de mis proyectos han sido usados por desarrolladores de países como México, Brasil, Estados Unidos, entre otros.
Además, publica tus proyectos usando licencias como GNU GPL (Software Libre) o Apache, MIT (Código Abierto) para que otros desarrolladores puedan tener acceso al código fuente, crear versiones modificadas o contribuir al proyecto.
Te recomiendo visitar el sitio Choose a License, que te ayudará a elegir la licencia más adecuada para tu proyecto. Si te interesa aprender a crear proyectos de software libre y código abierto, te recomiendo que apliques al programa de Mozilla Open Leaders, que tiene dos rondas al año, de Febrero a Mayo y de Septiembre a Diciembre, un programa del que me gradué el año pasado y en el que aún sigo colaborando.
Organiza eventos
Si tienes más tiempo disponible y un equipo de trabajo, puedes organizar eventos, visitar escuelas para hablar del tema, planear webinars (charlas y/o talleres en línea), entre otras actividades para dar a conocer el Software Libre. Cuando tengas más experiencia debes animarte a participar con alguna charla o taller.
Hablar en público no es fácil y no siempre nos preparan para ello, pero si la oportunidad se presenta, no dudes en participar, que es una muy buena experiencia de la que vas a aprender mucho.
Comunidades de Software Libre
Participa en comunidades tecnológicas, cada proyecto de Software Libre es respaldado por voluntarios que organizados en comunidades dedican parte de su tiempo a colaboar en el proyecto.
Si no existe una comunidad en tu ciudad o el idioma es un problema para que puedas participar en las comunidades globales, siempre está la opción de iniciar una comunidad, que puede ser temática, es decir, enfocada a una tecnología en particular, o grupos de usuarios de GNU/Linux en los que se habla de Software Libre en general.
¿Por qué participar en una comunidad? He colaborado con varias comunidades de tecnología y emprendimiento durante los últimos años, y algunas de las razones por las que deberías colaborar son las siguientes (lo siguiente es parte de una conferencia presentada en FLISoL por Mariana García y un servidor sobre la “Importancia de las Comunidades Tecnológicas en Educación”):
- Aprendizaje técnico. Es un hecho que los planes de estudio no se actualizan con la frecuencia que podríamos esperar, sobre todo en carreras en las que los profesionales en formación incorporan el uso de tecnología a sus actividades cotidianas, sabiendo lo rápido que avanza el desarrollo tecnológico y lo cambiante que es el mercado. El participar en una comunidad te permite conocer nuevas tecnologías, tendencias y demandas del mercado, y ayuda a complementar los planes de estudio vigentes en las escuelas.
- Habilidades y competencias. El participar en comunidades te ayuda a desarrollar habilidades y competencias que es probable que no aprendas en la escuela. Colaborar con otras personas, aprender a comunicarte, expresar tus ideas en público y apasionarte por aprender, es parte de lo que una comunidad puede proporcionarte.
- Networking. Conocer a otras personas con tus mismos intereses.
Espero que el artículo te ayude a dar el paso hacia el Software Libre y no olvides que puedes escribirme en cualquier momento si tienes alguna pregunta sobre el tema que no se haya respondido aquí.