Software libre es número uno
Todos usamos varios dispositivos electrónicos para interactuar y hacer fluir información entre nosotros por nuestro beneficio. Lo más que dependemos de esos dispositivos por nuestras actividades, lo más importante es entender algunos aspectos fundamentales del mundo informático para seguir empoderado a largo plazo. Un aspecto muy importante, el que detallo en este artículo, tiene que ver con nuestra elección de software al respecto a su licencia y la accesibilidad de su código fuente. Software incluye aplicaciones, sistemas operativas y otras herramientas digitales. Una vez conscientes de ciertas dinamicas humanas en la creación de software, podemos adoptar principios y prácticas para vivir más empoderados. Este artículo es para usuarios de software, no los desarrolladores, pero es necesario mencionar puntos importantes sobre el lado del desarrollador para poder elegir nuestro software mejor.
Cuándo tenemos a mano un dispositivo electrónico digital como un portátil o un celular, llamamos su parte físico hardware. El hardware guarda y trabaja con datos de varias formas y cada elemento fundamental de los datos tiene dos posibles estados, los cuales normalmente llamamos 1 y 0. Software es datos que instruyen al hardware funcionar de cierta forma. Una diferencia importante entre el hardware y software es que se puede copiar el software y distribuir las copias prácticamente sin ningún gasto, mientras que el hardware sigue físico y no copiable sin mucho gasto de energía y materiales.
Típicamente, el software tiene una licencia que es un texto legal que dice qué se puede hacer con el software y qué no. Las licencias están impuestas por entidades gubernmentales. Cuándo las licencias restringen el uso del software, esas restricciones tienden a restringir a ellos que quieren desarrollar o reutilizar el software. Como ejemplo una licencia puede decir que nadie excepto a los propietarios del software puede modificar, distribuir o redistribuir versiones modificadas del software. Otros usuarios del software usualmente no están afectados directamente por esas restricciones, pero indirectamente sí. Cuándo usuarios eligen el software, están eligiendo cuales desarrolladores pueden actualizar y reutilizar el software al futuro y de qué manera, en cuales circunstancias y por qué propósito etcétera.
Software tiene dos representaciones: el código fuente que está escrito en un lenguaje más fácilmente entendible para humanos, y el código de la máquina que instruye al comportamiento del hardware. El código fuente va por el proceso de compilación que lo transforma en código de la máquina. Es posible directamente entender y actualizar el código de la máquina, pero el proceso es mucho más tedioso y hay poca gente que saben hacerlo bien. Además, esa forma del software corre en un solo tipo de procesador, y el hardware puede tener distintos tipos de procesadores. Por el contrario, se puede compilar el código fuente para cualquier procesador dónde el software debe correr. De vez en cuándo el software está proveido como servicio web dónde corre solamente en el hardware de terceros y está accesible por un navegador u otra aplicación. En ese caso es imposible para desarrolladores aparte de los terceros mismos actualizar o reutilizar el software si los terceros no comparten el código fuente o el código de la máquina. En resumen, los desarrolladores que tienen el código fuente efectivamente son ellos que pueden modificarlo, fácilmente entenderlo y portarlo a distintos tipos de hardware.
Volvemos a la cuestión de qué tipo de software es mejor eligir para los usuarios empoderados considerando su licencia y quienes tienen acceso a su código fuente. La licencia y acceso al código fuente determina cuales desarrolladores pueden hacer qué con el software. La naturaleza del software y futuras actualizaciones están afectadas por ellos que lo desarrollan. La cuestión se vuelve entonces en qué tipo de desarrolladores con cuales motivos nos empodera más con su desarrollo del software hoy y al futuro.
Consideramos desarrolladores que crean una licencia que no permite a nadie más excepto a ellos desarrollar el software y que no permiten a nadie más ver o modificar el código fuente. Aunque prácticamente no los cuesta nada permitir que otros desarrollen o reutilicen el software con una licencia más permisible y acceso al código fuente, el motivo más común de no hacerlo es económico. Dando ellos mismos el derecho único al desarrollo o reutilización del software, pueden tenerlo exactamente como ellos quieren, incluyendo hacer que los usuarios tengan que pagar por obtener copias del software y usarlo. Esa práctica tiene más sentido para copias de hardware, porque crear una copia exacta física de ello tiene un costo, pero para copias de software el costo es prácticamente cero. Pueden hacer también que los usuarios paguen de distintas formas, algunos ejemplos siendo hacer que el software muestre anuncios o que recoge datos sobre el usuario (plenamente dicho espionaje). Sin compartir el código fuente, también es más fácil esconder ciertas funciones plenamente maliciosas en el software y los desarrolladores muy a menudo complican y hacen menos eficiente el software solamente para prevenir copias o modificaciones ilegales de ello. Software con licencias así con su código no-accesible se llama software propietario.
Contrastamos desarrolladores que comparten el código fuente y usan licencias permisibles que básicamente dejan a todos desarrollar y reutilizar el software sin condiciones. Esos desarrolladores reconocen el cero costo de distribuir copias del código fuente y no crean restricciones artificiales para beneficiarse. A menudo desarrollan el software voluntariamente por otros o para ellos mismos como usuarios del software también. A veces trabajan en negocios que necesitan el buen funcionamiento del software y por eso lo desarrollan. También pueden aceptar pagos por crear actualizaciones del software. Software con licencias así y su código fuente accesible se llama software libre.
Digamos que estamos por eligir entre un software propietario y un software libre para llevar a cabo ciertas actividades y el software libre los puede hacer adecuadamente. Digamos también que vamos a invertir mucho tiempo en aprender usar el software elegido de manera experta. La opción que nos empodera más debe ser el software libre porque no requiere tanta confianza nuestra en los creadores del software. No tenemos que confiar en que no suben el costo del software o hacen cualquier cambio por motivos economicos para extraer más valor del usuario porque no existe ese motivo. Requiere menos confianza en que el desarrollador no esconde funciones maliciosas en el software porque el código fuente provee más transparencia y hay otros desarrolladores y técnicos que pueden revisar el código. También hay menos riesgo de que una mala inversión en aprender usar el software porque no tenemos que confiar en que los motivos economicos de los desarrolladores empeoren o hacen el software más costoso. El punto final es que el software libre es más nuestro. Nosotros los usuarios controlamos el software que crean los desarrolladores y no al revés. Quizá no lo desarrollamos nosotros mismos, pero tenemos el poder de hacerlo o contratar a alguien que sabe cómo si es que sea necesario.
En conclusión, para ser empoderados en nuestra elección de software al respecto a su licencia y la accesibilidad de su código, es mejor priorizar software libre, luego software menos restringido y al fin software propietario.
- Etiquetas:
- Softwarelibre