{"id":21,"date":"2008-08-27T13:29:01","date_gmt":"2008-08-27T11:29:01","guid":{"rendered":"http:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/sincronizacion-dos-esforzos-seleccionando-o-ciclo-de-release"},"modified":"2008-08-27T13:29:01","modified_gmt":"2008-08-27T11:29:01","slug":"sincronizacion-dos-esforzos-seleccionando-o-ciclo-de-release","status":"publish","type":"post","link":"https:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/2008\/08\/27\/sincronizacion-dos-esforzos-seleccionando-o-ciclo-de-release\/","title":{"rendered":"Sincronizaci\u00f3n dos esforzos: seleccionando o ciclo de release"},"content":{"rendered":"<p>No proceso de <a href=\"http:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/integracion-das-aportacions-ferramentas-e-procesos\">integraci\u00f3n das aportaci\u00f3ns<\/a> \u00e9 habitual atopar unha serie de medidas informais para garantir a calidade das aportaci\u00f3ns e a s\u00faa f\u00e1cil integraci\u00f3n. Mais al\u00e9n destas medidas, a maior\u00eda dos proxectos de software libre prev\u00e9n etapas de testeo e calidade espec\u00edficas e coordinan os seus esforzos a trav\u00e9s dunha axenda com\u00fan: os <em>ciclos de release<\/em>.<\/p>\n<p><strong>Funcionalidades VS tempo<\/strong><\/p>\n<p>Un <em>ciclo de release<\/em> consiste no tempo e acci\u00f3ns que ocorren entre que se publica unha versi\u00f3n do software ata a seguinte. A grandes rasgos, podemos identificar <strong>2 grandes modos de xestionar o ciclo de publicaci\u00f3n dun proxecto<\/strong>:<\/p>\n<ul \/>\n<ol>\n<li>Publicaci\u00f3n <strong>basada en funcionalidades<\/strong>.<\/li>\n<li>Publicaci\u00f3n <strong>basada en tempo<\/strong>.<\/li>\n<\/ol>\n<p>Decidir cal dos modelos se adec\u00faa \u00e1s necesidades do proxecto, pode <a href=\"http:\/\/www.cyrius.com\/publications\/michlmayr-phd.html\">impactar directamente na calidade do mesmo<\/a>. Para elexir o modelo adecuado, \u00e9 preciso ter en conta certos condicionantes:<\/p>\n<ul>\n<li>\u00bfC\u00f3mo se decide qu\u00e9 funcionalidades son aceptadas?<\/li>\n<\/ul>\n<p>Nunha <em>release basada en tempos<\/em> este proceso \u00e9 trivial xa que s\u00f3 entran as que est\u00e1n dispo\u00f1ibles cando se  publica a <em>release<\/em>. Polo contrario, nunha <em>release basada en funcionalidades<\/em> o proceso implica negociaci\u00f3n entre os m\u00faltiples colaboradores do proxecto. Este proceso de negociaci\u00f3n pode ser lento e dar lugar a continuas discusi\u00f3ns que retrasen unha e outra vez a publicaci\u00f3n.<\/p>\n<p>O perfil do coordinador da <em>release<\/em> nun e noutro caso son moi diferentes. Mentres no primeiro caso, o seu papel lim\u00edtase a xestionar os tempos e contactar cos colaboradores de cada m\u00f3dulo para facer o seguemento do proceso; no segundo ten un perfil m\u00e1is pol\u00edtico, xa que nun momento determinado pode chegar a forzar a publicaci\u00f3n da nova versi\u00f3n.<\/p>\n<ul>\n<li>Control de calidade<\/li>\n<\/ul>\n<p>A pesar das <a href=\"http:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/integracion-das-aportacions-ferramentas-e-procesos\">medidas informais das que falabamos en post anteriores<\/a>, unha fase de testeo \u00e9 necesaria para estabilizar o programa.<\/p>\n<p>Nunha <em>release basada en tempos<\/em> \u00e9sta def\u00ednese na propia planificaci\u00f3n e si todo vai ben debe cumplirse. Nunha <em>basada en funcionalidades<\/em>, as releases poden ocorrer s\u00fabita e forzadamente (logo dun proceso de negociaci\u00f3n que se alonga no tempo e os xestores deciden levar adiante a publicaci\u00f3n) polo que a fase de control de calidade pode ser insuficiente.<\/p>\n<ul>\n<li>\u00bfO proxecto depende de outros?<\/li>\n<\/ul>\n<p>Si \u00e9 as\u00ed, \u00e9 importante contar coas <em>releases<\/em> das dependencias. Por exemplo, si o proxecto usa o kernel de linux como base para facer outra cousa, quiz\u00e1s o m\u00e1is interesante sexa amoldar o <em>ciclo de release<\/em> do proxecto \u00f3 do kernel, xa que dese modo poderase dispo\u00f1er en cada versi\u00f3n das \u00faltimas melloras que provee o kernel.<\/p>\n<ul>\n<li>\u00bfQu\u00e9 outras axendas dependen do teu proxecto?<\/li>\n<\/ul>\n<p>O caso do escritorio GNOME \u00e9 digno de estudio. Logo da release da versi\u00f3n 2.0, decidiron facer as releases cada 6 meses. Este aspecto organizativo, xunto con <a href=\"http:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/a-xestion-do-copyright\">outras diferencias co seu competidor directo KDE<\/a>, facilitaron que moitas distribuci\u00f3ns de linux o elexisen como escritorio por defecto. Debido a que co\u00f1ecen cando se publicar\u00e1 a seguinte versi\u00f3n, outros proxectos poden planificar as s\u00faas acci\u00f3ns (<em>release<\/em> da distribuci\u00f3n, acci\u00f3ns de m\u00e1rketing, organizaci\u00f3n de eventos etc) con antelaci\u00f3n.<\/p>\n<p>A este respecto, <a href=\"http:\/\/www.markshuttleworth.com\/\">Mark Shuttleworth<\/a>, fundador de <a href=\"http:\/\/www.ubuntu.com\/\">Ubuntu<\/a>, publicou recentemente un post sobre <a href=\"http:\/\/www.markshuttleworth.com\/archives\/150\">a sincronizaci\u00f3n da pila completa de aplicaci\u00f3ns libres<\/a> no que falaba sobre a estratexia de release de Ubuntu:<\/p>\n<blockquote><p>[&#8230;] at Ubuntu we have converged around the idea of releasing about one month *after* our biggest predictable upstream, which happens to be GNOME. And similarly, the fact that the kernel has their own relatively predictable cycle is very useful. We don\u2019t release Ubuntu on the same day as a kernel release that we will ship, of course, but we are able to plan and communicate meaningfully with the folks at kernel.org as to which version makes sense for us to collaborate around.<\/p><\/blockquote>\n<ul>\n<li>\u00bfDe qu\u00e9 recursos se dispo\u00f1en?<\/li>\n<\/ul>\n<p>A pesar de que as <em>releases basada en tempos<\/em> te\u00f1en grandes vantaxes, necesitan \u00e1 s\u00faa vez unha inxecci\u00f3n de recursos importantes, que, si non se dispo\u00f1en, poden facer desaconsellable o uso desta ciclo de publicaci\u00f3n. Por exemplo, si o proxecto ten unha carencia de programadores que far\u00e1 imposible sacar regularmente novas versi\u00f3ns.<\/p>\n<p><strong>CONCLUSI\u00d3NS<\/strong><\/p>\n<p>\u00d3 longo deste post, temos visto c\u00f3mo <strong>a sincronizaci\u00f3n do proxecto ten importancia tanto a nivel interno -garantir a motivaci\u00f3n dos colaboradores e unha efectiva coordinaci\u00f3n dos esforzos- como a nivel externo -facilitar sinerxias entre proxectos<\/strong>.<\/p>\n<p>As\u00ed, elexir o modelo adecuado en cada etapa do proxecto non s\u00f3 afectar\u00e1 \u00e1s relaci\u00f3ns con outros proxectos e \u00e1 calidade, sen\u00f3n tam\u00e9n \u00e1 <a href=\"http:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/a-confianza-mutua-e-o-caso-nitot\">motivaci\u00f3n dos colaboradores<\/a>, o codiciado grial de calquera comunidade de software libre.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No proceso de integraci\u00f3n das aportaci\u00f3ns \u00e9 habitual atopar unha serie de medidas informais para garantir a calidade das aportaci\u00f3ns e a s\u00faa f\u00e1cil integraci\u00f3n. Mais al\u00e9n destas medidas, a maior\u00eda dos proxectos de software libre prev\u00e9n etapas de testeo e calidade espec\u00edficas e coordinan os seus esforzos a trav\u00e9s dunha axenda com\u00fan: os ciclos [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-21","post","type-post","status-publish","format-standard","hentry","category-aspectos-organizativos"],"_links":{"self":[{"href":"https:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/wp-json\/wp\/v2\/posts\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/wp-json\/wp\/v2\/comments?post=21"}],"version-history":[{"count":0,"href":"https:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/wp-json\/wp\/v2\/posts\/21\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/wp-json\/wp\/v2\/media?parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/wp-json\/wp\/v2\/categories?post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.igalia.com\/premio-pfcsoftwarelibre-2008\/wp-json\/wp\/v2\/tags?post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}