El sistema operativo es el programa (o software) ms importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas bsicas, tales como reconocimiento de la conexin del teclado, enviar la informacin a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos perifricos tales como impresoras, escner, etc. En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es como un polica de trfico, se asegura de que los programas y usuarios que estn funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo tambin es responsable de la seguridad, asegurndose de que los usuarios no autorizados no tengan acceso al sistema. Cmo funciona un Sistema Operativo Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la eleccin del sistema operativo determina en gran medida las aplicaciones que puedes utilizar. Los sistemas operativos ms utilizados en los PC son DOS, OS/2, y Windows, pero hay otros que tambin se utilizan, como por ejemplo Linux.
II. FUNDAMENTOS DEL SISTEMA OPERATIVO 2.1. CARACTERSTICAS DEL S.O Un sistema operativo debe ser: Determinista: el mismo programa ejecutado con los mismos datos debe dar los mismos resultados en cualquier momento y en cualquier ejecucin; In determinista: el S. O. debe responder a circunstancias que pueden ocurrir en un orden impredecible. 2.2. FUNCIONES PRINCIPALES DEL S.O A. Inicializar la mquina: preparar el ordenador para su funcionamiento. a. Inicializacin total (Initial Program Loading (IPL), Bootstrap-ping). b. Inicializacin parcial. B. Servir de mquina extendida (virtual): ocultar los detalles del hardware al usuario y proporcionar un entorno ms cmodo. Objetivos: a. Seguridad: el S. O. debe evitar que la ejecucin de los programas se interfieran unos entre otros. Modos de operacin del Hardwarare: Modo usuario (estado no privilegiado), Modo supervisor (estado privilegiado). b. Abstraccin: los S.O. construyen recursos (virtuales) de alto nivel a partir de los recursos de ms bajo nivel (fsicos). La mquina fsica se transforma en una mquina virtual. Con el lenguaje de comandos del S. O. (shell, Interfase externa) se invocan a esos servicios. C. Administrar los recursos para su funcionamiento: el S.O. es el responsable de: a. Asignar a un programa todos los recursos que necesite. Para ello, debe ser justo en el reparto y en el tiempo asignado, impidiendo que no se favorezca a determinados programas; b. Controlar el uso correcto de los recursos de forma que los programas no se interfieran. 2.3. CLASIFICACIN DE LOS S.O A. Sistemas Operativos de multiprogramacin (o Sistemas Operativos de multitarea). Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutacin de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o ms aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicacin que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicacin. En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicacin esta esperando informacin del usuario), y siempre que esta aplicacin lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atencin del microprocesador durante una fraccin de segundo. Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se procesa en orden secuencial. Dado que el sentido temporal del usuario es mucho ms lento que la velocidad de procesamiento del ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultneas. Se distinguen por sus habilidades para poder soportar la ejecucin de dos o ms trabajos activos (que se estn ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando al mximo su utilizacin. Su objetivo es tener a varias tareas en la memoria principal, de man- era que cada uno est usando el procesador, o un procesador distinto, es decir, involucra mquinas con ms de una UCP. Sistemas Operativos como UNIX, Windows 95, Windows 98, Win- dows NT, MAC-OS, OS/2, soportan la multitarea. Las caractersticas de un Sistema Operativo de multiprogramacin o multitarea son las siguientes: *Mejora productividad del sistema y utilizacin de recursos. *Multiplexa recursos entre varios programas. *Generalmente soportan mltiples usuarios (multiusuarios). *Proporcionan facilidades para mantener el entorno de usuarios indi- viduales. *Requieren validacin de usuario para seguridad y proteccin. *Proporcionan contabilidad del uso de los recursos por parte de los usuarios. *Multitarea sin soporte multiusuario se encuentra en algunos com- putadores personales o en sistemas de tiempo real. *Sistemas multiprocesadores son sistemas multitareas por definicin ya que soportan la ejecucin simultnea de mltiples tareas sobre diferentes procesadores. En general, los sistemas de multiprogramacin se caracterizan por tener mltiples programas activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos perifricos. B. Sistema Operativo Monotareas. Los sistemas operativos monotareas son ms primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresin. C. Sistema Operativo Monousuario. Los sistemas monousuarios son aquellos que nada ms puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicacin que se este ejecutando. Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo usuario. Y estn orientados principalmente por los microcomputadores. D. Sistema Operativo Multiusuario. Es todo lo contrario a monousuario; y en esta categora se encuentran todos los sistemas que cumplen simultneamente las necesidades de dos o ms usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo (time- sharing). E. Sistemas Operativos por lotes. Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interaccin entre los usuarios y los programas en ejecucin. Se renen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o ms trabajos como sucede en el procesamiento en serie. Estos sistemas son de los ms tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas. Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecucin muy alto, porque el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la secuenciabilidad de la ejecucin de los trabajos. Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual est orientado a procesamiento cientfico pesado, y el EXEC II para el UNIVAC 1107, orientado a procesamiento acadmico. Algunas otras caractersticas con que cuentan los Sistemas Operativos por lotes son: *Requiere que el programa, datos y rdenes al sistema sean remitidos todos juntos en forma de lote. *Permiten poca o ninguna interaccin usuario/programa en ejecucin. *Mayor potencial de utilizacin de recursos que procesamiento serial simple en sistemas multiusuarios. *No conveniente para desarrollo de programas por bajo tiempo de retorno y depuracin fuera de lnea. *Conveniente para programas de largos tiempos de ejecucin (ej, anlisis estadsticos, nminas de personal, etc.). *Planificacin del procesador sencilla, tpicamente procesados en orden de llegada. *Planificacin de memoria sencilla, generalmente se divide en dos: Parte residente del S.O. y programas transitorios. *No requieren gestin crtica de dispositivos en el tiempo. *Suelen proporcionar gestin sencilla de manejo de archivos: se re- quiere poca proteccin y ningn control de concurrencia para el acceso. F. Sistemas Operativos de tiempo real. Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, estn subutilizados sus recursos con la finalidad de prestar atencin a los procesos en el momento que lo requieran. se utilizan en entornos donde son procesados un gran nmero de sucesos o eventos. Muchos Sistemas Operativos de tiempo real son construidos para apli- caciones muy especficas como control de trfico areo, bolsas de val- ores, control de refineras, control de laminadores. Tambin en el ramo automovilstico y de la electrnica de consumo, las aplicaciones de tiempo real estn creciendo muy rpidamente. Otros campos de aplicacin de los Sistemas Operativos de tiempo real son los sigu- ientes: *Control de trenes. *Telecomunicaciones. *Sistemas de fabricacin integrada. *Produccin y distribucin de energa elctrica. *Control de edificios. *Sistemas multimedia. Algunos ejemplos de Sistemas Operativos de tiempo real son: Vx- Works, Solaris, Lyns OS y Spectra. Los Sistemas Operativos de tiempo real, cuentan con las siguientes caractersticas: *Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de sucesos, la mayora externos al sistema computacional, en breve tiempo o dentro de ciertos plazos. *Se utilizan en control industrial, conmutacin telefnica, control de vuelo, simulaciones en tiempo real., aplicaciones militares, etc. *Objetivo es proporcionar rpidos tiempos de respuesta. *Procesa rfagas de miles de interrupciones por segundo sin perder un solo suceso. *Proceso se activa tras ocurrencia de suceso, mediante interrupcin. *Proceso de mayor prioridad expropia recursos. *Por tanto generalmente se utiliza planificacin expropiativa basada en prioridades. *Gestin de memoria menos exigente que tiempo compartido, usual- mente procesos son residentes permanentes en memoria. *Poblacin de procesos esttica en gran medida. *Poco movimiento de programas entre almacenamiento secundario y memoria. *Gestin de archivos se orienta ms a velocidad de acceso que a uti- lizacin eficiente del recurso. G. Sistemas Operativos de tiempo compartido. Permiten la simulacin de que el sistema y sus recursos son todos para cada usuario. El usuario hace una peticin a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecer en la terminal del usuario. Los principales recursos del sistema, el procesador, la memoria, dis- positivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusin de que tiene el sistema ded- icado para s mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administracin de memoria principal y secundaria. Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10. Caractersticas de los Sistemas Operativos de tiempo compartido: *Populares representantes de sistemas multiprogramados multiusuario, ej: sistemas de diseo asistido por computador, procesamiento de texto, etc. *Dan la ilusin de que cada usuario tiene una mquina para s. *Mayora utilizan algoritmo de reparto circular. *Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye despus de concedido el servicio. *Evitan monopolizacin del sistema asignando tiempos de procesador (time slot). *Gestin de memoria proporciona proteccin a programas residentes. *Gestin de archivo debe proporcionar proteccin y control de acceso debido a que pueden existir mltiples usuarios accesando un mismo archivos. H. Sistemas Operativos distribuidos. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores est en un equipo o en diferentes, en este caso es trasparente para el usuario. Ex- isten dos esquemas bsicos de stos. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema dbilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro componente debe de ser capaz de reemplazarlo. Entre los diferentes Sistemas Operativos distribuidos que existen ten- emos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc. Caractersticas de los Sistemas Operativos distribuidos: *Coleccin de sistemas autnomos capaces de comunicacin y coop- eracin mediante interconexiones hardware y software . *Gobierna operacin de un S.C. y proporciona abstraccin de mquina virtual a los usuarios. *Objetivo clave es la transparencia. *Generalmente proporcionan medios para la comparticin global de recursos. *Servicios aadidos: denominacin global, sistemas de archivos dis- tribuidos, facilidades para distribucin de clculos (a travs de comu- nicacin de procesos internodos, llamadas a procedimientos remotos, etc.). I. Sistemas Operativos de red. Son aquellos sistemas que mantienen a dos o ms computadoras unidas atravs de algn medio de comunicacin (fsico o no), con el objetivo primordial de poder compartir los diferentes recursos y la informacin del sistema. El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware. Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic. J. Sistemas Operativos paralelos. En estos tipos de Sistemas Operativos se pretende que cuando existan dos o ms procesos que compitan por algn recurso se puedan realizar o ejecutar al mismo tiempo. En UNIX existe tambin la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismo usuario). As, en lugar de esperar a que el proceso termine de eje- cutarse (como lo hara normalmente), regresa a atender al usuario inmediatamente despus de haber creado el proceso. Ejemplos de estos tipos de Sistemas Operativos estn: Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.
SOFTWARE LIBRE I. DEFINICIN software libre (en ingls free software, aunque esta denominacin tambin se confunde a veces con "gratis" por la ambigedad del trmino "free" en el idioma ingls, por lo que tambin se usa "libre software" y "logical libre") es la denominacin del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, modificado, y redistribuido libremente. Segn la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado. El software libre suele estar disponible gratuitamente, o al precio de costo de la distribucin a travs de otros medios; sin embargo no es obligatorio que sea as, por lo tanto no hay que asociar software libre a "software gratuito" (denominado usualmente freeware), ya que, conservando su carcter de libre, puede ser distribuido comercialmente ("software comercial"). Anlogamente, el "software gratis" o "gratuito" incluye en ocasiones el cdigo fuente; no obstante, este tipo de software no es libre en el mismo sentido que el software libre, a menos que se garanticen los derechos de modificacin y redistribucin de dichas versiones modificadas del programa. Tampoco debe confundirse software libre con "software de dominio pblico". ste ltimo es aquel software que no requiere de licencia, pues sus derechos de explotacin son para toda la humanidad, porque pertenece a todos por igual. Cualquiera puede hacer uso de l, siempre con fines legales y consignando su autora original. Este software sera aquel cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de este, habitualmente 70 aos. Si un autor condiciona su uso bajo una licencia, por muy dbil que sea, ya no es del dominio pblico. II. Libertades del software libre De acuerdo con tal definicin, un software es "libre" cuando garantiza las siguientes libertades: LIBERTAD DESCRIPCIN 0 La libertad de usar el programa, con cualquier propsito. 1 La libertad de estudiar cmo funciona el programa y modificarlo, adaptndolo a tus necesidades. 2 La libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prjimo. 3 La libertad de mejorar el programa y hacer pblicas esas mejoras a los dems, de modo que toda la comunidad se beneficie. Las libertades 1 y 3 requieren acceso al cdigo fuente porque estudiar y modificar software sin su cdigo fuente es muy poco viable. Ciertos tericos usan este cuarto punto (libertad 3) para justificar parcialmente las limitaciones impuestas por la licencia GNU GPL frente a otras licencias de software libre (ver Licencias GPL). Sin embargo el sentido original es ms libre, abierto y menos restrictivo que el que le otorga la propia situacin de incompatibilidad, que podra ser resuelta en la prxima versin 3.0 de la licencia GNU GPL, causa en estos momentos graves perjuicios a la comunidad de programadores de software libre, que muchas veces no pueden reutilizar o mezclar cdigos de dos licencias distintas, pese a que las libertades tericamente lo deberan permitir. Tanto la Open Source Initiative 3 como la Free Software Foundation 4 mantienen en sus webs oficiales listados de las licencias de software libre que aprueban. El trmino software no libre se emplea para referirse al software distribuido bajo una licencia de software ms restrictiva que no garantiza estas cuatro libertades. Las leyes de la propiedad intelectual reservan la mayora de los derechos de modificacin, duplicacin y redistribucin para el dueo del copyright; el software dispuesto bajo una licencia de software libre rescinde especficamente la mayora de estos derechos reservados. La definicin de software libre no contempla el asunto del precio; un eslogan frecuentemente usado es "libre como en libertad, no como en cerveza gratis" o en ingls "Free as in freedom, not as in free beer" (aludiendo a la ambigedad del trmino ingls "free"), y es habitual ver a la venta CD de software libre como distribuciones Linux. Sin embargo, en esta situacin, el comprador del CD tiene el derecho de copiarlo y redistribuirlo. El software gratis puede incluir restricciones que no se adaptan a la definicin de software libre por ejemplo, puede no incluir el cdigo fuente, puede prohibir explcitamente a los distribuidores recibir una compensacin a cambio, etc. Para evitar la confusin, algunas personas utilizan los trminos "libre" (software libre) y "gratis" (software gratis) para evitar la ambigedad de la palabra inglesa "free". Sin embargo, estos trminos alternativos son usados nicamente dentro del movimiento del software libre, aunque estn extendindose lentamente hacia el resto del mundo. Otros defienden el uso del trmino open source software (software de cdigo abierto). La principal diferencia entre los trminos "open source" y "free software" es que ste ltimo tiene en cuenta los aspectos ticos y filosficos de la libertad, mientras que el "open source" se basa nicamente en los aspectos tcnicos. En un intento por unir los mencionados trminos que se refieren a conceptos semejantes, se est extendiendo el uso de la palabra "FLOSS" con el significado de free/libre and open source software e, indirectamente, tambin a la comunidad que lo produce y apoya. III. Tipos de licencias Una licencia es aquella autorizacin formal con carcter contractual que un autor de un software da a un interesado para ejercer "actos de explotacin legales". Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el licenciatario. Desde el punto de vista del software libre, existen distintas variantes del concepto o grupos de licencias: a) Licencias GPL Una de las ms utilizadas es la Licencia Pblica General de GNU (GNU GPL). El autor conserva los derechos de autor (copyright), y permite la redistribucin y modificacin bajo trminos diseados para asegurarse de que todas las versiones modificadas del software permanecen bajo los trminos ms restrictivos de la propia GNU GPL. Esto hace que sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL. Es decir, la licencia GNU GPL posibilita la modificacin y redistribucin del software, pero nicamente bajo esa misma licencia. Y aade que si se reutiliza en un mismo programa cdigo "A" licenciado bajo licencia GNU GPL y cdigo "B" licenciado bajo otro tipo de licencia libre, el cdigo final "C", independientemente de la cantidad y calidad de cada uno de los cdigos "A" y "B", debe estar bajo la licencia GNU GPL. En la prctica esto hace que las licencias de software libre se dividan en dos grandes grupos, aquellas que pueden ser mezcladas con cdigo licenciado bajo GNU GPL (y que inevitablemente desaparecern en el proceso, al ser el cdigo resultante licenciado bajo GNU GPL) y las que no lo permiten al incluir mayores u otros requisitos que no contemplan ni admiten la GNU GPL y que por lo tanto no pueden ser enlazadas ni mezcladas con cdigo gobernado por la licencia GNU GPL. En el sitio web oficial de GNU hay una lista de licencias que cumplen las condiciones impuestas por la GNU GPL y otras que no. 5
Aproximadamente el 60% del software licenciado como software libre emplea una licencia GPL. b) Licencias AGPL La Licencia Pblica General de Affero (en ingls Affero General Public License, tambin Affero GPL o AGPL) es una licencia copyleft derivada de la Licencia Pblica General de GNU diseada especficamente para asegurar la cooperacin con la comunidad en el caso de software que corra en servidores de red. La Affero GPL es ntegramente una GNU GPL con una clusula nueva que aade la obligacin de distribuir el software si ste se ejecuta para ofrecer servicios a travs de una red de ordenadores. La Free Software Foundation recomienda que el uso de la GNU AGPLv3 sea considerado para cualquier software que usualmente corra sobre una red. 6
c) Licencias estilo BSD Llamadas as porque se utilizan en gran cantidad de software distribuido junto a los sistemas operativos BSD. El autor, bajo tales licencias, mantiene la proteccin de copyright nicamente para la renuncia de garanta y para requerir la adecuada atribucin de la autora en trabajos derivados, pero permite la libre redistribucin y modificacin, incluso si dichos trabajos tienen propietario. Son muy permisivas, tanto que son fcilmente absorbidas al ser mezcladas con la licencia GNU GPL con quienes son compatibles. Puede argumentarse que esta licencia asegura verdadero software libre, en el sentido que el usuario tiene libertad ilimitada con respecto al software, y que puede decidir incluso redistribuirlo como no libre. Otras opiniones estn orientadas a destacar que este tipo de licencia no contribuye al desarrollo de ms software libre (normalmente utilizando la siguiente analoga: "una licencia BSD es ms libre que una GPL si y slo si se opina tambin que un pas que permita la esclavitud es ms libre que otro que no la permite"). d) Licencias estilo MPL y derivadas Esta licencia es de Software Libre y tiene un gran valor porque fue el instrumento que emple Netscape Communications Corp. para liberar su Netscape Communicator 4.0 y empezar ese proyecto tan importante para el mundo del Software Libre: Mozilla. Se utilizan en gran cantidad de productos de software libre de uso cotidiano en todo tipo de sistemas operativos. La MPL es Software Libre y promueve eficazmente la colaboracin evitando el efecto "viral" de la GPL (si usas cdigo licenciado GPL, tu desarrollo final tiene que estar licenciado GPL). Desde un punto de vista del desarrollador la GPL presenta un inconveniente en este punto, y lamentablemente mucha gente se cierra en banda ante el uso de dicho cdigo. No obstante la MPL no es tan excesivamente permisiva como las licencias tipo BSD. Estas licencias son denominadas de copyleft dbil. La NPL (luego la MPL) fue la primera licencia nueva despus de muchos aos, que se encargaba de algunos puntos que no fueron tenidos en cuenta por las licencias BSD y GNU. En el espectro de las licencias de software libre se la puede considerar adyacente a la licencia estilo BSD, pero perfeccionada. e) Copyleft
Smbolo del copyleft Hay que hacer constar que el titular de los derechos de autor (copyright) de un software bajo licencia copyleft puede tambin realizar una versin modificada bajo su copyright original, y venderla bajo cualquier licencia que desee, adems de distribuir la versin original como software libre. Esta tcnica ha sido usada como un modelo de negocio por una serie de empresas que realizan software libre (por ejemplo MySQL); esta prctica no restringe ninguno de los derechos otorgados a los usuarios de la versin copyleft. Tambin podra retirar todas las licencias de software libre anteriormente otorgadas, pero esto obligara a una indemnizacin a los titulares de las licencias en uso. En Espaa, toda obra derivada est tan protegida como una original, siempre que la obra derivada parta de una autorizacin contractual con el autor. En el caso genrico de que el autor retire las licencias "copyleft", no afectara de ningn modo a los productos derivados anteriores a esa retirada, ya que no tiene efecto retroactivo. En trminos legales, el autor no tiene derecho a retirar el permiso de una licencia en vigencia. Si as sucediera, el conflicto entre las partes se resolvera en un pleito convencional.