Bueno, para no dejarlos así como así, supongo que muchos de ustedes no saben lo que es el software libre, así que lo explicaré a mi modo:
Primero voy a explicar qué es un programa:
No sé la teoría de computadores (no me la han pasado ni la he estudiado), pero sí sé cómo se construye un programa en la actualidad. El programa está escrito en un lenguaje de programación, de los cuales existen muchos, pero todos se basan en 3 cosas básicas con las cuales se pueden crear programas, y son: Sentencias, Condicionales y Ciclos. Las sentencias pueden ser impresiones hacia la pantalla (mostrar en pantalla algún texto) o asignaciones de datos a variables, las cuales pueden ser por teclado o por operaciones dentro del programa. Los condicionales son los archiconocidos "si, sino", y se usan operadores comparativos y lógicos. Los primeros pueden ser "menor a", "mayor igual a", igual a", etc. Y los segundos se usan para unir a los primeros, y son "y" y "o". Luego de la condición se ejecutan sentencias. Los ciclos son partes de programas que incluyen una condicion, y mientras sea verdadera esa condición se harán las sentencias del interior.
Para mostrar un ejemplo en un lenguaje de pseudocódigo inventado por mi:
hacer variable i=1
mientras i sea igual 1
----imprimir "ingrese los lados de un tríangulo"
----leer del teclado "lado a"
----leer del teclado "lado b"
----leer del teclado "lado c"
----si (lado a + lado b es mayor a lado c) O (lado a + lado c es mayor a lado b) O (lado b + lado c es mayor a) entonces
--------imprimir "es un tríangulo"
--------hacer variable i=0
----sino
--------imprimir "no es un tríangulo, vuelva a ingresar los valores"
----Fin Condicional
Fin Ciclo
Fin Programa
Ése programa es súper simple, después se le van incorporando otras cosas (como matrices, estructuras, funciones (y funciones recursivas), objetos, etc). Pero aunque no lo crean, es bastante entretenido.
¿Pero y el software libre?
Pues el computador sólo lee 'unos y ceros' por lo que la tarea del compilador es pasar el lenguaje de programación a lenguaje de máquina (1 y 0), al que se le llama 'ejecutable'.
Los programas privativos sólo proveen el ejecutable, y no el código, por lo tanto no se pueden estudiar ni modificar. En cambio los programas libres sí entregan el código para estudiarlo y modificarlo. Hay sólo dos condiciones, estas son: 1.- si lo modificas debes obligadamente entregarlo con la misma licencia (aunque te lo puedes quedar para tí y no se lo entregas a nadie xD) 2.- En la licencia dice que es OBLIGATORIO entregar el código junto al ejecutable, es decir que no es obligatorio distribuir el programa a todo el mundo, pero a quien se lo entregues, debes entregarle AL MENOS el código (no es necesario que le entregues el ejecutable).
Eso al menos dice la licencia GPL (GNU Public License, de GNU). Y los programas con la GPL (o la LGPL) se le llaman libres.
Hay una discusión sobre los programas que no tienen esas condiciones como los gpl, pero los amantes de la gpl llamamos a esos programas "libertinos".
Y el software libre es todo un mundo aparte.
En barrapunto hacían la distinción entre alguien que sólo desarrolla software libre, y alguien que además de desarrollar, está inmerso en la comunidad del software libre. Justamente a eso va la diapositiva, a estar inmerso en una comunidad en torno al software libre.
¿Pero y el software libre?
Pues el computador sólo lee 'unos y ceros' por lo que la tarea del compilador es pasar el lenguaje de programación a lenguaje de máquina (1 y 0), al que se le llama 'ejecutable'.
Los programas privativos sólo proveen el ejecutable, y no el código, por lo tanto no se pueden estudiar ni modificar. En cambio los programas libres sí entregan el código para estudiarlo y modificarlo. Hay sólo dos condiciones, estas son: 1.- si lo modificas debes obligadamente entregarlo con la misma licencia (aunque te lo puedes quedar para tí y no se lo entregas a nadie xD) 2.- En la licencia dice que es OBLIGATORIO entregar el código junto al ejecutable, es decir que no es obligatorio distribuir el programa a todo el mundo, pero a quien se lo entregues, debes entregarle AL MENOS el código (no es necesario que le entregues el ejecutable).
Eso al menos dice la licencia GPL (GNU Public License, de GNU). Y los programas con la GPL (o la LGPL) se le llaman libres.
Hay una discusión sobre los programas que no tienen esas condiciones como los gpl, pero los amantes de la gpl llamamos a esos programas "libertinos".
Y el software libre es todo un mundo aparte.
En barrapunto hacían la distinción entre alguien que sólo desarrolla software libre, y alguien que además de desarrollar, está inmerso en la comunidad del software libre. Justamente a eso va la diapositiva, a estar inmerso en una comunidad en torno al software libre.
No hay comentarios:
Publicar un comentario
Puedes dejar cualquier mensaje siempre que esté en el marco del respeto.
No se permiten mensajes capitalizados excesivamente, con faltas de ortografía, o anónimos.