43
¿Cómo colaborar en Debian? ¿Cómo colaborar en Debian? Ernesto Crespo [email protected] Debian Venezuela www.debianvenezuela.org.ve VELUG www.velug.org.ve Presentación liberada bajo Licencia GDFL MiniDebconf Venezuela

¿Como colaborar en Debian?

Embed Size (px)

Citation preview

Page 1: ¿Como colaborar en Debian?

¿Cómo colaborar en Debian?¿Cómo colaborar en Debian?

Ernesto [email protected]

Debian Venezuela www.debianvenezuela.org.veVELUG www.velug.org.ve

Presentación liberada bajo Licencia GDFLMiniDebconf Venezuela

Page 2: ¿Como colaborar en Debian?

AgendaAgenda

●¿Qué es Debian?●Contrato Social de Debian●Directrices de Debian●Objetivos●Organigrama●Algunas estadísticas●¿Dónde contribuir?●Proceso de adopción de un paquete●Empaquetado●Herramientas para facilitar el empaquetado●¿Dónde seguir?●Proceso para ser un Nuevo Mantenedor●Mapa Conceptual. Lo necesario para ser DDMapa Conceptual. Lo necesario para ser DD●Debian en el Mundo. Latinoamerica y Venezuela●Cantidad de Desarrolladores

Page 3: ¿Como colaborar en Debian?

¿Qué es Debian?¿Qué es Debian?

●Debian nace como una iniciativa de la FSF y su Proyecto GNU

●Ian Murdock se hace cargo de la dirección del Proyecto en 1993

●El nombre de Debian deriva del nombre de su esposa Debra e Ian

●El ideal es crear un Sistema Operativo totalmente Libre y Universal

●Su desarrollo corresponde a voluntarios a nivel mundial

Page 4: ¿Como colaborar en Debian?

Contrato Social de DebianContrato Social de Debian

●Debian permanecerá 100% LibreDebian permanecerá 100% Libre

●Contribuir a la comunidad del Software LibreContribuir a la comunidad del Software Libre

●No ocultaremos los problemasNo ocultaremos los problemas

●Nuestra prioridad son los usuarios y el Software LibreNuestra prioridad son los usuarios y el Software Libre

●Trabajos que no Trabajos que no reúnanreúnan nuestros estándares irán a contrib y/o non-free nuestros estándares irán a contrib y/o non-free

Page 5: ¿Como colaborar en Debian?

Directrices de Debian●De libre distribuciónDe libre distribución

●Incluir código fuenteIncluir código fuente

●Debe permitir trabajos derivadosDebe permitir trabajos derivados

●Integridad del código fuente del autor original del programaIntegridad del código fuente del autor original del programa

●Ninguna discriminación contra personas o gruposNinguna discriminación contra personas o grupos

●No discriminación en función de la finalidad perseguidaNo discriminación en función de la finalidad perseguida

●Distribución de la LicenciaDistribución de la Licencia

●La Licencia no debe ser específica para DebianLa Licencia no debe ser específica para Debian

●La Licencia no debe contaminar otros programasLa Licencia no debe contaminar otros programas

●Ejemplos de Licencias: GPL,BSD y ArtísticaEjemplos de Licencias: GPL,BSD y Artística

Page 6: ¿Como colaborar en Debian?

Objetivos Objetivos

●Mejor sistema operativo libre posibleMejor sistema operativo libre posible

●Facilitar la instalación de SoftwareFacilitar la instalación de Software

● Precompilado,configurado, legal y librePrecompilado,configurado, legal y libre

● Dependencias, actualizaciones, seguridadDependencias, actualizaciones, seguridad

●Facilitar la Facilitar la desinstalacióndesinstalación de Software de Software

● Que paquete es el responsable de cada archivoQue paquete es el responsable de cada archivo

●Asegurar que todo el Software funcionaAsegurar que todo el Software funciona

Page 7: ¿Como colaborar en Debian?

OrganigramaOrganigrama●Directores Directores

● DPL - Anthony TownsDPL - Anthony Towns● ComitéComité Técnico. 1 Presidente y 7 miembros Técnico. 1 Presidente y 7 miembros● SecretarioSecretario

●DistribuciónDistribución● Proyectos de DesarrolloProyectos de Desarrollo● Paquetes IndividualesPaquetes Individuales● DocumentaciónDocumentación● Lista de paquetes que necesitan ayudaLista de paquetes que necesitan ayuda● Equipo APTEquipo APT● Adaptaciones GNU/LinuxAdaptaciones GNU/Linux● GNU/HurdGNU/Hurd● BSDBSD● Configuraciones EspecialesConfiguraciones Especiales

●PublicidadPublicidad●Apoyo e InfraestructuraApoyo e Infraestructura●Custom Debian DistributionCustom Debian Distribution

Page 8: ¿Como colaborar en Debian?

Algunas Algunas estadísticasestadísticas

Más de 230 millones de líneas de códigoMás de 230 millones de líneas de códigoMás de 14 mil paquetesMás de 14 mil paquetesPara que una empresa privada desarrolle Debian tendría que invertirPara que una empresa privada desarrolle Debian tendría que invertir8 millones de dolares!8 millones de dolares!

Page 9: ¿Como colaborar en Debian?

¿Cómo contribuir?¿Cómo contribuir?●Escribir documentaciónEscribir documentación

●Traducir documentaciónTraducir documentación

●Ayudar en la traducción de la página Ayudar en la traducción de la página www.debian.orgwww.debian.org wiki.debian.org wiki.debian.org

●Colaborar en las listasColaborar en las listas

●Administrar las listasAdministrar las listas

●Reportar fallosReportar fallos

●DesarrolladoresDesarrolladores

●MantenedoresMantenedores

●DonacionesDonaciones

● MetálicoMetálico

● Máquinas para desarrollo y conectividadMáquinas para desarrollo y conectividad

● Sitios replicasSitios replicas

● UNESRUNESR

Page 10: ¿Como colaborar en Debian?

Traducciones en generalTraducciones en general

●Documentación de Debian - Documentación de Debian - http://www.debian.org/doc/http://www.debian.org/doc/

● Cómo'sCómo's

● Preguntas frecuentesPreguntas frecuentes

● Manuales de instalaciónManuales de instalación

● Otros documentosOtros documentos

●Ayuda con las páginas de Debian Ayuda con las páginas de Debian

● http://www.debian.org/devel/website/http://www.debian.org/devel/website/

●Debian se vuelve internacionalDebian se vuelve internacional

● http://www.debian.org/intl/http://www.debian.org/intl/

Page 11: ¿Como colaborar en Debian?

DonacionesDonaciones●Donaciones a Software en el Donaciones a Software en el InterésInterés Público Público

● http://www.debian.org/donationshttp://www.debian.org/donations● Donaciones de dineroDonaciones de dinero

● http://www.spi-inc.org/donationshttp://www.spi-inc.org/donations● Donaciones de equipos y serviciosDonaciones de equipos y servicios

● http://www.debian.org/misc/equipment_donationshttp://www.debian.org/misc/equipment_donations● Debian Venezuela :-pDebian Venezuela :-p● Lista de Hardware que se necesitaLista de Hardware que se necesita

● http://www.spi-inc.org/donationshttp://www.spi-inc.org/donations●SociosSocios

● http://www.debian.org/partners/http://www.debian.org/partners/●MirrorsMirrors

● http://www.debian.org/mirror/http://www.debian.org/mirror/● Mirrors OficialesMirrors Oficiales

● http://www.debian.org/mirror/official_sponsorshttp://www.debian.org/mirror/official_sponsors

Page 12: ¿Como colaborar en Debian?

Apoyar en las listas de CorreoApoyar en las listas de Correo●Introducción a la lista de correo, código de conducta y usoIntroducción a la lista de correo, código de conducta y uso

● http://www.debian.org/MailingLists/http://www.debian.org/MailingLists/

●Listas de correo, suscripciónListas de correo, suscripción

● http://www.debian.org/MailingLists/subscribehttp://www.debian.org/MailingLists/subscribe

● debian-user-spanishdebian-user-spanish

● debian-devel-spanishdebian-devel-spanish

● debian-l10n-spanishdebian-l10n-spanish

●Archivo de las listasArchivo de las listas

● http://lists.debian.org/http://lists.debian.org/

Page 13: ¿Como colaborar en Debian?

¿¿Qué hay que conocer para ser Mantenedor/Desarrollador?Qué hay que conocer para ser Mantenedor/Desarrollador?●Conocer la filosofía y principios de DebianConocer la filosofía y principios de Debian

● Contrato SocialContrato Social

● DirectricesDirectrices

● DFSGDFSG

●Conocer los requisitos que debe cumplir un paqueteConocer los requisitos que debe cumplir un paquete

● Debian Policy Debian Policy http://www.debian.org/doc/debian-policy/http://www.debian.org/doc/debian-policy/

●Familiarizarse con el manual de Referencia del MantenedorFamiliarizarse con el manual de Referencia del Mantenedor

● http://www.debian.org/doc/packaging-manuals/developers-reference/http://www.debian.org/doc/packaging-manuals/developers-reference/

●Tener una llave GPG firmada mínimo por un DDTener una llave GPG firmada mínimo por un DD

Page 14: ¿Como colaborar en Debian?

Debian PolicyDebian Policy

Page 15: ¿Como colaborar en Debian?

Guía del nuevo desarrollador de DebianGuía del nuevo desarrollador de Debian

Page 16: ¿Como colaborar en Debian?

Referencia del Desarrollador DebianReferencia del Desarrollador Debian

Page 17: ¿Como colaborar en Debian?

Proceso de adopción de un paquete Proceso de adopción de un paquete huérfanohuérfano en Debian en Debian●Es la forma más rápida para adoptar un paquete huérfanoEs la forma más rápida para adoptar un paquete huérfano

● http://www.debian.org/devel/wnpp/http://www.debian.org/devel/wnpp/● Buscar un paquete que sea de su Buscar un paquete que sea de su interésinterés● Que corra en el hardware que uno tieneQue corra en el hardware que uno tiene

●Enviar un correo con la intención de adopción del paquete huérfanoEnviar un correo con la intención de adopción del paquete huérfano●Crear una jaula sid para trabajar con el paqueteCrear una jaula sid para trabajar con el paquete

● debootstrap sid sid-root/ debootstrap sid sid-root/ http://ftp.debian.org/debian/http://ftp.debian.org/debian/● chroot sid-root/chroot sid-root/

●Bajar la fuente del paqueteBajar la fuente del paquete● apt-get source paqueteapt-get source paquete

●Realizar los cambios necesariosRealizar los cambios necesarios● Corrección de bugsCorrección de bugs● Modificar Changelog, Copyright, Control, rulesModificar Changelog, Copyright, Control, rules

●Empaquetar el paqueteEmpaquetar el paquete● fakeroot fakeroot dpkgbuildpackagedpkgbuildpackage ­us ­uc ­us ­uc

●Verificar el paquete con linda, lintian, piuparts,pbuilderVerificar el paquete con linda, lintian, piuparts,pbuilder●Firmar el paquete y enviarlo a su sponsorFirmar el paquete y enviarlo a su sponsor

Page 18: ¿Como colaborar en Debian?

Proceso de empaquetadoProceso de empaquetado

●Anunciar intención de empaquetar (ITP)Anunciar intención de empaquetar (ITP)

● Comprobar WNPP si existen ITPs previosComprobar WNPP si existen ITPs previos

●Obtener y descomprimir el código fuente originalObtener y descomprimir el código fuente original

● Comprobar la LicenciaComprobar la Licencia

●Añadir cambios específicos para DebianAñadir cambios específicos para Debian

●Construir paquete fuente DebianConstruir paquete fuente Debian

●Construir paquetes binarios para DebianConstruir paquetes binarios para Debian

●Comprobar y arreglar problemas (repetir)Comprobar y arreglar problemas (repetir)

Page 19: ¿Como colaborar en Debian?

Resumen del proceso de empaquetadoResumen del proceso de empaquetado

Page 20: ¿Como colaborar en Debian?

BúsquedaBúsqueda de paquetes Huérfanos-WNPP de paquetes Huérfanos-WNPP

Page 21: ¿Como colaborar en Debian?

Reporte de paquete HuérfanoReporte de paquete Huérfano

Page 22: ¿Como colaborar en Debian?

RFA: Request for AdoptionRFA: Request for Adoption

Page 23: ¿Como colaborar en Debian?

Información del paqueteInformación del paquete

Page 24: ¿Como colaborar en Debian?

Reporte de fallos del paqueteReporte de fallos del paquete

Page 25: ¿Como colaborar en Debian?

Adoptar un paquete huérfanoAdoptar un paquete huérfano

Page 26: ¿Como colaborar en Debian?

Procesada la adopciónProcesada la adopción

Page 27: ¿Como colaborar en Debian?

Intención de subir un paquete nuevo - ITP:Intención de subir un paquete nuevo - ITP:

Page 28: ¿Como colaborar en Debian?

Procesado el ITPProcesado el ITP

Page 29: ¿Como colaborar en Debian?

debian/changelogCambios en el empaquetado para Debian

En el caso de adopción de un paquete se debe cerrar el bug que deja huérfano

El “upstream” changelog tiene los cambios de upstream o resumen

Caso upstreamgnusim8085 (1.2.90-1) unstable; urgency=low

* New upstream release.

-- Ernesto Nadir Crespo Avila <[email protected]> Mon, 07 Aug 2006 19:59:53 -0400:Caso adopción de un paquete:

nitpic (0.1-9) unstable; urgency=low

* New maintainer (closes: #227784). * Fixed "FTBFS with gcc-3.4: default arguments are only permitted for function parameters" (closes: #287809, #263265). Patch by Andreas Jochens <[email protected]>

-- Ernesto Nadir Crespo Avila <[email protected]> Sun, 02 Jan 2005 23:28:09 -0400

Page 30: ¿Como colaborar en Debian?

debian/control

Metadatos de los paquetes fuentes y binarios

Source: nitpicSection: electronicsPriority: extraMaintainer: Ernesto Nadir Crespo Avila <[email protected]>Uploaders: Ana Isabel Delgado Dominguez <[email protected]>Build-Depends: libx11-dev, libxt-dev, libxaw7-dev, xutils, binutils-dev, binutils Standards-Version: 3.6.2

Package: nitpicArchitecture: anyDepends: ${shlibs:Depends}Description: Simulator for the Microchip PIC16C84 microcontroller Nitpic is an X-based simulator for the Microchip PIC family of microcontrollers. It currently supports only the PIC16C84. This is beta software.

Page 31: ¿Como colaborar en Debian?

debian/rules

Reglas para compilar y construir el paqueteTécnicamente un Makefileconf metas especificas:

build, binary,binary-arch,binary-indep,cleanLa mayoría de las veces se usan herramientas

Algunas veces muy simple otras veces muy complejoLa integración en el sistema puede resultar difícil

build: Compila el programabinary: Crea el paquete binario

Instala el programa bajo debian/tmpPone los metadatos de empaquetado en

debian/tmp/DEBIANclean: Limpia el árbol

Page 32: ¿Como colaborar en Debian?

Herramientas para facilitar el empaquetadoHerramientas para facilitar el empaquetado●debhelper debhelper

● Conjunto de programas para realizar tareas comunesConjunto de programas para realizar tareas comunes● Crea el archivo debian/rulesCrea el archivo debian/rules● dh_installman: Instala páginas de manualdh_installman: Instala páginas de manual

●cdbscdbs● Sistema de construcción de paquetes basado en la herencia entreSistema de construcción de paquetes basado en la herencia entre

Makefiles Makefiles● Proporciona reglas estándar que pueden ser extendidas o Proporciona reglas estándar que pueden ser extendidas o

reemplazadasreemplazadas

Page 33: ¿Como colaborar en Debian?

¿Dónde seguir?¿Dónde seguir?

http://www.debian.org Para aprender masEsquina del desarrollador Paginas el nuevo mantenedorDeveloper s referencehttp://bugs.debian.org/wnpp

Seguir discusiones del proyectoirc.oftc.net #debian-es, #debian-ve

Page 34: ¿Como colaborar en Debian?

El rincón del desarrollador DebianEl rincón del desarrollador Debian

Page 35: ¿Como colaborar en Debian?

Wiki de DebianWiki de Debian

Page 36: ¿Como colaborar en Debian?

¿Cómo informar de fallos?¿Cómo informar de fallos?

Page 37: ¿Como colaborar en Debian?

Seguimiento de erroresSeguimiento de errores

Page 38: ¿Como colaborar en Debian?

Proceso para ser nuevo mantenedor de DebianProceso para ser nuevo mantenedor de Debian

●No se preocupen por el proceso hasta que se sientan cómodosNo se preocupen por el proceso hasta que se sientan cómodos

●Es importante tener una clave GPG y buscar firmasEs importante tener una clave GPG y buscar firmas

●Puede llevar meses, sobre todo de esperaPuede llevar meses, sobre todo de espera

●Es temido, pero no debería, es un proceso natural para aprender de Es temido, pero no debería, es un proceso natural para aprender de

la organización de Debian, la filosofía del SL y a desarrollar aplicala organización de Debian, la filosofía del SL y a desarrollar aplica

cionesciones

● Mucho trabajo, mucho que aprender, es necesario para crear Mucho trabajo, mucho que aprender, es necesario para crear

buenos paquetesbuenos paquetes

Page 39: ¿Como colaborar en Debian?

Proceso de Nuevo MantenedorProceso de Nuevo Mantenedor

●El proceso comienza al llenar el formulario que está en:El proceso comienza al llenar el formulario que está en:http://nm.debian.org/newnm.phphttp://nm.debian.org/newnm.php●Luego de llenar el formulario, la persona queda en la cola NM en la Luego de llenar el formulario, la persona queda en la cola NM en la sección “No Advocate” sección “No Advocate” http://nm.debian.org/nmlist.phphttp://nm.debian.org/nmlist.php●El advocate (abogado) tiene que ser un DD y muchas veces es el El advocate (abogado) tiene que ser un DD y muchas veces es el sponsor, quién se responsabiliza de subir los paquetes del solicitantesponsor, quién se responsabiliza de subir los paquetes del solicitanteal archivo de Debianal archivo de Debian●El advocate recibe un email del Front Desk (FD) pidiéndole que expli-El advocate recibe un email del Front Desk (FD) pidiéndole que expli-●La persona solicitante pasa a la sección Un-assigned Applicants” de laLa persona solicitante pasa a la sección Un-assigned Applicants” de lacola NMcola NM●Cuando un Application Manager (Cuando un Application Manager (http://nm.debian.org/whoisam.phphttp://nm.debian.org/whoisam.php) ) queda con un cupo disponible,FD verifica que la persona solicitante siqueda con un cupo disponible,FD verifica que la persona solicitante sihaya hecho una contribución a Debian y asigna esa persona solicitantehaya hecho una contribución a Debian y asigna esa persona solicitanteal AM, la cual pasa a la sección “Applicants being processed” de la colaal AM, la cual pasa a la sección “Applicants being processed” de la colaNMNM

Page 40: ¿Como colaborar en Debian?

Proceso de Nuevo MantenedorProceso de Nuevo Mantenedor

●El AM lo primero que hace es identificar a la persona solicitante verifi-El AM lo primero que hace es identificar a la persona solicitante verifi-cando que la llave GPG ha sido firmada por al menos un DD. Si ese nocando que la llave GPG ha sido firmada por al menos un DD. Si ese noes el caso el solicitante tiene un tiempo para buscar una firmaes el caso el solicitante tiene un tiempo para buscar una firmahttp://www.debian.org/devel/join/nm-step2http://www.debian.org/devel/join/nm-step2●El AM envía varios cuestionarios a la persona solicitante uno a la vez,El AM envía varios cuestionarios a la persona solicitante uno a la vez,no envía el siguiente hasta no terminar con el que ya se ha enviadono envía el siguiente hasta no terminar con el que ya se ha enviado●Luego de los cuestionarios sigue un trabajo práctico relacionado conLuego de los cuestionarios sigue un trabajo práctico relacionado conlos paquetes, corrección de bugs críticos, empaquetar algún softwarelos paquetes, corrección de bugs críticos, empaquetar algún softwareo crear manpageso crear manpages●Luego que el AM está satisfecho con la evaluación, escribe un reporteLuego que el AM está satisfecho con la evaluación, escribe un reporterecomendando a la persona solicitante como miembro oficial de recomendando a la persona solicitante como miembro oficial de Debian. En ese momento la persona pasa a la sección “ApplicantsDebian. En ese momento la persona pasa a la sección “Applicantswaiting for Front Desk approval” de la cola NMwaiting for Front Desk approval” de la cola NM●Después que FD aprueba el reporte, pasa a la sección “ApplicantsDespués que FD aprueba el reporte, pasa a la sección “Applicants

Page 41: ¿Como colaborar en Debian?

Mapa Conceptual. Lo necesario para ser DDMapa Conceptual. Lo necesario para ser DD

Page 42: ¿Como colaborar en Debian?

Debian en el mundo. Latinoamerica y VenezuelaDebian en el mundo. Latinoamerica y Venezuela

Desarrolladores:Desarrolladores:●Eloy ParísEloy París●Cesar MendozaCesar MendozaMantenedores:Mantenedores:●Ernesto CrespoErnesto Crespo●Víctor PereiraVíctor Pereira●Christian SanchezChristian Sanchez●Ernesto Hernández NovichErnesto Hernández Novich●Ana DelgadoAna Delgado

●Gerardo CurielGerardo Curiel●José ParrellaJosé Parrella●Manuel GarcíaManuel García●José Luis RivasJosé Luis Rivas●Alejandro Garrido MotaAlejandro Garrido Mota●Muammar El KhatibMuammar El Khatib

Page 43: ¿Como colaborar en Debian?

Cantidad de DesarrolladoresCantidad de Desarrolladores