Portadas del números,2 de Ojos de Perro Azul. de Reinaldo Quintero (REIQ) |
Estimados Amigos
Hoy compartimos
con ustedes un texto que iba a ser publicado en la fenecida publicación Ojos de Perro Azul. La revista tenía un tiraje de 1000 ejemplares y era distribuída en Valencia, Maracay, Caracas y Maracaibo. La revista Ojos de Perro Azul fue una iniciativa valenciana
dedicada a divulgar las artes gráficas pero también se había planteado tocar
temas emergentes que poco a poco iban ganando interés en cierto porcentaje de
la población lectora en Venezuela. La informática era uno de esos temas y por
esta razón solicitamos en su momento la colaboración de Jorge Castellanos, profesor de la Universidad de Carabobo, para que sirviera de
iniciador de nuestros seguidores en el mundo del GNU. Cuando Recibimos su colaboración esta resultó algo extensa
para la longitud de la publicación. Por esta razón fue archivado con a intención
de ser publicado en dos partes cuando ampliáramos la extensión del fanzine.
Pero la revista no superó el número seis en el año 2006, curiosa coincidencia numérica.
Ahora
aprovechamos este medio digital para saldar nuestra deuda con el profesor Jorge Castellanos y le acercamos este
excelente material que aunque tiene algún tiempo les será de mucha utilidad.
Deseamos
disfruten la entrada.
Richard Montenegro
Bienvenida
Por:
Jorge A. Castellanos Díaz (jorcas@cantv.net)
Universidad
de Carabobo – Facultad de Ciencias y Tecnología
Es una ocasión
especial, apreciado lector, este primer encuentro con aquello denominado “Código
Abierto” (Open source). Antes de iniciar y respetuoso de mis principios y
creencias les solicito su activa participación a través de mi correo
electrónico con sus sugerencias y acertadas críticas para los temas tratados y
por tratar.
No podía faltar
una definición de Código Abierto
Cuando me
planteé escribir este artículo, mi primera preocupación fue intentar conseguir
una definición acorde que, en principio, me permitiera introducir este
interesante tema. Acudí a Google (www.google.co.ve),
esa fuente que parece que todo lo sabe y que nos permite conseguir rápidamente
la información que necesitamos; allí encontré una referencia a la Wikipedia (es.wikipedia.org) y extraje esta
definición:
“Software libre es el software que, una vez obtenido, puede ser usado, copiado,
estudiado, modificado y redistribuido libremente. El software libre suele estar
disponible gratuitamente en Internet o a precio del coste de la distribución a
través de otros medios; sin embargo, no es obligatorio que sea así y, aunque
conserve su carácter de libre, puede ser vendido comercialmente. Análogamente,
el software gratuito (denominado usualmente Freeware) incluye en algunas
ocasiones el código fuente; sin embargo, este tipo de software no es libre
en el mismo sentido que el software libre, al menos que se garanticen
los derechos de modificación y redistribución de dichas versiones modificadas
del programa.”
Cualquiera que
esté leyendo este artículo y haya adquirido recientemente licencias para el uso
de software comercial pensará (con sobradas razones) que es algo soñadora y
utópica y que, lo mas seguro, es imposible que se desarrolle software bajo
estos principios y en definitiva puede pensar que este tipo de producto no
exista. Por lo tanto, para mostrar al lector que aunque parezca imposible, el software libre hoy en día es una
realidad que nació por la iniciativa de un grupo de programadores y su
desarrollo continúa muy activo cada día, basado en los principios consignados
en una licencia creada para tal fin. Les hablaré de la historia de la
computación, remontándome a sus inicios para ahondar en el espíritu de libertad
de esta clase de software para así
comprender sus principios.
En los años ‘60 (1960) y ‘70 (1970) cuando se desarrollan los primeros computadores comerciales, los costos del hardware (componentes mecánicos y electrónicos del sistema) eran muy altos, mientras que el software (programas) no se consideraba como un producto tangible de gran valor; por tanto era una práctica común que los vendedores de computadores suministraran el software sin costo a sus clientes que estos pudieran usarlo en los equipos. En estos tiempos se crearon grupos de usuarios de computadoras donde se compartían libremente sus programas, unos con otros, sin restricciones de uso, de la misma forma que se han compartido libremente desde hace siglos las recetas de cocina entre los practicantes de las artes culinarias (según palabras de Richard Stallman).
Con el
desarrollo de la computación, la necesidad de programas se incrementó y ya para
finales de los años ‘70 las compañías fabricantes de computadores iniciaron el
hábito de imponer restricciones a los usuarios en el uso del software y el
hardware mediante los acuerdos de licencia.
Con el
transcurrir del tiempo, los acuerdos de licencias desarrollados por los
fabricantes de hardware y software fueron evolucionando hacia diversas formas
de restricción en el uso de la computación con el objeto de incrementar su
penetración en el mercado y sus ganancias, convirtiendo así a la computación en
un negocio muy lucrativo.
A comienzos
de los años ‘70, sucedió un afortunado incidente (que impulsó el desarrollo del
software) con los Laboratorios Bell de
AT&T quienes desarrollaron el sistema operativo Unix. Como muchos saben,
esta compañía es muy conocida por su presencia global en el área de las
telecomunicaciones, por lo tanto no nos debe parecer extraño que al desarrollar
este sistema operativo e intentar comercializarlo, una ley anti-monopolio
norteamericana obligara a esta corporación a distribuir gratuitamente el código
fuente (en lenguaje C) del sistema operativo en las principales universidades
norteamericanas, institutos de investigación y oficinas del gobierno.
Con este
insumo gratuito y de buena calidad, todos los usuarios en universidades e
institutos de desarrollo empezaron a usar este poderoso sistema y a desarrollar
muchas de las tecnologías las cuales hoy son parte de un sistema Unix. Entre
estas nuevas tecnologías está la propia Internet.
A finales
de los ‘70, el uso del sistema operativo Unix en los ambientes académicos y de
investigación norteamericanos se había generalizado y los estudiantes de
pregrado y postgrado ya egresados que usaron Unix en sus universidades deseaban
continuar utilizando este sistema operativo en sus nuevos lugares de trabajo.
Esta nueva necesidad provoca que todos los grandes vendedores de computadores y
muchos aún mas pequeños estén mercadeando sus propias versiones comerciales
(aún divergentes) del sistema Unix optimizado para sus propias arquitecturas de
computadora y luciendo sus muchas diferentes fortalezas y características.
Ya para los
inicios de los ‘80 se empieza a popularizar el uso de computadores debido en
gran parte a una drástica reducción en los costos del hardware y hace su
aparición en el mercado el primer computador personal. Mientras que el hardware
reducía sus costos, no sucedía lo mismo con el software, cuyas necesidades se
incrementaban y su relación de costos software-hardware era más alta para los
nuevos equipos.
Para cada
nuevo computador, el usuario necesitaba un sistema operativo; si no lo tenía,
no podía empezar a usar su computador. Para iniciar la utilización del
computador se debía adquirir previamente una licencia para instalar el software
en el equipo y comenzar su utilización, aún cuando ya el usuario tuviera el
software disponible por una compra anterior. Generalmente este sistema operativo
no contaba con aplicaciones básicas como procesador de palabras y hojas de
cálculo, cuyas licencias debían ser adquiridas por separado. Además, ya para
esta época casi todo el software era privativo, es decir, las compañías que lo
desarrollaron prohibían expresamente e impedían mediante el acuerdo de licencia
la cooperación entre los usuarios.
Un joven Richard Stallman |
En 1984, Richard Stallman comenzó a trabajar en el proyecto GNU (No Unix) que consiste en el
desarrollo de un sistema operativo y un juego de aplicaciones totalmente libre
y compatible con Unix. Pero, ¿Quién es Richard Stallman? Es un físico que
empezó a trabajar en el MIT (Massachtsetts
Institute of Technology - Instituto Tecnológico de Massachtsetts) en 1971; en un grupo que usaba
exclusivamente software libre, en la época que hasta las grandes compañías
distribuían software libre. Como se había comentado, ya para los ‘80, la
mayoría del software se había vuelto privativo (ó propietario), esto hizo que
en 1983, Richard Stallman concibiera la Fundación de Software Libre (FSF: Free Software
Foundation) y en ésta, el proyecto GNU como una forma de recuperar el espíritu
cooperativo de los primeros días de la computación, y posibilitar nuevamente la
cooperación sacando los obstáculos impuestos por los dueños del software
propietario.
Stallman
también introdujo una definición para software libre (free software) y
el concepto de “copyleft” (en
contraste con el copyright: derecho
reservado), el cual desarrolló para dar a los usuarios libertad y para
restringir las posibilidades de apropiación del software libre.
De acuerdo con tal definición, el
software es “libre” si garantiza:
·
La libertad para ejecutar el
programa con cualquier propósito (llamada “Libertad 0”)
·
La libertad para estudiar y
modificar el programa (“Libertad 1”)
·
La libertad de copiar el
programa de manera que puedas ayudar a tu vecino (“Libertad 2”)
·
La libertad de mejorar el
programa, y hacer públicas tus mejoras, de forma que se beneficie toda la
comunidad (“Libertad 3”)
El trabajo
que se propuso en sus inicios Richard Stallman en el proyecto GNU fue titánico
porque un sistema operativo no es sólo el núcleo; sino que también incluye
compiladores, editores, formateadores de texto, software de correo y muchas
otras cosas. Se necesitaron muchos años para lograrlo. La decisión de hacer el
sistema operativo compatible con Unix fue porque el diseño -en general- ya
estaba probado y era portable; además, la compatibilidad facilitaba a los
usuarios de sistemas operativos tipo Unix (Unix-like) cambiarse de Unix a GNU.
Ya para los ‘90 el proyecto GNU y la FSF
habían escrito (y aún mejorado) la mayoría de los principales componentes de un
sistema operativo tipo Unix, entre ellos los compiladores que son la
herramienta fundamental para la creación de software, porque permiten generar
el código ejecutable de máquina a partir de un código fuente escrito en
lenguaje de programación de alto nivel. Para que el proyecto estuviera completo
faltaba una pieza muy importante, y esta era el núcleo del sistema operativo (Kernel).
El núcleo del sistema operativo es la capa de software de bajo nivel que provee
un nivel de abstracción sobre el hardware (permite a las aplicaciones hacer uso
del hardware), control de discos y sistema de archivos, multitarea, balance de
carga, comunicación en red y medidas de seguridad, entre otros.
Linus Torvalds |
En estos años (1993) aparece “Linux” como un
proyecto personal del entonces estudiante de maestría Linus Torvalds
(Universidad de Helsinski), que se basó en el Minix de Andy Tanenbaum (profesor
que creó su propio clon de UNIX para PC-XT para usarlo en su docencia y que
estaba disponible en su muy conocido libro de Sistemas Operativos). A través de
la naciente Internet
y con la colaboración de muchos voluntarios, Torvalds desarrolla desde cero el
núcleo del sistema operativo que en el futuro se conoce como Linux. Este
producto se distribuye libremente con la licencia GNU y
permanece activo actualmente (www.kernel.org).
Combinando el núcleo de sistema operativo
Linux con el resto del sistema GNU se llegó a la meta inicial de un sistema
operativo libre: el sistema GNU basado en Linux (GNU/Linux). Se estima que hoy
hay millones de usuarios de Linux (ver http://counter.li.org).
Jorge A. Castellanos Díaz
Continuará
Enlaces relacionados:
Enlaces relacionados:
Entrada actualizada el 07 de agosto de 2022
Seguramente con doble intencion me hiciste referencia a este articulo por facebook. Felicitaciones por el blogspot, prometo desde hoy espiarlo. Un abrazo, Cristobal Guevara...
ResponderEliminar