1 Hay cosas que no explican en el Software Libre
1.1 Programas compilados y programas interpretados
La computadora solamente “habla” en binario. La computadora
no puede entender lo que nosotros los humanos, como desarrolladores de software
y programadores, le decimos qué hacer. Para eso se inventaron los lenguajes de
programación.
Un Lenguaje de Programación es una forma de comunicarnos
nosotros los humanos con las computadoras. Pero estos lenguajes traducen
nuestras instrucciones en Instrucciones de Computadora, es decir, en Binario,
cosas que el Procesador y todos sus componentes sí podrán descifrar.
Existen dos formas de ejecutar un programa. Ambas formas
funcionan por medio del Sistema Operativo de la computadora. Esas dos formas
son:
1.
Programa
compilado: Programa en lenguaje o semi-lenguaje de computadora. Están en
binario. Ejemplos: Microsoft Word, LibreOffice, FreePascal, Turbo Pascal, etc.
2.
Programa
interpretado: Programa que se ejecuta por otro programa marco llamado
Intérprete. El intérprete a menudo es llamado Máquina o Motor de software.
Ejemplos de programas interpretados: OpenOffice.org, ModellusX, PyCAD, Aplicaciones
Web, etc. Ejemplos de Intérpretes: Java Virtual Machine, Python, Ruby, etc.
El programa interpretado puede tener su código a la vista, su
código ofuscado (que no se entiende nada, pero el intérprete lo puede hacer), o
código codificado/comprimido con contraseña.
1.2 Software Libre
El Software es Libre si cumple las cuatro condiciones
fundamentales:
0.
Es la primera. Libertad de uso, para cualquier
propósito. No restringe cometer actos terroristas, pero por supuesto, esto no
se puede enseñar.
1.
Libertad de estudiar al programa. Para ello
tenés que tener acceso al código fuente, y tener todas sus funcionalidades
habilitadas así uno puede acceder a esas funciones (el propósito mencionada en
la libertad 0). Esta libertad te ayuda a que intentes buscar errores en el
código, corregirlos o copiar parte del código para tus programas.
2.
Libertad de distribuir copias así ayudar al
prójimo. Copiás el programa para cada compu de la escuela o de tus amigos.
3.
Libertad de distribuir copias con tus
modificaciones, y beneficiarte de ser conocido, o vender tu programa como
quieras.
El Software Libre tiene, por la Libertad 1, que ser
OpenSource, es decir, ser un programa de Código Abierto. Y esto es, entregar tu
programa con su Codificación a la vista. Pero debe tener en el principio de tu
código, el texto de la licencia en la cual vos liberás tu programa.
Para asegurarse que un software es Libre, se debe distribuir
con una licencia, como ser la licencia GPL en cualquiera de sus versiones
(verificar los alcances de cada versión), AGPL, Creative Commons libre, etc. En
las licencias dicen qué alcances tienen las 4 libertades. Todas las licencias
libres solicitan que si vas a modificar su código para tu beneficio, tenés que
mencionar al autor original, sino estarás incurriendo en ilegalidades.
1.3 Comunidades
El Software Libre suele generar comunidades de
programadores. En cuanto más grande sea una comunidad, más gratuita suele ser la
aplicación, en la medida que sus contribuyentes no dedican un buen porcentaje
al desarrollo del software.
Por supuesto, no sólo están compuestas por desarrolladores
las comunidades. También se componen por personas que prueban el programa,
personas que enseñan el programa, personas que se encargan de avisar de errores
al programa, personas que venden mercancías alusivas al programa, etc.
Lo bueno de las comunidades de Software Libre es que no
forman una empresa. Puede una empresa “maligna” tratar de derribar a otra
empresa, nuestra empresa, pero como el Software es de la Comunidad, no hay una
empresa que destruir o derribar.
Lo otro, es que el Software Privativo no permite que
extraños examinen el código. Así que la corrección de los errores están a cargo
de los mismos programadores de siempre. Ante una situación de errores, por
ejemplo, Windows solicita al usuario que envíe el reporte de error a sus
oficinas para luego crear parches que solucionen esos errores. En cambio en
Software Libre, esa restricción no existe, cualquiera puede aportar a la
comunidad del software.
1.4 Cómo se entrega un software
La mayoría de los software se entregan COMPILADOS. Es decir,
en código de máquina, directamente para que la máquina, por medio del Sistema
Operativo lo ejecute. Si un programa está diseñado para Windows, funcionará
para Windows. Si está diseñado para Linux funcionará en un GNU/Linux. Si está
diseñado para MacOS funcionará en un MacOS.
Pero en el sitio para obtener el software necesitado o
mencionado, que es compilado, debe estar a disposición del descargante el
Código Fuente del programa (condición para cumplir la Libertad 1), si no lo
hace, si no se habilita el Código Fuente no es Software Libre.
1.5 Ejemplos
Por ejemplo, tenemos el KingSoft Office. KingSoft Office es
una suite ofimática con una interfaz muy similar a la de Microsoft Office 2007.
Trae en su versión gratuita las aplicaciones Procesador de Textos, Planilla
de Cálculos y Software de
Presentación.
A su vez, tiene disponibilidad de funcionar en sistemas
Windows y GNU/Linux (Software Libre, en principio). Se descarga el binario para
Windows, y el binario para Linux. Pero no está disponible su código fuente.
Funciona en los GNU/Linux como Ubuntu, Debian, Huayra, etc., y sin embargo no
es software libre.
Otro ejemplo es el Sistema Operativo Red Hat. Este sistema
se desarrolló inicialmente a partir de un Sistema GNU/Linux, y sin embargo es
Software Privativo. Este fenómeno está contemplado en las Libertades del
Software Libre, en la medida que uno puede beneficiarse del Sistema
desarrollado. Pero “recibirá el repudio de todas las comunidades de Software
Libre”. Así van surgiendo nuevas licencias, o versiones, para evitar este tipo
de acciones.
Por último, un software que probé fue QCAD. Es un programa
de dibujo técnico. Tuvo la intención de competir contra AutoCAD (en Argentina
es el más conocido entre las clases media y baja de la sociedad trabajadora),
pero se restringe a trabajar en 2 dimensiones. En principio la idea era
trabajar con una aplicación llamada LibreCAD. Pero al tratar de utilizarla
funcionaba mal, o mi adaptación a ella (desde AutoCAD) fue muy difícil. Leyendo
descubrimos con mi grupo de trabajo, que LibreCAD descendía de un proyecto de
Software Libre llamado QCAD, así que decidimos probarlo y nos resultó cómodo. Y
es en la primera ejecución donde enfoco el ejemplo. Tiene habilitado desde el
principio 3 plug ins que dan ciertas funcionalidades extra al QCAD, pero resulta
que son Pagas, y están habilitadas por 15 minutos, y luego cierran al QCAD. Es
decir, por esas funcionalidades QCAD tiene su entrada de dinero. Es totalmente
válido cobrar por alguna forma en el Software Libre. Pero ojo, si uno no puede
desprenderse de esas funcionalidades molestas no es Software Libre. QCAD desde
el principio permite sacar esas funcionalidades pagas y trabajar tranquilamente
(Libertad 0) como Software Libre.
2 Conclusión
Libre no es
gratuito aclaraba Richard Stallman, el iniciador del movimiento Software
Libre. Tenés que conocer los casos, y, por ejemplo, también conocer que podés
beneficiarte del Software siempre y cuando respetes las licencias y las pautas
de los autores de códigos anteriores.
Comentarios
Publicar un comentario