Mostrando entradas con la etiqueta Jorge Castellanos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Jorge Castellanos. Mostrar todas las entradas

viernes, 12 de septiembre de 2014

¿Que es el Código Abierto Parte? II/II



Portada del Número 6 de ojos de Perro Azul correspondiente al mes de mayo de 2006. La ilustración es de Yilly Arana


Estimados Amigos

Hoy entregamos la segunda y última parte del texto de Jorge Castellanos sobre el Código Abierto que iba a ser  publicado en la fenecida publicación venezolana Ojos de Perro Azul.

Deseamos disfruten de la entrada y que les sea de mucho provecho.


********


Combinar el núcleo del sistema operativo con las aplicaciones GNU para generar lo que posteriormente se denomina una “Distribución Linux” no es tarea fácil; hace falta un esfuerzo adicional de desarrollo de software que permita entre otras actividades: instalar el sistema operativo, arrancar apropiadamente el núcleo del sistema operativo (Linux en este caso), arrancar los servicios (entre ellos uno de los más conocidos es el servicio de red para conectar al computador con una red local ó la Internet), administrar el sistema de archivos, instalar, desinstalar y actualizar adecuadamente las aplicaciones de software, configurar apropiadamente el software y hardware del computador, permitir la administración de los recursos de hardware y software del sistema, recuperar al sistema de fallas y finalmente permitir un apagado apropiado.

Slackware 13.1 con XFCE 4.6.1 personalizado

La primera distribución Linux fue Slackware (www.slackware.org) y desde sus inicios en abril de 1993 ha sido liderada por Patrick Volkerding manteniendo el espíritu libre del proyecto GNU. El desarrollo de las distribuciones Linux, generó pronto una gran actividad en la comunidad mundial de software que condujo al desarrollo de un amplio abanico de posibilidades para todos aquellos que buscaban soluciones alternativas de software a nivel de servidores, estaciones de trabajo, computación personal y computación empotrada (embedded) en las diversas variantes de arquitecturas de hardware.

Además de acometer diferentes mercados (servidores, estaciones de trabajo, sistemas empotrados, etc.), las “Distribuciones Linux” se orientaron a satisfacer las necesidades de los usuarios, proporcionando una gran variedad de matices en lo referente a instalación, operación, manejadores de aplicaciones, configuración del sistema, apariencia gráfica, etc.;  pero compartiendo como elemento común el núcleo del sistema operativo (que mantiene Linus Torvalds en conjunto con miles de colaboradores alrededor del mundo).

Actualmente, no todas las distribuciones Linux son “Software Libre” ni comparten por completo la licencia GNU, aunque hacen uso de algunas aplicaciones GNU incluyendo por supuesto el núcleo Linux del sistema operativo. Algunas distribuciones, que lideraron la difusión del Linux en sus inicios, como RedHat (www.redhat.com) y Suse (http://www.novell.com/es-es/linux/suse) nacieron como proyectos de software libre, desarrollando software GNU y compartiendo su código con la comunidad, han tomado un carácter comercial aún cuando mantienen lazos con la comunidad de software libre patrocinando proyectos; este es el caso de RedHat que patrocina la distribución Fedora Linux que además de ayudar a la comunidad sirven a sus propósitos comerciales (http://fedora.redhat.com) en la prueba de versiones beta de sus desarrollos de software.

En contraste con las distribuciones Linux que tienen un carácter netamente comercial como Xandros (www.xandros.com) y Linspire (www.linspire.com) hay distribuciones libres como Debian (www.debian.org) y Gentoo (www.gentoo.org) que se mantienen con el soporte directo de sus usuarios. También hay distribuciones de carácter mixto que además de comercializar una versión para la cual prestan soporte, suministran una versión libre que puede ser descargada desde la Internet; este es el caso de la afamada distribución Mandriva (www.mandriva.com) caracterizada por proporcionar al usuario un entorno de escritorio muy amigable que facilita las labores de configuración.


El software libre y el proyecto GNU no es solo Linux y sus proyectos rebasan las fronteras del sistema operativo. Entre los muchos proyectos de software libre hay grandes proyectos que destacan por su popularidad como: el servidor web Apache (http://httpd.apache.org) que se ha convertido en el estándar de esta industria, además de ser un producto de excelente calidad; el navegador web Firefox (www.firefox.com) que a medida que se difunde consigue más simpatizantes debido a sus características de seguridad, simplicidad y funcionamiento inteligente; la suite de oficina OpenOffice (http://es.openoffice.org) que trabaja en el desarrollo de un grupo de programas que suplen las necesidades del usuario para la confección de texto, hojas de cálculo, presentaciones y manejo de grupos de datos.

A medida que más usuarios empiezan a utilizar software libre, aumentan las necesidades de desarrollar nuevas aplicaciones que brinden alternativas a los productos de software propietario especializados, por ello la FSF continúa con el proyecto GNU desarrollando otras aplicaciones que todavía no tienen su versión libre y creando soluciones para las nuevas necesidades de los muchos usuarios de software libre.

Tradicionalmente se ha pensado que el Software libre es gratis, sobre todo en la comunidad anglosajona donde el término “free” se usa indiferentemente para significar libertad y gratuidad. Es importante saber que el software libre también tiene un costo originado por el esfuerzo dedicado a su desarrollo. Al igual que el software propietario ó privativo el software libre tiene un costo asociado al soporte técnico para la instalación y mantenimiento; el hecho que sea libre no implica que el personal que trabaja en labores de soporte a software libre lo hagan en forma gratuita.

Este término “gratis” también provoca que mucha gente engañada por un falso ideal, bajan “software gratis” (solo código ejecutable) de la Internet (freeware, shareware, etc.) que además de no poseer la licencia GPL contiene código malicioso (adware, spyware, malware, troyanos, etc.) que además de ralentizar su computador (ponerlo más lento) pueden extraer información confidencial, también permiten la activación de códigos que en vez de ayudar al usuario lo perjudican, usando sus propios recursos a favor de otros, por ejemplo: pueden provocar el envío de correo no deseado (spam) desde la máquina del usuario que bajó el “programa gratis” y lo instaló.


En nuestro país Venezuela (http://www.velug.org.ve), al igual que en otras naciones, a medida que se difunde el uso de software libre, van apareciendo grupos de usuarios (http://lugww.counter.li.org) que además de contribuir con la comunidad mundial de software libre, ayudan a la difusión y soporte local de usuarios de software. Recientemente (2004) en Venezuela el “software libre” se constituye en una materia de interés nacional y estratégico cuando mediante el decreto 3390 (www.gobiernoenlinea.gob.ve/ docMgr/ sharedfiles/Decreto3390.pdf), firmado por el presidente Hugo Chávez, se anuncia la decisión de preferencia del uso del software libre en todos los organismos de la administración pública. Desde el pasado 18 julio se fijó un plazo de 90 días para que los organismos públicos presenten sus planes de migración a sus respectivos ministerios.

En Valencia, la ciudad donde resido, también tenemos un grupo de usuarios de Linux (http://www.valencialinux.org.ve) al cual pertenezco; allí realizamos eventos gratuitos para la difusión y promoción del software libre; en estos eventos, los voluntarios del grupo realizamos charlas sobre tópicos de interés, ayudamos a los nuevos usuarios en la instalación del sistema operativo linux y les copiamos software libre en cd's para que lo instalen y lo prueben en sus computadores. El grupo de Valencia está bajo la coordinación de Julio Ortega, estudiante de Ingeniería de Sistemas del Instituto Universitario Politécnico Santiago Mariño (IUPSM), quien además de ser un apasionado usuario de Gentoo Linux nos ayuda a todos los usuarios del grupo en nuestros proyectos personales con Linux.

En la Universidad de Carabobo, donde me desempeño como profesor en el Departamento de Computación de la Facultad de Ciencias y Tecnología (FACYT), tenemos un grupo de usuarios de software libre (http://gusluc.facyt.uc.edu.ve) donde realizamos labores de difusión y promoción de software libre dentro de la comunidad estudiantil, al mismo tiempo que contribuimos con el grupo de usuarios de Linux de Valencia. Para este momento, en el Departamento de Computación de FACYT, varios profesores realizamos proyectos de investigación usando computadores equipados con Linux como su sistema operativo y usando herramientas de software libre, también desde hace varios años tenemos servidores equipados con Linux para las labores administrativas (www.facyt.uc.edu.ve) y de docencia (http://eval.facyt.uc.edu.ve), donde el estudiante trabaja con compiladores y herramientas de software libre para la realización de sus proyectos de clase. Actualmente pertenezco a una comisión (l-csl@uc.edu.ve) que trabaja para generalizar el uso del software libre para impartir docencia en el Departamento de Computación con la finalidad de preparar nuestros futuros egresados para desempeñarse en un ambiente de trabajo donde el software libre jugará un papel importante.

Como docente me siento muy satisfecho con la difusión del software libre en la comunidad estudiantil de FACYT y del Estado Carabobo. Ya estamos empezando a ver los resultados: el estudiante de segundo año de Licenciatura en Computación de FACYT, Antonio López trabaja en el desarrollo de una Distribución Linux que se ejecuta en una memoria USB (pendrive); esta distribución venezolana ya tiene nombre: “Cachapa Linux” y Antonio nos mostró su primera versión beta. Esperamos que en el futuro pueda ser utilizada por los estudiantes de nuestra universidad, para el desarrollo de sus proyectos de software. Como era de esperarse después del asueto de vacaciones tendremos una presentación pública en Valencia, donde Antonio en persona nos mostrará en detalle las funcionalidades de su distribución, que pronto será patrimonio de nuestra comunidad de software libre, con el apoyo de todos.

 

Richard Stallman en compañía de integrantes del grupo de usuarios VELUG-Valencia (I Foro Mundial de Tecnologías Libres – Caracas Nov 2004)

No me queda mas que desear que el proceso de migración a software libre que lleva a cabo el gobierno nacional, ayude a fomentar la difusión y promoción del software, que contribuya a la formación de nuestro recurso humano para acometer nuevos retos que se van a generar por las nuevas necesidades para el desarrollo de aplicaciones que reemplazarán las existentes en software propietario. Que este proceso de migración nos haga en el futuro menos dependientes de grandes corporaciones de software propietario, permitiendo reinvertir los capítales gastados en licencias en la creación de riqueza y comodidades para el recurso humano nacional.

Las siguientes direcciones contienen material de referencia usado en la elaboración del presente artículo.

 


Jorge A. Castellanos Díaz (jorcas@cantv.net)




Enlaces relacionados:





































































































Entrada actualizada el 07 de agosto de 2022






 

martes, 9 de septiembre de 2014

¿Que es el Código Abierto Parte? I/II


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