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 computadores 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 privativos, 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 Foundation (FSF). Stallman 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 [1].
El termino free, traducido al castellano, significa tanto libre como gratis, por eso muchas veces suelen confundirse el freeware con el software libre aunque entre ambos existen notables diferencias.
domingo, 15 de julio de 2007
¿Cómo se protege?
Existe una cierta controversia sobre la seguridad del software libre frente al software no libre (siendo uno de los mayores asuntos la seguridad por oscuridad). Un método usado de forma habitual para determinar la seguridad relativa de los productos es determinar cuántos fallos de seguridad no parcheados existen en cada uno de los productos involucrados. Por lo general los usuarios de este método recomiendan que cuando un producto no proporcione un método de parchear los fallos de seguridad, no se use dicho producto, al menos hasta que no esté disponible un arreglo. A fecha de Diciembre de 2004 el sitio de seguridad Secunia cuenta cero fallos de seguridad no parcheados (no arreglados aún) para los productos software libre más usados para navegación de internet, productividad de oficina y e-mail -Mozilla Firefox, OpenOffice.org y Mozilla Thunderbird-, en comparación con los varios fallos de seguridad aún no corregidos para cada uno de los tres principales productos no libres equivalentes (hechos por Microsoft) - Internet Explorer, Microsoft Office y Outlook Express.
Alguien puede pensar: Tomo un programa que es libre, le
cambio el nombre, le pongo copyright y ¡a vender!
No, el Software Libre está protegido por el "copyleft".
¿Qué es el "copyleft"?
Es un copyright, pero en lugar de decir "prohibido toda copia por
cualquier medio blablablabla..." dice "permitida la copia
blablablabla".
El copyleft es un método para convertir un programa en software libre y exigir que todas las versiones del mismo, modificadas o ampliadas, también lo sean.La forma más sencilla de hacer que un programa sea libre es ponerlo en el dominio público, sin derechos reservados. Esto permite a la gente compartir el programa y sus mejoras, si así lo desean. Pero asimismo permite, a quienes no crean en la cooperación, convertir el programa en software propietario. Pueden hacer cambios, muchos o pocos, y distribuir su resultado como un producto propietario. Las personas que reciben el programa con esas modificaciones no gozan de la libertad que les dio el autor original; el intermediario les ha despojado de ella.
Alguien puede pensar: Tomo un programa que es libre, le
cambio el nombre, le pongo copyright y ¡a vender!
No, el Software Libre está protegido por el "copyleft".
¿Qué es el "copyleft"?
Es un copyright, pero en lugar de decir "prohibido toda copia por
cualquier medio blablablabla..." dice "permitida la copia
blablablabla".
El copyleft es un método para convertir un programa en software libre y exigir que todas las versiones del mismo, modificadas o ampliadas, también lo sean.La forma más sencilla de hacer que un programa sea libre es ponerlo en el dominio público, sin derechos reservados. Esto permite a la gente compartir el programa y sus mejoras, si así lo desean. Pero asimismo permite, a quienes no crean en la cooperación, convertir el programa en software propietario. Pueden hacer cambios, muchos o pocos, y distribuir su resultado como un producto propietario. Las personas que reciben el programa con esas modificaciones no gozan de la libertad que les dio el autor original; el intermediario les ha despojado de ella.
¿QUE ES EL SOFTWARE LIBRE Y NETIQUETAS?
Dentro de la definición de lo que es el Software Libre se trata de referirse a la libertad de los usuarios para ejecutar copiar, distribuir, estudiar, cambiar y mejorar el software. De tal modo que sea más preciso y dentro de este se refiere a cuatro libertades de los usuarios del software que son
-La libertad de usar el programa, con cualquier propósito.
-La libertad de estudiar cómo funciona el programa y poder adaptarlo a tus necesidades.
-El acceso al código fuente es una condición previa para esto. La libertad de distribuir copias, con lo que puedes ayudar a tu comunidad.
-La libertad de mejorar el programa y hacer públicas las mejoras a los demás de modo que toda la comunidad se beneficie
NETIQUETAS
Las netiquetas se refieren al conjunto de normas de buena conducta en internet, es esencial para los usuarios reconocer su responsabilidad respecto al acceso a los servicios y ordenadores que son de via al internet. cada usuario es el unico responsable de sus acciones cuando accede a estos servicios
El internet o la red no son los unicos ordenadores por el contrario se puden componer de miles de redes individuales que nos permiten el paso de la formacion a su vez cada una de estas subredes utiliza una politica y procedimiento particular, por lo que las acciones permitidas en una subred pueden ser controladas o incluso prohibidas en otras subredes.
-La libertad de usar el programa, con cualquier propósito.
-La libertad de estudiar cómo funciona el programa y poder adaptarlo a tus necesidades.
-El acceso al código fuente es una condición previa para esto. La libertad de distribuir copias, con lo que puedes ayudar a tu comunidad.
-La libertad de mejorar el programa y hacer públicas las mejoras a los demás de modo que toda la comunidad se beneficie
NETIQUETAS
Las netiquetas se refieren al conjunto de normas de buena conducta en internet, es esencial para los usuarios reconocer su responsabilidad respecto al acceso a los servicios y ordenadores que son de via al internet. cada usuario es el unico responsable de sus acciones cuando accede a estos servicios
El internet o la red no son los unicos ordenadores por el contrario se puden componer de miles de redes individuales que nos permiten el paso de la formacion a su vez cada una de estas subredes utiliza una politica y procedimiento particular, por lo que las acciones permitidas en una subred pueden ser controladas o incluso prohibidas en otras subredes.
Programas del Software Libre
Programas gratis (software libre):
Kernel 2.6.13
KDE 3.4.2
Gnome 2.10.2
OpenOffice 2.0
Scribus 1.2.2
Firefox 1.0.7 (navegador)
Mozilla 1.7.12, (navegador)
Gimp 2.2.8, (retoque fotográfico)
Konqueror 3.4.2
Kdetv 0.8.8 (para ver la televisión)
Amarok 1.3.3 (para escuchar música)
Kaffeine 0.7.1 (para reproducir videos)
XMMS 1.2.10 (para escuchar música)
Xine 1.0.1 (para reproducir DVD y otros formatos)
Koffice 1.4.2, que és un altre paquet ofimàtic
Quanta Plus 3.4.2 (para el diseño de páginas web)
Kdevelop 3.2.2 (programación)
Kstars 1.1.1 (para ver las estrellas)
Ktouch 1.4 (`para aprender a teclear)
Kalzium 1.3.1
Kopete 0.10.3 (mensajería instantánea)
Kmldonkey 0.10 (P2P)
Kontact 1.1.2 con KMail 1.8.2 (para gestión del correo electrónico), KOrganizer 3.4.2 (calendario), KAddresbook 3.4.2 (agenda), Knotes 3.4.2 (notas), KNode 0.9.2 (leer notícias), Kpilot 3.4.2 (palms), Kalarm 1.2.9 (alarma).
Evolution 2.2.3 programa de correo electrónico y agenda
Kino 0.76 parar producir vídeos
Blender 2.37a programa parar 3D
Ardour 0.99 estación de audio digital
Rosergarden4 1.0 secuenciador de audioi MIDI, editor musical
Frozen-Bubble 1.0.0 juegos
Descargar programas gratis para linux:
- > Bluefish (programa gratis para linux, editor de HTML y CSS)
- > GNUWin (descargar programas gratis para linux en español)
- > ibiblio / Public FTP Archives
- > Linux Art and Design Resources
- > directorio de recursos linux (inglés)
- > linux en directorio DMOZ
- > buscador google de recursos linux
- > Càtix (descargar software libre) en catalán
Programas gratis (software free):
- > Gimp alternativa a Photoshop bajo Linux
- > GNOME Hispano
Programación eXtrema, software libre y aplicabilidad
La programación extrema es una metodología de desarrollo ligera basada en una serie de valores y una docena de prácticas de, llamémoslas así, buenas maneras que propician un aumento en la productividad a la hora de generar software. Por otro lado, el software libre es un movimiento nacido de la idea de que los usuarios tienen una serie de derechos sobre el software que permiten modificarlo, adaptarlo y redistribuirlo. Estas características han hecho que el desarrollo de software libre haya desembocado en unos métodos de desarrollo informales similares a los que se pregonan en la programación extrema y que serán presentados, estudiados y comparados en este artículo. Se hará especial énfasis en las diferencias que hay entre los dos métodos y lo que puede aprender el software libre de la programación extrema.
La programación extrema se basa en una serie de reglas y principios que se han ido gestando a lo largo de toda la historia de la ingeniería del software. Usadas conjuntamente proporcionan una nueva metodología de desarrollo software que se puede englobar dentro de las metodologías ligeras, que son aquéllas en la que se da prioridad a las tareas que dan resultados directos y que reducen la burocracia que hay alrededor tanto como sea posible (pero no más) [Fowler].
kernel
El kernel ó núcleo de linux se puede definir como el corazón de este sistema operativo. Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.
Según la teoría clásica de sistemas operativos entendemos un S.O. como un intermediario entre los programas de usuario y el hardware, es decir el software encargado de proporcionar el entorno necesario dónde será posible ejecutar otros programas. Un símil adecuado podrían ser los mandos del salpicadero de un coche a través de los cuales podremos manejarlo con la soltura suficiente. Cada aplicación de usuario se ejecuta sobre la máquina utilizando los que llamamos un proceso (que podría entenderse como un programa en ejecución). Pero es necesario ser consciente de que existe mucho bajo del concepto de proceso. No es necesario decir que nuestra máquina, realmente (como norma general) no posee más que un microprocesador, y este no es capaz de ejecutar más de una instrucción por ciclo2.2. Sin embargo todo el que ha trabajado con cualquier sistema operativo medianamente serio a sido capaz de simultanear entre varias aplicaciones y tenerlas ejecutando en paralelo. ¿ Cómo es esto posible ? o mejor dicho ¿ Quién es el responsable de que esto ocurra ?
Imaginemos por un momento una carrera de tortugas con varios carriles por dónde circularán para intentar obtener la victoria. Ahora, sin embargo, sólo existe un carril por dónde, evidentemente, sólo puede circular una tortuga en un momento determinado. En esta extraña competición se nos encarga la ardua tarea de gestionar ese único carril para que las tortugas puedan correr en él y efectuar una competición digna. Podríamos hacer lo siguiente: tomamos una tortuga al azar y la colocamos en la línea de partida, esta comenzará a moverse; tras un período fijado de tiempo anotamos su posición, la sacamos y tomando de nuevo otra aleatoriamente para colocarla en la línea de partida. Si utilizamos el mismo intervalo de tiempo y procuramos que todas las tortugas puedan acceder a la pista por igual (colocándolas haciendo cola por ejemplo) podríamos simular una carrera con un sólo carril.
Esta pequeña metáfora refleja una de las funciones del núcleo de un sistema operativo, el planificador de procesos. Pretendemos mostrar al sistema operativo como el software encargado de proporcionar el soporte necesario para habilitar la ejecución de aplicaciones y compartición de recursos como la memoria o la CPU (el único carril de nuestro circuito).
Podemos definir un kernel entonces como el software que constituye el núcleo del sistema operativo, dónde se realizan las funcionalidades básicas como la gestión de procesos, la gestión de memoria y de entrada salida. Pero entonces, ¿un kernel es en sí un sistema operativo? No realmente, depende de la definición de sistema operativo. Hay quién afirma que el shell también forma parte de él. Desde nuestro punto de vista la pregunta anterior no es cierta, dado que existen otros conceptos que iremos comprendiendo a lo largo del artículo y que constituyen, en sí mismos piezas fundamentales del sistemas operativo.
Gambas
Es un lenguaje de programación libre derivado de BASIC. Es similar al producto de Microsoft Visual Basic y se distribuye con licencia GNU GPL. Aunque desde otro punto de vista, está muy inspirado también por Java.
Permite crear formularios, botones de comandos, cuadros de texto o enlazar bases de datos como MySQL, PostgreSQL o SQLite.
Es una herramienta sencilla e interesante para estudiantes de la programación más visual o gráfica.
Ejemplo de Break:
PUBLIC SUB Button1_Click()
DIM X AS Integer
FOR X = 1 TO 1000
IF X = 200 THEN BREAK
PRINT X
NEXT
END
Kernel 2.6.13
KDE 3.4.2
Gnome 2.10.2
OpenOffice 2.0
Scribus 1.2.2
Firefox 1.0.7 (navegador)
Mozilla 1.7.12, (navegador)
Gimp 2.2.8, (retoque fotográfico)
Konqueror 3.4.2
Kdetv 0.8.8 (para ver la televisión)
Amarok 1.3.3 (para escuchar música)
Kaffeine 0.7.1 (para reproducir videos)
XMMS 1.2.10 (para escuchar música)
Xine 1.0.1 (para reproducir DVD y otros formatos)
Koffice 1.4.2, que és un altre paquet ofimàtic
Quanta Plus 3.4.2 (para el diseño de páginas web)
Kdevelop 3.2.2 (programación)
Kstars 1.1.1 (para ver las estrellas)
Ktouch 1.4 (`para aprender a teclear)
Kalzium 1.3.1
Kopete 0.10.3 (mensajería instantánea)
Kmldonkey 0.10 (P2P)
Kontact 1.1.2 con KMail 1.8.2 (para gestión del correo electrónico), KOrganizer 3.4.2 (calendario), KAddresbook 3.4.2 (agenda), Knotes 3.4.2 (notas), KNode 0.9.2 (leer notícias), Kpilot 3.4.2 (palms), Kalarm 1.2.9 (alarma).
Evolution 2.2.3 programa de correo electrónico y agenda
Kino 0.76 parar producir vídeos
Blender 2.37a programa parar 3D
Ardour 0.99 estación de audio digital
Rosergarden4 1.0 secuenciador de audioi MIDI, editor musical
Frozen-Bubble 1.0.0 juegos
Descargar programas gratis para linux:
- > Bluefish (programa gratis para linux, editor de HTML y CSS)
- > GNUWin (descargar programas gratis para linux en español)
- > ibiblio / Public FTP Archives
- > Linux Art and Design Resources
- > directorio de recursos linux (inglés)
- > linux en directorio DMOZ
- > buscador google de recursos linux
- > Càtix (descargar software libre) en catalán
Programas gratis (software free):
- > Gimp alternativa a Photoshop bajo Linux
- > GNOME Hispano
Programación eXtrema, software libre y aplicabilidad
La programación extrema es una metodología de desarrollo ligera basada en una serie de valores y una docena de prácticas de, llamémoslas así, buenas maneras que propician un aumento en la productividad a la hora de generar software. Por otro lado, el software libre es un movimiento nacido de la idea de que los usuarios tienen una serie de derechos sobre el software que permiten modificarlo, adaptarlo y redistribuirlo. Estas características han hecho que el desarrollo de software libre haya desembocado en unos métodos de desarrollo informales similares a los que se pregonan en la programación extrema y que serán presentados, estudiados y comparados en este artículo. Se hará especial énfasis en las diferencias que hay entre los dos métodos y lo que puede aprender el software libre de la programación extrema.
La programación extrema se basa en una serie de reglas y principios que se han ido gestando a lo largo de toda la historia de la ingeniería del software. Usadas conjuntamente proporcionan una nueva metodología de desarrollo software que se puede englobar dentro de las metodologías ligeras, que son aquéllas en la que se da prioridad a las tareas que dan resultados directos y que reducen la burocracia que hay alrededor tanto como sea posible (pero no más) [Fowler].
kernel
El kernel ó núcleo de linux se puede definir como el corazón de este sistema operativo. Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.
Según la teoría clásica de sistemas operativos entendemos un S.O. como un intermediario entre los programas de usuario y el hardware, es decir el software encargado de proporcionar el entorno necesario dónde será posible ejecutar otros programas. Un símil adecuado podrían ser los mandos del salpicadero de un coche a través de los cuales podremos manejarlo con la soltura suficiente. Cada aplicación de usuario se ejecuta sobre la máquina utilizando los que llamamos un proceso (que podría entenderse como un programa en ejecución). Pero es necesario ser consciente de que existe mucho bajo del concepto de proceso. No es necesario decir que nuestra máquina, realmente (como norma general) no posee más que un microprocesador, y este no es capaz de ejecutar más de una instrucción por ciclo2.2. Sin embargo todo el que ha trabajado con cualquier sistema operativo medianamente serio a sido capaz de simultanear entre varias aplicaciones y tenerlas ejecutando en paralelo. ¿ Cómo es esto posible ? o mejor dicho ¿ Quién es el responsable de que esto ocurra ?
Imaginemos por un momento una carrera de tortugas con varios carriles por dónde circularán para intentar obtener la victoria. Ahora, sin embargo, sólo existe un carril por dónde, evidentemente, sólo puede circular una tortuga en un momento determinado. En esta extraña competición se nos encarga la ardua tarea de gestionar ese único carril para que las tortugas puedan correr en él y efectuar una competición digna. Podríamos hacer lo siguiente: tomamos una tortuga al azar y la colocamos en la línea de partida, esta comenzará a moverse; tras un período fijado de tiempo anotamos su posición, la sacamos y tomando de nuevo otra aleatoriamente para colocarla en la línea de partida. Si utilizamos el mismo intervalo de tiempo y procuramos que todas las tortugas puedan acceder a la pista por igual (colocándolas haciendo cola por ejemplo) podríamos simular una carrera con un sólo carril.
Esta pequeña metáfora refleja una de las funciones del núcleo de un sistema operativo, el planificador de procesos. Pretendemos mostrar al sistema operativo como el software encargado de proporcionar el soporte necesario para habilitar la ejecución de aplicaciones y compartición de recursos como la memoria o la CPU (el único carril de nuestro circuito).
Podemos definir un kernel entonces como el software que constituye el núcleo del sistema operativo, dónde se realizan las funcionalidades básicas como la gestión de procesos, la gestión de memoria y de entrada salida. Pero entonces, ¿un kernel es en sí un sistema operativo? No realmente, depende de la definición de sistema operativo. Hay quién afirma que el shell también forma parte de él. Desde nuestro punto de vista la pregunta anterior no es cierta, dado que existen otros conceptos que iremos comprendiendo a lo largo del artículo y que constituyen, en sí mismos piezas fundamentales del sistemas operativo.
Gambas
Es un lenguaje de programación libre derivado de BASIC. Es similar al producto de Microsoft Visual Basic y se distribuye con licencia GNU GPL. Aunque desde otro punto de vista, está muy inspirado también por Java.
Permite crear formularios, botones de comandos, cuadros de texto o enlazar bases de datos como MySQL, PostgreSQL o SQLite.
Es una herramienta sencilla e interesante para estudiantes de la programación más visual o gráfica.
Ejemplo de Break:
PUBLIC SUB Button1_Click()
DIM X AS Integer
FOR X = 1 TO 1000
IF X = 200 THEN BREAK
PRINT X
NEXT
END
Marco legal del software libre
La libertad de información es un derecho consagrado en nuestra constitución. La legislación y jurisprudencia española, tiende a entender dicha libertad en un sentido amplio, proviniendo las principales limitaciones a la protección al honor y la intimidad. De hecho temas como la ingeniería inversa, la realización de copias de seguridad, el uso a prueba del software, etc son concebidos en un sentido permisivo en tanto que están autorizados siempre que no lesionen los derechos del propietario.
A partir de esta concepción tenemos una serie de leyes orgánicas que acotan y definen la libertad de información:
La Ley General de Telecomunicaciones, establece la libre recepción de señales, con independencia de su emisor. Las restricciones se aplican a los emisores, en forma de licencias, tasas, control del modo de emisión, etc... Actualmente esta en estudio la posible aplicación de dicha ley a sistemas de transmisión de datos tipo Internet. El problema es que la aplicación de dicha ley a un entorno transnacional es de difícil solución. Por ello, la Comisión Europea esta realizando diversos estudios sobre el tema, para uniformizar la legislación Un aspecto importante de la LGT es que establece la titularidad de las emisiones: La recepción de la señal es libre. No obstante su re-emisión esta condicionada a la autorización del propietario. La aplicación a la transmisión de datos por Internet es obvia, y uno de los puntos claves de la legislación sobre la circulación de datos por la red Otro aspecto es el del concepto de portador de la señal: se refiere al concepto del canal por donde circula la información. El portador debe garantizar el "derecho de paso", y poner los medios técnicos para que la señal llegue a su destinatario. En lenguaje Internet: el proveedor, debe garantizar la conectividad y encaminamiento.
La Ley Orgánica Reguladora del Tratamiento Automatizado de Datos (LORTAD), no sólo trata temas de protección de la intimidad, sino de garantías de integridad, autenticidad, etc de los datos que se transfieren. Los temas de seguridad, criptografía, comunicaciones seguras, dinero en Internet, etc caen bajo el paraguas de dicha ley. En este aspecto, la legislación europea difiere grandemente entre los diversos países. Tenemos así el ejemplo de Francia, donde toda comunicación encriptada no autorizada está prohibida (?), o bien países como Finlandia, donde cada uno puede hacer casi lo que quiera. La Comisión Europea esta estudiando una serie de soluciones intermedias, donde se establece una cierta libertad a cambio de restricciones en diversos campos. Caso especial de estudio es el de importación y exportación de técnicas de criptografía Otro campo de aplicación es el de los contratos electrónicos y el intercambio electrónico de documentación. Existe una amplia normativa que regula el comercio en Internet. Se regula el uso de firmas digitales y se establece el concepto de emisor de certificados digitales de autenticidad Un último aspecto de la LORTAD, trata sobre los derechos y deberes del propietario de las bases de datos, así como la reglamentación sobre su uso. Diferencia entre la titularidad de la base de datos y la titularidad de los contenidos
La ley de protección al honor y la intimidad, es de aplicación a los sitios web. La pornografía es ilegal, y los sitios web residentes en España caen bajo la jurisdicción de las leyes españolas, con independencia del usuario Junto con la LORTAD, se establecen cláusulas de confidencialidad, autenticidad, accesibilidad, etc a los diversos datos, así como se regula la transferencia y compartición de dicha información Se establece el concepto de responsabilidad civil, en el sentido de que existen responsabilidades penales por el uso indebido o falsedad en los datos. Desgraciadamente la responsabilidad civil no está extendida al software, por lo que bajo la legislación Española, aún no es posible demandar al creador de un software erróneo, ni reclamar daños y perjuicios por un funcionamiento incorrecto o impropio de un programa
Es de notar que realmente no existe ninguna ley especifica sobre la información en Internet. La jurisprudencia existente utiliza la legislación existente en la actualidad referente a otras áreas, lo que frecuentemente provoca colisiones e incongruencias entre varias leyes
De especial interés es la Ley de Propiedad intelectual, y su aplicación al software. Básicamente, la jurisprudencia actual parte de identificar el concepto de producto software con el de el creación literaria o artística: el software es una cosa que se utiliza como un libro: una sola persona a la vez en un único sitio. Resulta curioso el artículo de la Ley de Contratos del Estado, que permite a éste utilizar software legalmente adquirido del modo que considere más conveniente con independencia del uso original... esto desemboca en licencias "campus" para universidades y organismos públicos
Recientes actualizaciones han incluido el concepto de software, y de programa de ordenador. Se establece la titularidad del software, los derechos de uso y copia. Se garantiza que el derecho de uso no conlleva la transferencia de titularidad. Se define el concepto de licencia y las condiciones de uso y restricción de uso del producto software. Especial mención merece el punto donde se establece la no posibilidad de cesión del derecho de uso, salvo acuerdo en contra. Esto incluye el alquiler y préstamo del software: es ilegal que un vídeo-club alquile software si no tiene autorización del propietario
A partir de esta concepción tenemos una serie de leyes orgánicas que acotan y definen la libertad de información:
La Ley General de Telecomunicaciones, establece la libre recepción de señales, con independencia de su emisor. Las restricciones se aplican a los emisores, en forma de licencias, tasas, control del modo de emisión, etc... Actualmente esta en estudio la posible aplicación de dicha ley a sistemas de transmisión de datos tipo Internet. El problema es que la aplicación de dicha ley a un entorno transnacional es de difícil solución. Por ello, la Comisión Europea esta realizando diversos estudios sobre el tema, para uniformizar la legislación Un aspecto importante de la LGT es que establece la titularidad de las emisiones: La recepción de la señal es libre. No obstante su re-emisión esta condicionada a la autorización del propietario. La aplicación a la transmisión de datos por Internet es obvia, y uno de los puntos claves de la legislación sobre la circulación de datos por la red Otro aspecto es el del concepto de portador de la señal: se refiere al concepto del canal por donde circula la información. El portador debe garantizar el "derecho de paso", y poner los medios técnicos para que la señal llegue a su destinatario. En lenguaje Internet: el proveedor, debe garantizar la conectividad y encaminamiento.
La Ley Orgánica Reguladora del Tratamiento Automatizado de Datos (LORTAD), no sólo trata temas de protección de la intimidad, sino de garantías de integridad, autenticidad, etc de los datos que se transfieren. Los temas de seguridad, criptografía, comunicaciones seguras, dinero en Internet, etc caen bajo el paraguas de dicha ley. En este aspecto, la legislación europea difiere grandemente entre los diversos países. Tenemos así el ejemplo de Francia, donde toda comunicación encriptada no autorizada está prohibida (?), o bien países como Finlandia, donde cada uno puede hacer casi lo que quiera. La Comisión Europea esta estudiando una serie de soluciones intermedias, donde se establece una cierta libertad a cambio de restricciones en diversos campos. Caso especial de estudio es el de importación y exportación de técnicas de criptografía Otro campo de aplicación es el de los contratos electrónicos y el intercambio electrónico de documentación. Existe una amplia normativa que regula el comercio en Internet. Se regula el uso de firmas digitales y se establece el concepto de emisor de certificados digitales de autenticidad Un último aspecto de la LORTAD, trata sobre los derechos y deberes del propietario de las bases de datos, así como la reglamentación sobre su uso. Diferencia entre la titularidad de la base de datos y la titularidad de los contenidos
La ley de protección al honor y la intimidad, es de aplicación a los sitios web. La pornografía es ilegal, y los sitios web residentes en España caen bajo la jurisdicción de las leyes españolas, con independencia del usuario Junto con la LORTAD, se establecen cláusulas de confidencialidad, autenticidad, accesibilidad, etc a los diversos datos, así como se regula la transferencia y compartición de dicha información Se establece el concepto de responsabilidad civil, en el sentido de que existen responsabilidades penales por el uso indebido o falsedad en los datos. Desgraciadamente la responsabilidad civil no está extendida al software, por lo que bajo la legislación Española, aún no es posible demandar al creador de un software erróneo, ni reclamar daños y perjuicios por un funcionamiento incorrecto o impropio de un programa
Es de notar que realmente no existe ninguna ley especifica sobre la información en Internet. La jurisprudencia existente utiliza la legislación existente en la actualidad referente a otras áreas, lo que frecuentemente provoca colisiones e incongruencias entre varias leyes
De especial interés es la Ley de Propiedad intelectual, y su aplicación al software. Básicamente, la jurisprudencia actual parte de identificar el concepto de producto software con el de el creación literaria o artística: el software es una cosa que se utiliza como un libro: una sola persona a la vez en un único sitio. Resulta curioso el artículo de la Ley de Contratos del Estado, que permite a éste utilizar software legalmente adquirido del modo que considere más conveniente con independencia del uso original... esto desemboca en licencias "campus" para universidades y organismos públicos
Recientes actualizaciones han incluido el concepto de software, y de programa de ordenador. Se establece la titularidad del software, los derechos de uso y copia. Se garantiza que el derecho de uso no conlleva la transferencia de titularidad. Se define el concepto de licencia y las condiciones de uso y restricción de uso del producto software. Especial mención merece el punto donde se establece la no posibilidad de cesión del derecho de uso, salvo acuerdo en contra. Esto incluye el alquiler y préstamo del software: es ilegal que un vídeo-club alquile software si no tiene autorización del propietario
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 GNU GPL.
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.
Esta situación de incompatibilidad, que podría ser resuelta en la próxima versión 3.0 de la licencia GNU GPL (en desarrollo), 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 de la FSF hay una lista de licencias que cumplen las condiciones impuestas por la GNU GPL y otras que no.
En el sitio web de la 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 libre, 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 aunar 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
"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 GNU GPL.
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.
Esta situación de incompatibilidad, que podría ser resuelta en la próxima versión 3.0 de la licencia GNU GPL (en desarrollo), 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 de la FSF hay una lista de licencias que cumplen las condiciones impuestas por la GNU GPL y otras que no.
En el sitio web de la 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 libre, 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 aunar 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
Sistemas Operativos para el Software Libre
Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que podamos utilizar sin necesidad de estar conectados a una computadora y que utilicen microprocesadores para funcionar, ya que gracias a estos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios... y computadoras).
Según [Alcal92], se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son:
Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere destinar.
Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.
A continuación se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener.
1.1 Estructura monolítica.
Es la estructura de los primeros sistemas operativos constituídos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra (Ver Fig. 2). Las características fundamentales de este tipo de estructura son:
Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador.
Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento.
Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc.
Generalmente están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.
1.2 Estructura jerárquica.
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y esto organizado en forma de niveles.
Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos.
Se constituyó una estructura jerárquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utilizó con fines didácticos (Ver Fig. 3). Se puede pensar también en estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa categoría
GNU/Linux (GNU con Linux o GNU+Linux)
es la denominación defendida por Richard Stallman y otros para el sistema operativo que utiliza el kernel Linux en conjunto con las aplicaciones de sistema creadas por el proyecto GNU y de varios otros proyectos/grupos de software. Comúnmente este sistema operativo es denominado como Linux, aunque Stallman sostiene que esta denominación no es correcta.
¿Qué es el proyecto GNU?
El proyecto GNU fue lanzado en 1984 para desarrollar un completo sistema operativo tipo Unix, bajo la filosofía del software libre: el sistema GNU. Las variantes del sistema operativo GNU que utilizan el núcleo llamado Linux, son utilizadas ampliamente en la actualidad; aunque a menudo estos sistemas se refieren como «Linux», deben ser llamados sistemas GNU/Linux.
GNU es un acrónimo recursivo para «GNU No es Unix» y se pronuncia fonéticamente en español.
Suscribirse a:
Entradas (Atom)