You are on page 1of 11

Software libre y Modalidades de licencias de software

El Software Libre es un asunto de libertad, no de precio. Para entender el concepto, se debe pensar en libre como en libertad de expresión. Software Libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades de los usuarios del software:
y y y y

La libertad de usar el programa, con cualquier propósito (libertad 0). La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto. La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2). La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.

Un programa es software libre si los usuarios tienen todas estas libertades. Así pues, deberías tener la libertad de distribuir copias, sea con o sin modificaciones, sea gratis o cobrando una cantidad por la distribución, a cualquiera y a cualquier lugar. El ser libre de hacer esto significa (entre otras cosas) que no tienes que pedir o pagar permisos. También deberías tener la libertad de hacer modificaciones y utilizarlas de manera privada en tu trabajo u ocio, sin ni siquiera tener que anunciar que dichas modificaciones existen. Si publicas tus cambios, no tienes por qué avisar a nadie en particular, ni de ninguna manera en particular. La libertad para usar un programa significa la libertad para cualquier persona u organización de usarlo en cualquier tipo de sistema informático, para cualquier clase de trabajo, y sin tener obligación de comunicárselo al desarrollador o a alguna otra entidad específica. La libertad de distribuir copias debe incluir tanto las formas binarias o ejecutables del programa como su código fuente, sean versiones modificadas o sin modificar (distribuir programas de modo ejecutable es necesario para que los sistemas operativos libres sean fáciles de instalar). Está bien si no hay manera de producir un binario o ejecutable de un programa concreto (ya que algunos lenguajes no tienen esta capacidad), pero debes tener la libertad de distribuir estos formatos si encontraras o desarrollaras la manera de crearlos. Para que las libertades de hacer modificaciones y de publicar versiones mejoradas tengan sentido, debes tener acceso al código fuente del programa. Por lo tanto, la posibilidad de acceder al código fuente es una condición necesaria para el software libre. Modalidades de licencias de software La licencia es un contrato a través del cual el titular de los derechos sobre un software

crear obras derivadas. copiar. Quiere decir que cada copia del software. cada una con diferentes configuraciones o principios como el derecho del autor original a dar libertad para citar su obra. aun modificada. Asimismo. El programa en sí se redistribuye como si estuviera bajo la licencia GPL. copiar. Licencias tipo BSD La licencia BSD (Berkeley Software Distribution) La única obligación que exige es la de dar crédito a los autores. distribuir. como la de los códigos fuentes. mientras que permite tanto la redistribución binaria. estudiar. la licencia GPL permite la redistribución binaria y la de las fuentes. El Software Libre es un tipo particular de software respecto del cual podemos decir: Su respuesta : Las libertades del software libre se refieren a poder ejecutar. obliga a que también se pueda acceder a las fuentes. Licencias Copyleft Es aquella cuyos términos de distribución no permiten a los redistribuidores agregar ninguna restricción adicional. Asimismo. aunque. . pero se permite la integración con cualquier otro software sin prácticamente limitaciones. cambiar y mejorar el software. La Licencia Pública General Menor de GNU (GNU LGPL) La LGPL permite el uso de programas libres con software propietario.original otorga al co-contratante el derecho de uso del mismo por un tiempo determinado y a su vez. aunque no obliga a ninguna de las dos en ningún caso. aunque sólo se pueda integrar código licenciado bajo GPL con otro código que se encuentre bajo una licencia idéntica o compatible. cambiar y mejorar el software Correcto Software Libre se refiere a la libertad de los usuarios para ejecutar. está permitido realizar modificaciones sin restricciones. estudiar. en el caso de que redistribuya de manera binaria. reproducirla. da permiso para realizar modificaciones y ser integrada con otros programas casi sin restricciones. distribuir. Licencias Creative Commomns Ofrece una serie de licencias. ofrecerlo públicamente y con diferentes restricciones como no permitir el uso comercial o respetar la autoría original. establece las reglas según las cuales éste (el software) deberá ser utilizado. sigue siendo como era antes. La Licencia Pública General de GNU (GNU GPL) En líneas básicas.

demostrando así la realidad del escenario «Servicio sobre producto ajeno». y Adaptación: El Software Libre permite su modificación absoluta. el Software Libre dentro del apartado de los sistemas operativos (GNU/Linux. familia BSD. y Estándares abiertos: el Software Libre trabaja fundamentalmente con protocolos y especificaciones abiertas lo que proporciona una mayor flexibilidad para adaptarse a entornos foráneos y una tranquilidad para el cliente que sabe que nunca quedará enjaulado en una tecnología propietaria. OpenBeos. y Servicio sobre producto ajeno: La oportunidad de ofrecer servicio a un producto que no ha sido desarrollado localmente pero que sí ofrece la oportunidad de estudiarlo a fondo amplía enormemente el horizonte de negocio. y Integración: Existe mucho Software Libre especializado que necesita ser puesto en orden con sistemas pegamento . y Formación: El Software Libre suele venir acompañado por nuevos productos y plataformas que resultan desconocidos y demandan formación específica. nadie debería poder ofrecer mejor servicio que el autor de la aplicación por mucho que este software sea libre y otros tengan acceso a él. flexibilidad y economía en el Software Libre. y Migración: Un estudio de viabilidad de la sustitución de un sistema informático por otro basado en Software Libre no es sencillo. copiar. etc. estudiar. distribuir. entre otros. y Ámbito de desktop: Desde hace unos años. suites ofimáticas completas. y Ámbito de servidores y redes: Buena parte del Software Libre ha sido desarrollado conjuntamente a través de Internet por lo que las comunicaciones y los servicios de red han sido siempre un factor fundamental en su gestación.El Software Libre es un tipo particular de software respecto del cual podemos decir: Su respuesta : Las libertades del software libre se refieren a poder ejecutar. descubriendo así fallos de seguridad mucho antes que en otros sistemas. PDA's y otros dispositivos pueden acceder a personalizaciones específicas gracias a la enorme modularidad del Software Libre y su nulo compromiso con una única plataforma. cambiar y mejorar el software. juegos. En principio. herramientas multimedia. estudiar. distribuir. El mundo de los servidores y las redes locales encuentra robustez. y Ámbito de entornos especializados: Sistemas empotrados. cambiar y mejorar el software Correcto Software Libre se refiere a la libertad de los usuarios para ejecutar. etc) ha protagonizado un salto de gigante en la usabilidad en el escritorio. más allá del límite de fábrica. navegadores web. y Ámbito de seguridad: El modelo de desarrollo del Software Libre permite que todo el mundo pueda acceder al código fuente. copiar. la aplicación de parches de seguridad puede realizarse inmediatamente por un tercero ya que dispone en todo momento del código fuente del programa afectado. Qué puede cambiarse y cómo se llevará a cabo son cuestiones vitales. Frente a la lectura se puede decir: Su respuesta : . Esta ventaja permite ofrecer soluciones personalizadas con una inversión bastante menor. y Servicio sobre producto propio: El servicio asociado a un producto es la clave del éxito para mantener la fidelidad de un cliente. Además. Incorpora programas de instalación/desinstalación de utilidades.

Es el encargado de que el software y el hardware del computador puedan trabajar juntos. Kernel El kernel ó núcleo de linux se puede definir como el corazón de este sistema operativo. se lanzaba una nueva versión de producción ó . existieron dos tipos de versiones del núcleo: · Versión de producción: La versión de producción. aunque no las únicas. Las funciones más importantes del mismo.Para los nuevos productos y plataformas del software libre se requiere formación específica Correcto Formación: El Software Libre suele venir acompañado por nuevos productos y plataformas que resultan desconocidos y demandan formación específica. Esta versión era el resultado final de las versiones de desarrollo o experimentales. quien ofrece el mejor servicio es el propio autor de la aplicación El trabajar con protocolos y especificaciones abiertas hace que los usuarios no queden enjaulados en una tecnología propietaria Correcto Estándares abiertos: el Software Libre trabaja fundamentalmente con protocolos y especificaciones abiertas lo que proporciona una mayor flexibilidad para adaptarse a entornos foráneos y una tranquilidad para el cliente que sabe que nunca quedará enjaulado en una tecnología propietaria. son: y y y Administración de la memoria para todos los programas y procesos en ejecución. decidía que tenia un núcleo estable y con la suficiente calidad. Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda. Hasta que empezó el desarrollo de la serie 2. Act 3 : Reconocimiento Unidad I De acuerdo a la lectura sobre la proyección del software libre podemos decir: Su respuesta : Aunque el software sea libre. Cuando el equipo de desarrollo del núcleo experimental. era la versión estable hasta el momento.6 del núcleo. Administración del tiempo de procesador que los programas y procesos en ejecución utilizan.

Las versiones han pasado a numerarse con 4 dígitos y no existen versiones de producción y desarrollo. Cambia cuando nuevas características y drivers son soportados. etc. · Unos ejemplos nos ayudaran a entenderlo mejor: ej1 : versión del núcleo 2. ya que eran las versiones consideradas más estables y libres de fallos en el momento de su lanzamiento.4.BB.CC AA : Indicaba la serie/versión principal del núcleo.4. primera versión de la serie 2.4. Este número cambiaba cuando la manera de funcionamiento del kernel había sufrido un cambio muy importante.1: Núcleo de la serie 2. y Versión de desarrollo: Esta versión era experimental y era la que utilizaban los desarrolladores para programar.5.0 (CC=1) ej3: versión del núcleo 2. que era de producción. Solo han existido la 1 y 2. correcciones. uno par. versión de producción 4 (BB=4 par).5. comprobar y verificar nuevas características.estable. el sistema de numeración así como el modelo de desarrollo han cambiado. Estos núcleos solían ser inestables y no se debían usar sin saber lo que se hacia.4 (CC=0) ej2: versión del núcleo 2.DD. DD: Este digito cambia cuando se corrigen fallos de programación o fallos de seguridad dentro de una revisión.0: Núcleo de la serie 2 (AA=2). AA: Indica la serie/versión principal del núcleo. CC: Indica nuevas revisiones menores del núcleo. BB : Indicaba si la versión era de desarrollo ó de producción. en el que se han corregido errores de programación presentes en la version 2. Como interpretar los números de las versiones de las series por debajo de la 2. BB: Indica la revisión principal del núcleo. Con la serie 2.BB. Esta versión era la que se debía utilizar para un uso normal del sistema. CC : Indicaba nuevas revisiones dentro de una versión. Un número impar. Hoy en día se suele usar el núcleo distribuido con la distribución que el usuario utiliza. y Las versiones del núcleo se numeran hoy en día con 4 dígitos.CC. . significaba que era de desarrollo. de la siguiente forma: AA.6 : · Las versiones del núcleo se numeraban con 3 números. de la siguiente forma: AA.6 del núcleo. versión 4.0: versión 0 del núcleo de desarrollo 2. Son las distribuciones las encargadas de distribuir núcleos estables a sus a usuarios y estos núcleos se basan en el núcleo ("vanilla") distribuido por Linux Torvalds y el equipo de programadores del núcleo. Números pares e impares no tienen ningún significado hoy en día. en las que lo único que se había modificado eran fallos de programación.

desde la línea de comandos (como una shell) o desde una llamada de programación. Suelen indicarse tras una barra "/" (en sistemas operativos DOS) o un guión simple "-" o doble "--" (en sistemas operativos Unix). etc. DR-DOS. Correcto Entre las funciones más importantes del kernel está la administración del tiempo de procesador que los programas y procesos en ejecución utilizan. *BSD. de tal modo que. 2003 Server.). son . se ejecuten procesos internos del sistema operativo o se lancen programas externos al mismo. Solaris. Actualmente el nucleo actualizado se numera con 4 dígitos Su respuesta : BB Revisión principal del núcleo Correcto BB: Indica la revisión principal del núcleo. etc. cmd. sh. Vista y 2008 Server). Suele admitir parámetros (argumentos) de entrada. PC-DOS.exe para los sistemas basados en Windows NT (Windows NT. para los sistemas basados en Unix (GNU/Liux. XP. Comandos Un comando (calco del inglés command. FreeDos. Bash. lo que permite modificar el comportamiento predeterminado del comando. csh . instrucción») es una instrucción o mandato que el usuario proporciona a un sistema informático.Algunas de las funciones del núcleo o kernel son: Su respuesta : Administración del tiempo de procesador que los programas y procesos en ejecución utilizan. etc. después de pulsar la tecla enter en el teclado. Números pares e impares no tienen ningún significado hoy en día. Intérprete de comandos de MS-DOS Las líneas de órdenes que escribe el usuario no se ejecutan tal como se han escrito. 2000. «orden. Algunas de estas consolas son: y y y command.). Línea de comandos La línea de comandos o consola permite al usuario escribir instrucciones.com para los sistemas basados en DOS (MS-DOS. Puede ser interno (contenido en el propio intérprete) o externo (contenido en un archivo ejecutable).

modificadas antes de su ejecución. Para saber mas de cada comando.LINUX Muchos comandos Linux son comunes a MS-DOS. Son sencillamente programas. en la shell teclea man ls (por ejemplo para leer sobre el comando ls). Comandos externos Las órdenes externas son órdenes que no sabe ejecutar el intérprete y que para su ejecución hay que localizarlas en el disco. 3. 6. . El intérprete de órdenes es un programa de estructura repetitiva. Si es un comando externo. son ejecutables que se encuentran en uno de los discos del computador. lo ejecuta. ejecutarla o solicitar su ejecución es el denominado intérprete de órdenes o shell del sistema. y otros. Si es un comando interno. 4. 5. Ejemplo: . 2. lo busca en un conjunto de directorios y si lo encuentra solicita su ejecución al sistema operativo. Estos comandos suelen tener varias opciones. Expande los caracteres genéricos tales como el asterisco o la interrogación. es decir. Los comandos del sistema se dividen en internos y externos.TXT El encargado de recibir la línea que escribe el usuario. Desde el punto de vista práctico no existe demasiada importancia entre las órdenes internas y las externas (en una primera aproximación al tema aunque en realidad son imprescindibles para el buen funcionamiento del mismo) Ejemplo: ver Esta orden muestra la versión del sistema operativo con el que estamos trabajando. 1. son muy parecidos. modificarla. Realiza los redireccionamientos. En caso contrario indica que no puede ejecutar dicha orden. Imaginar por ejemplo la orden: DELETE *./ejecutame Comandos DOS . cuyas funciones principales son las siguientes: Muestra el prompt del sistema. el intérprete los busca en una serie de directorios. Para su localización. Ordenes internas Las órdenes internas son instrucciones que se encuentran programadas directamente en el propio intérprete de órdenes. en concreto aquellos que están indicados en la varible PATH.

porque puede mover un archivo . (b) Formatea un disquette en formato DO. Los comandos o instrucciones son: Su respuesta : . (d) Tambien se puede utilizar otro paginador.txt aestearchivo. como en este ejemplo.. para recorrer un archivo pantalla a pantalla. (e) El comando mv tiene dos propositos.txt / rm -fc directorio echo este mensage pico estearchivo.txt /sbin/mke2fs /dev/fd0 ( /dev/fd0 es el equivalente Linux de " a: \> ") man comando mkdir directorio less estearchivo.txt mv estearchivo. y cambiarle el nombre dentro del mismo directorio.. "moviendo" el archivo al mismo directorio con un nuevo nombre. cd .Comandos parecidos Propósito del comando Copia archivos Mueve archivos Lista archivos Limpia la pantalla Cierra la shell Muestra o configura la fecha Borra archivos Muestra caracteres en pantalla Edita archivos con un simple editor Compara el contenido de archivos Busca texto dentro de un archivo Formatea un diskette MS-DOS copy move dir cls exit date del echo edit fc find format a: (si el disquette esta en A: ) LINUX cp mv ls clear exit date rm echo pico (a) diff grep mke2fs o mformat (b) man (c) mkdir less (d) mv Ejemplo en Linux cp estearchivo. otros editores a utilizar lugar de pico son: emacs y vi .txt /home/ estedirectorio mv estearchivo. (c) Tambien se puede usar info para algunos comandos.txt /home/ estedirectorio ls / ls -al clear exit date rm estearchivo..txt diff archivo1 archivo2 grep esta palabra o frase archivo. cd .txt (e) Muestra ayuda sobre un command /? comando Crea un directorio mkdir Pagina un archivo more Renombra un archivo ren Muestra la localizacion de un archivo en el chdir pwd pwd sistema Cambia de directorio cd pathname cd pathname cd /directorio/directorio con path absoluto Cambia de directorio cd . con path relativo Muestra la hora time date date Muestra la memoria y mem free free su uso actual Notas: (a) Pico es un sencillo editor de texto. llamado more.

no por el nombre de archivo. lo mejor es que podemos tener todo nuestro sistema actualizado sin problemas con un solo comando. «orden. Su respuesta : cls Limpia pantalla Correcto cls Limpia contenido de la pantalla ESTORES DE PAQUETES Cada distribución Linux usa un sistema de paquetes diferente. las dependencias. Para facilitar al usuario la solución de este problema existen los gestores de paquetes.rpm para instalarlos. instrucción») es una instrucción o mandato que el usuario proporciona a un sistema informático. La sintaxis es muy sencilla: rpm -i archivo. para que el instalar o desinstalar una aplicación no sea un problema. donde en el mejor de los casos necesitemos lápiz y papel para ir anotando las diferentes librerías que un paquete necesita para funcionar correctamente. en general el nombre del paquete es el mismo que el del archivo sin . el usuario normal se encontrará con el mismo problema en todas. y rpm -e paquete para eliminarlos (ojo. rpm -U archivo. ni el orden en que instalar los paquetes.rpm para actualizarlos. pero sea cual sea el tipo de paquete que usa. entre los que se encuentran. que se encargarán de comprobar e intentar solucionar automáticamente los problemas de dependencias entre los distintos paquetes instalados en el sistema. sobre todo. desde la línea de comandos (como una shell) o desde una llamada de programación DOS y Linux tienen comandos comunes.Comando es una instrucción o mandato que el usuario proporciona a un sistema informático Correcto Un comando (calco del inglés command. los paquetes se eliminan por su nombre. Existen gestores de paquetes específicos para cada distribución. Existen varios programas para la gestión de RPMs (Red Hat Package Manager). rpm: este comando es el básico para la gestión de RPMs y es en el que se basan las demás utilidades. cada uno cumple su cometido básico. Marque la función correcta de los siguientes comandos.

2 o superior. para gestionar solo los paquetes instalados en el sistema o purp /directorio_de_rpms para gestionar los paquetes instalados mas los disponibles en el directorio que se le pasa como parámetro (ideal para examinar CDs llenos de RPMs). pues evita estar instalando software que luego no funciona y que no se sabe por que. Aunque en este caso lo mas seguro es que el programa acabe por no funcionar. Necesita la librería ncurses-4. purp : es un intento de facilitar el uso de rpm. glint : es un frontend gráfico para rpm desarrollado por Red Hat.rpm para ver información y el listado de archivos de un paquete . Recomendado para los que no tienen purp y no se aclaran con las opciones de rpm. Se puede arrancar como purp sin parámetros.rpm esto se salta el chekeo de dependencias. en su mayoría son librerías necesarias para el programa. Esto puede deberse a varias cosas: a que realmente no lo hemos instalado correctamente. Mas información en man rpm y rpm sin parámetros.rpm. La mayoría de los programas necesitan de otros componentes software para funcionar. documentación.la extensión . si no tenemos esas herramientas . con menús e información gráfica. Funciona en modo consola por lo que no hace falta tener las X instaladas para usarlo. Si aun así no quiere instalarse podemos usar la orden: rpm -i --nodeps --force archivo. los errores de dependencias lejos de ser un problema son una gran ventaja. De todas maneras. la existencia de algún directorio. necesita tener instaladas y configuradas las X. A veces ocurre que el gestor de RPMs da como error de dependencias un paquete que sabemos seguro que tenemos instalado. este de mejor calidad que el glint pero requiere tener instalado GNOME. a que tenemos una versión diferente a la que necesitamos o que hayamos instalado el programa usando otro método (el gestor es incapaz de saber que paquetes hemos instalado en el sistema si no lo hemos usado a el para hacerlo). grpm : Simple GNOME RPM Tool. RPMs en Debian/Slackware: Debian tiene herramientas para la gestión de RPMs por lo que no hay problemas en usarlos. la orden es: rpm -i --nodeps archivo. Si estamos seguros de cumplir los requisitos y que el programa funcionara aunque el gestor crea que no.rpm) rpm -qa para ver un listado de todos los paquetes instalados. pero también pueden ser otros programas. Otro frontend para rpm. rpm -qlip archivo.

.rpm se utiliza para instalar paquetes Correcto rpm -i archivo. Para facilitar al usuario la solución al problema de cada distribución existen.rpm para instalarlos.? Su respuesta : Los gestores de paquetes sirven para resolver dependencias entre las diferentes versiones de Linux Para cada una de las distribuciones existe un gestor de paquetes específicos Correcto Existen gestores de paquetes específicos para cada distribución. Según la lectura al ejecutar comandos rpm Su respuesta : rpm -i archivo. y puede hacer todas las transformaciones posibles. cada uno cumple su cometido básico. pueden aparecer problemas de dependencias y de incompatibilidades entre paquetes de diferentes distribuciones. alien es una utilidad que convierte RPM/DEB/TGZ a RPM/DEB/TGZ.instaladas o usamos Slackware podemos usar el programa alien para convertir el formato del paquete. De todas maneras este sistema debe usarse con cuidado. para que el instalar o desinstalar una aplicación no sea un problema.