lunes, 14 de abril de 2008

Introducción

Este blog le brindara información concerniente al tema de su preferencia en cuanto al mundo de la informática.
En principio se dará información sobre el Software Libre, pero si deseas información sobre otros aspectos de la informática, debes llenar la encuesta sobre el tema de tu preferencia....

lunes, 7 de abril de 2008

Software Libre - Por: MSc. Martha Elena Gómez

Software libre (en inglés free software) es la denominación del software que brinda libertad a los usuarios sobre su producto adquirido y por tanto, una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente. Según la Free Software Foundation, el 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: la libertad de usar el programa, con cualquier propósito; de estudiar el funcionamiento del programa, y adaptarlo a las necesidades; de distribuir copias, con lo que puede ayudar a otros; de mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie (para la segunda y última libertad mencionadas, el acceso alcódigo fuente es un requisito previo). El software libre suele estar disponible gratuitamente, o a precio del coste de la distribución a través de otros medios; sin embargo no es obligatorio que sea así, por ende no hay que asociar software libre a "software gratuito" (denominado usualmente freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente ("software comercial"). Análogamente, el "software gratis" o "gratuito" incluye en algunas ocasiones el código 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 modificación y redistribución de dichas versiones modificadas del programa. Tampoco debe confundirse software libre con "software de dominio público". Éste último es aquél que no requiere de licencia, pues sus derechos de explotación son para toda la humanidad, porque pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este software sería aquél cuyo autor lo dona a la humanidad o cuyos derechos de aurtor han expirado, tras un plazo contado desde la muerte de éste, habitualmente 70 años. Si un autor condiciona su uso bajo una licencia, por muy débil que sea, ya no es dominio público.
Publicado por:  MSc. Martha Elena Gómez.



domingo, 6 de abril de 2008

Historia del Software Libre - Por: MSc. Martha Elena Gómez

Richard Stallman creador de los conceptos Free Software y de la FSF.
Entre los años 60 y 70 del siglo XX, el software no era considerado un producto sino un añadido que los vendedores de los grandes computadoras de la época (los mainframes) aportaban a sus clientes para que éstos pudieran usarlos. En dicha cultura, era común que los programadores y desarrolladores de software compartieran libremente sus programas unos con otros. Este comportamiento era particularmente habitual en algunos de los mayores grupos de usuarios de la época, como DECUS (grupo de usuarios de computadoras DEC). A finales de los 70, las compañías iniciaron el hábito de imponer restricciones a los usuarios, con el uso de acuerdos de licencia. Allá por el 1971, cuando la informática todavía no había sufrido su gran boom, las personas que hacían uso de ella, en ámbitos universitarios y empresariales, creaban y compartían el software sin ningún tipo de restricciones. Con la llegada de los años 80 la situación empezó a cambiar. Las computadoras más modernas comenzaban a utilizar sistemas operativos privados, forzando a los usuarios a aceptar condiciones restrictivas que impedían realizar modificaciones a dicho software. En caso de que algún usuario o programador encontrase algún error en la aplicación, lo único que podía hacer era darlo a conocer a la empresa desarrolladora para que esta lo solucionara. Aunque el programador estuviese capacitado para solucionar el problema y lo desease hacer sin pedir nada a cambio, el contrato le impedía que mejorase el software. El mismo Richard Stallman cuenta que por aquellos años, en el laboratorio habían recibido una impresora donada por una empresa externa. El dispositivo, era utilizado en red por todos los trabajadores, parecía no funcionar a la perfección dado que cada cierto tiempo el papel se atascaba. Como agravante, no se generaba ningún aviso que se enviase por red e informase a los usuarios de la situación. La perdida de tiempo era constante, ya que en ocasiones, los trabajadores enviaban por red sus trabajos a imprimir y al ir a buscarlos se encontraban la impresora atascada y una cola enorme de trabajos pendientes. Richard Stallman decidió arreglar el problema, e implementar el envío de un aviso por red cuando la impresora se bloqueara. Para ello necesitaba tener acceso al código fuente de los controladores de la impresora. Pidió a la empresa propietaria de la impresora lo que necesitaba, comentando, sin pedir nada a cambio, que era lo que pretendía realizar. La empresa se negó a entregarle el código fuente. En ese preciso instante, Richard Stallman se vio en una encrucijada, debía elegir entre aceptar el nuevo software privativo firmando acuerdos de no revelación y acabar desarrollando más software privativo con licencias restrictivas, que a su vez deberían ser más adelante aceptadas por sus propios colegas. Con este antecedente, en 1984, Richard Stallman comenzó a trabajar en el proyecto GNU, y un año más tarde fundó la Free Software Foudation (FSF). Stellman introdujo una definición para free software y el concepto de "copyleft", el cual desarrolló para dar a los usuarios libertad y para restringir las posibilidades de apropiación del software. Libertades del software libre
De acuerdo con tal definición, el software es "libre" si garantiza las siguientes libertades:
Libertad 0: Ejecutar el programa con cualquier propósito (privado, educativo, público, comercial, militar, etc.)
Libertad 1: Estudiar y modificar el programa (para lo cual es necesario poder acceder al código fuente.
Libertad 2: Copiar el programa de manera que se pueda ayudar al vecino o a cualquiera. Libertad 3: Mejorar el programa y publicar las mejoras.
Es importante señalar que las libertades 1 y 3 obligan a que se tenga acceso al código fuente. La "libertad 2" hace referencia a la libertad de modificar y redistribuir el software libremente licenciado bajo algún tipo de licencia de software libre que beneficie a la comunidad. Ciertos teóricos usan este cuarto punto (libertad 3) para justificar parcialmente las limitaciones impuestas por la licencia GNU GPL frente a otras licencias de software libre.
Sin embargo el sentido original es más libre, abierto y menos restrictivo que el que le otorga la propia situación de incompatibilidad, que podría ser resuelta en la próxima versión 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 códigos de dos licencias distintas, pese a que las libertades teóricamente lo deberían permitir. En el sitio web oficial de OSI está la lista completa de las licencias de software libre actualmente aprobadas y tenidas como tales. El término software no libre se emplea para referirse al software distribuido bajo una licencia de software más restrictiva que no garantiza estas cuatro libertades. Las leyes de la propiedad intelectual reservan la mayoría de los derechos de modificación, duplicación y redistribución para el dueño del copyright; el software dispuesto bajo una licencia de software libre rescinde específicamente la mayoría de estos derechos reservados. La definición 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 inglés "Free as in freedom, not as in free beer" (aludiendo a la ambigüedad del término inglés "free"), y es habitual ver a la venta CDs de software libre como distribuciones Linux. Sin embargo, en esta situación, el comprador del CD tiene el derecho de copiarlo y redistribuirlo. El software gratis pude incluir restricciones que no se adaptan a la definición de software libre —por ejemplo, puede no incluir el código fuente, puede prohibir explícitamente a los distribuidores recibir una compensación a cambio, etc—. Para evitar la confusión, algunas personas utilizan los términos "libre" (Libre software) y "gratis" (Gratis software) para evitar la ambigüedad de la palabra inglesa "free". Sin embargo, estos términos alternativos son usados únicamente dentro del movimiento del Software, aunque están extendiéndose lentamente hacia el resto del mundo. Otros defienden el uso del término open source software (software de código abierto, también llamado de fuentes abiertas). La principal diferencia entre los términos "open source" y "free software" es que éste último tiene en cuenta los aspectos éticos y filosóficos de la libertad, mientras que el "open source" se basa únicamente en los aspectos técnicos. En un intento por unir los mencionados términos que se refieren a conceptos semejantes, se está extendiendo el uso de la palabra "FLOSS" con el significado de "Free - Libre - Open Source Software" e, indirectamente, también a la comunidad que lo produce y apoya.

Publicado por: MSc. Martha Elena Gómez

LINUX - Por: MSc. Martha Elena Gómez

¿Qué es Linux?
La definición más simple que se puede dar de Linux es la siguiente: Un sistema operativo
de distribución libre y código fuente abierto, que cumple con los estándares POSIX para
máquinas i386 y compatibles1.
¿Qué significa esto? Que Linux puede ser distribuido libremente, sin pagarle a nadie,
sin “licencias” ni registros, ya que se basa en la licencia GNU ( http://www.gnu.org/). Además el código fuente de Linux se encuentra disponible para que cualquiera que tenga los conocimientos adecuados lo pueda modificar a su voluntad. El Sistema Operativo Linux fue desarrollado inicialmente por Linus Torvalds, estudiante de la universidad de Helsinki en Finlandia a comienzos de la década de los 90 y en la actualidad se continúa el desarrollo gracias a la colaboración de miles y miles de voluntarios en todo el mundo.
El hecho de cumplir con los estándares POSIX, significa que se ve, maneja y comporta como UNIX (sin ser UNIX), en otras palabras Linux es un clon gratuito de UNIX.
Y qué con esto... bueno, tener un sistema UNIX en tu PC puede sonar extraño, pero si lo piensas mejor, te darás cuenta de las ventajas de tener un sistema operativo real, estable y que ha sido probado y comprobado en toda variedad de equipos desde hace más de 30 años.
UNIX es el único y verdadero sistema operativo, el que realmente te permitirá sacar todo el provecho a tu computador, el que te permitirá conocer a fondo los misterios de TCP/IP y mucho más. Linux reúne el 99,9 % de las funcionalidades de UNIX y a la vez incorpora cientos (y quizá miles) de funcionalidades extra. Si eres un amante de lo antiguo y tienes un cerro de tarjetas madre 386 funcionando, Linux te permitirá sacar todo el provecho a ese hardware. Disfrutarás de una navegación por Internet realmente segura y estable a una velocidad sorprendente, podrás proteger tus archivos de la vista de miradas indiscretas, podrás conocer a fondo como funciona tu PC.... que más.... miles de cosas.. Eso va por parte de los gurúes de Linux. Para los amantes de los entornos gráficos, Linux cuenta con una implementación completa del entorno gráfico para UNIX conocido como X Window. X Window permite la utilización de varios tipos de administradores de ventanas como KDE, Gnome, WindowMaker, BlackBox, Xfce, etc. Esto significa que puedes escoger el entorno gráfico que más te acomode y a su vez configurarlo como mejor te parezca.
Una de las mayores ventajas de Linux frente a otros sistemas es su increíble capacidad de configuración y personalización. Es tan extremadamente grande, que para cuando hayas terminado de configurar el sistema a tu gusto te sentirás lo suficientemente poderoso como para esgrimir un sable láser frente a Darth Vader.
En Linux podrás encontrar todas las aplicaciones que necesitas para utilizar tu PC de forma convencional, como lo venías haciendo hasta ahora. Entre algunas aplicaciones importantes, se encuentra Netscape Communicator, Opera , Open Office (la mejor suite para oficina que existe (con el permiso de Star Office, por supuesto)), reproductores multimedia como XMMS (clon de Winamp) o Xine (un excelente reproductor de vídeos), el entorno de ejecución Java, etc. También encontrarás que la mayoría de los juegos basados en el motor gráfico de Quake 3 se pueden ejecutar en Linux, así que la diversión estará asegurada con Quake 3 o Return to Castle Wolfenstein.
También está disponible el núcleo para otros procesadores de 32 y 64 bits como el Motorola 68xxx, PowerPC, Alpha, Sparc, Itanium y Optereon, también existe un Linux para las Play Station 2 de Sony, y recientemente se han estrenado las primeras PDA con Linux como la Sharp Zaurus.
Distribuciones de Linux
Debido a su característica de software libre, Linux puede ser recompilado y modificado por cualquier persona que tenga los conocimientos necesarios, cada persona puede “crear” y distribuir “su” versión de Linux (siempre bajo GNU). Por este motivo, Linux se distribuye bajo distintas distribuciones, cada una con características propias pero todas compatibles a bajo nivel entre sí. Algunas distribuciones son :
• Alfalinux : Una mini-distribución basada en Slackware Linux, muy básica.
• Armed Linux : Una nueva distribución creada para ser instalada bajo MS-DOS. Laidea es aprender Linux sin necesidad de reformatear o usar UMSDOS.
• Best Linux : Según linux.box.sk “La mejor distribución de Linux”.
• BraiLleSPEAK : Una mini-distribución que soporta braille.
• Caldera OpenLinux : Una distribución mantenida por Caldera Software, muy completa.
• Conectiva Linux : Una excelente distribución basada en RedHat, concebida y mantenida en Brasil por Conectiva Software.
• Corel Linux : Pese a no ser de gran aceptación, la distribución de Corel es bastante decente. Su asistente de configuración Samba es muy útil, y su entorno KDE “mejorado” muy ordenado. Su punto débil es la documentación y las escasas librerías incorporadas, aunque el hecho de estar basada en Debian le da ciertos encantos.
• Debian : Una excelente y muy completa distribución de Linux. Quizá la
preferida de los desarrolladores y quizá una de las mejores, aunque su instalación puede llegar a ser algo engorrosa.
• Mandrake : Una muy buena distribución basada en RedHat. Es la más fácil de instalar y configurar, pero es con la que quizá menos se aprende • Micro$oft Linux : Obviamente una broma, visita www.mslinux.org
• RedHat : Quizá la más popular de las distribuciones, y quizá una de las mejores. Muy utilizada en los ambientes de las grandes redes. Ampliamente aceptada por los fabricantes de Hardware ya que se utiliza como distribución de referencia para motivos de soporte. Su sistema de paquetes RPM se está transformando en un estándar para distribuir software para Linux. (Hoy en día RedHat se conoce como Fedora Core)
• S.u.S.E : Distribución alemana de muy buenas prestaciones, viene con cientos de paquetes preconfigurados y es una de las favoritas para los servidores de alto rendimiento. Simplemente calidad alemana, y ante esto no hay mucho que agregar.
• Slackware : Una de las primeras distribuciones y a mi gusto personal, la mejor, su performance es el más apto, y la libertad de configuración que proporciona permite explorar a fondo el poder de Linux. Es la ideal ara el aprendizaje.
Este vistazo rápido a algunas distribuciones de Linux te dará una idea de la gran difusión de este S.O., si quieres más detalles visita linux.box.sk, ya que he obviado una gran cantidad de ellas.
La gran variedad de distribuciones y las características del software de código fuente abierto han permitido generar distribuciones de Linux especializadas para tareas específicas.
De este modo podemos encontrar distribuciones de Linux es consolas como la Play Station 2 de Sony; en PDA como la Sharp Zaurus, en relojes como los de IBM; en sistemas de animación 3d Silicon Graphics o Sun Microsystems; en firewall de Symantec, en satélites artificiales y vehículos de exploración espacial, en equipamiento médico, teléfonos celulares, etc......

Publicado por: MSc. Martha Elena Gómez

Comandos Linux Básicos de Linux - Por:MSc. Martha Elena Gómez

Nota: “[]” indica que son opcionales. “...” que puede ir más de una.
Las opciones suelen comenzar con “-” o “--”. Si en la explicación del comando se acaba con “...” es porque hay muchas más opciones o información que es mejor consultar en la página del manual.
  • cd [directorio] Cambia de directorio. Sin argumentos lleva al directorio del usuario (HOME). Si el directorio es “..” sube un nivel. pwd Imprime el directorio actual de trabajo. ls [opciones...]
  • [directorio/fichero ...] Lista el contenido del directorio, sin argumentos lista el contenido del directorio actual de trabajo. La opción más habitual es “-l” que muestra información más completa de cada directorio y fichero. La opción “-R” hace un listado recursivo en la jerarquía de directorios.
  • man [opciones...] página Muestra la documentación de un determinado comando (en realidad también de cualquier documentación, no sólo comandos). Por ejemplo “man ls” nos dará todas las opciones del comando ls. Cada documento se denomina “página”, las páginas están divididas por “secciones”. A veces existen páginas en secciones distintas con el mismo nombre, para especificar la sección se usa el número de ella como opción, por ejemplo “man 3 printf”. “man -a printf” mostrará todas las páginas, en sucesión, de printf en todas las secciones. Si se quiere buscar “man -k printf” mostrará una listado resumido de todas las páginas donde aparezca printf en la descripción corta. El número mostrado entre paréntesis es la sección. Se puede indicar que muestra la documentación en otros idiomas (si están instalados en el sistema). Por ejemplo “man -L ca ...” lo hará en catalán (no hay muchas, hint! hint! administraciones y universidades que quieren hacer algo y tienen poco dinero), “man -L es ...” en castellano, “man -L en ...” en inglés.
  • cat [opciones...] [ficheros...] Muestra el contenido de los ficheros por la “salida estándar”. Si no se especifican ficheros, lee de la “entrada estándar”. more [opciones...] [ficheros] Muestra el contenido de los ficheros o la entrada estándar página a página y espera que el usuario indique las acciones a tomar. Estas acciones se suelen indicar con una tecla, por ejemplo “” es para avanzar una página, “” avanza una línea. “h” da la ayuda, “/” sirve para buscar una cadena, “q” para salir...
  • less [opciones...] [ficheros] Viene de la frase “less is more”. Es similar a more pero con la ventaja fundamental que puede ir hacia atrás en el texto. Los comandos son similares y otros nuevos, como “?” para buscar hacia atrás, “b” que retrocede una pantalla, “d” que avanza media pantalla, “u” que retrocede media pantalla... Redirecciones: > <> fichero”: redirecciona la salida del comando hacia el fichero. “comando ... <>
  • “ls -l `which ls`”. cp [opciones...] fuente... destino Permite copiar un fichero, o varios ficheros a un directorio. Quizás la opción más usada es “-r” que permite copiar recursivamente directorios hacia otros directorios.
  • mv [opciones...] fuente... destino Cambia el nombre de un fichero por otro o mueve una serie de ficheros y directorios a un directorio destino. mkdir [opciones...] directorio Crea el directorio con el nombre indicado.
  • rmdir [opciones...] directorio... Borra un o varios directorios si están vacíos rm [opcions...] ficheros Borra ficheros. Las opciones más habituales son “-f” para forzar el borrado sin preguntar al usuario (la opción contraria es “-i”). “-r” borra recursivamente todos los subdirectorios (¡ALERTA!, típico error de principiantes). ln [opciones] destino [nuevo_alias] Crea un enlace a un fichero, apuntará a los mismos datos que el fichero “destino”, siempre. La opción “-s” hace que se cree un enlace simbólico, es lo que se conoce como “Acceso Directo” en Windows, o “Enlace” en la interfaz gráfica de Macintosh.
  • sort [opciones...] [ficheros...] Imprime la concatenación ordenada lexicográficamente de los ficheros o entrada estándar. La opción “-n” ordena numéricamente, “-r” en orden inverso. “--field-separator=SEP” hace que SEP sea el separador de campos...
  • uniq [opciones...] [ficheros...] Elimina las líneas consecutivas duplicadas. head [opciones...] [ficheros...] Muestra las 10 primeras líneas de ficheros o la entrada estándar. Si en las opciones se indica “-50” (por ejemplo) mostrará las primeras 50 líneas.
  • tail [opciones...] [ficheros...] Como el head pero las últimas líneas del fichero. Otra opción muy habitual es “-f” que hace que el tail quede verificando si el fichero crece y muestra las nuevas líneas.
  • wc [opciones...] [ficheros] Indica la cantidad de caracteres, palabras y líneas que tienen los ficheros. “-l” indica sólo número de líneas, “-w” palabras y “-c” los bytes, “-m” caracteres.
  • file [opciones...] [ficheros...] Muestra información más detallados del tipo de contenido los ficheros. which [-a] comandos... Muestra el nombre completo (“pathname”) de los comandos especificados. La opción “-a” muestra todos los que existen para cada uno, no solamente el primero (que es el que se ejecuta). Información del sistema y usuarios date [opciones] [formato] Muestra (o cambia) la fecha y hora del sistema. w [opciones] [usuario] Muestra que usuarios están conectados o con sesión abierta. Si se especifica usuario, sólo muestra las conexiones de ese usuario. whoami Perece una pregunta tonta... ¿pero qué usuario eres ahora mismo? (tened en cuenta que es muy fácil cambiar... con el “su”).
  • su [opciones] [usuario] Permite establecer una nueva sesión con otro usuario. Si no se especifica usuario lo hará con el “root”.
  • last [opciones] [usuarios] [terminales] Muestra las últimas sesiones de usuarios.
  • ps [opciones] Linux es un sistema de multiprogramación con muchos procesos ejecutándose “simultáneamente” (probad “ps axl wc -l”). La opciones más habituales son: “ax” o “axu” para ver todos los procesos, “l” para ver en formato extendio. Por ejemplo “ps axl”. pstree [opciones] [usuarios] Muestra la jerarquía (de árbol) de los procesos.
  • top [opciones] Muestra los procesos en forma interactiva y refrescada continuamente (la tecla “h” da un ayuda resumida).
  • mount [...] Sin argumentos muestra los sistemas de ficheros montados, su dispositivo correspondiente en /dev y en que directorio se han montado.
  • passwd [opciones...] [usuario] Permite cambiar la clave de acceso de un usuario. Si es el root, puede especificar el usuario del que desea cambiar la contraseña.
  • Buscar grep [opciones...] patrón [ficheros] Busca la ocurrencia de “patrón” en los ficheros (o salida estándar). Las opciones más habituales son “-l” para imprimir sólo el nombre de los ficheros donde aparece patrón, “-i” para que sea insensible a mayúsculas y minúsculas, “-r” para hacer recursivamente en los directorios...
  • locate [opciones...] patrón Busca nombres de ficheros que cumplan con el patrón en una base de datos que normalmente se actualiza cada día.
  • find [opciones] expresiones Busca ficheros que cumplan determinadas condiciones basados no en los datos, sino en la información que mantiene el sistema operativo, por ejemplo nombre, fechas de creación, modificación, etc... Puede simplemente imprimir por pantalla o ejecutar comandos por cada fichero (opción -exec). find . -name “datos*”
  • Bucle for
El for es una estructura muy usada para el tratamiento individual de muchos ficheros (aunque tiene muchas posibilidades más). Su estructura típica es: for variable in lista do comando1 comando2 .... done Lo que hace es para cada palabra en lista, asigna esa palabra a la variable y ejecuta los comandos indicados entre el do y el done.
Ejemplos: Imprimir los números del 1 al 100
for i in `seq 100` do echo
$i done Imprimir la lista de ficheros que acaben en .jpg for f in *.jpg
do echo
$f done
O el ejemplo de generar miniaturas de fotografías. for f in *.jpg
do echo Generando miniatura de: $f convert -resize 200
$f petita_$f done
Publicado por: MSc. Martha Elena Gómez

miércoles, 2 de abril de 2008

Tipos de Licencias - Por: MSc. Martha Elena Gómez

Tipos de Licencias
Una licencia es aquella autorización formal con carácter contractual que un autor de un software da a un interesado para ejercer "actos de explotación 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:

Licencias GPL

Una de las más utilizadas es la Licencia Pública General de GNU (GNU GPL). El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más 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.

Logo de GPLv3
Es decir, la licencia GNU GPL posibilita la modificación y redistribución del software, pero únicamente bajo esa misma licencia. Y añade que si se reutiliza en un mismo programa código "A" licenciado bajo licencia GNU GPL y código "B" licenciado bajo otro tipo de licencia libre, el código final "C", independientemente de la cantidad y calidad de cada uno de los códigos "A" y "B", debe estar bajo la licencia GNU GPL.
En la práctica esto hace que las licencias de software libre se dividan en dos grandes grupos, aquellas que pueden ser mezcladas con código licenciado bajo GNU GPL (y que inevitablemente desaparecerán en el proceso, al ser el código 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 código 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.
Aproximadamente el 60% del software licenciado como software libre emplea una licencia GPL.

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 protección de copyright únicamente para la renuncia de garantía y para requerir la adecuada atribución de la autoría en trabajos derivados, pero permite la libre redistribución y modificación, incluso si dichos trabajos tienen propietario. Son muy permisivas, tanto que son fácilmente 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 están orientadas a destacar que este tipo de licencia no contribuye al desarrollo de más software libre.

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 colaboración evitando el efecto "viral" de la GPL (si usas código 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 código. No obstante la MPL no es tan excesivamente permisiva como las licencias tipo BSD. Estas licencias son denominadas de copyleft débil. La NPL (luego la MPL) fue la primera licencia nueva después de muchos años, 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.

Copyleft
Hay que hacer constar que el titular de los derechos de autor (copyright) de un software bajo licencia copyleft puede también realizar una versión modificada bajo su copyright original, y venderla bajo cualquier licencia que desee, además de distribuir la versión original como software libre. Esta técnica ha sido usada como un modelo de negocio por una serie de empresas que realizan software libre (por ejemplo MySQL); esta práctica no restringe ninguno de los derechos otorgados a los usuarios de la versión copyleft. También podría retirar todas las licencias de software libre anteriormente otorgadas, pero esto obligaría a una indemnización a los titulares de las licencias en uso. En España, toda obra derivada está tan protegida como una original, siempre que la obra derivada parta de una autorización contractual con el autor. En el caso genérico de que el autor retire las licencias "copyleft", no afectaría de ningún modo a los productos derivados anteriores a esa retirada, ya que no tiene efecto retroactivo. En términos legales, el autor no tiene derecho a retirar el permiso de una licencia en vigencia. Si así sucediera, el conflicto entre las partes se resolvería en un pleito convencional.

Publicado por: MSc. Martha Elena Gómez