universidad veracruzana

Anuncio
UNIVERSIDAD VERACRUZANA
Facultad de Contaduría y Administración
Software Libre
MONOGRAFIA
Para obtener el Título de:
Licenciado en Sistemas
Computacionales Administrativos
Presenta:
Eugenio Rojas Calderón
Asesor:
Héctor Guzmán Coutiño
Xalapa-Enríquez
Noviembre 2013
UNIVERSIDAD VERACRUZANA
Facultad de Contaduría y Administración
Software Libre
MONOGRAFIA
Para obtener el Título de:
Licenciado en Sistemas
Computacionales Administrativos
Presenta:
Eugenio Rojas Calderón
Asesor:
Héctor Guzmán Coutiño
Xalapa-Enríquez
Noviembre 2013
INDICE
RESUMEN ............................................................................................................. 1
INTRODUCCION ................................................................................................... 2
CAPITULO I: SOFTWARE ..................................................................................... 6
1.1
DEFINICION DE SOFTWARE .................................................................. 7
1.2
CARACTERISTICAS DEL SOFTWARE .................................................... 7
1.3
ANTECEDENTES DEL SOFTWARE ........................................................ 8
1.4
PROCESOS PARA EL DESARROLLO DEL SOFTWARE ...................... 10
1.4.1
1.5
ETAPAS DEL DESARROLLO DEL SOFTWARE ............................. 10
MODELOS DE DESARROLLO DE SOFTWARE .................................... 11
1.5.1
MODELO DE CASCADA .................................................................. 11
1.5.2
MODELO EN ESPIRAL .................................................................... 12
1.6
TIPOS DE SOFTWARE .......................................................................... 13
CAPITULO II: SOFTWARE LIBRE ....................................................................... 16
2.1
DEFINICION DE SOFTWARE LIBRE ..................................................... 17
2.2
QUE NO ES SOFTWARE LIBRE ............................................................ 17
2.2.1
SOFTWARE A PRUEBA .................................................................. 17
2.2.2
SHAREWARE .................................................................................. 18
2.2.3
SOFTWARE REGALADO................................................................. 18
2.2.4
SOFTWARE CON FUENTE ............................................................. 18
2.3
ANTECEDENTES DEL SOFTWARE LIBRE ........................................... 18
2.3.1
NACIMIENTO DEL SOFTWARE LIBRE ........................................... 18
2.3.2
ORIGEN DEL SOFTWARE LIBRE ................................................... 19
2.3.3
EL MOMENTO EN LA HISTORIA EN QUE SOLO EXISTIA
SOFTWARE LIBRE ...................................................................................... 19
I
2.3.4
RICHARD STALLMAN ..................................................................... 19
2.3.5
UNIX ................................................................................................. 20
2.3.6
GNU ................................................................................................. 21
2.3.7
COPYLEFT Y GNU GPL .................................................................. 22
2.3.8
GNU/LINUX ...................................................................................... 24
2.3.9
CARACTERÍSTICAS DE GNU/LINUX .............................................. 24
2.3.9.1
COSTO ......................................................................................... 24
2.3.9.2
CODIGO FUENTE ........................................................................ 25
2.3.9.3
REUSABILIDAD ............................................................................ 25
2.3.9.4
PORTABILIDAD ............................................................................ 25
2.3.9.5
ENTORNO GRAFICO ................................................................... 25
2.3.9.6
COMO SISTEMA DE PROGRAMACION ...................................... 25
2.3.9.7
SOFTWARE DE CÓDIGO CERRADO PARA GNU/LINUX ........... 26
2.3.9.8
EMPRESAS QUE PATROCINAN SU USO ................................... 26
2.3.10
ALGUNAS DISTRIBUCIONES DE GNU/LINUX ............................ 26
2.3.10.1
DEBIAN...................................................................................... 26
2.3.10.2
FEDORA .................................................................................... 26
2.3.10.3
UBUNTU .................................................................................... 26
2.4
CLASIFICACIÓN DEL SOFTWARE LIBRE............................................. 27
2.4.1
DE ACUERDO AL COSTO DE ADQUISICION ................................. 27
2.4.2
DE ACUERDO A LA APERTURA DEL CODIGO FUENTE............... 27
2.4.3
DE ACUERDO A SU PROTECCION ................................................ 27
2.4.4
DE ACUERDO A SU LEGALIDAD .................................................... 27
CAPITULO III: IMPULSORES DELSOFTWARE LIBRE ....................................... 28
3.1
EMPRESAS DESARROLLADORAS DE SOFTWARE LIBRE ................. 29
II
3.1.1
FREE SOFTWARE FOUNDATION .................................................. 29
3.1.2
FREE SOFTWARE FOUNDATION EUROPE................................... 30
3.1.3
FUNDACION SOFTWARE LIBRE AMERCA LATINA ....................... 30
3.1.4
APACHE FREE FOUNDATION ........................................................ 31
3.1.5
GNU SOLIDARIO ............................................................................. 31
3.2
OPEN SOURCE INITIATIVE ................................................................... 31
3.2.1
ANTECEDENTES ............................................................................ 31
3.2.2
PREMISAS DEL CODIGO ABIERTO ............................................... 32
3.3
COMPARATIVA ENTRE SOFTWARE LIBRE Y DE CODIGO ABIERTO 33
3.4
OTROS SISTEMAS OPERATIVOS LIBRES ........................................... 34
3.4.1
OPEN BSD ....................................................................................... 34
3.4.2
FREE BSD ....................................................................................... 34
3.4.3
NET BSD .......................................................................................... 35
3.5
TIPOS DE LICENCIA .............................................................................. 35
3.5.1
BSD .................................................................................................. 35
3.5.2
GNU/GPL ......................................................................................... 35
3.5.2.1
LICENCIA GPL VERSION 1 .......................................................... 36
3.5.2.2
LICENCIA GPL VERSION 2 .......................................................... 36
3.5.2.3
LICENCIA GPL VERSION 3 .......................................................... 37
3.5.3
AGPL ................................................................................................ 37
3.5.4
LGPL ................................................................................................ 37
3.5.5
MOZILLA PUBLIC LICENCE ............................................................ 38
3.5.6
COPYLEFT ...................................................................................... 38
3.5.7
DOMINIO PUBLICO ......................................................................... 38
3.5.8
APACHE ........................................................................................... 39
III
3.5.9
SEMI-LIBRE ..................................................................................... 39
3.5.10
FREEWARE .................................................................................. 39
3.5.11
FUENTE ABIERTA U OPEN SOURCE ......................................... 39
3.5.12
PRIVADO ...................................................................................... 40
3.5.13
COMERCIAL ................................................................................. 40
3.5.14
SHAREWARE O DE EVALUACIÓN .............................................. 40
CAPITULO IV: COMPARATIVA Y DETALLES DEL SOFTWARE LIBRE............. 42
4.1
LA ECONOMIA ....................................................................................... 43
4.1.1
FINANCIACION PUBLICA ................................................................ 44
4.1.2
FINANCIACION PRIVADA SIN ANIMO DE LUCRO ......................... 45
4.1.3
FINANCIACION POR QUIEN NECESITA MEJORAS ...................... 45
4.1.4
FINANCIACION CON BENEFICIOS RELACIONADOS .................... 46
4.1.5
FINANCIACION COMO INVERSION INTERNA ............................... 47
4.2
POLITICA................................................................................................ 47
4.3
CRECIMIENTO ....................................................................................... 48
4.4
COMPARATIVA ENTRE EL SOFTWARE LIBRE Y EL SOFTWARE
PROPIETARIO ................................................................................................. 49
4.4.1
SOFTWARE PROPIETARIO ............................................................ 49
4.4.2
CARACTERISTICAS DEL SOFTWARE PROPIETARIO .................. 50
4.5
COMPARACION ..................................................................................... 51
4.5.1
DIFERENCIAS
ENTRE
EL
SOFTWARE
PROPIETARIO
Y
SOFTWARE LIBRE ...................................................................................... 52
4.6
DIFERENCIAS AL PROGRAMAR SOFTWARE PROPIETARIO Y LIBRE
53
CAPITULO V: PRESENTE DEL SOFTWARE LIBRE........................................... 54
5.1
MODELOS DE DESARROLLO ............................................................... 55
IV
6
5.2
COMUNIDADES ..................................................................................... 58
5.3
MOTIVACIONES PARA EL DESARROLLO DEL SOFTWARE LIBRE.... 59
5.4
MODELOS DE NEGOCIOS BASADOS EN SOTFWARE LIBRE ............ 60
5.5
SOFTWARE LIBRE HOY ........................................................................ 61
5.6
FUTURO DEL SOFTWARE LIBRE ......................................................... 61
EJEMPLOS DE PROGRAMAS DE SOFTWARE LIBRE ............................... 62
6.1
MOZILLA FIREFOX ................................................................................ 62
6.2
GNU/LINUX ............................................................................................ 63
6.3
APACHE ................................................................................................. 63
6.4
FREEBSD ............................................................................................... 64
6.5
OpenOffice .............................................................................................. 64
6.6
NOTEPAD++ .......................................................................................... 65
6.7
SOFWARE DE COMUNICACIÓN ........................................................... 65
6.8
DESCARGAS DE CONTENIDO ............................................................. 65
6.9
REPRODUCTORES MULTIMEDIA ........................................................ 65
6.10
VIRTUAL BOX ..................................................................................... 66
CONCLUSIONES ................................................................................................ 67
FUENTES DE INFORMACIÓN ............................................................................ 72
V
RESUMEN
El presente trabajo habla sobre el software libre, el cual inicia con una definición
en general de lo que es el software, pasando después por lo que interesa que es
el libre. Dentro del software libre, se hablara de sus antecedentes, empezando con
su fundador y la fundación que inicio para llevarlo a cabo, los tipos de software
libre, los impulsores que lo mantienen a flote, ejemplos de programas y/o
aplicaciones de este, su relación político-económica, las licencias creadas a partir
del mismo, una comparación entre las ventajas y desventajas contra el software
propietario, los modelos de desarrollo de este y las comunidades de desarrollo. Y
para el final, echaremos un vistazo a las posibilidades del futuro y presente del
software libre.
1
INTRODUCCION
El software libre es uno de los fenómenos más importantes de la cultura digital,
tanto económica como políticamente; el software libre levanta pasiones, es un
hecho innegable. Por un lado tenemos a los pasionales y acérrimos defensores
del software libre, y por el otro lado, aquellos que lo ofenden sin descanso,
muchas veces, por el desconocimiento o los intereses económicos. En numerosas
ocasiones se llega a situaciones totalmente enfrentadas en la que el analista
técnico serio y riguroso es sustituido por argumentos sociológicos o económicos, a
veces bastante irónico. Todos deben aceptar que el software libre ha llagado para
quedarse, que suele ser muy avanzado tecnológicamente, y que hay software libre
excelente, bueno y malo, al igual que el software propietario.
Existe un desconocimiento generalizado de las herramientas libres disponibles
para dar respuesta a un problema. Y este desconocimiento influye en la decisión
final que toman los usuarios.
Se aprecian dos cuestiones clave relacionadas con el software libre: el coste y el
soporte. Muchos creen que software libre es sinónimo de “gratis”; Software Libre
es la libertad de acceso, uso, modificación y distribución del programa o
aplicación.
Pero el usuario debe saber que hay costes: el coste de formación, el coste de
posibles soporte técnico por parte de terceros, entre otros. Al fin y al cabo, hay una
industria detrás, que debe obtener lo necesario para poder vivir. La ventaja
competitiva es que se puede adecuar la herramienta a las necesidades
particulares y que luego se puede compartir o se puede revender a terceros. El
software libre premia el trabajo innovador y en colaboración. Es buena saber
cuántos usuarios comparten la solución a un problema específico con el resto del
mundo. Generalmente, esto produce herramientas innovadoras, cada vez con más
prestaciones y constantemente actualizadas. Si se compara con costosas
actualizaciones de software propietario, que hacen casi lo mismo, con mínimos
cambios (en algunos casos, las actualizaciones son una escusa para recaudar
fondos), las ventajas son obvias.
La segunda cuestión que atrae a los usuarios es el soporte técnico. Teóricamente,
el soporte técnico de una aplicación es la posibilidad de contactar a alguien que
3
resuelva las dudas y los problemas. Las empresas de software propietario se
aferran desesperadamente a la aparente falta de soporte técnico de calidad del
software libre, para intentar justificar su modelo económico de ganancia máxima y
mínimo coste. Cada vez son más las empresas que están implantando y/o
desarrollando software libre y que ofrecen servicios de soporte técnico de alta
calidad, además, este tipo de empresas sabe que su supervivencia depende de su
excelente técnica, antes que de la publicidad fantasiosa. Cualquiera que haya
usado servicios técnicos de soporte de software propietario y que haya recibido
como respuesta final un “lo sentimos, pero esa incidencia no figura en nuestra
base de datos” tras una larga espera vía telefónica o correo electrónico, sabe a
que nos referimos. La solución a los problemas es simple, solo hay que buscarla,
leerla y probarla.
Los usuarios piensan que para usar software libre hay que ser un experto
informático y conocer los más profundos y recónditos saberes del código binario.
Esta creencia está bastante lejos de la realidad. Hoy en día, las distribuciones de
GNU/Linux ofrecen procesos de instalación similares a los de sistemas
propietarios y son capaces de identificar y preparar para su uso la mayoría del
hardware disponible. Casi todos ofrecen al usuario un entorno gráfico con las
familiares ventanas, lo que hace que su aprendizaje no ofrezca gran dificultad.
Para comenzar a hablar acerca del software libre que es el tema principal de este
trabajo, voy a comenzar haciendo un recorrido a través de lo que es el software en
sí, formulando la pregunta básica: ¿Qué es? A partir de este punto voy a continuar
con lo que nos interesa que es el software libre, en el cual mostrare algunos de los
puntos más importantes del mismo, tales como son sus antecedentes, dentro del
cual encontraremos su origen, su creador y las batallas que ha tenido que librar
para defenderlo; así como también las formas para sustentarlo y las decisiones
que hasta hoy en día han convertido al software libre en una preocupación
constante para el software propietario. El mundo del software libre es muy amplio,
ya que ha sido fuente de inspiración para otros movimientos los cuales no quieren
que su software sea limitado ya que tienen la intención de que el usuario pueda
acceder por completo a sus características. Es importante señalar las leyes que se
4
han creado para mantener libre al software, ya que al ser capaz de ser modificado
por terceros, existe la posibilidad de que este el redistribuirlo lo haga bajo las leyes
del software privativo haciéndolo ir en contra de los ideales de los que en un
principio fue diseñado. Este hecho entra dentro de lo que han sido las batallas que
ha tenido que librar el señor Stallman para mantener puro al software, ya que
desde un punto de vista muy objetivo todo software que es creado por primera
vez, es libre en ese momento, son las leyes las que deciden convertirlo en
software privativo o no. Es fascinante conocer un poco sobre el mundo de este
tipo de software, ya que a diferencia del software privativo que se mantiene a flote
económicamente
debido
a
las
licencias
que
otorgan,
las
constantes
actualizaciones de sus productos y el soporte técnico que brindan como apoyo a
los usuarios para el uso de los mismos, el software libre tiene que depender por
completo de otros mediante donaciones y apoyo económico de terceros para
poder mantenerse y seguir brindando una segunda alternativa de solución de
problemas a sus usuarios.
Para finalizar, conoceremos algunos de los programas de software libre más
conocidos y usados por los usuarios, asimismo realizare una interesante
comparativa entre el software libre y privativo para conocer los pros y contras de
cada uno, para que de esta forma el usuario pueda identificar mejor sus
diferencias y pueda elegir a el software más adecuado de acuerdo a sus
necesidades. Es importante señalar que también el lector podrá averiguar cuál es
el presente y el futuro del software libre; es en este punto donde se verá que es lo
que se hace hoy en día por el software libre y cuál es su alcance, aquí es donde
se sabrá cuales son las motivaciones de los desarrolladores para seguir
desarrollando al mismo y cuáles son sus modelos de negocios para poder seguir
existiendo y que de esta forma pueda llegar a los usuarios.
Puedo decir que ha sido muy satisfactorio haber podido desarrollar este trabajo,
espero que sea de interés para quien lo lea y lo tome como punto de partida para
futuras investigaciones donde pueda documentar los más nuevos sucesos del
mismo.
Les doy la bienvenido al mundo del software libre.
5
CAPITULO I: SOFTWARE
1.1
DEFINICION DE SOFTWARE
De acuerdo a la Real Academia Española (2001), el software es un conjunto de
programas, instrucciones y reglas informáticas que permiten ejecutar distintas
tareas en una computadora. En otras palabras, se puede decir que el software es
el aspecto lógico e intangible de una computadora, lo contrario del hardware que
viene siendo la parte física y tangible de la computadora.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones
informáticas; tales como el procesador de texto, que permite al usuario realizar
todas las tareas concernientes a la edición de textos; el llamado software de
sistema, tal como el sistema operativo, que básicamente permite al resto de los
programas funcionar adecuadamente, facilitando también la interacción entre los
componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz
con el usuario.
Algunas diferencias básicas que pueden haber entrar el software y el hardware
puede ser que, por ejemplo, el software se desarrolla utilizando lenguajes de
programación, no se deteriora con el tiempo y es posible mejorarlo, además de
que es construido en base a las necesidades del cliente y a la posible solución de
un problema, mientras que el hardware es fabricado utilizando maquinas, por lo
cual es ensamblado y se ve afectado por el uso y el tiempo.
1.2
CARACTERISTICAS DEL SOFTWARE
Algunas de las características del software (Pressman 2002) son:
a) Confiable: Este término hace referencia a varios elementos que debe
contener un software fiable como son la completitud, calidad, entre otros.
b) Robusto: El software no basta con ser confiable y que funcione
correctamente si el usuario decide no utilizarlo, por ello el software también
debe ser consistente y preciso, además de amigable.
c) Reutilizable: Se refiere al hecho de poder usar nuevamente un código que
ya tenemos, permitiendo al programador ser más eficiente en cuanto a
tiempo y productividad.
d) Eficiente: El software debe cumplir con las funciones para la cual fue
creado.
7
e) Mantenible: Este aspecto involucran los elementos que permiten que
simplifican las labores de prevención, corrección y ampliación del código del
programa.
f) Evolutivo: Esta capacidad se refiere al aspecto de que el software debe ser
capaz de cambiar para adaptarse a las nuevas necesidades.
g) Portable: Es la capacidad de un sistema de funcionar de diferentes
plataformas.
1.3
ANTECEDENTES DEL SOFTWARE
La historia del software no surge con los aparatos electrónicos, ha estado presente
desde hace mucho con el uso del ábaco o calculadoras mecánicas. Sin embargo,
en estos casos, el software no se encontraba incorporado en el equipo, más bien
era aportado por el usuario.
La primera etapa del software surge cuando el mismo era solamente desarrollado
para uno mismo o alguna organización. La misma persona que lo escribía, lo
ejecutaba y si fallaba, lo depuraba. Debido a que la movilidad en el trabajo en
aquellos tiempos era baja, los ejecutivos creían que esa persona se encontraría
allí en el caso en que el sistema presentara algún error.
La segunda etapa se extiende desde la mitad de los años sesenta hasta finales de
los años setenta. Fue allí donde la multiprogramación y los sistemas multiusuario
generaron nuevos conceptos en la interacción maquina-hombre. Además fue aquí,
donde los avances en los dispositivos de almacenamiento condujeron a la primera
generación se los gestores de bases de datos. La segunda era también se
caracterizo pos las casas de software las cuales desarrollaban proyectos en los
cuales se producían programas de decenas de miles de líneas de código fuente.
Todos esos programas, todas esas sentencias fuente tenían que ser corregidas
cuando se detectaban fallas, modificadas cuando cambiaban los requisitos de los
usuarios o adaptadas a nuevos dispositivos hardware que se hubieran adquirido.
Estas actividades se llamaron colectivamente mantenimiento del software. A partir
de ese momento, el software ya se desarrollaba para tener una amplia distribución
en un mercado.
8
La tercera era en la evolución de los sistemas de computadora comenzó a
mediados de los años setenta y continuó más allá de una década.
Las redes de área local y de área global, las comunicaciones digitales de alto
ancho de banda y la creciente demanda de acceso “instantáneo” a los datos,
supusieron una fuerte presión sobre los desarrolladores del software.
La conclusión de la tercera era se caracterizó por la llegada y amplio uso de los
microprocesadores.
La cuarta era de la evolución del software se dirige hacia potentes máquinas
personales controladas por sistemas operativos sofisticados, en redes globales y
locales, acompañadas por aplicaciones de software avanzadas. Hoy en día, las
redes de información en todo el mundo proporcionan una infraestructura
denominada: superautopista de información, donde la industria del software ya es
la cuna de la economía del mundo. Llegando al punto donde las decisiones
tomadas por gigantes de la industria tales como Microsoft arriesgan billones de
dólares. Mientras pasa el tiempo, la cuarta generación progresa y comienzan a
surgir
nuevas
tecnologías.
Las
tecnologías
orientadas
a
objetos
están
desplazando rápidamente los enfoques de desarrollo de software más
convencionales en muchas áreas de aplicaciones. Los sistemas expertos y el
software de inteligencia artificial han salido del laboratorio para entrar en
aplicaciones prácticas de una gran variedad de problemas del mundo real. Por
ejemplo, el software de redes neuronales artificiales junto con la aplicación de
lógica difusa ha abierto posibilidades excitantes para el reconocimiento de
patrones y habilidades de procesamiento de información de carácter humano. Es
aquí cuando la programación de realidad virtual y los sistemas multimedia ofrecen
formas radicalmente diferente de comunicar información al usuario final.
De una manera más simple y resumida, podemos presentar la evolución del
software de la siguiente manera:

La primera etapa:
o Orientación por lotes
o Distribución limitada
o Software a medida
9

La segunda etapa:
o Multiusuario
o Tiempo real
o Bases de datos
o Software como producto

La tercera etapa:
o Sistemas distribuidos
o Incorporación de inteligencia
o Hardware de bajo costo
o Impacto en el consumo

La cuarta etapa:
o Sistemas personales potentes
o Tecnologías orientadas a objetos
o Sistemas expertos
o Redes neuronales artificiales
o Computación en paralelo
o Redes de computadoras
1.4
PROCESOS PARA EL DESARROLLO DEL SOFTWARE
Un proceso para el desarrollo de software, también denominado ciclo de vida del
desarrollo de software es una estructura aplicada al desarrollo de un producto de
software. Hay varios modelos a seguir para el establecimiento de un proceso para
el desarrollo de software, cada uno de los cuales describe un enfoque diferente
para diferentes actividades que tienen lugar durante el proceso. Algunos autores
consideran un modelo de ciclo de vida un término más general que un
determinado proceso para el desarrollo de software. Muchas organizaciones
implementan metodologías para el proceso de desarrollo. El estándar internacional
que regula el método de selección, implementación y monitoreo del ciclo de vida
del software es ISO 12207 (es el estándar para los procesos de ciclo de vida del
software de la organización ISO).
1.4.1 ETAPAS DEL DESARROLLO DEL SOFTWARE
10
La siguiente metodología fue tomada de Fundamentos de Desarrollo de Sistemas
por Daniel Benito Román Ocampo.
a) Análisis: Es la definición clara del problema y del sistema que se desea
crear para dar solución.
b) Diseño: Es el proceso de utilizar la información recolectada en la etapa de
análisis para diseñar el producto.
c) Desarrollo: Consiste en utilizar los modelos creados durante la etapa de
diseño para crear los componentes del sistema.
d) Prueba: Consiste en asegurar que los componentes individuales que
integran al sistema o producto, cumplen con los requerimientos de la
especificación creada durante la etapa de diseño.
e) Implantación: Ponerlo a disposición del cliente.
f) Mantenimiento: Es cuando se corrigen los errores y se pone nuevamente
en circulación el producto como una nueva versión.
1.5
MODELOS DE DESARROLLO DE SOFTWARE
Hay varios modelos para perfilar el proceso de desarrollo, cada uno de las cuales
cuenta con pros y contras. Algunas de las características que definen el desarrollo
de software son:
a) No existe un modelo universal.
b) Los modelos no son rígidos.
c) Son una guía respecto al orden en que deben adelantarse las actividades.
d) Se basa en el reconocimiento que el software tiene un ciclo de vida.
Dentro de los modelos que existen, hablaremos de dos en particular, el modelo en
cascada y el modelo en espiral.
1.5.1 MODELO DE CASCADA
En Ingeniería de software el desarrollo en cascada, también llamado modelo en
cascada, es el enfoque metodológico que ordena rigurosamente las etapas del
proceso para el desarrollo de software, de tal forma que el inicio de cada etapa
debe esperar a la finalización de la etapa anterior.
Un ejemplo de una metodología de desarrollo en cascada es:
11
a) Análisis de requisitos: En esta fase se analizan las necesidades de los
usuarios finales del software para determinar qué objetivos debe cubrir.
b) Diseño del Sistema: Organiza el sistema en elementos que puedan
elaborarse por separado, aprovechando las ventajas del desarrollo en
equipo.
c) Diseño del Programa: Es la fase en donde se realizan los algoritmos
necesarios para el cumplimiento de los requerimientos del usuario así como
también los análisis necesarios para saber que herramientas usar en la
etapa de Codificación.
d) Codificación: Es la fase en donde se implementa el código fuente, haciendo
uso de prototipos así como de pruebas y ensayos para corregir errores.
e) Pruebas: Los elementos, ya programados, se ensamblan para componer el
sistema y se comprueba que funciona correctamente y que cumple con los
requisitos, antes de ser entregado al usuario final.
f) Implantación: Es la fase en donde el usuario final ejecuta el sistema.
g) Mantenimiento: Una de las etapas más críticas, ya que se destina un 75%
de los recursos, es el mantenimiento del Software ya que al utilizarlo como
usuario final puede ser que no cumpla con todas nuestras expectativas.
1.5.2 MODELO EN ESPIRAL
La principal característica del modelo en espiral es la gestión de riesgos de forma
periódica en el ciclo de desarrollo. Este modelo fue creado en 1988 por Barry
Boehm, siendo un análisis iterativo y concienzudo de los riesgos, especialmente
en el caso de sistema complejos de gran escala.
La espiral se visualiza como un proceso que pasa a través de algunas iteraciones
de las siguientes actividades:
a) Crear planes con el propósito de identificar los objetivos del software,
seleccionados para implementar el programa y clarificar las restricciones en
el desarrollo del software.
b) Análisis de riesgos: una evaluación analítica de programas seleccionados,
para evaluar como identificar y eliminar el riesgo.
12
c) La implementación del proyecto: implementación del desarrollo del software
y su pertinente verificación.
1.6
TIPOS DE SOFTWARE
A grandes rasgos, se puede decir que existen tres tipos de software:
Software de Aplicación: Aquí se incluyen todos aquellos programas que permiten
al usuario realizar una o varias tareas específicas. El software de sistema le
procura al usuario y al programador, interfaces de alto nivel, controladores,
herramientas y utilidades de apoyo que permiten el mantenimiento del sistema
global. Incluye entre otros:

Sistemas operativos: Se encarga de crear el vínculo entre los recursos
materiales, el usuario y las aplicaciones.

Controladores de dispositivos: Un controlador es software que permite que
el equipo se comunique con hardware o dispositivos. Sin controladores, el
hardware que conecte al equipo (por ejemplo, una tarjeta de vídeo o una
cámara web) no funcionará correctamente.

Hojas de cálculo: Es un software a través del cual se pueden usar datos
numéricos y realizar cálculos automáticos de números que están en una
tabla. También es posible automatizar cálculos complejos al utilizar una
gran cantidad de parámetros y al crear tablas llamadas hojas de trabajo.

Videojuegos: Es un juego electrónico en el que una o más personas
interactúan, por medio de un controlador, con un dispositivo dotado de
imágenes de vídeo.

Servidores: Programa que realiza algunas tareas como son los servicios de
archivos, que permiten a los usuarios almacenar y acceder a los archivos
de una computadora y los servicios de aplicaciones, que realizan tareas en
beneficio directo del usuario final.
Software de Programación: son aquellas herramientas que un programador utiliza
para poder desarrollar programas informáticos. Para esto, el programador se vale
de distintos lenguajes de programación.
Como ejemplo:
13

Compiladores: Es un programa informático que traduce un programa escrito
en un lenguaje de programación a otro lenguaje de programación,
generando un programa equivalente que la máquina será capaz de
interpretar.

Editores de texto: Es un programa que permite crear y modificar archivos
digitales compuestos únicamente por un texto sin formato, conocidos
comúnmente como archivos de texto o texto plano.

Depuradores: Es un programa usado para probar y eliminar los errores de
otros programas.

Intérpretes: Es un programa informático capaz de analizar y ejecutar otros
programas, escritos en un lenguaje de alto nivel, además se diferencian de
los compiladores en que mientras estos traducen un programa desde su
descripción en un lenguaje de programación al código de máquina del
sistema, los intérpretes sólo realizan la traducción a medida que sea
necesaria, típicamente, instrucción por instrucción, y normalmente no
guardan el resultado de dicha traducción.
Software de Sistema: Es aquel que permite a los usuarios interactuar con el
sistema operativo así como también controlarlo. Este sistema está compuesto por
una serie de programas que tienen como objetivo administrar los recursos del
hardware y, al mismo tiempo, le otorgan al usuario una interfaz. El sistema
operativo permite facilitar la utilización del ordenador a sus usuarios ya que es el
que le da la posibilidad de asignar y administrar los recursos del sistema, como
ejemplo de esta clase de software se puede mencionar a Windows, Linux y Mac
OS X, entre otros.
Como ejemplo:

Herramientas de diagnóstico: Es un software que permite monitorear y en
algunos casos controlar la funcionalidad del hardware, como pueden ser:
computadoras, servidores y periféricos, según sea el tipo. Estos dispositivos
pueden ser, la memoria RAM, el procesador, los discos duros, routeadores,
tarjetas de red, entre otros .
14

Los servidores: Programa que realiza algunas tareas como son los servicios
de archivos, que permiten a los usuarios almacenar y acceder a los
archivos de una computadora y los servicios de aplicaciones, que realizan
tareas en beneficio directo del usuario final.

Las utilidades: Son una herramienta que realizan las tareas de
mantenimiento y soporte para la construcción y ejecución de programas.

Los controladores de dispositivos: Un controlador es software que permite
que el equipo se comunique con hardware o dispositivos. Sin controladores,
el hardware que conecte al equipo (por ejemplo, una tarjeta de vídeo o una
cámara web) no funcionará correctamente.
15
CAPITULO II: SOFTWARE LIBRE
2.1
DEFINICION DE SOFTWARE LIBRE
Puedo decir, que 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.
 La libertad de estudiar cómo funciona el programa, y 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 vecino.
 La libertad de mejorar el programa y hacer públicas las mejoras a los
demás, de modo que toda la comunidad se beneficie. El acceso al código
fuente es un requisito previo para esto.
Sin embargo, ciertos tipos de reglas sobre la manera de distribuir software libre
son aceptables, cuando no entran en conflicto con las libertades principales. Por
ejemplo, el Copyleft (definido muy resumidamente) es la regla en base a la cual,
cuando se redistribuye el programa, no se deben agregar restricciones para
denegar a los demás las libertades principales. Esta regla no entra en conflicto con
las libertades principales, más bien las protege.
Otro dato que es importante destacar, seria que no se debe confundir la palabra
“Libre” con “Gratuito”, ya que a simple vista, uno suele pensar en el precio del
producto (software) con la palabra libre y confundirse, pero es importante aclarar
que ambas palabras no se refieren a lo mismo. El significado de software libre
como ya se dio anteriormente, se refiere en pocas palabras, a la modificación del
mismo por parte de terceros y en base a ello, su distribución en el mercado puede
ser o no gratuita.
2.2
QUE NO ES SOFTWARE LIBRE
Existen algunos tipos de software a los que equivocadamente se les incluye dentro
de la categoría de software libre, pero debido a sus características, están muy
lejos de serlo. Por ejemplo tenemos al software “a prueba”, el “shareware”, el
“regalado”, y el distribuido con código fuente pero sin licencia de redistribución.
2.2.1 SOFTWARE A PRUEBA
17
Este modelo de software suele estar regido por una duración de tiempo o bajo
ciertas condiciones, es decir, que durante ese lapso de tiempo o condiciones, al
usuario se le permite probar el software. Si el uso del mismo lo convence, el
usuario puede proceder a comprarlo, para de esa forma tener acceso a todas sus
características. La redistribución del programa suele estar prohibida.
2.2.2 SHAREWARE
Este tipo de programas suelen redistribuirse con libertad durante un limitado
tiempo de prueba. Terminado este tiempo se debe pagar cierta cantidad a su
autor. Lo que a continuación sucede es que el programa comienza a trabajar de
forma limitada o deja de funcionar. Además el usuario no tiene acceso al código
fuente.
2.2.3 SOFTWARE REGALADO
Hay ocasiones en que el software propietario se regala, esto claramente es un
intento de derribar una empresa competidora o dominar un mercado. De ahí en
adelante, su licencia no se diferencia en nada de las tradicionales, ya que lo único
que permite este tipo de software es su adquisición gratis.
2.2.4 SOFTWARE CON FUENTE
En algunas ocasiones se suele distribuir software con su código fuente, sin
embargo, no se permite modificarlo ni distribuirse a terceros es por eso que este
tipo de software no entra en la categoría de libre.
2.3
ANTECEDENTES DEL SOFTWARE LIBRE
2.3.1 NACIMIENTO DEL SOFTWARE LIBRE
Algunas comunidades de software, existieron por mucho tiempo antes que el
movimiento del software libre y el término "software libre" existieran. Según
Richard Stallman, la comunidad que compartía software en el MIT existió por
muchos años antes de involucrarse el mismo con su movimiento en 1984.
A partir de los años 1958, 1959 y 1960 casi todo el software era producido en
masa por académicos e investigadores corporativos en colaboración y no era visto
así mismo como un producto. Los sistemas operativos eran ampliamente
distribuidos y mantenidos por comunidades de usuarios. El código fuente, la
versión legible para humanos del software, era distribuido con el software porque
18
los usuarios modificaban el software ellos mismos para arreglar errores de
programación o agregar nuevas funcionalidades. El código fuente del sistema
operativo de un mainframe de IBM, era distribuido de manera muy parecida al del
software libre.
Richard Stallman (1985).
Cuando empecé a trabajar en el laboratorio de inteligencia artificial del MIT
en 1971, me incorpore a una sociedad que compartía el software que ya
existía. El acto de compartir software no se limitaba a nuestra sociedad en
particular, es decir, lo compartíamos igual que las recetas de cocinar, solo
que nosotros lo hacíamos en mayor grado que los demás.
Desde que nacieron las computadoras, surgió el software libre junto con la
necesidad de satisfacer la búsqueda de la información ya que se empiezan a
desarrollar aplicaciones para tales necesidades. Aplicaciones que en un principio,
eran hechas para una empresa en especial y para un problema en especifico.
2.3.2 ORIGEN DEL SOFTWARE LIBRE
El origen del software libre está muy relacionado con 3 proyectos importantes de
la historia: primero la creación del sistema UNIX, después el nacimiento del
proyecto GNU y al final la unión con el sistema libre completo LINUX.
2.3.3 EL MOMENTO EN LA HISTORIA EN QUE SOLO EXISTIA
SOFTWARE LIBRE
El software como tal, desde que nacio fue libre, es decir, en el momento de su
aparicion, era software libre; ya que en ese momento, no existian documentos
legales que dijeran que dicho software era propiedad de alguien o que debia
pagarse por la utilizacion del mismo.
Sin embargo, con el paso del tiempo y el desarrollo de nuevas tecnologias, se
fueron creando restricciones para algunas características del software. Dicha
situacion, propicio el surgimiento de dos ramas, el software libre y propietario.
Aunque para algunos expertos, se puede afirmar que: “El software libre, es el
software en su estado natural”.
2.3.4 RICHARD STALLMAN
19
Richard Matthew Stallman nacido en Manhattan, Nueva York, el 16 de marzo de
1953, con frecuencia abreviado su nombre como “RMS”; es un programador
estadounidense y fundador del movimiento por el software libre en el mundo. Su
primera experiencia con computadoras fue en el Centro Científico de IBM en
Nueva York cuando cursaba la preparatoria. Fue contratado durante un verano
para escribir un programa de análisis numérico en Fortran. Completó el trabajo
después de un par de semanas, y dedicó el resto del verano escribiendo un editor
de textos en el lenguaje de programación APL. Durante este tiempo, Stallman fue
también asistente voluntario de laboratorio en el departamento de biología de
la Universidad Rockefeller.
Entre sus logros destacados como programador se incluye la realización del editor
de texto GNU Emacs, el compilador GCC, y el depurador GDB, bajo la rúbrica del
Proyecto GNU. Sin embargo, es principalmente conocido por el establecimiento de
un marco de referencia moral, político y legal para el movimiento del software libre,
como una alternativa al desarrollo y distribución del software no libre o privativo.
En 1971, Richard Stallman se convirtio en un programador en el laboratorio de
Inteligencia Arificial (IA) en el Instituto Tecnológico de Masssachuset (MIT). Alli se
unio a una comunidad de programadores la cual compartia el software desde hace
mucho tiempo. En ese entonces, en el laboratorio se usaba un sistema operativo
llamado Sistema Incompatible de Tiempo Compartido (ITS) en una computadora
del tipo PDP-10.
Sin embargo no todo iba bien en el laboratorio, ya que en 1981, algunos de los
programadores de IA formaron una compañía denominada Symbolics con la que
pretendian reemplazar el software libre del laboratorio con su propio software
privativo. Ante esta situacion, el 27 de septiembre de 1983 Stallman anunció en
varios grupos el inicio del proyecto GNU, que perseguía crear un sistema
operativo completamente libre.
2.3.5 UNIX
A finales de 1960, el Instituto Tecnológico de Massachusetts, los Laboratorios Bell
de AT&T y General Electric trabajaban en un sistema operativo experimental
llamado Multics (Multiplexed Information and Computing Service), desarrollado
20
para ejecutarse en una computadora central (mainframe). El objetivo del proyecto
era desarrollar un sistema operativo que tuviera muchas innovaciones. El proyecto
consiguió dar a luz versiones para producción, pero las primeras versiones
contaban con un pobre rendimiento. Los laboratorios Bell de AT&T decidieron
desvincularse y dedicar sus recursos a otros proyectos.
Uno de los programadores de los laboratorios Bell, Ken Thompson, siguió
trabajando. De este modo, Thompson escribió nuevamente el programa, con
ayuda de Dennis Ritchie, a lenguaje de programación C. La experiencia que tuvo
al trabajar para el proyecto Multics, condujo a Thompson a iniciar la creación de un
nuevo
sistema
operativo.
Thompson
y
Ritchie
lideraron
un
grupo
de
programadores, en los laboratorios Bell, para desarrollar tanto el sistema de
ficheros como el sistema operativo multitarea. El proyecto fue bautizado UNICS,
como acrónimo Uniplexed Information and Computing System. Dada la
popularidad que tuvo un juego de palabras que consideraba a UNICS un sistema
MULTICS, se cambió el nombre a UNIX, dando origen al legado que llega hasta
nuestros días.
El lenguaje de programación les permitió escribir una sola versión del sistema
operativo UNIX, que podía ser compilado por los compiladores de C en diferentes
computadoras. Así, el sistema operativo de UNIX pasó a ser portable, capaz de
ejecutarse en diversas computadoras.
2.3.6 GNU
Debido a lo sucedido en el subtema anterior, Stallman decide darse a la tarea de
desarrollar un nuevo sistema que fuese compatible con UNIX, ya que de esa
manera seria portable y los usuarios de UNIX podrían cambiarse a él.
El sistema operativo se denomino GNU, nombre elegido como acrónimo recursivo
para “GNU no es UNIX”. Pero para ser considerado un sistema operativo
completo,
GNU
debía
incluir
ensambladores,
compiladores,
intérpretes,
depuradores, editores de texto, programas, correo y más.
En enero de 1984, Stallman renuncia a su trabajo en el MIT para dedicarse a
escribir software GNU. Su dimisión era lo correcto, ya que de haber continuado, el
MIT pudo haber reclamado como su propiedad el trabajo y podría haber impuesto
21
sus propios términos de distribución convirtiéndolo en software propietario. Ante
este suceso, Richard Stallman comento lo siguiente:
“Yo no tenía la intención de hacer un trabajo enorme solo para ver que perdía la
utilidad para la cual se había realizado”.
El primer paso para el sistema GNU fue el desarrollo de un programa para
compilar, para esto, Stallman decidió buscar opciones, ya que no quería escribir el
programa desde cero. Una de las opciones que considero usar fue el compilador
VUCK (Kit de Compilador de la Universidad Libre), sin embargo, al contactar con
el encargado del proyecto le dijo que dicho compilador no era libre. Así que con
los fallidos intentos de conseguir un compilador para su sistema no tuvo más
opción que desarrollar el propio al que llamo GCC y junto con este también
desarrollo GNU Emacs el cual era un editor de texto.
Después de todo esto y al no contar con un trabajo en alguna organización,
Stallman se puso a pensar sobre la forma en que podría obtener dinero mediante
el software libre, así que decidió iniciar un negocio de distribución del mismo.
Ahora, con este nuevo paso en el desarrollo de su nuevo sistema, Richard
Stallman se vio involucrado en un nuevo rubro dentro del marco legal para el
software libre, el cual consistía en garantizar la libertad del software, ya que en
esos días, el licenciamiento era algo común dentro del mundo informático. En
otras palabras, lo que se quería era que cuando el software saliera de las manos
del autor, siguiera siendo libre para todo aquel que lo quisiera.
2.3.7 COPYLEFT Y GNU GPL
Debido a que el objetivo de GNU era dar libertad a los usuarios, se debían usar
términos de distribución para evitar que el software GNU se convirtiera en software
propietario. Es por eso que el método utilizado se llamo “Copyleft”.
El Copyleft es un derecho de autor que permite la libre distribución de copias y
versiones modificadas de una obra u otro trabajo, exigiendo que los mismos
derechos sean preservados en las versiones modificadas.
Stallman (1984) dice:
La forma más simple de hacer que un programa sea libre es ponerlo en el
dominio público, sin derechos reservados. Esto le permite compartir el
22
programa y sus mejoras a la gente, si así lo desean. Pero le permite a gente
no cooperativa convertir el programa en software privativo. En el proyecto
GNU, nuestro objetivo es el dar a todo usuario la libertad de redistribuir y
cambiar software GNU. Copyleft dice que cualquiera que redistribuye el
software, con o sin cambios, debe dar la libertad de copiarlo y modificarlo
más. Copyleft garantiza que cada usuario tiene libertad.
En términos más simples, el Copyleft es un permiso que se le da a cualquiera para
correr el programa, copiar el programa, modificar el programa y redistribuir
versiones modificadas, pero no se le da permiso para agregar restricciones
propias. De esta forma, las libertades cruciales que definen el software libre
quedan garantizadas.
Un punto importante dentro de todo esto, es evitar dejar una brecha dentro de los
términos de distribución. Un ejemplo de esto sería, un programa libre con un
código no libre.
Tal combinación cae inevitablemente dentro del software no libre, ya que no se
puede faltar a ninguna de las libertades que ya se expusieron al inicio sobre lo que
es verdaderamente el software libre. Por ello, inevitablemente, el Copyleft debe
evitar cualquier tipo de combinación que pueda darse, la cual contradiga a las
leyes del software libre. Es por ello que se creó una implementación específica
dentro del Copyleft para todos los usuarios del software GNU llamada Licencia
Pública General (GPL). Su finalidad es proteger los derechos de los usuarios
finales. Esta es la primera licencia Copyleft para uso general. Copyleft significa
que los trabajos derivados sólo pueden ser distribuidos bajo los términos de la
misma licencia.
Después de haber tenido implementado el sistema y una manera de asegurar su
libertad, surgieron las necesidades económicas para las cuales Richard Stallman
inicio un fundación llamada “Fundación para el Software Libre” (FSL).
A medida que la reputación del proyecto GNU crecía, las personas comenzaron a
donar computadoras con UNIX corriendo. Estas le fueron muy útiles ya que para
desarrollar componentes de GNU era necesario un sistema UNIX. Sin embargo
esta situación trajo consigo una cuestión ética: si era correcto para los
23
programadores de GNU siquiera tener una copia de UNIX ya que era y al día de
hoy sigue siendo software propietario lo cual contradecía la filosofía de del
proyecto GNU la cual decía que no se debía usar software propietario. Se podía
decir que en ese entonces todo eso era un mal justificable, pero al fin de cuentas
seguía siendo un mal, aunque hoy en día ya no usan mas copias de UNIX ya que
han sido reemplazadas por sistemas operativos libres.
2.3.8 GNU/LINUX
Al principio del desarrollo del proyecto GNU, se pensó que el sistema se
entregaría completo pero no fue así.
Como cada componente del sistema GNU fue implementado en un sistema UNIX,
estos podían correrse en el mismo haciendo que se hicieran populares entre los
usuarios y de esta manera genera mayores contribuciones al proyecto, sin
embargo, el inconveniente fue que los programadores en lugar de adelantar la
escritura de los componentes faltantes se dedicaban a mejorar las características
de los ya existentes.
En 1990 el sistema GNU estaba casi completo, lo único que le faltaba era el
núcleo, para el cual, afortunadamente para ellos, existía uno. Del cual voy a hablar
a partir de aquí.
A finales de 1980, estudiantes de universidades en Estados Unidos, utilizaban un
sistema llamado Minix, el cual incorporaba características de UNIX. En 1991,
Linus Torvalds inicia un proyecto para crear una nueva versión efectiva de UNIX
para los usuarios de Minix, a la cual llamo finalmente Linux, el cual era de libre
distribución.
Para 1992, al combinar Linux con el sistema incompleto de GNU, se tuvo como
resultado un sistema operativo libre completo.
A esta versión se le denomino GNU/Linux debido a la combinación del sistema
GNU con un núcleo Linux.
2.3.9 CARACTERÍSTICAS DE GNU/LINUX
2.3.9.1
COSTO
La obtención del software puede suceder sin la necesidad de ningún costo
monetario, sin embargo, el que pueda adquirirse sin gastar dinero por parte de los
24
usuarios, no significa que los autores no reciban ingresos que les permita seguir
desarrollando software. Para ello, surge la necesidad de buscar fuentes de
financiamiento. Más adelante hablaremos de ello.
2.3.9.2
CODIGO FUENTE
Algunos beneficios del que podamos tener acceso al código fuente son:

Reusabilidad

Portabilidad

Adaptabilidad

Transparencia

Calidad

Seguridad
2.3.9.3
REUSABILIDAD
En términos de programación, podemos usar esta palabra para referirnos a la
creación de un nuevo software, partiendo de uno ya existente.
Algunas de las ventajas de poder reutilizar son los beneficios en cuanto a la
calidad del software, productividad del programador, mejora en el tiempo del
desarrollo del nuevo software y los más importante, al disponer del código, se
puede participar en los proyectos de desarrollo de software.
2.3.9.4
PORTABILIDAD
Esta importante característica se refiere, a la posibilidad de que determinado
software pueda ejecutarse en una gran variedad de computadoras.
2.3.9.5
ENTORNO GRAFICO
GNU/Linux puede funcionar tanto en entorno gráfico como en modo consola, cabe
mencionar que la consola es común en distribuciones para servidores, mientras
que la interfaz gráfica está orientada al usuario final tanto de hogar como
empresarial. Asimismo, también existen los entornos de escritorio, que son un
conjunto de programas conformado por ventanas, iconos y muchas aplicaciones
que facilitan la utilización del computador mientras que en dispositivos móviles se
encuentra Android, que funciona sobre el núcleo Linux.
2.3.9.6
COMO SISTEMA DE PROGRAMACION
25
La colección de utilidades para la programación de GNU es con diferencia la
familia de compiladores más utilizada en este sistema operativo. Tiene capacidad
para compilar C, C++, Java, Ada, Pascal.
2.3.9.7
SOFTWARE DE CÓDIGO CERRADO PARA GNU/LINUX
Durante la etapa temprana había pocas aplicaciones de código cerrado para
GNU/Linux. Con el tiempo se fueron portando programas no libres al sistema
GNU/Linux, entre ellos Adobe Reader, Adobe Flash, Opera, entre otros.
2.3.9.8
EMPRESAS QUE PATROCINAN SU USO
Algunas de las empresas que colaboran en la difusión de este sistema operativo
ya sea trabajando en el núcleo Linux, proporcionando soluciones de software o
preinstalando el sistema operativo, son: Intel, Google, IBM, AMD, Sun
Microsystems, Dell, Lenovo, Asus, Hewlett-Packard (HP) entre otros.
2.3.10 ALGUNAS DISTRIBUCIONES DE GNU/LINUX
2.3.10.1 DEBIAN
Nació en el año 1993, con la idea de crear un sistema GNU usando Linux como
núcleo. Es un sistema operativo libre, desarrollado por más de mil voluntarios
alrededor del mundo, que colaboran a través de Internet.
La dedicación de DEBIAN al software libre, su base de voluntarios, su naturaleza
no comercial y su modelo de desarrollo abierto la distingue de otras distribuciones
del sistema operativo GNU.
2.3.10.2 FEDORA
Es una distribución Linux para propósitos generales basada en RPM, que se
caracteriza por ser un sistema estable, la cual es mantenida gracias a una
comunidad internacional de ingenieros, diseñadores gráficos y usuarios que
informan de fallos y prueban nuevas tecnologías.
2.3.10.3 UBUNTU
Ubuntu es un sistema operativo basado en Linux y que se distribuye como
software libre, el cual incluye su propio entorno de escritorio denominado UNITY.
Su patrocinador, Canonical, es una compañía británica propiedad del empresario
sudafricano Mark Shuttleworth. Ofrece el sistema de manera gratuita, y se financia
por medio de servicios vinculados al sistema operativo y vendiendo soporte
26
técnico. Además, al mantenerlo libre y gratuito, la empresa es capaz de
aprovechar los desarrolladores de la comunidad para mejorar los componentes de
su sistema operativo.
2.4
CLASIFICACIÓN DEL SOFTWARE LIBRE
En este apartado se tiene en consideración 4 puntos que pueden usarse como
referencia para clasificar el software libre (Higareda Soto 2000).
2.4.1 DE ACUERDO AL COSTO DE ADQUISICION
El Software Libre puede ser de dos clases, es decir, de costo cero o de costo
mayor que cero. Lo que lo diferencia del Software Propietario es que su costo es
independiente del número de computadoras que se poseen. Por ejemplo, en el
caso del Sistema Operativo Microsoft Windows por cada computadora en que se
instale, se debe pagar una licencia. En cambio, si utilizo en Sistema Operativo
GNU/Linux (en cualquiera de sus distribuciones) debo pagar una sola licencia (no
obstante, algunas licencias no tienen costo.
2.4.2 DE ACUERDO A LA APERTURA DEL CODIGO FUENTE
El Software Libre siempre es "Open Source", es decir, de código abierto, ya que el
acceso al código fuente es necesario para el ejercicio de las libertades descritas.
2.4.3 DE ACUERDO A SU PROTECCION
El Software Libre siempre está protegido con licencias, y más específicamente,
con licencias de Copyleft. ¿Por qué no de dominio público? Porque de ese modo
cualquiera puede adueñarse de él, por ejemplo, adquiere un Software Libre, lo
modifica, lo compila y lo distribuye con código cerrado. ¿Por qué no con
Copyright? Porque de esa manera alguien le puede agregar alguna restricción, por
lo tanto no va a seguir siendo Software Libre
2.4.4 DE ACUERDO A SU LEGALIDAD
El Software Libre siempre es legal, porque al usarlo, estudiarlo, modificarlo,
adaptarlo y/o mejorarlo no estoy violando ninguna norma, ya que de por si este
tipo de software permite hacerlo, con la única salvedad de no poder agregarle
ninguna restricción adicional cuando lo transfiera a otra persona.
27
CAPITULO III: IMPULSORES DELSOFTWARE
LIBRE
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. 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.
3.1
EMPRESAS DESARROLLADORAS DE SOFTWARE LIBRE
Diversas empresas son las que existen las cuales se han encargado de fomentar y
desarrollar el software libre. De entre las cuales, destacaremos algunas de las
más importantes.
3.1.1 FREE SOFTWARE FOUNDATION
La Free Software Foundation (Fundación para el software libre) es una
organización creada en octubre de 1985 por Richard Stallman y otros entusiastas
del software libre con el propósito de difundir este movimiento.
La Fundación para el software libre (FSF) se dedica a eliminar las restricciones
sobre la copia, redistribución, entendimiento, y modificación de programas de
computadoras. Con este objeto, promociona el desarrollo y uso del software libre
en todas las áreas de la computación, pero muy particularmente, ayudando a
desarrollar el sistema operativo GNU.
La FSF se encarga de desarrollar nuevo software libre, el cual pueda eliminar le
necesidad de usar software propietario. Cabe mencionar que además de
desarrollar la FSF, también distribuyen copias de software GNU y manuales por un
costo de distribución y aceptan donaciones para la creación del mismo.
29
3.1.2 FREE SOFTWARE FOUNDATION EUROPE
La Free Software Foundation Europe (FSFE) se fundó el 10 de marzo de 2001
como una organización hermana e independiente de la Free Software Foundation
de los Estados Unidos de América. Trabaja en todos los aspectos relacionados
con el software libre en Europa, especialmente el Proyecto GNU. La FSFE apoya
activamente el desarrollo del software libre y el progreso de sistemas basados en
GNU, como por ejemplo GNU/Linux. Es también un centro de información
competente para políticos, abogados y periodistas, con el fin de garantizar el
futuro legal, político y social del software libre.
La FSFE tiene por objetivos lo siguiente:

Promover activamente el Software Libre políticamente como centro de
competencia.

Hace seguimiento e influye en actividades legales y políticas que sean
contrarias a los objetivos y valores del Software Libre.

Proporciona un punto de contacto y ayuda orientativa sobre todas las
cuestiones relativas al Software Libre.

Trabaja estrechamente con abogados activos en el ámbito del Software
Libre en Universidades y prácticas para seguir e influir el discurso legal.

Apoya, coordina y desarrolla proyectos en el ámbito del Software libre,
especialmente
el
Proyecto
GNU.
También
proporciona
recursos
informáticos a desarrolladores de Software Libre para permitirles continuar
con sus desarrollos.

Ayuda a empresas a desarrollar modelos de negocio basados en Software
Libre, o a adaptar modelos existentes. Para facilitar el éxito a las empresas
basadas en Software Libre, la FSF Europa también persigue ampliar el
mercado del Software Libre.

Ayudar a coordinar y conectar otras iniciativas en el ámbito del Software
Libre.
3.1.3 FUNDACION SOFTWARE LIBRE AMERCA LATINA
Fundada en 2005, la Fundación Software Libre América Latina o FSF América
Latina (en inglés Free Software Foundation Latín América o su sigla FSFLA) es
30
una organización no gubernamental sin fines de lucro, cuyo objetivo es promover y
defender el uso y desarrollo de software libre, y el derecho de las personas a usar,
estudiar, copiar, modificar y redistribuir software.
3.1.4 APACHE FREE FOUNDATION
La ASF se formó a partir del llamado Grupo Apache y fue registrada en Delaware
(Estados Unidos), en junio de 1999. La Fundación de Software Apache, es una
organización sin ánimo de lucro, la cual proporciona apoyo organizacional, legal y
financiero para una amplia gama de más de 140 proyectos de software de código
abierto. La Fundación ofrece un marco establecido para la propiedad intelectual y
las contribuciones financieras. A través de un proceso de desarrollo colaborativo
conocido como El Camino Apache, proyectos de Apache ofrecen productos de
software a nivel empresarial, de libre disposición que atraen a grandes
comunidades de usuarios.
3.1.5 GNU SOLIDARIO
GNU Solidario es una organización sin fines de lucro que trabaja a nivel mundial,
para la entrega de salud y la educación a través del software libre. Desde el año
2005 hemos participado en proyectos humanitarios de diversa naturaleza que
tenía una cosa en común: el Software Libre
3.2
OPEN SOURCE INITIATIVE
La Open Source Initiative (OSI) es una organización dedicada a la promoción del
código abierto. Fue fundada en febrero de 1998 por Bruce Perens y Eric S.
Raymond.
3.2.1 ANTECEDENTES
En 1997 Eric S. Raymond presentó una obra sobre ingeniería de software, La
Catedral y el Bazar, la cual buscaba mostrar las ventajas de escribir el núcleo
Linux.
A principios de 1998, Netscape Communications Corporation junto con Raymond,
publicaron el código fuente de su producto insignia Netscape Communicator como
software libre, dada la baja de ganancias y dura competencia con el software
Internet Explorer de Microsoft.
31
Un grupo de personas interesadas en el software libre y en GNU/Linux decidieron
introducir un término de mercadotecnia para el software libre, buscando
posicionarlo como amigable para negocios y con menos carga ideológica en su
competencia con el software propietario. Esto condujo a la creación del término
Open Source (código abierto) y al cisma con Richard Stallman y su Fundación del
Software Libre.
3.2.2 PREMISAS DEL CODIGO ABIERTO
Del mismo modo que el software libre, el código abierto tiene una serie de
requisitos necesarios para que un programa pueda considerarse dentro de este
movimiento, a continuación se presentan los siguientes.

Libre Redistribución: el software debe poder ser regalado o vendido
libremente.

Código Fuente: el código fuente debe estar incluido u obtenerse libremente.

Trabajos derivados: la redistribución de modificaciones debe estar
permitida.

Integridad del Código Fuente del Autor: las licencias pueden requerir que
las modificaciones sean redistribuidas sólo como parches.

Sin Discriminación de Personas o Grupos: nadie puede dejarse fuera.

Sin Discriminación de Áreas de Iniciativa: los usuarios comerciales no
pueden ser excluidos.

Distribución de la Licencia: deben aplicarse los mismos derechos a todo el
que reciba el programa

La Licencia no Debe ser Específica de un Producto: el programa no puede
licenciarse solo como parte de una distribución mayor.

La licencia no Debe Restringir otro Software: la licencia no puede obligar a
que algún otro software que sea distribuido con el software abierto deba
también ser de código abierto.

La Licencia Debe ser Tecnológicamente Neutral: no debe requerirse la
aceptación de la licencia por medio de un acceso por clic de ratón o de otra
forma específica del medio de soporte del software.
Este decálogo es compatible con las cuatro libertades del software libre.
32
3.3
COMPARATIVA ENTRE SOFTWARE LIBRE Y DE CODIGO
ABIERTO
Existen organizaciones detrás de cada iniciativa del software. Por parte del
software libre, existe la Free Software Foundation (FSF), del lado del concepto de
software de código abierto existe la Open Source Initiative (OSI). Ambas se
enfocan en diferentes aspectos del uso y distribución del software, y su
disponibilidad y responsabilidades que competen al usuario tener. Por este motivo
existen diferentes licencias que las diferencian.
A continuación:
4 LIBERTADES DE LA FSF
1)
La libertad de usar el programa
2)
La libertad de estudiar cómo funciona el programa
3)
La libertad de distribuir copias
4)
La libertad de mejorar el programa y hacer públicas las mejoras a los
demás.
10
REMISAS DE OSI
a)
Libre Redistribución: el software debe ser vendido libremente.
b)
Código Fuente: el código fuente debe estar incluido u obtenerse
libremente.
c)
Trabajos derivados: la redistribución de modificaciones debe estar
permitida.
d)
Integridad del Código Fuente del Autor: las licencias pueden requerir
que las modificaciones sean redistribuidas sólo como parches.
e)
Sin Discriminación de Personas o Grupos: nadie puede dejarse
f)
Sin Discriminación de Áreas de Iniciativa: los usuarios comerciales
fuera.
no pueden ser excluidos.
g)
Distribución de la Licencia: deben aplicarse los mismos derechos a
todo el que reciba el programa
h)
La Licencia no Debe ser Específica de un Producto: el programa no
puede licenciarse solo como parte de una distribución mayor.
33
i)
La licencia no Debe Restringir otro Software: la licencia no puede
obligar a que algún otro software que sea distribuido con el software abierto deba
también ser de código abierto.
j)
La Licencia Debe ser Tecnológicamente Neutral: no debe requerirse
la aceptación de la licencia por medio de un acceso por clic de ratón o de otra
forma específica del medio de soporte del software.
3.4
OTROS SISTEMAS OPERATIVOS LIBRES
Es verdad que en la presenta monografía se hace especial énfasis al sistema
operativo GNU/LINUX, sin embargo, es importante señalar algunos otros sistemas
operativos libres BSD (es un sistema operativo derivado del sistema Unix nacido a
partir de los aportes realizados a ese sistema por la Universidad de California en
Berkeley).
3.4.1 OPEN BSD
Open BSD es un sistema operativo libre tipo Unix multiplataforma, basado en 4.4
BSD-Lite (lanzada en 1994 sin código propietario). Es un descendiente de Net
BSD, con un foco especial en la seguridad y la criptografía.
Este sistema operativo se concentra en la portabilidad, cumplimiento de normas y
regulaciones, corrección, seguridad proactiva y criptografía integrada. Open BSD
incluye emulación de binarios para la mayoría de los programas de los sistemas
SVR4 (Solaris), Free BSD, Linux, BSD/OS.
Open BSD se creó como una variante de Net BSD debido a las diferencias
filosóficas y personales entre los miembros fundadores de Net BSD. Dejando
aparte el hecho de que la seguridad sea la principal razón para que Open BSD
exista, el proyecto también tiene otras metas. Siendo un descendiente de Net
BSD, es un sistema operativo muy portable. Actualmente funciona sobre 17
plataformas distintas de hardware.
3.4.2 FREE BSD
Free BSD es un sistema operativo libre para computadoras basado en las CPU de
arquitectura Intel y Pentium. También funciona en procesadores compatibles con
Intel como AMD.
34
Free BSD es un sistema operativo multiusuario, capaz de efectuar multitarea con
apropiación
y
multiproceso
en
plataformas
compatibles
con
múltiples
procesadores; el funcionamiento de Free BSD está inspirado, en la variante 4.4
BSD-Lite de UNIX. Aunque Free BSD no puede ser propiamente llamado UNIX, al
no haber adquirido la debida licencia de The Open Group. El sistema Free BSD
incluye el núcleo, la estructura de ficheros del sistema, bibliotecas de la API de C,
y algunas utilidades básicas.
3.4.3 NET BSD
Net BSD es un sistema operativo de la familia Unix (en sí no se le puede llamar
«un Unix», ya que ésta es una marca comercial de AT&T, pero se denomina como
«sistema de tipo UNIX» o «derivado de UNIX»), de código abierto y libre, y en
diciembre de 2008, estaba disponible para más de 56 plataformas de hardware.
Su diseño y sus características avanzadas lo hacen ideal para multitud de
aplicaciones. Net BSD ha surgido como resultado del esfuerzo de un gran número
de personas que tienen como meta producir un sistema operativo tipo Unix
accesible y libremente distribuible.
3.5
TIPOS DE LICENCIA
3.5.1 BSD
La licencia BSD es la licencia de software otorgada principalmente para los
sistemas BSD (Berkeley Software Distribution). Es una licencia de software libre
permisiva. Esta licencia tiene menos restricciones en comparación con otras como
la GPL estando muy cercana al dominio público. La licencia BSD al contrario que
la GPL permite el uso del código fuente en software no libre.
Además la licencia BSD es un ejemplo de una licencia permisiva, que casi no
impone condiciones sobre lo que un usuario puede hacer con el software, permite
la redistribución, uso y modificación del software.
3.5.2 GNU/GPL
La Licencia Pública General de GNU o más conocida por su nombre en inglés
GNU General Public License (o simplemente sus siglas del inglés GNU GPL) es la
licencia más ampliamente usada en el mundo del software y garantiza a los
usuarios finales (personas, organizaciones, compañías) la libertad de usar,
35
estudiar, compartir (copiar) y modificar el software. Su propósito es declarar que el
software cubierto por esta licencia es software libre y protegerlo de intentos de
apropiación que restrinjan esas libertades a los usuarios.
Hablando un poco de historia sobre esta licencia, podemos decir que La licencia
GPL fue creada por Richard Stallman en 1989 para proteger los programas
liberados como parte del proyecto GNU. La licencia GPL original se basó en la
unificación de licencias similares utilizadas en versiones anteriores de GNU. Estas
licencias contenían disposiciones similares a las actuales GPL, pero eran
específicas para cada programa, haciéndolos incompatibles, a pesar de ser la
misma licencia. El objetivo de Stallman era producir una licencia que pudiera ser
aplicada a cualquier proyecto, por lo que es posible utilizarlas en muchos
proyectos para compartir código.
La versión 2 de la licencia, fue liberada en 1991. Durante los siguientes 15 años,
los miembros de la comunidad FOSS (Free and Open Source Software)
comenzaron a preocuparse con los problemas en la GPLv2 que permitían explotar
software GPL con intenciones contrarias a la licencia. La tercera versión de esta
licencia (GNU GPLv3) fue desarrollada para tratar de resolver estos problemas y
fue lanzada oficialmente el 25 de julio de 2007.
3.5.2.1
LICENCIA GPL VERSION 1
La versión 1 de GNU GPL, fue liberado el 25 de febrero de 1989, impidió que las
dos principales formas con las que los distribuidores de software restringían las
libertades definidas por el software libre. El primer problema fue que los
distribuidores publicaban únicamente los archivos binarios, funcionales y
ejecutables, pero no modificables. Para prevenir esto, GPLv1 dijo que cualquier
vendedor además de distribuir el binario debía liberar a su vez código fuente y que
pudiera ser modificado.
3.5.2.2
LICENCIA GPL VERSION 2
Según Richard Stallman (1990), el mayor cambio en GPLv2 fue la cláusula
“Liberty or Death”. Dice que si alguien tiene impuestas restricciones que le
prohíben distribuir código, esa persona no puede distribuir software. La esperanza
es que esto hará que sea menos tentador para las empresas a recurrir a las
36
amenazas de patentes a exigir una remuneración de los desarrolladores de
software libre.
3.5.2.3
LICENCIA GPL VERSION 3
A finales de 2005, la Free Software Foundation (FSF) anunció estar trabajando en
la versión 3 de la GPL (GPLv3). El 16 de enero de 2006, el primer borrador de
GPLv3 fue publicado, y se inició la consulta pública. La GPLv3 oficial fue liberada
por la FSF el 29 de junio de 2007. Fue escrita por Richard Stallman.
Según Stallman los cambios más importantes se produjeron en el campo de las
patentes de software, la compatibilidad de licencias de software libre, la definición
de código fuente, y restricciones respecto a las modificaciones de hardware.
3.5.3 AGPL
Es una licencia Copyleft derivada de la Licencia Pública General de GNU diseñada
específicamente para asegurar la cooperación con la comunidad en el caso de
software que corra en servidores de red.
La licencia AGPL fue diseñada para cerrar la evasión de los proveedores de
servicios de aplicación a la licencia GPL ordinaria, que no obliga la distribución del
código fuente cuando el software licenciado con GPL sea usado para dar un
servicio.
3.5.4 LGPL
Licencia Publica General Reducida de GNU (LGPL), es una licencia de software
creada por la Free Software Foundation que pretende garantizar la libertad de
compartir y modificar el software cubierto por ella, asegurando que el software es
libre para todos sus usuarios.
Esta licencia permisiva se aplica a cualquier programa o trabajo que contenga una
nota puesta por el propietario de los derechos del trabajo estableciendo que su
trabajo puede ser distribuido bajo los términos de esta "LGPL Lesser General
Public License". El "Programa", utilizado en lo subsecuente, se refiere a cualquier
programa o trabajo original, y el "trabajo basado en el Programa" significa ya sea
el programa o cualquier trabajo derivado del mismo bajo la ley de derechos de
autor: es decir, un trabajo que contenga el Programa o alguna porción de él, ya
sea íntegra o con modificaciones o traducciones a otros idiomas.
37
3.5.5 MOZILLA PUBLIC LICENCE
La licencia pública de Mozilla (MPL) es una licencia de código abierto y de
software libre. Fue desarrollada originalmente por Netscape Communications
Corporation, y más tarde su control fue traspasado a la Fundación Mozilla.
La licencia MPL cumple completamente con la definición de software de código
abierto de la Open Source (OSI) y con las cuatro libertades del software libre
enunciadas por la Free Software Foundation (FSF). Sin embargo la MPL deja
abierto el camino a una posible reutilización no libre del software, si el usuario así
lo desea, sin restringir la reutilización del código ni el re licenciamiento bajo la
misma licencia.
3.5.6 COPYLEFT
El Copyleft o copia permitida, se practica al ejercer el derecho de autor que
consiste en permitir la libre distribución de copias y versiones modificadas de una
obra u otro trabajo, exigiendo que los mismos derechos sean preservados en las
versiones modificadas. La efectividad de ejercerlo puede depender de la
legislación particular de cada país, pero en principio se puede utilizar para
programas informáticos, obras de arte, cultura, ciencia, o cualquier tipo de obra o
trabajo creativo que sea regido por el derecho de autor.
El término surge en las comunidades de software libre como un juego de palabras
en torno a copyright: "derecho de autor", en inglés (literalmente: "derecho de
copia") con otro sentido, el de left: pretérito del verbo dejar o permitir. Se considera
que una licencia libre es Copyleft cuando además de otorgar permisos de uso,
copia, modificación y redistribución de la obra protegida, contiene una cláusula
que dispone una licencia similar o compatible a las copias y a las obras derivadas.
3.5.7 DOMINIO PUBLICO
Se considera de dominio público a todo software que no está protegido con
copyright. Es aquel que no requiere 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 consignados su autoría
original. Este software seria aquel cuyo autor lo dona a la humanidad o cuyos
derechos de autor han expirado, tras un plazo contado desde la muerte de este.
38
3.5.8 APACHE
Es una descendiente de la licencia BSD. Permite al desarrollador hacer lo que
desee con el código fuente, incluso productos propietarios sin entregar el código
fuente. La única restricción es que se reconozca el trabajo del desarrollador.
3.5.9 SEMI-LIBRE
Es aquel que mantienen las mismas características del software libre para los
usuarios individuales, entidades educativas o sin ánimo de lucro, sin embargo
prohíbe esas libertades para su uso comercial o empresarial.
3.5.10 FREEWARE
El termino ingles freeware define un tipo de software que se distribuye sin costo y
a veces se distribuye el código fuente, pero no es lo usual. El creado cede el uso,
pero no la propiedad intelectual del mismo. Es decir, que retiene los derechos del
autor.
3.5.11 FUENTE ABIERTA U OPEN SOURCE
Una licencia es considerada Open Source cuando es aprobada por la Open
Source Initiative (OSI), donde el criterio lo da la definición de Open Source (fuente
abierta). El software de dominio público, cumple con todos los criterios, siempre y
cuando el código fuente esté disponible y este reconocido por la OSI y se le
permita usar la marca de la misma.
De acuerdo a la OSI, de código abierto no significa solo acceso al código fuente.
La distribución de software de código abierto debe cumplir con los siguientes
criterios.
a) Libre redistribución: El software debe poder ser regalado o vendido
libremente en cualquiera de sus partes.
b) Código Fuente: El programa debe incluir y permitir la distribución del código
fuente, así como la forma compilada (aplicación). O bien proporcionar un
medio conocido para la obtención del mismo y en cualquier caso por un
costo razonable de reproducción y preferentemente la descargas a través
de internet sin costo.
39
c) Trabajos derivados: La licencia debe permitir modificaciones y trabajos
derivados, y debe permitir que se distribuyan bajo los términos de la licencia
del software original.
d) Integridad del código fuente del autor: la licencia puede restringir el código
fuente ya sea distribuido en forma modificada solamente si la licencia
permite la distribución de archivos de revisión con el código fuente. La
licencia debe permitir explícitamente la distribución de software construido a
partir de código fuente modificado y puede requerir que los trabajos
derivados a llevar nombre o numero de versión del software original.
e) No discriminación contra las personas o grupos: La licencia no debe
restringir a nadie de hacer uso del programa en un campo específico del
trabajo, por ejemplo, no se puede restringir el programa de ser utilizado en
una empresa o para la investigación genética.
f) Distribución de la licencia: Deben aplicarse los mismos derechos a todo el
que reciba el programa.
g) La licencia no debe restringir otro software: La licencia no debe imponer
restricciones sobre otro software que se distribuya junto con el software con
licencia.
h) La licencia debe ser virtualmente neutral: ninguna disposición de la licencia
puede ser basada en la tecnología o el estilo de la interfaz.
3.5.12 PRIVADO
El software con propietario o software de propiedad, se refiere a cualquier
programa informático en el que está prohibido su uso, redistribución y modificación
y se requiere una autorización para ello.
3.5.13 COMERCIAL
El software comercial es aquel que es desarrollado por una organización o entidad
que tiene la intención de lucrar a través del uso de dicho software. Las compañías
que lo producen cobran dinero por producto, su distribución y en muchas
ocasiones el soporte.
3.5.14 SHAREWARE O DE EVALUACIÓN
40
EL software que permite a los usuarios probar y realizar copias de los programas,
pero requiere que todos aquellos que decidan adquirir el programa reciban una
licencia de uso, no es un tipo de programa sino una forma de distribución. El autor
del programa no retiene los derechos de distribución, pero si los demás.
Generalmente se distribuyen sin fuentes y no se permite ni modificarlo ni
redistribuirlo salvo en los términos anteriores.
El software que viene con autorización para la gente de redistribuir copias, pero
dice que quien continúe haciendo uso de una copia que deberá pagar un cargo
por licencia, no es software libre, y las razones son:
a) Para la mayoría del shareware, el código fuente no está disponible; de esta
manera, no se puede modificar el programa en lo absoluto.
b) EL shareware no viene con autorización para hacer una copia e instalarlo
sin pagar una cantidad por la licencia, ni aun para particulares involucrados
sin ánimo de lucro.
El shareware aporta una ventaja con respecto a los programas distribuidos por los
canales tradicionales y es que el usuario prueba el programa antes de comprarlo,
evitando de esta forma desagradables sorpresas, y teniendo la seguridad que lo
que compra, va a ser de du entera satisfacción.
Generalmente ofrece a los usuarios, que registran algunas ventajas como
manuales impresos, ayuda técnica gratuita, etc.
41
CAPITULO IV: COMPARATIVA Y DETALLES DEL
SOFTWARE LIBRE
4.1
LA ECONOMIA
El dinero siempre ha sido el talón de Aquiles del mundo del software libre. El
software libre se desarrolla de muchas formas distintas, y con mecanismos para
conseguir recursos que varían muchísimo de un caso a otro. Cada proyecto libre
tiene su propia forma de financiarse, desde el que está formado completamente
por
desarrolladores
voluntarios
y
utiliza
solamente
recursos
cedidos
altruistamente, hasta el que es llevado a cabo por una empresa que factura el
100% de sus costes a una entidad interesada en el desarrollo correspondiente.
Es fácil darse cuenta rápidamente de las ventajas de compartir el código fuente
con los demás. Tal como dicen en el negocio del software: “No hay que romperse
el coco”.
Stallman trato de explicar su solución de forma clara, puntualizando bien las
cosas, en el manifiesto del GNU. Escribió: “No hay nada malo en querer cobrar por
el trabajo propio, o en pretender que se maximicen los propios ingresos, mientras
no se usen medios que resulten destructivos. Pero los medios habituales en el
campo del software hoy en día están basados en la destrucción”.
Obtener dinero de los usuarios de un programa restringiendo su uso, es
destructivo, porque las restricciones reducen la posibilidad de usar el programa y
la cantidad de riqueza que la humanidad extrae de él. Cuando se elige
deliberadamente esa restricción, el resultado es una restricción deliberada.
A primera vista, Richard Stallman no tiene que preocuparse por llegar a fin de
mes. El MIT le deja una oficina, tiene una beca de la MacArthur Foundation y las
empresas le pagan para que ayude a portar su software libre a sus plataformas.
Su extraordinaria reputación, combinada son un estilo de vida realmente frugal, le
permiten mantenerse con dos meses de trabajo remunerado al año. El resto del
tiempo lo dona a la FSF. No es lo mismo que dirigir Microsoft, pero él se las
arregla.
Aun así, la existencia de Stallman está lejos de ser tranquila. Tiene que trabajar
mucho para poder desarrollar sus líneas funcionales. Para evitar cualquier
conflicto de intereses, la FSF no paga salario alguno a Stallman, ni le cubre sus
gastos de viaje.
43
El dice que recibir pago por parte de las empresas a cambio de portar el software
le ayuda a mantenerse pero no a crear nuevo software. Stallman se esfuerza
mucho buscando nuevas fuentes de financiación para el FSF y el dinero acaba por
aparecer y sufraga a los programadores que tienen nuevos proyectos. Esta lucha
diaria por obtener “alguna” forma de ingreso es uno de los desafíos más grandes
del mundo del código libre hoy en día. Otras personas del software libre están
siguiendo el camino de Stallman al vender sus servicios y no el software. Muchos
de los miembros del Apache Webserver Core, por ejemplo, hacen dinero
controlando páginas web. Les pagan para que sus clientes puedan escribir
www.website.com y aparezca algo. El cliente no le importa si lo que responde a
sus peticiones es software libre o algo de Microsoft. Lo único que quieren es que
se mueva los gráficos el texto.
Existen diferentes formas o medios de financiación a través de las cuales el
software libre se sigue manteniendo en pie, a partir del siguiente apartado les voy
a hablar de ellas.
4.1.1 FINANCIACION PUBLICA
Un tipo muy especial de financiación de proyectos libres es la pública. La entidad
financiadora puede ser directamente un gobierno (local, regional, nacional o
incluso supranacional) o una institución pública (por ejemplo, una fundación).
Normalmente, la entidad financiadora no busca recuperar la inversión (o al menos
no de forma directa), aunque suele tener objetivos claros (favorecer la creación de
tejido industrial e investigador, promover cierta tecnología o cierto tipo de
aplicaciones, entre otros). Algunas de las motivaciones para este tipo de
financiación son las siguientes:

Científica: Este es el caso más habitual en proyectos de investigación
financiados con fondos públicos. Aunque su objetivo no es producir
software, sino investigar en un determinado campo (relacionado o no con la
informática), es muy posible que para ello sea preciso desarrollar
programas que se usen como herramientas necesarias para alcanzar las
metas del proyecto.
44

Promoción de Estándares: En muchos casos eso supone tener programas
que formen parte de esa implementación (o si el estándar se refiere al
campo del software, que sean la implementación ellos mismos). Para que la
implementación de referencia sea de utilidad en la promoción del estándar,
es preciso que esté disponible, al menos para comprobar interoperabilidad,
para todos los que quieran desarrollar productos que se acojan a ese
estándar.

Social: El software libre es una herramienta de gran interés en la creación
de la infraestructura básica para la sociedad de la información. Las
entidades interesadas en utilizar software libre para ayudar al acceso
universal a esta sociedad de la información pueden financiar proyectos
relacionados con el software libre (normalmente proyectos de desarrollo de
nuevas aplicaciones o de adaptación de otras existentes.
4.1.2 FINANCIACION PRIVADA SIN ANIMO DE LUCRO
Este es un tipo de financiación con muchas características similares a las del caso
anterior,
donde
la
financiación
la
realizan
normalmente
fundaciones
u
organizaciones no gubernamentales. La motivación directa en estos casos suele
ser producir software libre para su uso en algún ámbito que la entidad financiadora
considera especialmente relevante, pero también puede encontrarse la motivación
indirecta de contribuir a resolver un problema (por ejemplo, una fundación
dedicada a promover la investigación sobre una enfermedad puede financiar la
construcción de un programa estadístico que ayude al análisis de grupos de
experimentación donde se está estudiando esa enfermedad).
4.1.3 FINANCIACION POR QUIEN NECESITA MEJORAS
Otro tipo de financiación para el desarrollo de software libre, ya no tan altruista, es
el que tiene lugar cuando alguien necesita mejoras en un producto libre. Por
ejemplo, una empresa, para uso interno, necesita de cierta funcionalidad en un
programa dado. O bien necesita que ciertos errores en un programa sean
corregidos. En este tipo de casos, lo habitual es que la empresa en cuestión
contrate el desarrollo que necesita. Este desarrollo, muy habitualmente (bien
45
porque lo impone la licencia del programa modificado, bien porque la empresa lo
decide así) es software libre.
4.1.4 FINANCIACION CON BENEFICIOS RELACIONADOS
En este caso, lo que busca la entidad financiadora es conseguir beneficios en
productos relacionados con el programa a cuyo desarrollo aporta recursos.
Normalmente, en estos casos los beneficios que obtiene la empresa financiadora
no son exclusivos, ya que otras pueden entrar también en el mercado de la venta
de productos relacionados. Pero bien la cuota de mercado que tiene es suficiente
como para que no le preocupe mucho repartir la tarta con otros, o bien tiene
alguna ventaja competitiva clara. Algunas de las motivaciones para este tipo de
financiación son las siguientes:

Libros: La empresa en cuestión vende manuales, guías de uso, textos para
cursos, etc. relacionados con el programa libre que ayuda a financiar. Por
supuesto otras empresas pueden vender también libros relacionados, pero
normalmente el financiar el proyecto le dará acceso antes que a sus
competidores a desarrolladores clave, o simplemente conseguirá con ello
una buena imagen de cara a la comunidad de usuarios del programa en
cuestión.

Hardware: Si una empresa financia el desarrollo de sistemas libres para
cierto tipo de hardware puede dedicarse a vender con más facilidad ese tipo
de hardware. De nuevo, al ser libre el software desarrollado, pueden
aparecer competidores que vendan aparatos del mismo tipo, usando esos
desarrollos, pero sin colaborar a su financiación. Pero incluso así, la
empresa en cuestión tiene varias ventajas sobre sus competidores, y una
de ellas puede ser que su posición como aportadora de recursos para el
proyecto le permitía influir para conseguir que los desarrollos que se
realicen con más prioridad sean los que más le interesen.

CD´s con Programas: Probablemente el modelo de este tipo más conocido
es el de las empresas que financian ciertos desarrollos que luego aplican a
su distribución de software. Por ejemplo, tener un buen entorno de
escritorio puede ayudar mucho a vender CD’s con una cierta distribución de
46
GNU/Linux, y por tanto, financiar su desarrollo puede ser un buen negocio
para quien los vende.
4.1.5 FINANCIACION COMO INVERSION INTERNA
Hay empresas que, directamente como parte de su modelo de negocio,
desarrollan software libre. Por ejemplo, una empresa puede decidir iniciar un
nuevo proyecto libre en un ámbito donde percibe que puede haber oportunidades
de negocio, con la idea de rentabilizar posteriormente esta inversión. Este modelo
podría considerarse una variante del anterior (financiación indirecta), siendo los
"beneficios relacionados" las ventajas que obtenga la empresa de la producción
del programa libre.
4.2
POLITICA
Una de las cuestiones más importantes en el mundo del software libre es la
política. La idea de regalar el software y el código fuente no es un concepto nuevo.
La cuestión de la política en el mundo del código libre normalmente se reduce a un
simple dilema: algunos piensas que es una utopía comunista. Normalmente, las
dos ideas se sitúan en los extremos opuestos del espectro, mirándose entre sí con
desdén. Pero en el extraño mundo del software no es tan fácil ubicar las ideas.
Cualquiera
puede duplicar un software tantas veces quiera y aun así este
continua siendo útil.
En cierto sentido, la política del movimiento de código libre es una incógnita sobre
la que todo el mundo puede proyectar sus deseos. Jhon Gilmore dijo una vez:
“Richard Stallman es un comunista”.
La realidad es que Stallman no reniega del dinero e insiste en que no es un
comunista, ni tampoco enemigo del estado capitalista. Le parece maravilloso que
la gente cobre por su trabajo de programación y el suele hacer lo mismo. Pero es
fácil entender porque la gente cree que es comunista. Uno de sus artículos que el
público, asegura que no es estrictamente comunista, se titula: “Porque el software
no debería tener propietarios”.
Algunas de sus afirmaciones pueden parecer marxistas, desde luego. El código
fuente de un programa a menudo actúa como los medios de producción y por eso
los capitalistas que llevan lo negocios tratan de controlarlo. Stallman quiere
47
controlar esos medios de producción en las manos de todo el mundo, de modo
que la gente pueda ser libre de hacer lo que desee.
Aunque Stallman no abomina de los efectos del dinero, si rechaza la idea de que
el capital intelectual, es decir, el código fuente, deba ser controlado. Y tiene razón,
las leyes de propiedad intelectual restringen la capacidad de las personas de
añadir cosas, mejorar o cambiar el trabajo de otras personas. Las normas de buen
uso, que permiten al autor de un texto citar y comentar fragmentos, no funcionan
en el mundo del software, en el cual resulta muy difícil copiar cualquier cosa
excepto el cien por ciento de algún código fuente.
4.3
CRECIMIENTO
En la década de 1990, el pequeño sistema operativo de Linux fue creciendo lenta
y sigilosamente a medida que cada vez más programadores se iban viendo
arrastrados hacia él.
Poco a poco, cada vez más personas empezaron a usar el sistema y a contribuir
con sus colaboraciones al conjunto. Así a alguien se le ocurrió como conseguir
que el Windows System del MIT pudiera ejecutarse con Linux, para que todo el
mundo tuviera un interfaz grafico. Otra persona descubrió como conseguir
tecnología para conectarse a internet. Esto significo una gran diferencia, porque a
partir de entonces todo el mundo pudo hackear, manipular y amañar código y
luego sin más, ir a cargar las nuevas versiones en la red.
Ni que decir tiene que todo el buen software que procedía de la FSF de Stallman
se abrió paso hacia UNIX. Algunos eran simples juegos, como el ajedrez de GNU,
pero otros eran herramientas serias, esenciales para el crecimiento del proyecto.
En 1991, la FSF ofrecía lo que se podía considerar como uno de los mejores
editores de texto y compiladores del mundo. Otros podían acercársele en cuanto a
calidad, pero el de Stallman era gratuito. Esas importantes herramientas hicieron
posible que Linux creciera con rapidez y de un núcleo pequeño y experimental se
convirtiera en un sistema operático con todas las características y capaz de hacer
todo lo que se deseara de cualquier programador.
James Lewis-Moss, uno de los muchos programadores que dedica algún tiempo a
Linux apunta a una de las controversias más ardientes en el mundo del software
48
libre: todas las herramientas y juegos que provienen del proyecto GNU empezaron
formando parte de lo que la gente conoce como sencillamente como “Linux”. El
nombre del pequeño núcleo del sistema operativo pronto se amplio y se empezó a
aplicar a casi todo el software libre que se ejecutaba sobre él. Esto enfureció
bastante a Stallman, que al principio propuso que sería mejor llamarlo “Lignux”.
Aquello no cuajo y decidió cambiarlo por
“GNU/Linux”. Algunos ignoran sus
ruegos y siguen usando simplemente Linux, cosa que resulta un poco injusta.
Otros creen que “GNU/Linux” es un nombre demasiado largo y que para bien o
para mal, la abreviatura más adecuada es Linux.
4.4
COMPARATIVA ENTRE EL SOFTWARE LIBRE Y EL
SOFTWARE PROPIETARIO
Para empezar la comparativa entre software libre y software propietario,
iniciaremos hablando sobre el software propietario, que es y sus características,
posteriormente haremos un recuento de lo que es el software libre y pasaremos a
la comparación.
4.4.1 SOFTWARE PROPIETARIO
Software propietario (también llamado no libre, software con licenciamiento,
software privativo, software de propiedad), se refiere a cualquier programa
informático en el que los usuarios tienen limitadas las posibilidades de usarlo,
modificarlo o redistribuirlo (con o sin modificaciones) o cuyo código fuente no está
disponible o el acceso a este se encuentra restringido.
En el software no libre una persona física o moral, posee los derechos de autor
sobre un software, negando o no, los derechos de usar el programa con cualquier
propósito; ya sea el de estudiar cómo funciona el programa y adaptarlo a las
propias necesidades, de distribuir copias; o de mejorar el programa y hacer
públicas las mejoras.
Al comprar una licencia original, se está adquiriendo el derecho a utilizar el
producto de acuerdo a las reglas establecidas por el autor. Por tratarse de un
contrato es necesario que el dueño de este software apruebe bajo su
consentimiento el uso del mismo para ser utilizado por un tercero. El contrato de
licencia es la única vía legal por la cual el titular otorga este consentimiento.
49
Cada instalación de software requiere una licencia que la respalde. Existen
distintos tipos de contratos de licencia. La manera en que estos contratos se
formalizan, dependerá del régimen de licenciamiento que cada producto de
software establezca.
Se pueden establecer tres características de propiedad (Stallman 1985):
a) Habitualmente, el software original se presenta en cajas impresas en las
cuales adentro de ellas pueden encontrarse entre otras cosas, la licencia de
uso del software, los manuales de los productos y CD´s identificados con
etiquetas pre-impresas que indican el nombre del productor del software, su
versión y su lenguaje.
b) Otra forma muy común de licenciamiento, es a través de la preinstalación
del software en el disco duro al momento de adquirir la PC. En este caso,
deberá exigir al comercio la entrega de toda la documentación original que
respalde dichas instalaciones.
c) Licencias por volumen, no incluyen la entrega física de paquetes de
software, sino solo la licencia de uso e varias copias.
4.4.2 CARACTERISTICAS DEL SOFTWARE PROPIETARIO
Estas licencias también se conocen con el nombre de software licenciado. En ellas
los propietarios establecen los derechos de uso, distribución, redistribución, copia,
modificación, cesión y en general cualquier otra consideración necesaria.
Este tipo de licencias, por lo general, no permiten que el software sea modificado,
copiado o distribuido de forma ilegal, (piratería de software), regula el número de
copias que pueden ser instaladas e incluso los fines concretos para los cuales
puede ser utilizado. La mayoría de estas licencias limitan fuertemente la
responsabilidad derivada de fallos en el programa. Los fabricantes de programas
sometidos a este tipo de licencias por lo general ofrecen servicios de soporte
técnico y actualizaciones durante el tiempo de vida del producto.
Algunos ejemplos de estas licencias son:
a) Licencia de usuario final
En ingles EULA o End User License Agreement, es una licencia por la cual el uso
de un producto solo esta permita para un único usuario.
50
El conocimiento del contenido de los contratos es difícil antes de la compra del
producto ya que las cajas de los productos raramente contienen una copia
completa del mismo, dándose que el comprado en la mayor parte de las ocasiones
conoce su contenido después de la compra.
En ocasiones se exige al usuario el renunciar a realizar reclamos o demandas
legales por diversos motivos, o aceptar la restitución de la mercancía en forma y
monto que la compañía decida.
Este tipo de acuerdo expresa los usos que se pueden dar y cuáles no al producto,
ya que quien lo compra no es, legalmente, en ninguna forma dueño del producto,
sino solo de una licencia para su uso, además son unilaterales pues el usuario no
tiene más opción que aceptar o rechazar el contenido del mismo.
b) Licencia de distribuidor
En este tipo de contrato, se les asigna derechos restringidos a un comerciante
para que venda el producto (software), dando una comisión al fabricante.
4.5
COMPARACION
Antes de pasar a la comparación, daremos un repaso de lo que significa el
software libre.
El software libre se refiere a la libertad de los usuarios para ejecutar, distribuir,
estudiar, cambiar y mejorar el software; se refiere a cuatro libertades de los
usuarios del software: la libertad de usar el 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.
El software libre suele estar disponible gratuitamente, o al coste de la distribución
a través de otros medios, sin embargo no es obligatorio que así sea, por ende no
hay que asociar software libre a software gratuito, ya que conservando su carácter
de libre, puede ser distribuido comercialmente.
Tampoco debe confundirse software libre con software de dominio público. Este
último es aquel que no requiere licencia, pues sus derechos de uso 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
51
seria aquel cuyo autor lo dona a la humanidad o cuyos derechos de autor han
expirado, tras un paso contado desde la muerte de este, habitualmente 70 años.
Si un autor condiciona su uso bajo una licencia, por muy débil que sea, ya no es
de dominio público.
4.5.1 DIFERENCIAS ENTRE EL SOFTWARE PROPIETARIO Y
SOFTWARE LIBRE
Software Propietario:
a) Tienen licencias, las cuales están limitadas por usuarios y en algunos casos
son costosas. Estas licencias restringen las libertades de los usuarios de
usar, copiar, modificar y distribuir el software.
b) El desarrollo, programación y actualización de este software solo lo hace la
empresa que tiene los derechos.
c) El futuro del software que compro el usuario depende de una empresa
comercial.
d) Muchas veces con estrategias comerciales se suele hacer que los usuarios
actualicen su software comercial, sin que exista una necesidad verdadera
de ello, consiguiendo de esta forma hacer que el usuario invierta en nuevas
licencias, la mayoría de las veces innecesarias.
Software Libre
a) No está limitado por los usuarios, y garantiza las libertades de los usuarios
de usar, copiar, modificar y distribuir el software.
b) En el desarrollo de este software puede intervenir cualquier persona,
empresa u organización en el mundo.
c) Los avances y descubrimientos tecnológicos en el mundo son diarios, y se
encuentran en internet en forma gratuita. La principal meta del software
libre es compartir los avances tecnológicos con los demás.
d) El usuario no depende de una sola empresa, ya que el software que
implemento puede ser mantenido y modificado por cualquiera del mundo.
e) El software libre tiene la costumbre de seguir siendo compatible hacia atrás,
tanto en software como en hardware, no obliga al usuario a cambiar de
52
tecnología, ya que no persiguen los mismos fines económicos que el
software propietario.
4.6
DIFERENCIAS AL PROGRAMAR SOFTWARE
PROPIETARIO Y LIBRE
Eric S. Raymond nos cuenta en su libro la catedral y el bazar las principales
diferencias a la hora de programar software libre y software propietario.
Por un lado nos cuenta como el software propietario sigue una metodología
jerárquica donde pequeños grupos de programadores desarrollaban el software
mediante unas pautas prefijadas por la dirección. A esta forma de programa la
llama la forma clásica o el estilo catedral.
En el lado opuesto nos cuenta como el software libre se basa en la aportación de
personas ajenas entre ellas para formar un trabajo colectivo. El lugar de trabajo es
un servidor donde cada uno aporta su granito de arena por pequeño que sea.
Normalmente existe un coordinador para evitar posibles solapamientos entre
tareas. La norma básica de este desarrollo es que todo se comparte. Al desarrollo
del software libre lo llama estilo bazar.
Otra de las diferencias entre en el modelo propietario y el libre es la velocidad con
la que se liberan versiones. Mientras que en el estilo catedral tratan de sacar las
versiones con los mínimos fallos posibles y eso hace que se demoren mucho en el
tiempo por las comprobaciones, en el estilo bazar pretende liberar código lo más
rápidamente posible para de esta forma depurarlo entre todos los usuarios y
avanzar de manera más rápida.
53
CAPITULO V: PRESENTE DEL SOFTWARE LIBRE
5.1
MODELOS DE DESARROLLO
Tradicionalmente, el desarrollo de software propietario lo realizan grupos de
desarrolladores dentro de una empresa o de empresas contratadas para tal, bajo
contratos que impiden la divulgación y el uso de informaciones relacionadas al
producto en desarrollo. Todo está relacionado a cuestiones de sigilo industrial y de
propiedad intelectual (derecho de autor), y el conocimiento relacionado a la
producción del software está considerado como un activo muy importante de la
organización propietaria.
El Software Libre permitió el surgimiento de innovadores modelos de desarrollo de
software, con colaboración en red de desarrolladores. Estos modelos son
fundamentalmente diferentes de las prácticas establecidas por la ingeniería de
software tradicional. La Internet fue (y es) un punto clave de este cambio, pues
proporcionó una gran expansión en esta forma de organización del trabajo, y
permite la creación simple y ágil de redes con participantes de todas las partes del
mundo
y,
colateralmente,
responsabilidades
para
distribuye
todos
los
know-how,
participantes
mejores
de
estas
prácticas
redes,
y
sean
desarrolladores, traductores o simples usuarios, que colaboran con sugestiones de
mejorías y relatan bugs. Estas redes, sin embargo, pueden ser más o menos
“libres”. Pueden ser sistemas complejos que se auto-organizan o pueden ser
sistemas jerárquicos, con reglas y niveles de acceso diversificado.
El desarrollo del kernel del Linux, por ejemplo, explotó, al principio, una forma
descentralizada y colectiva de proyecto de desarrollo, muy factible por Internet.
El autor original del Linux, Linus Torvalds, mantuvo el control del proyecto del
sistema operacional, pero abrió el proceso de modo a que otros pudieran
acompañar su trabajo y evolución y, ante todo, pudieran contribuir para la
identificación y solución de problemas.
55
Por este proceso, el desarrollo del Linux se tornó el resultado de un ambiente de
aprendizaje colectivo, donde la tarea estratégica del líder es dar la palabra final
sobre posibles disputas, al mismo tiempo en que estimula, posibilita y mantiene el
flujo de ideas, conocimiento, experiencias, entre otros.
Con la generalización de estas prácticas, las implicaciones para el desarrollo de
software fueron marcantes: Internet se tornó el entorno de desarrollo de proyectos
y todos los que pueden y desean colaborar pueden hacerlo en un proceso
colectivo con diversas formas de colaboración (programación, indicación de fallas,
sugestión
de
mejorías,
traducción,
documentación,
divulgación
o
hasta
financieramente). Son colectivos heterogéneos y débilmente relacionados (sólo un
motivo común los une: el desarrollo de un software específico), por lo general sin
contratos formales o vínculos a empresas u organizaciones para el desarrollo del
software. A estos colectivos tradicionalmente se les llama comunidad de desarrollo
de software.
En estas condiciones, el desarrollo de un software exige la actuación de líder(es)
de proyecto, por lo general, la(s) persona(s) con actuación más acentuada en el
mismo, que decide(n) qué colaboraciones se incorporarán a la próxima versión del
software, cuáles son las prioridades y los rumbos del proyecto, oída la comunidad
que se forma alrededor del mismo. Ejemplos claros de este modelo de gobierno
(con variaciones
propias
de
cada una) son las comunidades
Apache
(www.apache.org) y la de desarrollo del kernel del Linux (kernel.org). Se aplica, a
la mayoría de los proyectos de desarrollo de software libre, un principio basado en
los méritos de los participantes en aquella comunidad. El concepto de mérito
puede variar de comunidad a comunidad, pero por lo general, involucra cuestiones
como cantidad y calidad de código contribuido, sugestiones y participación activa y
coherente y con opiniones constructivas en debates sobre los rumbos del
proyecto. Cuando prevalece, esta forma de gobierno es esencialmente
meritocrática (forma de gobierno basada en el merito), pero tiene también
contenido estratégico y de seguridad.
Este modelo de desarrollo también permite que muchos individuos y empresas
puedan colaborar para la creación de un software, que ninguno de ellos fuera
56
capaz de desarrollar individualmente, por la complejidad o por el costo. Por lo
tanto, se trata de una forma de organización que aprovecha economías de escala
y de alcance.
También permite una corrección rápida de fallas y el aumento de la seguridad,
porque el código fuente puede ser inspeccionado públicamente, y esto hace con
que esté expuesto a severas evaluaciones, al haber una gran cantidad de
personas que pueden colaborar con la corrección de las fallas detectadas. Otra
característica interesante es la posibilidad de realizarse alteraciones específicas,
según las necesidades individuales de cada usuario, generando diversas
versiones personalizadas y que atienden perfectamente a cada característica
demandada.
El modelo de desarrollo también favorece la posibilidad de bifurcación de
proyectos: en el caso de que no haya acuerdo con relación a los rumbos de un
determinado proyecto (o sea, si un grupo de personas o hasta una persona que
participa del desarrollo no está de acuerdo con los rumbos definidos por el(los)
líder(es)), siempre existe la posibilidad de principiar un nuevo proyecto, con
nuevas prioridades y rumbos, aprovechando todo el código ya desarrollado en el
proyecto original, con partida desde el punto exacto en que hubo la ruptura,
mientras el proyecto original sigue sus directrices definidas.
Actualmente, la forma de organización del trabajo relacionado al desarrollo de
software viene suscitando mucho interés entre investigadores de diversas áreas,
desde el derecho hasta la ciencia política, y, claro, la economía.
El término commons-based peer-production ya fue utilizado para definir esta forma
de producción.
El creador del término, Yochai Benkler (Benkler, 2002), caracteriza este modelo de
desarrollo de SL/CA como el ejemplo más visible de un nuevo fenómeno
socioeconómico que define un tercer modo de producción, que está más
adecuado al entorno digital en red. Segundo el autor, este nuevo modo de
producción se diferencia de los tradicionales modelos basados en propiedad
(empresas) y en contratos (mercados), pues su característica central es la de
grupos de individuos que colaboran en grandes proyectos, por motivaciones y
57
señalizaciones sociales diversas en vez de precios de mercado y de comando
jerárquico-gerencial, típicas de las dos otras formas de producción.
El profesor de economía de la Universidad de California en Berkley, J. Bradford
DeLong, destaca el nacimiento, en el meollo de las comunidades de desarrollo de
SL/CA, de una nueva modalidad de organización social, diferente de las 3
herramientas convencionales de ingeniería social que él reconoce como utilizadas
por la humanidad para organizar la división de trabajo en gran escala: mercados,
jerarquías y carisma.
5.2
COMUNIDADES
En realidad, el término “comunidad”, usado anteriormente, se aplica en diferentes
contextos a diferentes grupos de personas, con mayor o menor granularidad. Se
aplica, por ejemplo, en un contexto generalista, a todo el colectivo de personas
que se relaciona con SL/CA, que abarca no sólo un proyecto o un tema, pero los
participantes de todas las comunidades vinculadas de alguna forma al desarrollo,
uso, difusión o apoyo del
SL/CA. Estas comunidades pueden ser, por ejemplo, grupos de usuarios, grupos
de desarrolladores, grupos mixtos, grupos de debates técnicos, grupos de debates
políticos, grupos de organización y articulación, grupos que usan/desarrollan un
software en común. Este último tipo de grupo es lo que más comúnmente se
define como comunidad: las que se forman alrededor de un software o de un
proyecto de desarrollo de software. Son ejemplos típicos la comunidad Mozilla16,
la comunidad Mambo17 y otras, en que se reúnen desarrolladores, usuarios e
interesados para debatir y perfeccionar una herramienta en particular. Estas
comunidades también pueden subdividirse en otras más específicas, como una
subcomunidad de desarrolladores (que trata cuestiones técnicas de desarrollo y
encamina la solución de problemas) y una subcomunidad de soporte (que ofrece
ayuda a usuarios principiantes y/o en dificultades para utilizar determinado recurso
del software en cuestión). Las comunidades son una característica marcante de
buena parte de los proyectos de desarrollo de SL/CA. Cuanto más visibles los
proyectos, mayores las comunidades que se forman a su alrededor. Aunque el
papel central en estos proyectos sea el de los desarrolladores, a ellos enseguida
58
se les suman los usuarios del software, que también contribuyen de una forma u
otra, para la evolución de los mismos. Existen aún los usuarios no-activos, que
raramente participan de los debates sobre un software, esto los ubica en posición
aislada de la comunidad, pero, aún así, son considerados como tal (cuentan en
estadísticas de usuarios, por ejemplo).
Otros colaboradores también se unen a las comunidades, como traductores,
inversionistas, artistas gráficos (contribuyen con íconos, estudios de usabilidad) y
editores de libros.
Un factor fundamental para la existencia de estas comunidades es la facilidad de
comunicación propiciada por la Internet, esto permite la interacción, cooperación y
hasta competición entre sus miembros.
La colaboración viene tornándose cada vez más rica, pues a lo largo del tiempo se
fueron creando y perfeccionando herramientas apropiadas para cada actividad:
sistemas distribuidos de control de versiones de software y sistemas de
trazabilidad y control de errores son dos de los ejemplos de herramientas para
desarrolladores, mientras que listas de discusión, foros y chats, sitios web y otros
los utilizan tanto desarrolladores como usuarios.
Muchas
veces,
comunidades
grandes
promueven
también
encuentros
presenciales regionales, nacionales y hasta internacionales.
Existen aún las comunidades que se organizan alrededor de temas de debate
relacionados a cuestiones relevantes en el seno de las demás comunidades de
SL/CA. Son grupos heterogéneos, que involucran usuarios, desarrolladores y
cuadros políticos, y que pueden tener como foco de las discusiones cuestiones de
uso de SL/CA, estrategias de divulgación y difusión y articulación políticoestratégica.
5.3
MOTIVACIONES PARA EL DESARROLLO DEL SOFTWARE
LIBRE
La literatura sobre el tema “motivaciones de usuarios y desarrolladores de
Software Libre” es extensa. Por lo general, las opciones de motivaciones
presentadas a los entrevistados se relacionan con aspectos técnicos, ideológicos,
59
sociológicos y económicos. En el presente trabajo fueron investigadas las
motivaciones.
La gran mayoría de los usuarios destacó opciones relacionadas a la capacitación,
como “desarrollar nuevas habilidades” y “compartir conocimiento”. Después
aparece una motivación de orden técnica: “resolver problema sin solución usando
software propietario”. A seguir una motivación de naturaleza ideológica: “software
no debe ser propietario”, “Reducir costos” y “desarrollar nuevas habilidades
(capacitación)” fueron las razones con mayor frecuencia dentro de las
motivaciones. Las otras motivaciones son una mezcla de razones técnicas
(“facilidad de las herramientas”) con ideológicas (“software no debe ser
propietario” y “limitar el poder de las grandes corporaciones”). Es interesante notar
que las razones ideológicas son más fuertes entre usuarios que entre
desarrolladores, probablemente porque estos tienen en el desarrollo de programas
un elemento fundamental de soporte financiero. Aunque el componente ideológico
sea importante, hay razones de naturaleza práctica que los tornan más
pragmáticos.
5.4
MODELOS DE NEGOCIOS BASADOS EN SOTFWARE
LIBRE
Software libre es parte de la industria de software. Por obvio que esto pueda
parecer, es importante realizar la condición de pertenencia del Software Libre a
una industria, a su industria, que es la industria de software. Aún cuando se
considere el potencial revolucionario del Software Libre, es necesario identificar
con claridad las estructuras que él revoluciona. Como modelo de negocio, el
Software Libre incorpora nuevas formas de generar dinero en la industria de
software. Por esto, él software libre, altera estándares de competencia junto a la
industria que lo generó. Por lo tanto, para identificar modelos de negocios de
Software Libre es necesario antes ver cómo él altera los modelos de negocios de
la industria de software.
Vale también la pena contestar a las siguientes cuestiones: ¿Software Libre acaba
con los regímenes propietarios de la industria? ¿Cuáles? ¿Él engendra nuevos
60
regímenes tecnológicos y nuevos mercados? ¿Cuáles? ¿Lo qué debe cambiar en
la organización del mercado de software con el crecimiento del Software Libre?
Las respuestas dadas aquí a estas cuestiones dicen más o menos lo siguiente: el
Software Libre no acaba con los regímenes propietarios, sino con algunos tipos de
regímenes propietarios, específicamente los que combinan baja especificidad de
aplicativo (programas más genéricos, normalmente comercializados como
paquetes) con elevado interés en la reproducción (copia deseable). En paralelo, el
Software Libre no engendra propiamente nuevos regímenes tecnológicos, En esta
reorganización de trayectorias la industria de software viene asumiendo nuevos
contornos y ciertos estándares propietarios tienden a desaparecer, particularmente
los utilizados en sistemas operacionales.
5.5
SOFTWARE LIBRE HOY
El alcance del software libre a nivel mundial, es muy grande y siempre dará de que
hablar. Es por eso que me tomare este espacio para poder mencionar algunos de
los sucesos que hoy en día se llevan a cabo relacionados con el software libre.
Por ejemplo, quisiera tomar como ejemplo una ponencia que lleva por nombre: El
Software Libre como vía de Desarrollo la cual fue desarrollada en Bolivia donde el
especialista Iván Gutiérrez (2013) dijo:
El software libre da libertad para estudiar, modificar y mejorar programas que
se difunden de manera gratuita por Internet.
En base a estas libertades pasamos de ser consumidores a desarrolladores,
con esta decisión se pueden generar muchas opciones de desarrollo en
términos económicos, científicos y sociales. Al ser de dominio público, el
software libre circula sin mayores restricciones y es sujeto de muchas mejoras.
5.6
FUTURO DEL SOFTWARE LIBRE
Puedo decir que el futuro del software libre está asegurado ya que posee una
serie de ventajas sobre el software propietario:
a) Beneficios tecnológicos: a lo largo de los años se ha demostrado que el
software libre es seguro, estable y poderoso para aplicaciones de todo tipo.
La curva de aprendizaje, talón de Aquiles en el pasado, se ha ido
aminorando gradualmente y las distribuciones con interfaz grafica permiten
61
a los usuarios novatos introducir en el mundo del software libre sin
problemas.
b) Beneficios económicos: el software libre es más barato y en la mayoría de
los casos, no tienes que pagar nada por él. De esta forma te ahorras un
gran coste en licencias.
c) Beneficios culturales: el software libre promueve la mezcla de culturas. El
modelo del bazar comentado anteriormente hace que desarrolladores del
todo el mundo se comuniquen y participen para la creación de software.
6 EJEMPLOS DE PROGRAMAS DE SOFTWARE LIBRE
¿Somos conscientes del uso que hacemos del software libre en nuestro día a
día? Al hablar de ello siempre sale el nombre de Linux y a los programas que se
desarrollan para ese sistema operativo, pero hay una gran cantidad de programas
que están creados en código abierto para el sistema operativo Windows, muchos
de estos programas ofrecen más ventajas que los de código propietario, y
terminan siendo la opción a escoger cuando no interesa el software propietario.
A continuación repasare una lista de los programas más importantes de software
libre.
6.1
MOZILLA FIREFOX
Durante los años de dominio absoluto de Internet Explorer la Web estaba limitada
y los programadores tenían que ceñirse al navegador de Microsoft si querían que
sus páginas se desplegaran correctamente.
Aún hoy desarrollar webs
compatibles con todos los navegadores puede ser una auténtica dificultad. Pero
todo comenzó a cambiar cuando llegó Firefox.
Primero fue Mozilla Navigation Suite, después Phoenix, después Firebird y por
último Firefox, y ha revolucionado la navegación web. El auge de Internet impulsó
su crecimiento, su éxito y su importancia mucho más allá que cualquier otro
proyecto de Software Libre. Ser multiplataforma (funciona en GNU/Linux, Mac y
Windows) le permite tener más usuarios y también, más programadores
voluntarios.
Microsoft no prestó la atención debida a su navegador, así que Firefox pronto fue
más rápido, más completo, más seguro, más preciso con los estándares web y,
62
por así decirlo, mejor en todo. Firefox, en definitiva, fue el desencadenante de la
guerra de navegadores de la que tanto nos estamos beneficiando los usuarios en
la actualidad, además de situar el software libre con una cuota de un 30% (más
contando a Chrome) en el mercado de los navegadores.
6.2
GNU/LINUX
GNU/Linux es el nombre completo del sistema operativo que normalmente todos
pueden conocer como Linux. El núcleo del sistema operativo (lo que interconecta
los dispositivos entre sí) es Linux, las herramientas básicas del sistema operativo
alrededor del núcleo son parte del proyecto GNU.
Ambos han sido imprescindibles, juntos más que por separado, en el desarrollo de
la informática desde los años 90. A pesar de todo, entre ambos ofrecen un sistema
hiperconfigurable, completísimo y que no pocas veces ha puesto en evidencia a
sus grandes competidores comerciales, ya sea en la informática de escritorio
como de grandes servidores.
En el recuento de septiembre de 2009, 446 de los 500 superordenadores más
potentes del mundo ya usaban GNU/Linux como sistema operativo. Los teléfonos
con Android llevan Linux, muchos de los primeros portátiles llevaban Linux. A fin
de cuentas, ofrece un sistema plenamente funcional, completo y moderno que no
tiene ningún costo de licencia.
6.3
APACHE
Arthur C. Clarke dijo “Cualquier tecnología suficientemente avanzada es
indistinguible de la magia”. Internet, sin duda, forma parte del grupo. Pero resulta
que no es magia, es tecnología lo que hay detrás. En el caso de las páginas web
que a fin de cuentas es lo que mucha gente considera Internet, lo que hay detrás
son servidores que se encargan de proveernos las páginas web que solicitamos
con nuestro navegador.
Apache es el servidor web por excelencia, líder abrumador, con un 54% de cuota frente al 24% del IIS de Microsoft- (2010). Probablemente la versatilidad que
garantiza el software libre porque cualquiera puede modificar el programa a su
antojo es lo que le ha permitido alcanzar tales cuotas de éxito y convertirse, de
facto, en el estándar para servir páginas web.
63
6.4
FREEBSD
FreeBSD es uno de los sistemas operativos de la familia BSD. Son sistemas
operativos tipo UNIX con licencia (BSD se llama también) aún más relajadas que
la GPL, porque permiten, básicamente, hacer lo que quieras con el software
mientras mantengas legalidad. Te permite, incluso, modificar el software a tu
antojo y re-licenciarlo impidiendo el acceso a tus modificaciones a los demás.
FreeBSD puede que no haya revolucionado el mundo directamente, pero sí ha
tenido más influencia de lo que mucha gente sabe. El motivo: todos los
dispositivos Apple desde el lanzamiento de Mac OS X llevan una parte de
FreeBSD en su interior. Apple ha usado el código de FreeBSD para construir tanto
el núcleo de su sistema operativo para ordenadores (Mac OS X) como el de
dispositivos móviles (iOS).
¿Y por qué iba a querer Apple usar código de otro sistema operativo para montar
el suyo propio? Pues porque era la manera más sencilla de partir, de base, de uno
de los sistemas operativos más seguros y eficaces que existen.
6.5
OpenOffice
Apache OpenOffice es una suite ofimática libre (código abierto y distribución
gratuita) que incluye herramientas como procesador de textos, hoja de cálculo,
presentaciones, herramientas para el dibujo vectorial y base de datos. Está
disponible para varias plataformas, tales como Microsoft Windows, GNU/Linux,
BSD, Solaris y Mac OS X. Soporta numerosos formatos de archivo, incluyendo
como predeterminado el formato estándar ISO/IEC OpenDocument (ODF), entre
otros formatos comunes, así como también soporta más de 110 idiomas, desde
febrero del año 2010.
Apache OpenOffice desciende de OpenOffice.org, un proyecto que tiene como
base inicial a StarOffice, una suite ofimática desarrollada por StarDivision y
adquirida por Sun Microsystems en agosto de 1999. El desarrollo de la suite
estaba liderado por Oracle Corporation (inicialmente por Sun Microsystems), en
colaboración con otras compañías como IBM, Google, entre otras hasta junio de
2011. El código fuente de la aplicación está disponible bajo la Licencia pública
general limitada de GNU (LGPL). Después de la adquisición de Sun en 2010,
64
Oracle Corporation dejó de apoyar el desarrollo comercial y en junio de 2011 donó
la suite a la Incubadora de Apache para convertirse en un proyecto de la Apache
Software Foundation. Posteriormente, en diciembre de 2011, la Apache Software
Fundación anunció que el nombre del proyecto se convertiría en Apache
OpenOffice.
6.6
NOTEPAD++
Notepad++ es un editor de texto y de código fuente libre con soporte para varios
lenguajes de programación. De soporte nativo a Microsoft Windows.
Se parece al Bloc de notas en cuanto al hecho de que puede editar texto sin
formato y de forma simple. No obstante, incluye opciones más avanzadas que
pueden
ser
útiles
para
usuarios
avanzados
como
desarrolladores
y
programadores.
Se distribuye bajo los términos de la Licencia Pública General de GNU.
6.7
SOFWARE DE COMUNICACIÓN
Ya sea por voz o a través del teclado, nos gusta comunicarnos con amigos y
familiares. Los máximos representantes del software libre en este apartado
son Pidgin y aMSN, aunque hay muchos más, como Emesene. Pidgin sirve para
hablar con prácticamente cualquier red de mensajería instantánea, desde las
populares MSN y Yahoo! hasta Google Talk. Emesene, por su parte, está
especializado en la red de Microsoft.
6.8
DESCARGAS DE CONTENIDO
Un uso muy común de una computadora es poder descargar y compartir
contenido. Hay distintos métodos y el software libre tiene respuestas para todos
ellos.
El
más
novedoso
es
la
descarga
directa.
Para
ello
cuentas
con jDownloader, que lo atrapa todo, incluso vídeos de YouTube. Para los más
clásicos, eMule, y para quienes buscan velocidad y variedad, Ares, el programa
más descargado en Softonic.
6.9
REPRODUCTORES MULTIMEDIA
En la categoría de reproductores multimedia dispones de una larga lista de
software libre. Los más conocidos son VLC Media Player, Media Player
Classic y Miro, para ver vídeos, y Songbird, para escuchar música.
65
6.10 VIRTUAL BOX
Virtual Box es otro representante importante del software libre, la mejor manera de
probar programas o configuraciones del sistema operativo sin miedo a inutilizarlo.
Y para descomprimir archivos, qué mejor que 7-Zip o PeaZip, compatible con un
sinfín de formatos distintos.
66
CONCLUSIONES
La expansión del movimiento del software libre, en contraste con el
desconocimiento casi generalizado del mismo, me obligo a buscar el origen y
desarrollo de este tipo de programas y aplicaciones, sus fundamentos y formas de
organización.
Las formas de organización y producción, así como de la cooperación voluntaria
de miles de usuarios anónimos para desarrollar, e incluso ayudar a resolver
problemas, me llevo a estudiar el tema académicamente, buscando a resolver
preguntas como: ¿De dónde vino el software libre? ¿Cómo se ha mantenido? Y
¿Hacia dónde va el software libre?
Para responder a estas preguntas, en un primer momento de la investigación, se
describe el contexto general de lo que es el software en general, partiendo de sus
orígenes, los tipos de software que existen, los momentos de si historia en los que
ha sobresalido y crecido, entre muchas más características del mismo, el cual
poco a poco nos fue llevando a lo que se convertiría en un fenómeno que emergió
y permanece conocido como el software libre.
El conocimiento de la historia del software libre, es necesario para comprender las
transformaciones y cambios del mismo. En este sentido, este trabajo mostro
cuales fueron los inicios del software libre donde una persona decidió cambiar con
el paradigma que en ese momento sostenía al software. Esto se ejemplifico con la
narración de lo sucedido con el sistema operativo GNU/Linux. También a través de
la historia, se describió como la lucha por la libertad en el software emergió casi al
mismo tiempo en que se iniciaron las restricciones del mimo.
Una de las figuras trascendentes en esta fase y aun ahora, es Richard Stallman, a
través del movimiento denominado “copy-left” y la fundación del software libre.
Para este trabajo, se propuso mirar al software libre y su proceso de producción,
mantenimiento y distribución como un nuevo bien común del conocimiento, ya
que, en principio, son las mismas comunidades de desarrollo las que así lo
definen, a través de sus reglas.
En este sentido, la inserción del software libre en el mercado global, no solo toma
en cuenta el software como un producto, sino también como un proceso, en tanto
que sea resultado de la acción colectiva de un gran número de personas. Describí
68
la interacción entre los desarrolladores y los usuarios, lo que facilita la
comprensión acerca de cuándo los usuarios inciden en la innovación y
mejoramiento de las aplicaciones. Además, mencione la importancia que los
desarrolladores dan a los usuarios en partes fundamentales del proceso de la
producción del software libre, tanto para la retroalimentación, como para proponer.
Un proyecto exitoso de software libre, no solo o no necesariamente que este se
inserte en el mercado y genere ganancias a partir de donaciones, venta o los
servicios emanados a su alrededor, sino también que cumpla una función de
utilidad o resolución de problemas para la comunidad de desarrolladores y
usuarios, que haga avanzar el lenguaje de programación para generar nuevas
aplicaciones, que genere interés por parte de la comunidad, o bien, que se
convierta en un elemento lúdico o de reto para los propios desarrolladores y
usuarios. En sí, un proyecto exitoso de software libre, se basa más en la
generación de comunidades y redes de desarrollo a su alrededor que de tener un
simple producto terminado, susceptible de generar ganancias. El reto más
importante para un proyecto de software libre es generar interés.
La propuesta libre a diferencia de la privativa, cuando los proyectos de desarrollo
de software libre son exitosos, permite la sustentabilidad de los productos, pues el
interés de la comunidad de mantenerlos vivos, los ara evolucionar.
Pero además, se reparten las ganancias económicas cuando las hay, entre una
base amplia de actores; es decir, el trabajo de los desarrolladores no puede
enajenarse por una sola persona o entidad, puesto que el código fuente está
expuesta y según sea su tipo de licencia. Además, por la forma en que puede
redistribuirse y rediseñarse, permite que un mayor número de personas tengan
acceso a aplicaciones y programas. Si bien, es cierto que se necesitan
conocimientos técnicos y habilidades de programación para manipular el código, el
que este se encuentre “a la vista de todos” posibilita que se adapte y utilice de
diferentes maneras.
El uso del software privativo implica la dependencia de los usuarios hacia los
desarrolladores de sus programas, puesto que el usuario simplemente aprende a
entender la interfaz de las aplicaciones, es decir, se le entrena para que sepa
69
donde debe oprimir para hacer limitadas funciones, pero no se le enseña a
resolver problemas específicos que van más allá de su interfaz.
Considero mediante este estudio que el uso del código libre de aplicaciones y
programas, es necesario para fomentar el conocimiento tecnológico y las
habilidades técnicas de la población en general. A diferencia del uso del software
privativo, el software libre permite a los usuarios entender, los procesos que
ocurren al usar ciertas aplicaciones, además de que la interacción con
desarrolladores y otros usuarios, invita y facilita el aprendizaje del uso de
comandos y con ello fomenta la independencia del usuario con respecto a sus
aplicaciones.
Una de las principales aportaciones de este trabajo, siendo el estudio del
fenómeno del software libre, fue la representación del software libre como una
cultura la cual crece cada día más.
En tanto que existan pocos estudios, sobre este fenómeno, este trabajo aporta
una nueva línea de investigación, para ampliar la base de conocimiento sobre esta
temática.
Espero que esta investigación sea de utilidad para la comunidad estudiantil, en
tanto que se difunda el mensaje de que existen nuevas alternativas para la
interacción con la tecnología computaciones, como también motivar a los usuarios
e invitarlos que tengan un uso más racional y personalizado de sus aplicaciones.
Finalmente, quisiera poder dar un último mensaje; y es que a decir verdad, mucho
antes de iniciar con este trabajo, no sabía que tema elegir para poder realizar el
mismo, no estaba seguro de que hacer, así que decidí investigar y escoger mi top
5 de los mejores temas que más llamaban mi atención. Debo decir que cuando me
incline por el tema de software libre, no tenía idea de lo extenso que podía ser y
de las muchas cosas que podría aprender, fue una buena experiencia académica
trabajar en el. Aun así, debo decir que me encontré con algunas dificultades en el
camino en cuanto a términos y a referencias muchas algunas veces basadas en
otros sistemas y aparatos sobre lo cual tuve que investigar un poco más para
saber de que estaba hablando, como también a la búsqueda de la información
70
necesaria que me convenciera en cuando a lo que estaba buscando y necesitaba
para cada tema que escribía.
Debo añadir que si algo intente hacer, fue hacer un tipo de cronología de lo que
fue y es el software libre, y si me quedo alguna inquietud fue el no poder seguir
documentando lo que será en un futuro el software libre y los posibles cambios
que pueda tener. Aun así, estoy contento con la realización de lo que hice.
Que este trabajo allá sido de su agrado y sea tomado como un punto de partida
para el conocimiento del uso de nuevas alternativas de software.
71
FUENTES DE INFORMACIÓN
Collado Gonzalez M. (Marzo de 2010). Software Libre. Recuperado el 1 de julio de
2013
de
Sistemas
Distribuidos
y
Principales
Implementaciones:
ftp://www.cc.uah.es/pub/Alumnos/I.T.I.Gestion/Sist.Operativos/TECWeb/T1/
web/index.html
De la Cruz Martínez V. (2002). Filosofía del Software Libre. Tesis de Licenciatura,
Universidad Veracruzana, Xalapa, México.
Etapas de Desarrollo de Software. (Abril de 2011). Fundamentos de Desarrollo de
Sistemas. Recuperado el 15 de octubre de 2013 de Fundamentos de
Desarrollo de Sistemas.
http://www.slideshare.net/itlac/etapas-de-desarrollo-software
Gutiérrez Romero O. (2010). Análisis Comparativo de sistemas ERP´s de software
Libre
y
Software
Propietario.
Tesis
de
Licenciatura,
Universidad
Veracruzana, Xalapa, México.
Hispalinux. (Junio de 1997). ¿Qué es el Software Libre? Recuperado el 15 de julio
de
2013
de
¿Qué
es
el
software
libre?
tp://www.cc.uah.es/pub/Alumnos/I.T.I.Gestion/Sist.Operativos/TECWeb/T1/
web/index.html
Matthew Stallman R. (2002). Software Libre para una Sociedad Libre. Estados
Unidos: Editorial Traficantes de Sueños.
Real Academia Española. (2001). El Diccionario de la Lengua Española.
Recuperado el 20 de noviembre de 2013 de El Diccionario de la Lengua
Española.
http://rae.es/recursos/diccionarios/drae
Rendón Reyes D. (2001). El Software Libre. Tesis de Licenciatura, Universidad
Veracruzana, Xalapa, México.
Turner Sen T. (2012). Software Libre y abierto: comunidades y redes de
producción digital de bienes comunes. Tesis de Maestría, Universidad
Nacional Autónoma de México, Distrito Federal, México.
72
Descargar