cómo colaborar en gnome

Post on 08-Jul-2015

1.243 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Charla sobre cómo iniciarse como colaborador de GNOME y breve descripción de GNOME shell

TRANSCRIPT

Cómo colaborar en

 

Juanjo Marín

Fase Final del IV Concurso Universitario de Software LibreCádiz, 14 de mayo de 2010                                                

­ Tradicionalmente los proyectos universitarios    parten de cero y se desechan tras su finalización.­ Crear un comunidad es una árdua tarea:

Gran parte del tiempo se consume en el desarrollo

Se necesitan habilidades especiales para recrutar, motivar y gestionar una comunidad

Según sourceforge.net el 68% de los proyectos solo tienen un contribuidor y el 15% sólo dos.

versus

Videos     ­  proyectos finalistas IV CUSL    ­  proyectos de GNOME > GNOME shell > Evince

Mi experiencia con GNOME

- En concreto me “enrolé” em   uno de sus subproyectos,    Evince, el visor de documentos.

- Mis primeras contribuciones   en GNOME fueron para mi   PFM del Master Software   Libre de la UOC.

Problemas inicialesProblemas iniciales

Definir los objetivosDefinir los objetivos

““Scratch your personal itch” suele funcionarScratch your personal itch” suele funcionar

  Calcular el tiempo necesario para su ejecuciónCalcular el tiempo necesario para su ejecución

Enfrentarse a código fuente hecho por otrosEnfrentarse a código fuente hecho por otros

Tu trabajo necesita ser revisado por otros para su aceptaciónTu trabajo necesita ser revisado por otros para su aceptación

Manos a la obraManos a la obra

Hay que aprender una nueva plataforma

Para arreglar un bug o añadir una nueva funcionalidad hay que comprender el código existente

El importante respetar el “Coding Style” para trabajar en comunidad

Los parches más simples son más fáciles de aplicar y se aplican antes

Es posible que tengas que interactuar con  otros proyectos

GNOME 3is made of easyLo que está por venir

­ Una plataforma más sencilla y     ­ Una plataforma más sencilla y     “limpia”“limpia”

­ GOBJECT Introspection­ GOBJECT Introspection 

foo.hfoo.c +      Anotaciones (metadatos)

foo.gir (xml)

gir­scanner

gir­compiler

foo.typeliblibfoo.so

libffi.so libgirrepository.so

Bindings (Vala, Gjs, Seed, PyGI, ruby­gir­ffi, ...)

gcc

Arquitectura de GOBJECT Introspection

/** * nombre_funcion: (annotacion1) (annotacion2) * * @primer_param: (annotacion1) (annotacion2) (...): documentacion 1er parametro * @segundo_param: (annotacion1) (annotacion2) (...): documentation 2º parametro * * Returns: (annotacion1) (annotacion2) (...): Documentacion salida funcion */

/** * mylib_get_constant1: * * Return value: (transfer full): a constant, free when you used it */gchar *mylib_get_constant1 (void) { return g_strdup("a constant");}

/** * gtk_widget_get_size_request: * @width: (out): Int to store width in * @height: (out): Int to store height in */

GNOME shell demo

Colaborar en la comunidad GNOME es una experiencia única para aprender de 

primera mano los entresijos del desarrollo de software libre.

Oportunidades de trabajo:Existen un tejido empresarial nacional que trabajan con  tecnologías GNOME

¡Gracias!Juanjo Marínjjmarin@gnome.org

¡Hazte amigo de GNOME!www.gnome.org/friends

top related