• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Comunidades software libre + Comunidad OpenERP
 

Comunidades software libre + Comunidad OpenERP

on

  • 4,340 views

¿Qué es una comunidad?

¿Qué es una comunidad?
Planificación de una comunidad
Comunicación dentro de la comunidad
Herramientas de soporte
Valorando la comunidad
Comunidad de OpenERP

Statistics

Views

Total Views
4,340
Views on SlideShare
4,046
Embed Views
294

Actions

Likes
3
Downloads
0
Comments
1

3 Embeds 294

http://www.zikzakmedia.com 223
http://www.slideshare.net 65
http://127.0.0.1 6

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • It is an excellent solution for when you are starting the business because to migrate a system if a headache truth!!!!
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Comunidades software libre + Comunidad OpenERP Comunidades software libre + Comunidad OpenERP Presentation Transcript

    • Comunidades de software libre Comunidad OpenERP Jordi Esteve (UPC + Zikzakmedia) III Jornadas de OpenERP. Universidad de Deusto, 13 mayo 2010                            Obra subjecta a una llicència Creative Commons: Reconeixement ­ Compartir Igual (by­sa) 3.0 Podeu trobar la informació de la llicència a: http://creativecommons.org/licenses/by­sa/3.0/es/deed.ca *Reconeixement* — Heu de reconèixer els crèdits de l'obra de la manera especificada per l'autor o el llicenciador *Compartir Igual* — Si transformeu o modifiqueu aquesta obra per generar­ne una obra derivada, només podreu   distribuir l'obra resultant amb la mateixa llicència, una de similar o una de compatible.
    • Objetivos  ¿Qué es una comunidad?  Planificación de una comunidad  Comunicación dentro de la comunidad  Herramientas de soporte  Valorando la comunidad  Comunidad de OpenERP
    • ¿Qué es una comunidad?
    • El desarrollo natural es en comunidad Una comunidad de software libre es:  un conjunto difuso de personas (no instituciones o empresas);  con diferentes grados de implicación a nivel temporal, de  intereses, de gobierno, etc.;  con una estructura bien definida y una “cultura social”  específica de la comunidad;  con liderazgos individuales o colectivos fuertes;  con individuos compartidos entre comunidades. Son redes sociales muy evolucionadas.
    • Comunidad: Pertenencia + Capital social + Procesos Las comunidades se fundamentan en la economía social. ● Pertenencia (personas unidas por unos objetivos  comunes) ● ● Capital Social (normas y redes de relaciones que  permiten a las personas trabajar de forma colectiva:  respeto, confianza, códigos de conducta, ...) ● ● Procesos (funcionamento y organización gracias a la  comunicación)
    • Comunidades SWL – Dinámica mercados financieros ● La información fluye sin problemas: Transparencia, proceso, código,  política, errores, discusiones de la comunidad. ● Las personas pueden confiar: La licencia es un contrato social. ● Se fundamenta la competencia: Qué correcciones y características se  aceptan, y cuáles no. ● Los derechos de propiedad están protegidos, pero no sobreprotegidos:  Gestión de los derechos de autor del código y de la licencia. ● Los efectos secundarios perjudiciales para terceros son reducidos: El  gobierno de la comunidad puede limitar los daños a terceros. ● Nadie está trabajando gratuitamente en un sentido económico: El  contribuyente ofrece alguna cosa que valora menos (un fragmento de  código que soluciona una necesidad particular) para una cosa que valora  más (el software en su totalidad). ● La moneda de cambio es el código y el conocimiento.
    • La evolución es rápida y muy entrecruzada La permeabilidad entre comunidades provoca dinámicas muy  rápidas:  Las ideas pasan fácilmente de un proyecto a otro. Las personas  actúan de canal.  Los proyectos se pueden ver desplazados por otros proyectos  rápidamente. La competencia es muy elevada.  El ritmo de aparición y desaparición de proyectos es elevado. Mantenerse al día es una tarea que requiere esfuerzo. A menudo se habla de ecosistema de software libre: Las comunidades son los organismos, hay competencia y  colaboración, lucha por la subsistencia, etc.
    • Comunidad: Modelo de las capas de la cebolla En un proyecto ideal de software libre, la comunidad tiende hacia un  modelo de tipo "cebolla": ● Los líderes y los desarrolladores del núcleo trabajan  directamente en el código/diseño. ● Las sucesivas capas externas (los contribuyentes, los principales  usuarios y los usuarios finales) ofrecen diversos grados de  información y retroalimentación. La comunicación (flechas) entre capas son abiertas y las transiciones  entre capas son muy suaves, las fronteras son relativamente  arbitrarias. Imagen: Ralph Bijker/CC­By 2.0
    • Comunitat: Model de les capes de la ceba
    • Comunidad con éxito: Generación de oportunidad Una comunidad de software libre suele proporcionar: Comunicación abierta (canales de comunicación  visibles y accesibles) Licencia del software y/o contrato social (da confianza  y seguridad la comunidad) Herramientas libres (herramientas de desarrollo y  documentación libres y abiertas para facilitar el  acceso) Pero para que la comunidad de PL tenga éxito necesita generar  oportunidad: Creencia que la visión de futuro se pueda materializar.
    • Planificación de la  comunidad
    • Planificación de la comunidad 1 1. La familia de puntos: Cada uno tiene una personalidad y unas  habilidades diferentes.
    • Planificación de la comunidad 2 2. La familia de puntos no está sola.
    • Planificación de la comunidad 3 3. Uniendo personas por sus intereses y pasiones. Hay que  identificar como podemos dividir la comunidad en equipos.
    • Planificación de la comunidad 4 4. Comunicación entre equipos. Hay que asegurar que los equipos  se puedan comunicar claramente y eficientemente.
    • Planificación de la comunidad 5 5. Atracción de nuevos contribuidores. Atraer variedad de personas  a la comunidad para implicarse y contribuir a nuestros objetivos.
    • Planificació de la comunitat 6 6. Construir un entorno potente para tener un equipo fuerte que  encamine nuestros principales objectivos.
    • Planificación de una comunidad. Tareas a realizar ● Identificar como podemos dividir nuestra comunidad en equipos. ● Asegurarnos que los equipos pueden comunicarse con claridad  y eficacia. ● Atraer a una amplia gama de contribuyentes a nuestra  comunidad para participar y contribuir con nuestros objetivos. ● Crear un entorno propicio para nuestros objetivos más amplios. ● Definir el alcance de cada equipo, y ayudar a sus miembros del  equipo a entender su ámbito. ● Comprender la extensión y alcance de la colaboración entre  nuestros equipos. ● Fomentar la diversidad y la oportunidad en la comunidad. ● Elaborar un código de conducta.
    • Ejemplo: Código de conducta de Ubuntu ● Ser considerado: Tu trabajo será utilizado por otras personas y tu  dependerás de la tarea de otros. ● Ser respetuoso: Los miembros de la comunidad se tratan unos con  otros con respeto. ● Ser colaborativo: El PL tiene a ver con la colaboración y trabajo  conjunto.  ● Cuando no se está de acuerdo, consulta a los otros: Los  desacuerdos, tanto políticos como técnicos, tienen lugar  continuamente, se resuelven de manera constructiva. ● Cuando no estés seguro, pide ayuda: Nadie lo sabe todo, y nadie  no está obligado a ser perfecto. ● Abandona el proyecte con consideración: Los desarrolladores  van y vienen en todos los proyectos. Cuando te vayas o desconectes  del proyecto, totalmente o parcialmente, os pedimos que lo hagas de  una manera que minimice la interrupción del proyecto.
    • Tipología de comunidades Comunidades básicamente lectoras (disfrutar cosas juntos) Comunidades centradas en escribir (crear cosas juntos) Comunidades divididas por una meritocracia Comunidades divididas por clases (asignación a dedo) La  meritocracia  es  un  sistema  de  gobierno  en  el  cual  sus  miembros se les da responsabilidades y reconocimiento basado  en  los  éxitos,  mérito  y  talento.  Ayuda  a  propiciar  diversidad  y  oportunidad a la comunidad.
    • Comunicación dentro de  la comunidad
    • Comunicación dentro de la comunidad Medios de comunicación entre los miembros de la comunidad: ● Listas de correo ● Foros de discusión ● IRC (chats en tiempo real) ● Encuentros presenciales Recomendaciones para escribir: ● Ser claro (escribir con franqueza) ● Ser conciso (brevedad) ● Responder (y si no puedes o te retrasas, dilo) ● Ser divertido (no escondas la propia personalidad) ● Ser humano (si te equivocas, dilo y discúlpate)
    • Transparencia La transparencia de la comunidad afecta a tres ámbitos: ● Acceso a las herramientas: Fáciles de acceder, bien  documentadas y disponibles libremente. ● Comunicación: Canales abiertos y visibles (por ejemplo  históricos de los correos y IRC vía web). ● Documentación: Matenerlos abiertos y fáciles de acceder (por  ejemplo en la misma página web).                 Ejemplo: http://doc.openerp.com/
    • Herramientas de soporte  de la comunidad
    • Herramientas de sopore a las comunidades (I) Seguimiento de errores (Bug tracking). Proporciona: ● Información de errores ● Filtrado y asignación de errores Documentación: ● Edición colaborativa mediante wikis o documentos compartidos. ● Ejemplo OpenERP: Sphinx ● Documentación del código (extrae la documentación del propio  código y de los comentarios añadidos expresamente): ● Ejemplo: Doxygen  Doc. Xerces
    • Herramientas  de soporte a las comunidades (II) Control de versiones (código): Dos posibles soluciones para la compartición de código: ●  Bloquea – Modifica ­ Desbloquea: Poco práctico, no se usa. ●  Copia – Modifica – Fusiona: Ampliamente usado: ● Concurrent Versioning System: CVS, Subversion (SVN). ● Distributed Versioning Control System (DVCS): Bazaar, Git.  Permite a los nuevos desarrolladores producir funcionalidad y  correcciones de errores en ramas separadas que se pueden  fusionar con la rama principal. Virtualización repositorio RubyOnRails 2004­2009. Observar abril 2008 cambio a GitHub
    • Problema control de versiones B. Collins­Sussman B. W. Fitzpatrick C. M. Pilato CC­By 2.0
    • Solución 1: Bloquea – Modifica ­ Desbloquea  B. Collins­Sussman B. W. Fitzpatrick C. M. Pilato CC­By 2.0
    • Solución 2: Copia – Modifica ­ Fusiona B. Collins­Sussman B. W. Fitzpatrick C. M. Pilato CC­By 2.0
    • Solución 2: Copia – Modifica – Fusiona (cont.) B. Collins­Sussman B. W. Fitzpatrick C. M. Pilato CC­By 2.0
    • Como implantar las herramientas de soporte Sistemas auto­instalados y auto­alojados: ● Herramientas aisladas: Subversion, Bugzilla, MediaWiki ● Herramienta integrada: Trac, GForge, Redmine Ventajas Inconvenientes Control Mantenimiento Elección Coste Soluciones SaaS (Software as a Service): Launchpad, SourceForge Ventajas Inconvenientes Facilidad Datos Mantenimiento Limitaciones ancho de  banda Fiabilidad Elección de  herramientas
    • Ejemplo de herramienta colaborativa: Launchpad Launchpad (https://launchpad.net) patrocinado por Canonical es una  plataforma colaborativa de desarrollo de software que incluye las  siguientes herramientas totalmente integradas entre ellas: ● Alojamiento de código (Branches): Gestionado con Bazaar ● Seguimiento de errores (Bugs) ● Seguimiento de especificaciones (Blueprints) ● Traducciones colaborativas (Translations) ● Preguntas/respuestas (FAQ o Answers) Toda esta gestión se realiza según 3 perfiles: ● Proyectos ● Equipos ● Miembros Ejemplo: Multitud de proyectos y equipos alrededor de OpenERP: https://launchpad.net/openobject
    • Valorando la comunidad
    • Valor de la comunidad. ¿Dónde extraer los datos? ●  Datos estadísticos: ● Foros y listas de correos: Número de posts y de miembros. ● Sitio web del proyecto: Número de visitas y de descargas. ● Herramientas colaborativas de desarrollo: Número de línias de  código escritas, número de desarrolladores, número de commits. ● Wiki: Número de usuaris y número de páginas. ● Congresos y conferencias: Número de participantes y de temas  tratados.  ● Encuestas y opiniones estructuradas: Las preguntas han de ser  simples, cortas y específicas. Es recomendable informar y documentar los resultados obtenidos de  los datos estadísticos y/o encuestas junto con las conclusiones que  se extraen a la comunidad.
    • Comunidad OpenERP / OpenObject ● OpenERP: Sistema de gestión ERP: vendas, compras, productos,  almacén, facturación, contabilidad, proyectos, fabricación,  RRHH, CRM, TPV, ... ● OpenObject: Entorno de desarrollo rápido de aplicaciones con  tecnología PostgreSQL, Python y XML. Licencia:  ● Licencia GPL (la próxima versión cambia a Affero GPL): ● Servidor + módulos ● Cliente Gtk ● Cliente Koo ● Licencia OPL (OpenERP public license) ● Cliente web (es una MPL con restricciones en los logos)
    • Comunidad OpenERP. Historia Historia ● 2004 Primeras versiones TinyERP. Fabien Pinckaers crea la  compañía belga Tiny Sprl. ● 2007. Apertura depósito SVN al exterior ● 2008. Migración plataforma colaborativa Launchpad­Bazaar ● 2008. TinyERP pasa a llamarse OpenERP. Campaña marketing ● 2009. Mejores procesos colaborativos (organización comunidad) ● 2010. Inversión de 3 millones de euros de capital de riesgo a la  compañía original, que pasa a llamarse OpenERP SA. Evolución (núm. de módulos): ● Oct. 2006 Enero 2007 Abril 2007 Mayo 2007 Mayo 2008 Abril 2009 Nov. 2009 40 112 185 200+ 250+ 350+ 500+
    • Comunidad OpenERP. Comunidad Comunidad ● La comunidad de OpenERP es muy joven ● Muchos de los equipos, canales de comunicación y herramientas  colaborativas que se comentan a continuación se han puesto en  marcha durante el 2009 y 2010 y todavía se están definiendo y  ajustando algunos de los procesos de colaboración. ● Desde febrero de 2010, existe la figura del líder dedicado a la  comunidad: Hace de canal de comunicación entre la empresa y la  comunidad, define y documenta los procesos, .. Ciclo de liberación ● Versiones pequeñas (bugfixes): 1 al mes. Sale a principios de mes ● Versiones grandes (nuevas funcionalidades): 1 al año  aproximadamente
    • Comunidad OpenERP. Equipos Algunos de los equipos más importantes. Los datos se han obtenido  de Launchpad en marzo 2010.      Equipo Núm. de miembros Quality team: Servidor+cliente+módulos oficiales 34 Commiter team: Módulos addons­extra 131 Community team: Módulos addons­community 553 Spanish localization team 35      Otros equipos: Experts teams: Contabilidad Fabricación Servicios Ergonomía (no programación) ...
    • Comunidad OpenERP. Herramientas de colaboración ● Código. Mediante sistema control de versiones Bazaar: ● Quality members suben el código directamente ● Otros miembros: ramas propias + solicitud de fusión ● Documentación (inglés + traducciones): Sphinx + Bazaar ● Nuevas características: BluePrints ● Informes de errores: BugTracker ● Traducciones: Translations ● Translation team: Actualiza traducciones ● Otras: sugieren traducciones
    • Comunidad OpenERP. Comunicación ● Portal web: ● www.openerp.com, www.openobject.com ● www.openerpspain.com, www.openerpsite.com ● www.openerp.cat ● Foros: www.openobject.com/forum (marzo de 2010, 50.000 posts  en 25 foros) ● IRC: www.openobject.com/irc (cada mes hay una discusión de la  comunidad con un orden del día) ● Listas de correo:  Asociadas a launchpad (código, revisiones, bugs, faqs)  Asociadas a los foros  Localización española: openerp­spain@googlegroups.com
    • Comunidad OpenERP. Proyectos Oficiales + Comunidad: ● Server ● Cliente Gtk ● Cliente web ● Addons: addons, addons­extra, addons­community Comunidad: ● Localizaciones de cada país ● Koo: Cliente Koo, JasperReports, conector Kettle, ... ● Poweremail (gestión de emails desde OpenERP) ● MagentoConnect (conexión tienda web Magento) ● Invoicing (facturación automática) ● Motores de informes alternativos basados en OpenOffice ● ...
    • Comunidad OpenERP. Gestión código Versiones: ● 4.2 (anticuada) ● 5.0 (estable) ● trunk (desarrollo, futura 6.0) Branches (ramas) de módulos: ● addons: 110 módulos. Quality team  ● addons­extra: +250 módulos. Commiter team ● addons­community: +50 módulos. Community team ● Ramas personales y petición de fusión con las ramas “oficiales” ● ... Milestones (hitos): ..., 5.0.6, 5.0.7, 5.0.8, 5.0.9, 5.0.10, ...
    • Comunidades de software libre Comunidad OpenERP ¿Preguntas? Jordi Esteve (UPC + Zikzakmedia) III Jornadas de OpenERP. Universidad de Deusto, 13 mayo 2010