Código abierto: ¿Cómo (y para qué) participar? - Encuentro Linux

C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
C´odigo abierto: ¿C´omo (y para qu´e) participar?
Horst H. von Brand
Departamento de Inform´
atica
Universidad T´
ecnica Federico Santa Mar´ıa
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Temario
C´odigo abierto
Requisitos para participar
´
Areas
de participaci´on
Contactos para participar
Referencias
Conclusiones
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
Definici´on de programa libre
Seg´
un la Free Software Foundation, corresponde a contar con las
siguientes libertades:
0. La libertad de correr el programa, para cualquier prop´osito
1. La libertad de estudiar c´
omo funciona el programa, y
adaptarlo para sus propios usos
2. La libertad de redistribuir copias, de forma de ayudar a su
vecino
3. La libertad de mejorar el programa, y liberar las modificaciones
al p´
ublico de forma que todo el p´
ublico se beneficie
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
Definici´on de c´odigo abierto
Para la Open Source Initiative es c´
odigo abierto si la licencia
permite:
1. Redistribuci´on sin condiciones adicionales
2. C´odigo fuente disponible y distribuible
3. Obras derivadas bajo las mismas condiciones
4. Acepta restricciones para respetar la integridad de la obra del
autor
5. No discriminaci´on de personas o grupos
6. No discriminaci´on de usos
7. Licencia se traspasa autom´aticamente con el producto
8. Licencia no espec´ıfica al producto
9. No restricci´on de otro software
10. Neutral a tecnolog´ıa de distribuci´
on
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
C´odigo libre vs. c´odigo abierto
La Free Software Foundation insiste en que todo programa sea
c´odigo libre, bajo la premisa que resulta gratuito copiar el c´odigo,
independiente de cu´anto haya costado crear la primera copia, y que
por tanto es ´eticamente reprobable que no se permita el m´aximo
uso posible del programa.
La Open Source Initiative se concentra m´as bien en el desarrollo de
software, y el hecho que desarrollo p´
ublico y colaborativo ha
demostrado dar excelentes resultados.
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
Algunas licencias importantes
GNU General Public License (GPL)
Derivados (programas que incluyan parte substancial del
original) distribuidos con fuentes completos y sin ataduras
adicionales.
GNU Lesser General Public License (LGPL)
Similar a GPL, pero permite uso desde/con programas
cerrados (originalmente pensado para bibliotecas)
Licencias BSD, MIT
B´asicamente libre para todo uso (incluso comercial)
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
Algunas licencias importantes
Licencia Mozilla (MPL)
Due˜
no reserva derechos sobre aportes de terceros
Dominio p´
ublico
El due˜
no es el p´
ublico, ya sea porque expl´ıcitamente se dijo
as´ı o porque el derecho del autor expir´
o
Licencias duales
Due˜
no entrega bajo licencias distintas seg´
un uso. Caso t´ıpico
es MySQL (GPL o comercial).
David A. Wheeler clasifica y comenta varias licencias, y arguye que
nuevo c´odigo debiera ser liberado bajo licencias compatibles con
GPL.
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
Licencias Creative Commons
Un conjunto de licencias pensadas para obras art´ısticas (no
programas). Expl´ıcitamente consideran diversas jurisdicciones
seg´
un la Convenci´on de Berna. De partida, exigen que se
reconozca al autor original. Luego contempla un conjunto de
restricciones a combinar seg´
un preferencias:
Permitir uso comercial
Permitir modificaciones
Sin restricciones
S´
olo si las modificaciones se distribuyen bajo la misma licencia
No permitir modificaciones
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
Forma de desarrollo de c´odigo abierto
Introducida por Linus Torvalds con Linux
“Release early, release often”
“Given many eyes, all bugs are shallow”
“Code talks, bullshit walks”
Aceptar contribuciones de donde vengan. Se exige que se haga
responsable de lo que contribuye.
Desarrollo a la vista de todos
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
¿Porqu´e entusiasma tanto?
Curiosidad:
Propiedad:
Gratitud:
Aprender:
Curr´ıculum:
“¿C´omo funciona esto?”
“Esto es m´ıo tambi´en”
Devolver algo por lo recibido
Participando en proyectos de primera l´ınea
Hacerse un nombre p´
ublicamente. Es bien diferente
mostrar lo que se ha hecho que traer una carta de
recomendaci´
on. . .
Viajar: Por alguna extra˜na raz´on, suele resultar as´ı. . .
Hobby: No es necesario estar todo el d´ıa. . .
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
¿Y las empresas?
Est´andares: A quienes no son monopolio, les convienen. . .
Infraestructura: No sirve para diferenciarse, costo puro
Alta calidad: ¡Funciona!
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
Breve historia de c´odigo abierto
1955:
1975:
1978:
1984:
1984:
1986:
1986:
SHARE entre usuarios IBM
SIG TAPE entre usuarios DEC
UC Berkeley: 1 BSD
MIT et al: X Window System
Richard M. Stallman lanza proyecto GNU
Creaci´on de IETF
X11
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Definici´
on
Licencias
Forma de desarrollar
Razones de la popularidad
Historia del c´
odigo abierto
Breve historia de c´odigo abierto
1991: Linus Torvalds: “Estoy trabajando en un sistema
operativo como hobby. . . ”
1992:
1992:
1998:
1999:
2001:
2003:
Juicio USL vs. UCB sobre BSD NET 2
Primeras distribuciones de Linux
Netscape libera c´
odigo de Mozilla
Oracle para Linux
IBM invierte mil millones en Linux
Juicio de The SCO Group contra IBM
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Condiciones b´
asicas
Sugerencias
Manejar las herramientas del ´area
Lenguaje(s) de programaci´
on usado(s)
Sistema de control de versiones: CVS, SVN, git, mercurial,
bzr, . . .
Formato de documentaci´
on: asciidoc, texinfo, doxygen, . . .
Sistema de comunicaci´
on: Listas de correo, Wiki, IRC, . . .
Ingl´es (si, es el lenguaje en uso universal)
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Condiciones b´
asicas
Sugerencias
Equipamiento
Depende mucho del ´area de inter´es (¡y seguramente ya lo tienen,
dado que les interesa el ´area!)
PC t´ıpico generalmente basta
Conexi´on a Internet
Si es aplicaciones gr´aficas. . .
Para drivers. . .
M´aquinas inusuales. . .
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Condiciones b´
asicas
Sugerencias
Caracter´ısticas personales
Cuero de rinoceronte: No falta quien cree “cool” el abusar
p´
ublicamente de los dem´as. . .
Paciencia: Toma varios intentos antes que te tomen en serio.
Parte con algo simple (para construir confianzas y conocer el
terreno). Criticar constructivamente lo de los dem´as es muy
bienvenido.
Orden: Es trabajo en serio, a la vista de todo el mundo
Ganas de aprender y estar dispuesto a invertir tiempo en ello
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Condiciones b´
asicas
Sugerencias
Algunas sugerencias
Dejar el ego en la puerta: Al fin del d´ıa, ¡yo ten´ıa raz´on! no
tiene ninguna importancia si esto lleva al fracaso del proyecto.
Muchos proyectos fallidos son el resultado de colisiones de
egos.
Sumarse a lo que hay antes de comenzar algo nuevo: Si
son proyectos razonablemente compatibles, ser´a mucho menos
trabajo agregar funcionalidad faltante que desarrollar todo de
cero.
Esto est´a ´ıntimamente relacionado con el punto “ego”, si no
quiere que otros toquen “su” c´
odigo, o agregarse a un
proyecto “ajeno” claramente hay un problema en esta ´area. . .
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Condiciones b´
asicas
Sugerencias
Requisitos de distribuciones
Sugerencias de c´omo hacer que un proyecto pueda integrarse
f´acilmente en una distribuci´
on las da Diego Petten`o en una serie de
tres art´ıculos en LWN que discuten las diferentes tareas de la
distribuci´on y el autor del paquete, las necesidades t´ecnicas de las
distribuciones, y aspectos filos´
oficos.
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Programando
Documentando
Capacitando
Infraestructura
No aporta
Programando
Creando nuevos programas bajo licencias abiertas
Aportando con parches o extensiones a programas existentes
Revisando parches de otros (de pasada, es una buena forma
de aprender. . . )
Probando cosas, reportando problemas
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Programando
Documentando
Capacitando
Infraestructura
No aporta
Documentaci´on
Escribiendo documentaci´
on nueva
Corrigiendo, actualizando y completando la documentaci´on
existente
Traduciendo
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Programando
Documentando
Capacitando
Infraestructura
No aporta
Capacitaci´on
Ense˜
nando a usar
Publicar tutoriales, ejemplos, . . .
Organizar cursos
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Programando
Documentando
Capacitando
Infraestructura
No aporta
Infraestructura
Ofrecer mirrors de paquetes que les interesen
Organizar localmente la FLISoL, el DebianDay, alguna
TardeLinux, . . .
Organizar un Ciclo de Charlas T´ecnicas, ofrecer espacio para
que se junten los fan´aticos locales, . . .
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Programando
Documentando
Capacitando
Infraestructura
No aporta
No son aportes
Usar c´odigo abierto (si, es bienvenido a usarlo; pero eso por
s´ı mismo no es aporte)
un mucho menos
Participar en listas de discusi´
on, blogs, . . . ¡A´
si es s´olo para armar o participar en peleas!
Promover c´odigo abierto sin cr´ıtica (hay situaciones en que
no es la mejor opci´
on)
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Sistemas completos
Documentaci´
on
Proyectos individuales
Contactos para sistemas completos
Fedora, Debian, Ubuntu, . . .
Los distintos sabores de BSD
OpenSolaris tambi´en es un proyecto interesante. . .
CygWin corre muchas aplicaciones para Unix bajo Windows
Para los nost´algicos, est´an FreeDOS y ReactOS, e incluso Minix.
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Sistemas completos
Documentaci´
on
Proyectos individuales
Documentaci´on
Siempre falta. . .
Traducciones, revisiones, correcciones son bienvenidas tambi´en.
The Linux Documentation Project
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Sistemas completos
Documentaci´
on
Proyectos individuales
Contactos para paquetes individuales
Los sistemas completos est´an conformados por miles de paquetes
individuales, que cubren las distintas funcionalidades que se
ofrecen.
Siempre es posible trabajar en el ´ambito del proyecto original, o
hacerse cargo del paquete en alg´
un sistema o distribuci´on.
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Sistemas completos
Documentaci´
on
Proyectos individuales
Algunos proyectos individuales
TEX, LATEX y amigos
Perl y su colecci´on de m´
odulos
Python es muy popular, con sus m´
odulos
El sistema gr´afico X, Gnome, KDE, XFCE, . . .
Puede participar en el n´
ucleo Linux, tambi´en hay puntos de
entrada para novatos
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Sistemas completos
Documentaci´
on
Proyectos individuales
Colecciones de proyectos
Source Forge
Savannah (proyecto GNU) (y tambi´en no GNU)
Chile Forge
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Sistemas completos
Documentaci´
on
Proyectos individuales
Otros sistemas
The Open Disc (para Windows), CygWin ofrece un ambiente Unix
bajo Windows, Portable Apps junta aplicaciones para correr desde
pendrive
Free DOS y ReactOS son clones de ciertas bazofias, requieren
aplicaciones adicionales.
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Referencias
Cristopher B. Browne.
Linux and descentralized development.
First Monday, 3(3), march 1998.
Sandeep Krishnamurthy.
Special issue on open source.
First Monday, 10, 2005.
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Condici´on Gandhi
Primero te ignoran, luego se r´ıen de ti, despu´es te combaten, entonces
ganas
– Mohandas Karamchand Gandhi
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Condici´on Gandhi
Primero te ignoran, luego se r´ıen de ti, despu´es te combaten, entonces
ganas
– Mohandas Karamchand Gandhi
GandhiCon 1: Te ignoran
“¿Qu´e es Linux?”
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Condici´on Gandhi
Primero te ignoran, luego se r´ıen de ti, despu´es te combaten, entonces
ganas
– Mohandas Karamchand Gandhi
GandhiCon 1: Te ignoran
GandhiCon 2: Se r´ıen de ti
“Linux es buen nombre de detergente”
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Condici´on Gandhi
Primero te ignoran, luego se r´ıen de ti, despu´es te combaten, entonces
ganas
– Mohandas Karamchand Gandhi
GandhiCon 1: Te ignoran
GandhiCon 2: Se r´ıen de ti
GandhiCon 3: Te combaten
MSFT “Just the facts”
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?
C´
odigo abierto
Requisitos para participar
´
Areas
de participaci´
on
Contactos para participar
Referencias
Conclusiones
Condici´on Gandhi
Primero te ignoran, luego se r´ıen de ti, despu´es te combaten, entonces
ganas
– Mohandas Karamchand Gandhi
GandhiCon 1: Te ignoran
GandhiCon 2: Se r´ıen de ti
GandhiCon 3: Te combaten
GandhiCon 4: Ganaste
“World domination. Fast.”
– Linus Torvalds
H H v Brand
C´
odigo abierto: ¿C´
omo (y para qu´
e) participar?