\documentclass[pdf,colorBG,slideColor,noFooter,final,azure]{prosper}

\usepackage [latin1]{inputenc}
\usepackage [T1]{fontenc}
\usepackage [spanish]{babel}
%\usepackage{epsf}

\begin{document}

\title{La computación y sus versiones :\\  El Debate del Software \\ 
Software Libre vs. Software Privativo}

\author{Pablo De Nápoli}

\email{pdenapo@dm.uba.ar}

\maketitle

\begin{slide}{¿Porqué debería interesarme...?}

Un número creciente de nuestras actividades está controlada por las 
computadoras, incluyendo:
\begin{itemize}

\item Las comunicaciones interpersonales.

\item Las transacciones comerciales y bancarias.

\item Los trámites ante organismos del gobierno.
\end{itemize}

\medskip
Las computadoras están controladas por el código 

(el software). 

\medskip

Pero ... 
¿Quién controla el código?

\medskip

¿De quién recibe órdenes tu computadora? 

\medskip

¿Tenemos derecho a saber exactamente qué hace nuestra computadora?


\end{slide}


\part{¿Qué es el Software Libre?}


\begin{slide}{¿Qué es el Software Libre?}
Según la definición propuesta por {\green Richard Stallman}
un programa es software libre si el usuario tiene (de acuerdo
a la {\green licencia} del programa) las siguientes libertades o derechos:
\begin{enumerate}
\item [0)] La libertad de {\green ejecutar el programa}, con cualquier propósito.
\item [1)] La libertad de {\green estudiar cómo funciona el programa}, y 
{\green adaptarlo} a sus necesidades.
\item [2)] La libertad de {\green distribuir copias}, 
con lo que puede ayudar a su vecino.
\item [3)] La libertad de mejorar el programa y {\green 
hacer públicas las mejoras} a los demás, de modo que toda la comunidad se 
beneficie.
\end{enumerate}

\end{slide}

\begin{slide}{Una cuestión de Derechos}
\begin{itemize}
\item El software libre es una {\green cuestión de derechos}, \\
no una cuestión de tecnología.

\item Lo que decide si un programa es o no libre, es la 
{\green licencia} bajo la cual el programa se distribuye.

\medskip

Una licencia de software es un {\green contrato} entre el titular del copyright 
(derecho de copia) sobre un software, y el usuario, que establece que cosas 
el usuario puede hacer con el programa (y cuales no).

\end{itemize}
\end{slide}

\begin{slide}{Una cuestión ética}

Según Stallman, las cuatro libertades se fundamentan en 
{\green razones éticas}. 

\medskip

Las dos primeras libertades: ejecutar el programa con cualquier propósito y 
estudiar como funciona el código y adaptarlo a tus necesidades son necesarias
para que tengas el control de tu computadora.

\medskip

Las otras dos libertades: posibilidad de distribuir copias y versiones
modificadas, son la que permiten la {\green cooperación} entre los usuarios, 
permitiendo que formen una {\green comunidad}.

\end{slide}

\begin{slide}{Un Dilema Moral}

\begin{quote}
``Si usas un programa sin la libertad de distribuir copias, pronto 
te enfrentarás a un dilema moral cuando un amigo te diga: Ese programa
que tienes me sería útil. ¿Podrías darme una copia?'' 
\medskip
(Richard Stallman)
\end{quote}

\end{slide}

\begin{slide}{Libre $\not =$ Gratuito}

\begin{itemize}

\item El software que no es libre se denomina {\green software propietario} o 
{\green software privativo}.

\item  Software libre (free software) $\not= $ software gratuito (freeware).

\medskip

``El software libre es una cuestión de libertad, no de precio''.

\medskip

Es posible vender software libre.

\medskip

Existe software gratuito que no es libre.

\medskip

\item {Libre $\not =$ Software No comercial}

\medskip

Existe software libre desarrollado por empresas comerciales como IBM o
Sun Microsystems.

\end{itemize}

\end{slide}

\begin{slide}{Acceso al Código Fuente}

Para poder ejercer las libertades: 

\begin{enumerate}

\item [1)] La libertad de estudiar cómo funciona el programa, y 
adaptarlo a sus necesidades.

\item [3)] La libertad de mejorar el programa y hacer públicas 
las mejoras a los demás, de modo que toda la comunidad se beneficie.

\end{enumerate}

se requiere (es una condición necesaria) poder acceder al {\green código fuente} del programa.

\medskip

El {\green código fuente} es el texto del programa en un lenguaje de 
programación comprensible para los humanos.

\end{slide}

%\begin{slide}{¿Qué es el código fuente?}
%\begin{figure}
%{\white \epsfbox{./compilador.eps}}
%\begin{center}
%\includegraphics[width=10cm,height=8cm]{compilador.eps}
%\end{center}}
%\end{figure}
%\end{slide}

\part{Ejemplos de Software Libre}

\begin{slide}{El Proyecto GNU}

El {\green proyecto GNU} fue iniciado en 1984 por Richard Stallman
con la misión de construir un {\green sistema operativo} que fuera completamente libre. GNU significa { \green``GNU is not Unix''} (GNU no es Unix)

\medskip

Un {\green sistema operativo} es el programa más importante de una computadora:
sin él la computadora es absolutamente inútil. 

\medskip

Sus funciones incluyen: administrar los recursos del sistema tales como 
espacio en disco y memoria, aceptar órdenes del usuario y proporcionar
un ambiente para que las aplicaciones puedan ejecutarse. 

\medskip

Por ejemplo son sistemas operativos {\green privativos}: MS-Windows, MS-Dos, OS/2 y Mac OS.

\end{slide}

\begin{slide}{GNU/Linux}

El proyecto GNU tenía muchos programas útiles, pero le faltaba un 
{\green núcleo}  para que fuera un sistema operativo completo y 
pudiera utilizarse.

\medskip

Ese núcleo fue escrito por {\green Linus Torvalds}, con la cooperación de muchos otros a través de Internet. Se denomina {\green Linux}.

\medskip

La combinación {\green GNU+Linux} constituye el sistema operativo 
libre más comúnmente utilizado (conocido más popularmente como {\green Linux} a secas). 

\end{slide}


\begin{slide}{Otros Ejemplos de S.L.}

\begin{itemize}

\item Los sistemas operativos {\green FreeBSD}, 
{\green OpenBSD} y {\green netBSD} derivados de la
versión de Unix de la Universidad de California, Berkeley. 

\item El sistema de procesamiento de textos {\green \TeX}, creado por 
Donald Knuth.

\item La suite de oficina {\green Openoffice.org}, desarrollada originalmente
por Sun Microsystems.

\item El navegador web {\green Mozilla Firefox}.

\item El web server {\green Apache} (que se utiliza en aproximadamente el 66\% de los sitios de la red).

\item Lenguajes de programación: compilador {\green GCC} 
(C/C++/Fortran/Java/Pascal), Perl, Python, PHP.

\item Bases de datos: Postgres, MySQL.

\end{itemize}

\end{slide}

\part{La Filosofía del Software Libre}

\begin{slide}{Comunidad}

En el modelo del Software Libre, el software tiene {\green autores}, pero
no tiene {\green propietarios}. El código pertenece a la {\green comunidad}.

\medskip

Nadie tiene el tiempo y los conocimientos técnicos para auditar todo el
código o para hacer todas las modificaciones que quisiera.

El software libre propone hacer esto en forma comunitaria. 

\end{slide}

\begin{slide}{¿Cómo podemos colaborar?}

\begin{itemize}

\item  Quienes saben programar pueden hacer algunas modificaciones por sí mismos, 
y contribuirlas a la comunidad. 

\item Quienes no saben programar, pueden contratar a cualquier
programador, para que haga las modificaciones que necesitan.

\item Todos podemos colaborar  aportando el conocimiento, el
"know-how" sobre como debería funcionar el programa, ayudando a
encontrar  errores y a mejorar la funcionalidad general del programa.

\item También podemos colaborar escribiendo o traduciendo {\green documentación}.

\end{itemize}

\end{slide}

\begin{slide}{S.L. y Método Científico}

El modelo de desarrollo del softaware libre es similar al {\green método científico}. 

\medskip
Al estar el código fuente disponible para todos, cualquier programador 
puede examinar que es lo que el programa hace, corregir sus fallos, 
controlar que no haya problemas de seguridad importantes, código malicioso, 
etc.; y expandir sus posibilidades 

\medskip

({\green libre examen} por parte de los pares de la
{\green comunidad científica}).

\end{slide}

\begin{slide}{S.L. y Acceso al Conocimiento}

El {\green conocimiento} es {\green incremental}: cada programador de software libre, puede aprovechar el código desarrollado por otros. No es necesario reinventar la rueda cada vez. 

\medskip

El software libre es el único que nos permite {\green acceder al 
conocimiento} que hay detrás del software.

\end{slide}

\begin{slide}{El S.L. es Fiable}

Como vimos, en el modelo del software libre, los usuarios pueden participar del
desarrollo. Esto ayuda a que los errores se descubran y se corrijan más
rápido y que el software sea más fiable.
\medskip
Esto fue observado en el clásico documento "La catedral y el Bazar" de 
Eric Raymond (1997).
\medskip
Existen trabajos científicos que procuran fundamentan esta afirmación,
en el análisis de modelos matemáticos de ingeniería del software, y simulaciones numéricas.

\medskip 
Enrique A. Chaparro - ``Aproximaciones a la Fiabilidad del Software Libre''
(2003).
\medskip
Damien  Challet - Yann Le Du-  ``Microscopic Model of Software Bug Dynamics: Closed Source vs. Open Source''. (2003)
\end{slide}

\begin{slide}{S.L. y Formatos de Archivos}

\begin{itemize}

\item El software privativo suele usar formatos de archivos, 
cerrados o propietarios  cuya especificación no está públicamente 
disponible. 

\item Esto crea incompatibilidades forzadas entre los sistemas, y 
dependencia de un proveedor;  ya que dependemos del software de 
una determinada empresa para poder acceder a nuestros datos.

\item En cambio, el software libre emplea formatos abiertos 
(cuya especificación está públicamente disponible y que cualquiera
puede implementar). Esto  garantiza la interoperatividad y la
persistencia de los datos en el tiempo.

\end{itemize}

\end{slide}


\begin{slide}{La Licencia GPL de GNU}

`` La mayor parte de las licencias de software están diseñadas para quitarte tu libertad de copiarlo y modificarlo. En cambio, la 

{\green Licencia Pública General de GNU (GPL)} 

intenta {\green garantizar tu libertad} de compartir y distribuir software libre, y asegurarse que el software sea libre para todos sus usuarios''
[...]

\medskip

``Protegemos tus derechos mediante dos pasos:
\begin{itemize}
\item Ponemos el software bajo {\green copyright}.
\item Te {\green ofrecemos} esta licencia que te da permiso legal para copiar, distribuir y/o modificar el
software.''
\end{itemize}

\medskip
(traducción del preámbulo de la GPL)

\end{slide}

\begin{slide}{Copyleft}

\begin{quote}
``[...], si distribuyes copias del programa
(ya sea gratuitamente o por un precio), debes dar
a todos los receptores {\green los mismos derechos que tu tienes}.

\medskip
Debes asegurarte de que ellos también 
reciban o puedan obtener el {\green código fuente}.

\medskip

Y debes mostrarle los términos de esta licencia, para que conozcan  sus derechos.''

\medskip
(traducción del preámbulo de la GPL)
\end{quote}

\end{slide}

\begin{slide}{S.L. y Modelo de Negocios}

\begin{itemize}

\item El software libre promueve un mercado informático basado en los
{\green servicios asociados al software}, en vez de la venta de licencias
de software.

\item El software libre puede generar nuevas oportunidades de trabajo para los programadores. Con el software privativo, sólo las grandes 
corporaciones pueden programar. Con el software libre, 
{\green todos podemos programar}.

\item Cualquier empresa puede ofrecer soporte de un programa libre.

\item El software libre permite un mercado informático {\green no 
monopólico} y abre nuevas oportunidades para las Pymes y empresas 
argentinas. 

\end{itemize}

\end{slide}

\begin{slide}{¿Qué son las patentes?}

Las patentes consisten en un monopolio temporal sobre una 
invención susceptible de uso industrial, 
basado en un privilegio otorgado por el gobierno y 
derivado  de  su poder de coacción, a cambio de dar a conocer detalles 
públicamente de la invención. 

\medskip

Patentes y copyright (derecho de autor) son régimenes legales 
diferentes.

\end{slide}
\begin{slide}{El Peligro de las Patentes}

\begin{itemize}

\item Si en un país se implementa un régimen de patentes de software, un
programador puede ser demandado judicialmente por distribuir el
código que él mismo escribió.

\item Las patentes de Software son una constante amenaza al desarrollo 
del software (tanto libre como propietario). No promueven el desarrollo
sino que lo imposibilitan.

\item En Argentina, afortunadamente el software no es patentable
(por ahora!) (artículo 6, inciso c), ley 24.481).

\end{itemize}
\end{slide}


\begin{slide}{Referencias}

\begin{itemize}

\item Proyecto GNU - Free Software Foundation
\begin{verbatim}
http://www.gnu.org
\end{verbatim}

\item{Mi Página personal}
\begin{verbatim}
http://mate.dm.uba.ar/~pdenapo
/linux.html
\end{verbatim}


\item Asociación Civil SoLAr - Software Libre Argentina
\begin{verbatim}
http://www.solar.org.ar
\end{verbatim}

\end{itemize}

\end{slide}

\end{document}