Aspectos sociales de los proyectos de Software Libre
GUL3V 2.0.03
18 de septiembre, 2003
Gunnar Wolf -
[email protected]
Universidad Pedagógica Nacional
Desarrollador del Proyecto Debian
http://www.gwolf.cx/soft/asp_soc_sl/
Aspectos sociales de los proyectos de Software Libre
1. Introducción
2. Colaboración en un proyecto geográficamente disperso
3. Mecanismos para colaborar y para resolver problemas en Debian
4. Breve reseña de otros proyectos
Introducción
El desarrollo del software libre en el mundo
El movimiento ideológico que busca promover el software libre en el mundo
existe desde principios de los 80s - Sin embargo, no fue sino hasta los 90s
cuando comenzó realmente a despegar y llenar todas las carencias que aún
tenía.
¿Por qué?
Introducción
El desarrollo del software libre en el mundo
Internet
Comunicación global entre académicos (y luego, entre personas)
Posibilidad de encontrar a más gente con intereses similares
Un sistema mínimo utilizable
386BSD
Kernel Linux + userland GNU (GNU/Linux)
Mucho trabajo por realizar
El sistema utilizable era realmente mínimo
Llevar un sistema de hobby a un sistema extensible y de calidad
El inicio de un verdadero movimiento
Introducción
Van naciendo nuestros lemas:
Information wants to be free
Release early, release often
Ráscate donde te pique
Tendencia a orientación política de izquierda
Si bien hay muchas y muy importantes excepciones
Tolerancia hacia quien tiene ideas diferentes
Liberalismo a pequeña escala
Socialdemocracia a gran escala
El inicio de un verdadero movimiento
Introducción
Identificación con la lucha por los derechos del individuo
Libertad de expresión
El código debe estar amparado bajo la libertad de expresión
Desconfianza en las agencias de seguridad gubernamentales
Anti-DMCA
Disgusto ante los monopolios
AT&T
Microsoft
Telmex?
Disgusto ante las concentraciones de poder/influencia
RIAA/MPAA
AOL/Time/Warner
Heredero del desarrollo histórico académico de Unix (BSD)
Introducción
Algunas características del desarrollo de Unix BSD:
El software es ciencia, la ciencia debe ser libre
Acceso universal al código fuente
Desarrollo colaborativo utilizando la red
Aunque la red estaba cerrada a investigadores
Licencia libre
La licencia BSD es reflejo de cómo se hacen las cosas en el mundo de
la ciencia
Heredero del desarrollo histórico académico de Unix (BSD)
Introducción
¿La diferencia principal del software libre hoy en día con el desarrollo histó
rico académico de Unix?
La importancia que damos a nuestra ideología
Aspectos sociales de los proyectos de Software Libre
1. Introducción
2. Colaboración en un proyecto geográficamente disperso
3. Mecanismos para colaborar y para resolver problemas en Debian
4. Breve reseña de otros proyectos
Medios de comunicación entre desarrolladores
Colaboración en un proyecto geográficamente disperso
¿Cómo nace un proyecto?
Idea en un newsgroup/lista de correo
Entre las primeras aplicaciones desarrolladoas
Desde la especificación del mismo RFC
Tanto servidores como clientes, muy variados en su estilo
Gateways de news a correo, a redes de BBSes (FIDO, VNET, etc)
Creación de grupo de trabajo, planeación y contacto entre
desarrolladores por correo
El principal uso de Internet desde un principio
Gran cantidad de clientes y servidores desarrollados
Medios de comunicación entre desarrolladores
Colaboración en un proyecto geográficamente disperso
Contacto casual, retroalimentación rápida por IRC
Nuevamente, gran variedad de clientes y servidores creados
Poco impacto de mensajeros instantánteos en esta área
Van a un mercado muy diferente
Desarrollo colaborativo por CVS
Estándar indiscutible en todo proyecto que se precie
Hoy en día, CVS comienza a evidenciar carencias
El trago amargo de Bitkeeper
Posible siguiente paso: Subversion? Monotone? Otro?
Posibles e inevitables causas de problemas
Colaboración en un proyecto geográficamente disperso
Ceguera cultural
No saber hablar bien el idioma común (normalmente inglés)
Detalles imprevistos que puedan resultar ofensivos a otras culturas
No pensar en la internacionalización
Descoordinación horaria
El horario para encontrar a los compañeros en el IRC puede ser corto (o
nulo, si desarrollamos en nuestro tiempo libre)
Esta falta de contacto puede llevar a trabajo contradictorio o repetido
Posibles e inevitables causas de problemas
Colaboración en un proyecto geográficamente disperso
Legislación
Trabajar en países donde la ley no permite ciertas actividades
Criptografía, ingeniería inversa y muchas otras tristes tonterías
Divergencias de opinión
Proyectos que se separan por diferentes ideas de sus integrantes
Fricciones entre liderazgos personales
Filosofías de diseño (de teoría dura) fuertemente impulsadas a la vez
Aspectos sociales de los proyectos de Software Libre
1. Introducción
2. Colaboración en un proyecto geográficamente disperso
3. Mecanismos para colaborar y para resolver problemas en Debian
4. Breve reseña de otros proyectos
1. ¿Cómo se maneja la comunicación?
Mecanismos para colaborar y para resolver problemas en Debian
El medio principal de comunicación es correo
Muchas listas (las más oficialosas) en lists.debian.org
Otras muchas (específicas a proyectos) en alioth.debian.org
Todos nuestros problemas son tratados abiertamente
Sin embargo, sí existe debian-private para asuntos internos
Alertas relacionadas con la seguridad (de hecho,
[email protected] apunta a
[email protected])
Dineros
Mentadas dirigidas ;-)
Dudas pa’ no meter la pata
Cosas que bien podrían ser públicas
Etcétera
Buena parte de los desarrolladores viven en IRC
[email protected] ( -> @irc.freenode.net)
1. ¿Cómo se maneja la comunicación?
Mecanismos para colaborar y para resolver problemas en Debian
Reuniones generales +-anuales
Debcamp: Bug-squashing party masiva
Debconf: Congreso, mayormente de temas organizacionales
Mas algunas reuniones de interés específico (d-i en estos días)
Presencia en congresos regionales
Intentando colocar Debcamp+Debconf cerca de ellos
2. ¿Quién es parte del proyecto?
Mecanismos para colaborar y para resolver problemas en Debian
Llavero de confianza GPG
Es indispensable mantener una métrica de confianza
Red altamente conectada
Manejado centralmente por el keymaster
Proceso de admisión (New Maintainer queue) exige que:
El NM sea recomendado por un desarrollador existente
El NM se identifique plenamente (para el llavero de confianza)
El NM está de acuerdo con la filosofía
El NM sea técnicamente apto
Un no-desarrollador puede participar
No hace falta comprometerse con Debian para participar en él
Ayuda de los sponsors
3. ¿Cómo manejamos nuestros problemas?
Mecanismos para colaborar y para resolver problemas en Debian
Sistema de seguimiento de fallos (BTS)
Completamente público (http://bugs.debian.org)
Sistema basado en el correo, consultable por Web
Indispensables para preparar una nueva versión mayor
Bug-Squashing Parties
Permiten reducir cientos de bugs en una semana
Presenciales, virtuales, tiempos definidos...
3. ¿Cómo manejamos nuestros problemas?
Mecanismos para colaborar y para resolver problemas en Debian
Historia de fallos de severidad crítica en Debian
4. ¿Cómo evitamos duplicar esfuerzos?
Mecanismos para colaborar y para resolver problemas en Debian
Para crear/adoptar/marcar huérfano un paquete
Bugs a wnpp (Work Needed and Prospective Packages)
RFP, ITP, O, RFA, ITA
Un bug debe ser resuelto por el mantenedor de su paquete
Si no responde pronto, NMU - Pero avisando al BTS, mandando parche
Un NMU no cierra un reporte, sólo lo declara corregido
Etiquetas
Si no puedo resolver un problema, lo etiqueto ’help’
Si hay que revisar con el autor del programa, ’upstream’
Si es específico a una rama de Debian, el nombre de la rama
Y varias más
4. ¿Cómo evitamos duplicar esfuerzos?
Mecanismos para colaborar y para resolver problemas en Debian
Ideas respecto a la infraestructura
Implementa, levántalo como prueba, si el resultado gusta, se considera
para entrar a la próxima versión oficial
Políticas de Debian (debian-policy)
Recomendación, no obligatorio
Documenta la práctica existente
No impone
5. ¿Cómo tratamos con la ceguera cultural?
Mecanismos para colaborar y para resolver problemas en Debian
Raíces mismas del proyecto
Es de por sí tal vez el proyecto de SL más multicultural
Desarrolladores en todo el mundo, de muchas culturas
Todo se ventila en las listas de correo
Internacionalización
Simplemente, se le da mucho énfasis a la internacionalización
DDTP, debconf templates, .po, etc.
...Sin embargo, le falta _mucho_
6. Asuntos legales
Mecanismos para colaborar y para resolver problemas en Debian
Paquete por paquete
Es _indispensable_ que todo paquete tenga una licencia explícita
main, contrib, non_free
El software de non_free _debe_ ser libremente redistribuible
Países con restricciones
Archivo non_us
Lista
[email protected]
MUY alto tráfico, discusiones int
Comentarios de: Aspectos sociales de los proyectos de Software Libre (0)
No hay comentarios