Comunidad MUNDOTE



Autor Tema: El Taller (sobre Linux)  (Leído 221 veces)

lotoxs

  • Uploaders
  • Master Mundotero
  • *
  • Mensajes: 436
  • Karma: +124/-0
  • El amor es mas que una ilusión
    • Ab exordio generis humani
El Taller (sobre Linux)
« : 15 de mayo de 2010, 07:29:29 pm »
MOTIVACIÓN

Nos encontramos en uno de esos momentos en los que toda la industria puede estar cambiando de paradigma. En una industria cada vez mas competitiva las empresas deben adaptarse y ajustarse a las variaciones para poder mantener su posición de competitividad. Durante años, en el mundo del software, se ha vivido bajo un modelo de negocio muy lucrativo para las empresas de desarrollo de software y muy poco ventajoso para el resto de usuarios de software, el modelo de software propietario.
 
¿En qué consiste el modelo de software propietario? El modelo de software propietario consiste básicamente en que un programador escribe un programa (código fuente) lo compila y obtiene un fichero ejecutable (un conjunto de órdenes que son entendidas y llevadas a cabo por una computadora), este ejecutable se vende a un usuario que de esta manera puede comenzar a utilizar el programa. Pero al usuario se le ponen ciertas restricciones para usar ese software, como por ejemplo el pago de una licencia de uso cada cierto tiempo o que no pueda redistribuir el programa (dado que esto se considera "piratería" y es un delito).
 
¿Qué desventajas tiene este modelo de software? El software propietario tiene varias desventajas, entre ellas desventajas económicas como por ejemplo el pago de elevadas sumas en concepto de "licencia de uso". Aunque también hay otras desventajas más graves. El no tener acceso al código fuente provoca que el usuario sea completamente dependiente del proveedor de software. ¿Qué significa esto? Significa que si el software tiene defectos o se nos ocurre alguna mejora, debemos ponernos en contacto con el proveedor para que lo corrijan o lo amplíen. El proveedor y solo el proveedor es capaz de subsanar un error o ampliar el funcionamiento. Otra desventaja de no tener acceso al código fuente es que nos impide aprender de él al no saber cómo se hacen las cosas.
 
Si la dependencia tecnológica de un único proveedor, los precios abusivos y las barreras intelectuales que plantea este modelo de negocio no le parecen claras desventajas, éste es el punto adecuado para dejar de leer esta guía.
 
Existe una alternativa, el software libre. El software libre es una cuestión de libertad, no de precio. Para comprender este concepto, se debe pensar en la acepción de libre como en "libertad de expresión" y no como en "barra libre de cerveza".
     Software libre viene del Inglés "free software" donde "free" significa "libre" o
    "gratis" según el contexto, la definición que nos interesa es la de "libre".
Con software libre se quiere hacer referencia a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar, mejorar el software e incluso venderlo.
 
El movimiento del software libre empezó en 1984, cuando Richard Stallman dio a conocer el proyecto GNU (del acrónimo recursivo en inglés GNU is Not Unix, GNU no es Unix), para crear una versión del sistema operativo Unix que respetara las libertades de aquellos que lo utilizaran. La consecuencia de este proyecto fue la creación en 1985 de la Fundación del Software Libre, una organización sin ánimo de lucro con la misión de difundir y proteger el software libre en todo el mundo.
 
Cuando hablamos de libertad, nos referimos especialmente a cuatro clases de libertad para los usuarios de software:

Libertad 0: la libertad para ejecutar el programa sea cual sea nuestro propósito. (privado, educativo, público, comercial, etc.)

Libertad 1: la libertad para estudiar el funcionamiento del programa y adaptarlo a nuestras necesidades. El acceso al código fuente es condición indispensable para esto.

Libertad 2: La libertad para redistribuir copias y ayudar así a tu vecino.

Libertad 3: La libertad para mejorar el programa y luego publicarlo para el bien de toda la comunidad. El acceso al código fuente es condición indispensable para esto.


Llegados a este punto, y debido al modelo de software al que estamos acostumbrados, nos pueden asaltar muchas dudas y muchas personas pueden sentirse tentadas a lanzar afirmaciones como las siguientes:
 
"Nadie lo usará debido a que es gratuito, ya que esto significa que no cuenta con ninguna asistencia"
"Se tiene que cobrar por el programa para pagar el servicio de soporte".
 
Si se prefiere pagar por un software libre y su servicio en lugar de obtener el software libre gratis y sin servicio, entonces una empresa que ofrezca servicio a las personas que utilicen software libre obtenido gratuitamente debería tener beneficios.
 
Debemos distinguir entre asistencia bajo la forma de un trabajo real de programación y lo que es simplemente llevar de la mano al usuario. En relación a la primera no se puede depender del vendedor de software. Si su problema no es compartido por un número suficiente de clientes, el proveedor le ignorará.
 
Si su negocio requiere poder confiar en la asistencia, la única manera es tener el código fuente y todas las herramientas necesarias. De este modo, se puede contratar a cualquier persona disponible para corregir el problema y no estar a merced de ningún proveedor (Independencia Tecnológica).
 
Por otra parte los usuarios sin conocimientos informáticos necesitan que se les lleve de la mano: hacer cosas por ellos, que ellos mismos podrían hacer fácilmente, pero que no saben cómo hacerlas. En este sentido hay compañías que ofrecen servicios de asesoría y reparación. Si los usuarios están de acuerdo en gastar dinero y obtener un producto con servicio, estarán igualmente de acuerdo en adquirir el servicio habiendo obtenido el producto de forma gratuita.
 
"¿Por qué voy a invertir dinero en algo que puede aprovechar mi competencia?"
 
Estamos malinterpretando el significado de competencia. La competencia hace que las cosas se hagan mejor. Si una empresa de la competencia es mejor, entonces intentemos hacerlo nosotros mejor aún, pero no les pongamos la zancadilla, porque si hoy ponemos la zancadilla, mañana nos la pondrán a nosotros. La competencia se puede comparar con una carrera en la que se premia al ganador. Al premiar al ganador, se está alentando a todos a correr más rápido. Pero nos equivocamos al dar por hecho que esto siempre es así. Si los corredores de la carrera olvidan por qué se otorga el premio y se centran en ganar y solo en ganar, sin importar como, pueden encontrar otras estrategias, como por ejemplo atacar a los demás corredores. Si los corredores se enredan en una pelea, todos llegarán tarde a la meta. El software propietario y secreto es el equivalente moral de los corredores en una pelea a puñetazos.
 
Hay que tener en cuenta, además, que si el desarrollo de software libre parte de nuestra empresa, y dado que somos los responsables de él, las empresas que utilicen este software confiarán generalmente en nosotros para realizar tareas de mantenimiento, adecuación y gestión de dicho software.
 
El software libre también tiene limitaciones, algunos componentes de software que son de interés para las empresas todavía no están desarrollados completamente, pero cada vez más gente es consciente de
que el cambio está aquí y el futuro ya ha llegado.
"Es mejor saberlo y no necesitarlo; que necesitarlo y no saberlo"

lotoxs

  • Uploaders
  • Master Mundotero
  • *
  • Mensajes: 436
  • Karma: +124/-0
  • El amor es mas que una ilusión
    • Ab exordio generis humani
Re:El Taller (sobre Linux)
« Respuesta #1 : 15 de mayo de 2010, 07:31:21 pm »
INTRODUCCIÓN

En este primer bloque se describe de forma más o menos general aquellos participantes y organizaciones que han aportado los fundamentos y la idea del software libre, dentro de un marco histórico. También se pretende explicar algunos conceptos dentro del movimiento del software libre que nos ayudarán a explicar cómo surgió y como se desarrolla este movimiento.

EL SOFTWARE LIBRE

El software libre, tal y como fue concebido en sus inicios, trata de la forma ética en la que se utiliza, difunde y modifica el software. Trata de establecer una serie de valores y, para ello, propone una serie de libertades que no se deben violar para mantener la libertad del software.
 
El software libre es, también, una manera de acumular experiencia y formas de resolver problemas de software, de manera que podamos reutilizarlo para poder desarrollar nuestras propias aplicaciones. De todas maneras, no se trata únicamente de que el software pueda ser utilizado y modificado por cualquiera, sino que, además, cualquiera pueda ser beneficiario de ese software en cuanto las modificaciones sean liberadas nuevamente en la comunidad donde se desarrolló.
 
En la Wikipedia podemos acceder a un mapa conceptual bastante completo donde comprobar, de un vistazo, cómo se interrelacionan las cuatro libertades básicas del software libre con el desarrollo, la mejora y la calidad de este software. La manera en que los usuarios y los desarrolladores intervienen en la toma de decisiones y cómo esta interacción se hace evidente en un software al que, posiblemente, haya empresas que nos le den soporte.
Para consultar este mapa conceptual, podemos visitar:


LAS CUATRO LIBERTADES DEL SOFTWARE LIBRE

Como hemos mencionado anteriormente, el software libre, como forma ética de entender el software, trata de reconocer siempre 4 libertades esenciales.
 
Libertad 0: Usar el programa, con cualquier propósito
 
Evidentemente, la primera libertad expresada dentro del movimiento del software libre tiene que ver con la capacidad de no restringir el uso del programa. Es importante remarcar lo de con cualquier propósito, ya que limitar el uso en cualquier de sus aspectos limita la libertad de ese software en cualquiera de las aplicaciones que vayamos a darle.
 
Libertad 1: Estudiar el funcionamiento del programa y adaptarlo a las necesidades
 
Para poder acumular la mejor calidad en el software desarrollado, es imprescindible contar con personas que comprender el código que da soporte a las características del software. Por tanto se debe permitir el acceso al código fuente. De esta manera, no sólo se puede estudiar el funcionamiento de cara a poder ayudar a la comunidad a desarrollar el software, sino que se puede adaptar el código a las necesidades de cada entidad que requiera modificarlo.
 
Un ejemplo típico es el núcleo Linux. Este núcleo ha sido adaptado a las distintas arquitecturas que soporta debido a que utiliza una licencia GPL (GNU Public License, que veremos en el Bloque II con más detalle). Gracias a la naturaleza libre del código en que está basado este núcleo de sistema operativo, muchas empresas han desarrollado versiones específicas para, por ejemplo, poder embeberlo dentro de microcontroladores en electrodomésticos. De hecho, es habitual encontrar este núcleo adaptado a diversos productos encaminados a dotar de servicios de acceso a redes, como los routers que muchas empresas de telecomunicaciones regalan al darnos de alta en su servicio ADSL.
 
Libertad 2: Distribuir el software, de manera que beneficie a la comunidad
 
No sería posible que los desarrollos derivados del software libre quedaran atrapados de manera que la comunidad que empezó un proyecto no pudiera acceder a los nuevos desarrollos hechos sobre él. De esta manera, es necesario proteger al software libre de manera que se permita la distribución del software. Conseguiremos así que el software pueda llegar a diferentes usuarios de la comunidad para que puedan utilizarlo.
 
Libertad 3: Mejorar el programa y publicar las mejoras
 
Finalmente, de nada nos serviría un software que nos permitiera redistribuirlo, comprobar cómo está hecho y modificarlo si no se nos permite mejorar la aplicación y, además, publicar las mejoras.
 
Es importante tener en cuenta que, bajo esta libertad, hay muchas empresas que se han beneficiado de esta libertad. Generalmente, alrededor de un producto de software libre encontramos una comunidad entusiasta dispuesta a corregir, mejorar y adaptar el código a las necesidades de cada uno, y muchas empresas utilizan esta posibilidad para permitir que los usuarios mejoren su software.
 
Un ejemplo de estas mejoras podemos verlas en las PDA Sharp Zaurus. Este microordenador de bolsillo, utiliza software libre para funcionar y el núcleo del sistema así como una parte importante de las aplicaciones que le acompañan vienen acompañados de su correspondiente código fuente. Al poco tiempo de aparecer las primeras unidades, la comunidad alrededor comenzó a colaborar con el proyecto de manera que se crearon firmwares alternativos que mejoraban el acceso a determinadas capacidades, o que añadían nuevas aplicaciones que inicialmente no tenía. De esta manera, el producto fue mejorado y muchos hackers de hace unos años miran a esa PDA como una de las primeras en promover el desarrollo de software junto a una plataforma de bolsillo de software abierto.
 
Cuando hablamos de software libre, tenemos que tener en cuenta estas cuatro libertades que hemos enumerado. Desafortunadamente, esto resulta ambiguo para las personas que hacen uso del software y no tenemos que confundir el software libre con software gratuito ni con software de dominio público.
 
Hay muchas oportunidades de negocio asociadas al software libre. La primera es vender el software. Que sea libre no implica que sea gratuito. Quizá la ambigüedad principal se deba principalmente al nombre como tal: software libre. Aunque esta ambigüedad no es tal cuando lo expresamos en castellano, tenemos que tener en cuenta que el uso del término inglés free software no distingue entre libertad y gratuidad, ya que la palabra free es ambigua en ese lenguaje.
 
Además, la mayor parte del software libre sí que se puede acceder de forma gratuita, aunque no todo el software gratuito sea libre, ni todo el software libre sea gratuito. Por tanto, hemos de evitar relacionar en la medida de lo posible la gratuidad del software con la libertad de este.
 
Por otra parte, el software libre no puede ser considerado de dominio público. Son conceptos diferentes. Generalmente se emplea el término dominio público cuando se considera que algo, dada la relevancia o el tiempo que pasó desde que se creo, pasa a formar parte de la cultura como bien a nivel global y, por tanto, todos podemos acceder a él.
"Es mejor saberlo y no necesitarlo; que necesitarlo y no saberlo"

lotoxs

  • Uploaders
  • Master Mundotero
  • *
  • Mensajes: 436
  • Karma: +124/-0
  • El amor es mas que una ilusión
    • Ab exordio generis humani
Re:El Taller (sobre Linux)
« Respuesta #2 : 15 de mayo de 2010, 07:33:08 pm »
OPEN SOURCE

OpenSource es un término que surgió a finales de la década de los 90, y que evita la ambigüedad (o al menos lo intenta) del término free software. Como veremos a continuación, no siempre se consigue eliminar totalmente la ambigüedad, por lo que más adelante estudiaremos el término FOSS o FLOSS.
 
Cuando se creó el término OpenSource, se intentó darle un enfoque más empresarial, evitando el término free para que las empresas se sintieran cómodas utilizando el nuevo término. De hecho, el movimiento OpenSource intenta poner en la práctica (abandonando en parte las implicaciones éticas) aquello que hasta el momento se conocía como free software.
 
Aunque inicialmente el término también se utilizó para evitar la confusión provocada por la palabra inglesa free, se han tenido otros problemas con el concepto de código abierto. De hecho, hay software que se auto denomina de código abierto que realmente no lo es, ya que hacen una interpretación literal del concepto open source, pero no tienen en cuenta el decálogo que el movimiento open source sigue a rajatabla.
 
Este decálogo, que pasamos a ver a continuación, es una traducción práctica de las ideas y las implicaciones éticas detrás del software libre y, de hecho, son tratadas como normas a seguir para que un proyecto pueda ser considerado de código abierto.
 
Libre distribución
Evidentemente, para que un proyecto pueda ser considerado open source se debe permitir la libre distribución de ese software.
 
Código fuente accesible
Si el código está accesible, cualquiera puede estudiarlo y modificarlo libremente, de manera que pueda añadir mejoras.
 
Trabajos derivados
Además, permitiendo trabajos derivados conseguimos que el software pueda ser adaptado a las necesidades de cada persona.
 
Integridad del código fuente del autor
Protegiendo la integridad del código fuente, se consigue reconocer a los autores materiales de cada versión de código fuente, de manera que no se puedan apropiar de la propiedad intelectual de la realización de una parte determinada del software.
 
No discriminación de personas o grupos
Para conseguir que el software sea de libre distribución y acceso, se deben eliminar toda posible discriminación por cualquier motivo a cualquier grupo de persona. Es una libertad básica para permitir la libre distribución del software.
No discriminación de áreas de iniciativa
Además, no se debe restringir el software o partes de él a unos intereses particulares, de manera que otros grupos de personas no puedan acceder a él para poder modificarlo, distribuirlo o mejorarlo.
 
Distribución de la licencia
Evidentemente, la licencia debe permitir la distribución del software. Además todo el software debe estar acompañado de una licencia considerada open source por el OpenSource Institute, la organización encargada de validar y estudiar las distintas licencias para ver aquellas que mantienen las 4 libertades del software libre.
 
Licencia no específica
No hay una licencia específica que se deba utilizar para poder liberar el software open source, sino que se puede utilizar cualquier licencia validada por el OpenSource Institute o un conjunto de ellas, siempre que sean compatibles.
 
No restricción del software a otro software
El software, al ser libre, no debe limitar el uso o funcionamiento de cualquier otro software, limitando la libertad de este último. Es muy común encontrar dentro del software privativo cláusulas que impiden ejecutar o utilizar cierto tipo de software con el software privativo. En cambio, en el movimiento del software libre se pretende lo contrario: el usuario debe ser capaz de elegir utiliza el software que más le interese en cada momento, independientemente de si es o no software libre.
 
Licencia tecnológicamente neutral
La licencia no debe imponer el uso de una tecnología determinada, limitando las modificaciones que se puedan realizar sobre el software bajo la denominación open source. Se trata de permitir que cualquier tecnología tenga cabida, de manera que no se incline la balanza por una tecnología en particular.

FOSS/FLOSS

El término FOSS o FLOSS se ideó para evitar la ambigüedad producida por los términos estudiados anteriormente. De hecho, este término prácticamente es una concatenación de open source y free software. El significado de las siglas en inglés es Free (Libre) Open Source Software, nótese el uso de la palabra castellana libre dentro de la denominación en inglés, para especificar libertad, en vez de gratuidad, y así eliminar la ambigüedad del término en inglés.
 
Aunque generalmente el término open source se ve como una aportación a la empresa, el término free software el nombre que le da la comunidad al software libre y FLOSS como el término aportado desde el ámbito académico y universitario, tenemos que tener en cuenta que vamos a encontrar todos estos términos utilizados de forma análoga. Por tanto, es otra manera de referirse al software libre.

GNU

GNU son las siglas de GNU is Not UNIX (GNU no es UNIX), un acrónimo recursivo que sigue la tradición comenzada por los hackers desde el principio de internet para nombrar nuevos proyectos, entre ellos los de software libre.
 
GNU comenzó en 1983, debido a la necesidad de crear un sistema libre tipo UNIX que contuviera las mismas herramientas y funcionalidad que el sistema operativo propietario.
 
El movimiento GNU fue iniciado por Richard Stallman, aunque al poco tiempo ya había una considerable cantidad de hackers trabajando en el sistema, de manera que evolucionó rápidamente hasta conseguir prácticamente su objetivo en 1989, cuando la única pieza clave para desarrollar un sistema operativo libre completo que faltaba era el núcleo: la pieza encargada de hacer funcionar el hardware del sistema en una plataforma software de forma homogénea y conocida. Como veremos más adelante, cuando Linus Torvalds desarrolló desde finlandia su núcleo del sistema llamado Linux, la simbiosis entre ambos proyectos dio el pistoletazo de salida a lo que conocemos actualmente como GNU/Linux, el sistema operativo de código abierto más completo y extendido del mundo.
 
Durante los primeros años de vida del proyecto GNU se optó por desarrollar todas la utilidades base para sustituir aquellas que aparecían en los sistemas operativos del estilo de UNIX, con lo que la funcionalidad y las librerías base del sistema fueron escritas desde cero y liberadas a la comunidad para que otros pudieran utilizarlas. Estas utilidades fueron creciendo en complejidad hasta el punto en que muchas de ellas no sólo eran un sustituto de las equivalentes privativas, sino que disponían de muchas más características que estas, por lo que muchos usuarios de sistemas operativos UNIX sustituían algunas de ellas por alternativas libres.
 
El movimiento GNU no creó únicamente alternativas a las utilidades propietarias de UNIX, sino que además aportó nuevas utilidades que no existían en estos sistemas, como el editor de textos GNU Emacs, la colección de compiladores GCC (el sistema de compilación con más características existentes actualmente), así como algunas librerías de C y C++.
 
Como hemos comentado anteriormente, el objetivo de GNU es conseguir un sistema operativo libre. Este hecho ha creado una serie de licencias conocidas como las licencias GNU, para proteger la libertad del software que se desarrolla dentro del marco de este proyecto. Estas licencias han sido adoptadas posteriormente por la comunidad de software libre en numerosos proyectos, hasta el punto ser de las más extendidas. De hecho, la mayoría del software libre está cubierto por la licencia GPL (o su derivada LGPL) que veremos con más detalle en el siguiente bloque.
 
Finalmente, destacar otros proyectos que surgieron de la necesidad de sustituir otros elementos del sistema, como el entorno gráfico GNOME, que es junto a KDE, el entorno de escritorio más utilizado hoy en día.


Como nota curiosa, hay que comentar que GNU sigue en su afán por conseguir desarrollar un sistema UNIX completo, por lo que aunque disponemos hoy en día de Linux como núcleo libre, GNU sigue desarrollando su propio núcleo llamado Hurd. Este núcleo ha sufrido a lo largo de los años muchísimas modificaciones y, aunque es funcional el configuraciones básicas, aún no está completamente desarrollado y es muy limitado en muchos aspectos.
"Es mejor saberlo y no necesitarlo; que necesitarlo y no saberlo"

lotoxs

  • Uploaders
  • Master Mundotero
  • *
  • Mensajes: 436
  • Karma: +124/-0
  • El amor es mas que una ilusión
    • Ab exordio generis humani
Re:El Taller (sobre Linux)
« Respuesta #3 : 15 de mayo de 2010, 07:34:36 pm »
FSF

La Free Software Fundation es la fundación derivada de GNU que se encarga de velar por el software libre, así como de ayudar a la comunidad de software libre a desarrollar y difundir aplicaciones libres.

La FSF fue creada en 1985 por Richard Stallman y otros entusiastas del software libre que se unieron al proyecto GNU idearon esta fundación para buscar un método de financiamiento del desarrollo de software libre.

Esta fundación provee de una serie de servicios a la comunidad de software libre. Las vamos a ver a continuación.

Alojamiento de proyectos

Una de las tareas principales es dotar a los proyectos de software libre de un lugar donde poder centralizar el desarrollo, la difusión y los servicios asociados al software. GNU desarrolló un software de forja de proyectos llamado Savannah que es el utilizado por la FSF para dotar de servicios de gestión, difusión, descargas, desarrollo y atención a los usuarios para proyectos de software. En el bloque III veremos qué forjas son las más utilizadas junto a esta, así como otros métodos de encontrar software libre.
 
Formación legal

Como la mayoría de proyectos de software libre utiliza una de las licencias de GNU, la FSF se vio obligada a desarrollar cursos y formación para abogados de manera que estos pudieran obtener la información necesaria para poder defender las licencias GNU en los tribunales.

Directorios de software

Aunque GNU aglutina una parte importante del software libre disponible, no es ni mucho menos la única fuente de software de código abierto, por lo que mantiene un completo directorio de software libre para que podamos hacer búsquedas independientemente de dónde esté localizado el software, sea GNU o no.
FSF Award for the Advancement of Free Software

La FSF premia cada año a aquel software libre que avanza en el uso de las nuevas tecnologías. Este premio se concede al software libre que mejor representa el esfuerzo para desarrollar software que mejor se adapte a las nuevas tendencias tecnológicas.
 
Documentación

Una parte importante de los recursos de la FSF va destinada al desarrollo y la distribución de documentación para aplicaciones de software libre.

Por una parte, se encarga de crear manuales en papel y venderlos para aquellas personas o entidades que necesiten del manual impreso en formato libro. Además estas acciones son una de las fuentes de ingreso de esta organización.

Por otra parte, se dedican recursos en la elaboración de documentación para aquellos proyectos, principalmente GNU, que aún no disponen de ella o que es de muy poca calidad. De hecho, incluso se contratan recursos humanos para realizar esta tarea cuando los proyectos de software libre no puede conseguirlo de otra manera.

Software GNU

El software GNU es mantenido prácticamente a través de voluntarios, pero hay un núcleo de desarrolladores de alto renombre encargados de gestionar los cambios que se realizan. Estos desarrolladores forman parte de la FSF generalmente y, por tanto, son los encargados de velar y desarrollar nuevo software GNU. Casi todo el software de GNU tiene un soporte directo a través de esta fundación. Hay que recordar que la FSF surgió, precisamente, al agruparse parte de los desarrolladores principales de GNU.

Licencias GNU y cumplimiento de las licencias GNU

Finalmente, la FSF tiene un cometido que podríamos considerar especial: defender y velar por el cumplimiento de las licencias GNU. De hecho, la FSF tiene recursos suficientes para personarse en los casos en los que una licencia GNU es violada de manera que los proyectos de software libre, bajo unas determinadas condiciones, puedan acogerse a este servicio. En este caso la FSF actúa como un vehículo legal para proteger al software libre de incumplimiento de licencias. Casi todas las demandas interpuestas contra empresas de software debido a licencias GNU se han resuelto a través de la FSF y, muchas veces, a través del diálogo.

LINUX

A pesar de lo que mucha gente piensa, Linux no es un sistema operativo en sí mismo. Linux es un núcleo monolítico de software libre pero, únicamente con Linux no podríamos realizar todas las tareas que podemos hacer actualmente con un sistema operativo. Es decir, lo que generalmente es conocido como Linux, es en realidad un conjunto de aplicaciones y librerías que se ejecutan sobre el núcleo Linux. De todas maneras, y debido al uso que se le da al nombre, habitualmente cuando se habla de Linux se hace tanto del núcleo como de todo el sistema y deberemos discriminar su significado en función del contexto.

Si nos ceñimos al significado estricto de Linux, se trata de un núcleo monolítico desarrollado a partir de 1991 por Linus Torvalds. Este finlandés, basándose en un núcleo desarrollado en el ámbito académico llamado Minix, desarrolló una versión primaria que liberó a la comunidad del software libre utilizando la licencia GPL. Gracias a esta licencia, y debido a cómo la comunidad de software libre acogió el núcleo, más y más desarrolladores se fueron incorporando al desarrollo de él, de manera que en cuestión de 3 años se consiguió un núcleo suficientemente estable como para competir con los núcleos privativos tipo UNIX de la época. En este sentido, el núcleo Linux junto al software desarrollado por GNU fue el impulso definitivo para la creación del sistema operativo GNU/Linux que conocemos actualmente y, de hecho, ni GNU ni Linux serían tan utilizados como lo son hoy en día si no fuera gracias a esa simbiosis perfecta de la que hacen gala.

Distribución

Cuando en el mundo del software libre se habla de distribuciones, nos referimos al empaquetado de un conjunto de aplicaciones software que, en un todo y con una debida coordinación entre ellos forma un sistema operativo libre completo.

Grosso modo una distribución no es más que un conjunto de aplicaciones junto al núcleo más un conjunto de librerías que necesitan esas aplicaciones para funcionar correctamente. Evidentemente, cada distribución modifica las aplicaciones en función de la imagen corporativa o el tipo de público al que vaya dirigida la distribución. Estos cambios afectan desde la imagen o la estética hasta modificaciones específicas del núcleo del sistema.

Por tanto, a la hora de elegir una distribución, no es lo mismo utilizar una destinada al uso en el escritorio que otra preparada para servidores. Aunque todo o casi todo el software suele funcionar independientemente del tipo de distribución elegida, es posible que algunas funcionen mejor en una u otra. Por ejemplo, las distribuciones de escritorio sueles estar preparadas para ejecutar múltiples aplicaciones en tiempo real (no confundir con sistemas de tiempo real) para mejorar la experiencia del usuario, en cambio las versiones servidor permiten están modificadas para sacar el máximo partido a los parches de seguridad o exprimir al máximo el hardware para cometidos específicos, como por ejemplo el uso de un gran número de conexiones en red o el acceso a solo cierto tipo de recursos.
"Es mejor saberlo y no necesitarlo; que necesitarlo y no saberlo"

lotoxs

  • Uploaders
  • Master Mundotero
  • *
  • Mensajes: 436
  • Karma: +124/-0
  • El amor es mas que una ilusión
    • Ab exordio generis humani
Re:El Taller (sobre Linux)
« Respuesta #4 : 16 de mayo de 2010, 08:57:40 am »
HISTORIA

Para finalizar este bloque, vamos a realizar un pequeño repaso a la historia del software libre. Tenemos que tener en cuenta que el software, aunque nos parezca que el modelo de negocio privativo es el habitual, en los inicios no fue así, sino que durante la década de los 60 y 70 gran parte del software era entregado con el código abierto por los desarrolladores de los computadores.

Fue posteriormente, sobre todo desde la aparición de UNIX y CPM, cuando empezó a separarse la distribución del software y el hardware, de manera que empezaba a ser factible la venta de software por un lado, y la de hardware por otro.

A continuación vamos a ver una pequeña lista de eventos ocurridos que han sido relevantes en la historio del software libre:

1969 –  Creación de ARPANET

1970 –  Creación de UNIX en los Laboratorios Bell

1979 –  Creación de BSD en la Universidad de California

1983 –  Richard Stallman inicia el movimiento GNU

1984 –  Se crea el entorno gráfico X Window System

1985 –  Se funda la Free Software Fundation

1989 –  GNU está casi completo, pero falta el núcleo

1991 –  Se inicia el desarrollo del núcleo Linux por Linus Torvalds

1992 –  Primera distribución GNU/Linux: SLS

1993 –  Creación de las distribuciones Debian y Slackware

1994 –  Creación de Redhat y Suse

1996 –  Inicio del proyecto KDE

1997 –  Inicio del movimiento Open Source.

           Creación de la OSI. Inicio del proyecto GNOME

1998 –  Netscape es liberado como software libre

2002 –  Creación de Gentoo y Linex

2003 –  Creación de Knoppix y Fedora Core

2004 –  Creación de Ubuntu


Por supuesto, ha habido muchos cambios desde 2004, pero los más relevantes, sobre todo el inicio o surgimiento de GNU o las grandes distribuciones GNU/Linux están contempladas. De hecho, desde 2004 y gracias al concepto de metadistribución, han sido muchas las nuevas distribuciones que han aparecido.

Hay que recordar que el software libre trata sobre libertad, y la libertad de elección entre varios proyectos es, quizá, una de las que el usuario más se beneficia.

BLOQUE 2. LICENCIAS

Introducción

Para poder conocer y utilizar el software libre, tenemos que ir un poco más allá, de manera que podamos entender legalmente las licencias a las que está sometido, la diferencia entre ellas y las posibles tretas legales que se nos puedan plantear.

Además, si somos desarrolladores de software y queremos desarrollar herramientas o librerías para liberarlas como software libre, es interesante conocer las distintas posibilidades a la hora de elegir una licencia u otra, ya que de dicha elección dependerá en gran medida dejar o no que otras personas tengan capacidad para difundir o modificar el software.

LICENCIAS LIBRES

Hay gran cantidad de licencias libres, por lo tanto sólo vamos a estudiar una parte en este curso. Como referencia, podemos tomar el listado de licencias del OpenSource Institute, que se encarga de comprobar distintas licencias para ver si cumplen con los principios del software libre y el movimiento open source.

La lista podemos verla en: http://www.opensource.net/licenses/category y contiene algunas de las licencias. Hay que destacar que recientemente, algunas de las licencias que Microsoft ha utilizando para liberar algunas partes de software son fundamentalmente licencias libres y, por tanto, están incluidas dentro del índice de licencias.

¿Cómo se decide si una licencia es libre?

Una licencia de software es libre si cumple con las cuatro libertades del software libre o con el decálogo que expusimos anteriormente sobre el open source. Como muchas veces, evaluar si se cumple o no con estas ideas o conceptos es muy complicado, podemos:

Ver si la licencia es libre por definición: Algunas licencias de software son libres por definición, ya que han surgido desde las entrañas del propio movimiento del software libre. Un ejemplo claro son las licencias GNU.

Comprobar si está incluida dentro de las licencias listadas en el OSI: El OSI se encarga de elaborar y comprobar minuciosamente esta lista, como hemos comentado anteriormente, para comprobar que cumple con las ideas del software libre y el movimiento open source.

¿Por qué son necesarias las licencias de software?

La licencia del software es la encargada de establecer los límites legales en el uso del software. En la mayoría de los países occidentales, los derechos de autor son restrictivos y son reservados implícitamente por el autor de ese software mientras no se diga lo contrario.

Este hecho, limitar los derechos de los usuarios por defecto excepto en aquellos casos en que se exprese lo contrario es lo que dio lugar a las licencias de software. Las licencias de software privativo utilizan la licencia para expresar exactamente qué se puede hacer con el software, en cambio las licencias de software libre se encargan de liberar ciertos derechos sobre el software de manera que el usuario tenga capacidad para poder hacer uso de unos derechos que, de otra forma, no podría ejercer.

Generalmente las licencias de software libre se encargan, por tanto, de precisar los derechos que tienen aquellas personas que utilizan el software: uso, distribución, copia, lucro, etc.
"Es mejor saberlo y no necesitarlo; que necesitarlo y no saberlo"

lotoxs

  • Uploaders
  • Master Mundotero
  • *
  • Mensajes: 436
  • Karma: +124/-0
  • El amor es mas que una ilusión
    • Ab exordio generis humani
Re:El Taller (sobre Linux)
« Respuesta #5 : 16 de mayo de 2010, 08:58:57 am »
COPYLEFT

Antes de pasar a estudiar algunas de las distintas licencias de software libre que nos podemos encontrar, hay que situar estas licencias en el entorno en que surgieron.

Cuando el movimiento del software libre comenzaba, estaba de moda liberar los trabajos mediante copyleft. Con el copyleft trata de cambiar la mentalidad hasta ese momento en que se retienen todos los derechos, de manera que se liberar derechos para aquellos que utilizan el software. De esta manera, se intenta dar más libertad a aquellos que deseen realizar trabajos derivados del software o realizar tareas de difusión e incluso vender el software.

De esta forma, la manera de ver el copyright cambia desde:

“Copyright. All rights reserved.”
Derecho de copia. Todos los derechos reservados.

A esta nueva visión de ver el copyright:

“Copyleft. All rights reversed.”
Izquierdos de copia. Todos los derechos invertidos.

Este párrafo, que se puede encontrar en mucho software liberado como copyleft y que comenzó como un juego de palabras fue tomando consistencia, hasta que se inició un movimiento derivado de él que cambiaría la forma de ver el software.

De hecho, esta nueva perspectiva permitiría a Richard Stallman comenzar el movimiento GNU y, posteriormente las licencias GNU, con las que se pretende proteger al copyleft del exceso de libertad que puede ser contraproducente para la comunidad de desarrolladores de software libre. De hecho, el copyleft como tal no cumple con las cuatro libertades enumeradas por GNU para contemplar a un software como libre. Más adelante veremos cómo se desarrollaron nuevas licencias que hacían compatible esta manera de ver el software y que se ajusta más al software libre tal y como lo conocemos hoy en día.

La licencia copyleft típica

“Nombre del software. Copyright Nombre del autor. Año XXXX.
Este software es copyleft, puede usarlo con cualquier propósito.”

Esta licencia, que conceptualmente parece sencilla, tiene una serie de inconvenientes importantes que no protegen al autor ni al software. Por una parte, el autor puede perder la autoría, en el sentido en que la licencia no obliga a mantener o dar crédito al autor. Además, dado que el software se ejecuta sobre una plataforma de hardware, puede haber una serie de garantías implícitas con las que el autor posiblemente no haya contado.

Es importante saber también que se permiten trabajos propietarios completamente privativos, con lo que se pueden perder aportaciones importantes al software ya que esos trabajos derivados no tienen la obligación de contribuir al proyecto original. Esta licencia es tan permisiva, que incluso se permite relicenciar el software sin ni siquiera pedir permiso.

LICENCIA MIT

La licencia MIT, también conocida como MIT/X11 debido a que el MIT (Instituto Tecnológico de Massachusetts) utiliza muchas otras licencias, permite casi una libertad total. En este aspecto es muy similar a la licencia copyleft con algunas modificaciones.

La licencia MIT añade una serie de cláusulas que protegen en parte al autor, aunque como veremos posteriormente, esta cláusula se puede saltar fácilmente. Una característica importante es que esta licencia introduce un blindaje ante garantías implícitas y expresas, con lo que en principio el autor está legalmente protegido contra ellas. Además establece algunas cláusulas más, como que el software no tiene por qué adaptarse con ningún propósito en particular o el autor no tiene que hacerse cargo de ningún daño derivado del uso del software.

Aunque añade un conjunto de cláusulas interesantes, tiene bastantes pegas, desde el punto de vista del autor, ya que:

Permite productos derivados completamente privativos.

Se permite relicenciar el código.

Se puede usar el renombre de los autores para promocionar, por ejemplo, el software derivado.

La documentación tiene que tener la misma licencia, o al menos aparecer en ella.

No obliga a distribuir el código fuente.


Finalmente, hay que decir que esta licencia se considera una metalicencia. Las metalicencias son aquellas que sirven de plantilla para generar licencias similares siguiendo los mismo criterios pero que no son compartidas por distintos proyectos de software libre, ya que difieren ligeramente. Es decir, cada vez que utilizamos la licencia, lo que estamos haciendo realmente es crear una licencia basada en esta para licenciar nuestro software. Más adelante veremos cómo existen varias licencias de este tipo y que son muy comunes.
"Es mejor saberlo y no necesitarlo; que necesitarlo y no saberlo"

 

Copyright © Diseño Staff Mundote