You are on page 1of 9

Fbricadesoftwarelibre:sirviendoalbienestar colectivo

JoseAguilar1,2,OswaldoTern1,2,3,JohannaAlvarez1,BlancaAbraham1
FUNDACTEMrida1,VaLaHechicera,Mrida,Venezuela CentrodeMicroprocesadoresySistemasDistribuidos(CEMISID)2,UniversidaddeLos Andes,MridaVenezuela. CentrodeSimulacinyModelos(CESIMO)3,UniversidaddeLosAndes,Mrida Venezuela. Tel:+5802742447111.Fax:+5802742440370 {oteran,aguilar}@ula.ve,{jalvarez,blanca}@funmrd.gov.ve

Resumen. En este trabajo se presentan los elementos tanto operativos como


filosficosdeunaFbricadeSoftwareLibreconlocalizacinconcreta,implantadaen unainstitucinpblicavenezolana,elCentroNacionaldeTecnologaLibres,elcual est al servicio (prioritariamente) del sector pblico venezolano. Se presenta una metodologaelaboradaenyparastafbrica,dondesehancombinadoaspectosde modelosymtodosdedesarrollodesoftware,ascomoelementosdelaproduccin industrial,conlosestilosdedesarrollodesoftwarelibrecatedralybazar,siemprebajo lapremisadeatenderestratgicamente,yconvisinalargoplazo,laproblemticadel sectorpblicovenezolano.Alavez,secomplementanelementostradicionalesdela Ingeniera del Software con herramientas como la Planificacin Estratgica y la ProspectivaTecnolgica,afindeenfocarsedemaneraglobalenelproblemasocial queseesttratando (e.g.,bsquedadelasoberanatecnolgica)ylaproblemtica particulardelsectorsocialreceptor.

1Introduccin
Bajo la nueva estrategia territorial, en Venezuela se propone la creacin de un modeloproductivoquearticulelaaccindecomunidadesorganizadasenunidades productivas para conformar Ncleos de Desarrollo Endgeno (NUDE) [11], adecuadamenteubicadosenelterritorio. Por otro lado, segn el PNUD (Programa de la Naciones Unidas para el Desarrollo),lasTecnologasdeInformacinyComunicacin(TICs)semanifiestan endosestratos:unodenaturalezaestructural("Infoestructura")yotrodenaturaleza cultural ("Infocultura") [15]. En el primer estrato se incluye el conjunto de

dispositivos de computacin, almacenamiento, telecomunicacin e interfaz (hardware), junto con todo el universo de programas bsicos y de aplicacin (software),ylosregistrosdecontenidos,enlasdistintasreasdeaplicacin.Porotra parte,selehadadoelnombredeInfoculturaaaquellapartedelaculturaorientadaa comprenderyusardelamejormaneralaInfoestructurapararesolverlosdistintos problemasquesepresentaneneldevenirdelasociedad. EsimportanteresaltarqueenlaciudaddeMridaconfluyenenlaactualidaduna seriedeaspectosacadmicos,tecnolgicos,econmicos,socialesypolticosquela calificancomounpotencialncleodedesarrolloendgenobasadoenTICs[2]. ParaimpulsarelNUDEenTICsserequieredeinstitucionespblicasdedicadasal temadeInvestigacinyDesarrolloenTICs,lascualesasumanelretodegenerarlas polticaspblicasydearticularlosgrandesproyectosdelpasenelsector.Asnace el Centro Nacional de Desarrollo e Investigacin en Tecnologas Libres (CENDITEL), como un centro orientado a promover la reflexin, investigacin, desarrollo y apropiacin de Tecnologas Libres pertinentes (infoestructura del NUDE).Algunosdelosproyectosactualesdedichocentroson:LaFbricaNacional deSoftwareLibre(FSL)yLaAcademiaNacionaldeSoftwareLibre(ASL).Tantola FSL como la ASL son localidades concretas, la primera de enseanza de, y la segundadeelaboracinde,softwarelibre.EnestetrabajohablaremossobrelaFSL.

2FbricadeSoftwareLibre
Sedefinecomosoftwarelibre(SL)alsoftwaredisponiblealusuariodemaneraque ste pueda usarlo, acceder al cdigo, modificarlo, y distribuirlo. Otro aspecto importante,eneldesarrollodeSLesqueestepuedeelaborarsedemaneracolectiva, porcomunidadesdedesarrolladoresqueaportansolucionesdesdelugaresdistantes, aprovechandolosbeneficiosdelaInternet,Intranetocualquiertipodecomunicacin en red que sirva a la comunidad de desarrolladores. Existen dos modalidades o modelosdedesarrollodeSL,asaber(paramsdetalles,vaseRaymond[16]): 1. Estilo Bazar:Enestecaso,eldesarrollo desoftwarenoesdirigidodemanera centralizada,laconstruccindelaaplicacinserealizaconlaparticipacindeuna comunidaddeinteresados queliberafrecuentementecada versindesarrollada, conlafinalidaddequeotrospuedandepurarelcdigo. 2. Estilo Catedral: Enelestilo catedraleldesarrollo desoftwareestdirigidode manera centralizada y el proceso de desarrollo esta restringido a un grupo de programadores,quienestrabajanfuertementeenladepuracindelcdigoconla finalidaddequelosusuariospuedanvermenoserroresencadaversinliberada.

A pesar de que muchos colaboradores de una FSL puedan estar ubicados en diferentes localidades, como lo sugiere el estilo Bazar, la fbrica, como entidad identificable, debe tener una ubicacin especfica a fin de facilitar el aprovechamiento de las ventajas de la produccin industrial. Por otra parte, generalmenteunaFSLrespondeanecesidadesodemandascontiemposespecficos, loqueimplicaquedebehaberunaplanificacinexplcitayuncontroldelavancede losproyectosespecficos,demaneralocalizadaycentralizada,ancuandosehaga usodecomponentesreusablesdesdelacomunidaddeSL. Utilizandoestasnociones,tenemoslasiguientedefinicindeFSL: localidad concreta donde se elabora SL de manera eficiente y eficaz para satisfacerciertademandaonecesidadespecifica;aprovechandolosbeneficiosdelos criteriosyconceptostilesenlaproduccinindustrial(e.g.,delaautomatizaciny delreusodecomponentes); promoviendoeldesarrollocolaborativoysolidario, ofrecidoporcomunidadesdeindividuosogruposlocalizadosenlugaresdiversos. UnaFSLpromueveeldesarrollodesoftwareylaapropiacindelatecnologa localmente, tanto a nivel de la fbrica misma como a nivel de comunidades de desarrolladores,mientrasfacilitaelaccesoalproductoporpartedelascomunidades yPYMES.As,unaFSLapuntahacialaindependenciatecnolgica,elcrecimiento socioproductivolocal,ademsdeofrecercaractersticasdeseguridadimportantes. Adems,unaFSLdebesaberdescubrirlasnecesidadesdelcliente,muchasdelas culesirnmsalldelasimpleimplementacindeunaaplicacindesoftware.Para ello, no son suficientes las nociones tradicionales de gestin de desarrollo de software. Por tanto, se hace necesaria la inclusin de herramientas tiles para descubrirlasnecesidadesydebilidadesdelsectorsocialreceptordelservicio,tales comolaplanificacinestratgicaylaprospectivatecnolgica[3,9,17].Estopuede llevaralacreacin,incluso,deotrasorganizacionesqueapoyenycomplementeala FSLensurolsocial.Enestecontextoaparece,porejemplo,unaASL,quepromueve laenseanzaentornoalusodelSL,afindedisminuirlafaltadecomprensiny conocimientoentornoalSL(unadebilidadactualdelsectorsocialreceptor). 2.1AspectosconsideradosparalacreacindelaFSLdeCENDITEL La FSL de CENDITEL ha estado desarrollando SL para instituciones pblicas venezolanasdesdeel2003.ActualmenteenlaFSLdeCENDITELtrabajanmsde veinteingenierosytcnicosespecialistasenanlisisydesarrollodesoftware.As mismo, la FSL se fortalece con el trabajo colaborativo de toda la comunidad de desarrolladoresquedeseecontribuirenelprogresodealgunodelosproyectosen

particularoiniciarunonuevo,pueslaplataformacolaborativa[10]permitequese descarguenyseincorporenactualizacionesdesistemasexistentes. La FSL de CENDITEL ha sufrido un proceso de mejoras a medida que se desarrollaryaplicaunametodologa [1,6],basadaenmodelosorganizacionalesde referenciaymtodosdedesarrollo.Entrealosmtodosquehansidotomadasen cuenta para el desarrollo de una metodologa para la FSL de CENDITEL (a ser presentaba brevemente en la seccin 3) tenemos: Watch [12], la Programacin Extrema(XP)[4],yRationalUnifiedProcess[8].Delamismamanera,enrelacina modelosdedesarrollodereferencia,dedondesehantomadotambinideasparala metodologadelaFSL,entreotros,setienen:elModelodeProcesosparaDesarrollo yMantenimientodeSoftware(MoProSoft)[7,13,14],yCompetiSoft:Mejorade ProcesosparaFomentarlaCompetitividaddelaPequeayMedianaIndustriadel SoftwaredeIberoamrica[5]. Lametodologaseapoyaeneldesarrollocolaborativo,yapuntalalossiguientes aspectos: 1. Procesosdedesarrollobiendefinidos(segnunmarcometodolgico) 2. Elevadacalidaddelproductoycapacidaddelosprocesos. 3. Mecanismos,herramientasyformatosestandarizadasparafacilitareldesarrollo colaborativo. Estosetraduceenfacilidadesparalaliberacindelcdigofuente, junto aladocumentacinasociadaalmismo; lareutilizacindecomponentes provenientesdelacomunidaddeSL;ascomoelusodeherramientasyformatos dedocumentacinquefacilitenlasdiferentesfasesdeldesarrollo. 4. Tomarenconsideracinlasventajasdelosestilosdedesarrollocatedralybazar.

3ModelodeProcesosdelaFSLdeCENDITEL
ElmodelodeprocesosquesirvedebasealaFSLdeCENDITELsebasaenun esquema de desarrollo iterativo e incremental, orientado a la construccin de aplicacionesdesoftwareutilizandoherramientaslibres.Lametodologadedesarrollo se basa en una estructura organizacional orientada a procesos especficos. Estos procesos son: Gestin de Proyectos de Software, Administracin de Proyectos de SoftwareyDesarrollodeAplicacionesdeSoftware.Larelacinentreestosprocesos semuestraenlaFigura1.

Fig1.RelacinentrelosprocesosdeGestin,AdministracinyDesarrollode AplicacionesdeSoftware Talcomosemuestraenlafigura,lostresprocesosseretroalimentanentresa travsdelosprincipalesproductosquesegeneranencadaproceso.Porejemplo,el plandelproyectogeneradoenGestinessuministradoaAdministracin,lacual,asu vez,generala planificacindelaiteracinsuministradaalProcesodeDesarrollo. Esteltimoprocesoenva,porejemplo,reportesdepruebasyversionesalosdems procesos.Enparticular,laactualizacindelplandelproyectoodeotrosplanes,en los dos primeros procesos, pueden aparecer como resultado de cambios en los requerimientos,loscualessepuedengenerarduranteelProcesodeDesarrollo. LosprocesosmostradosenlaFigura1sedescribenbrevementeacontinuacin. 3.1ProcesodeGestindeProyectosdeSoftware En este proceso se realizan una serie de actividades en las cuales se genera un conjunto de documentos relacionados con: a) conceptualizacin del proyecto, b) estudiodefactibilidaddeundesarrolloporpartedelpersonaldelaorganizacino por contratacin, c) priorizacin de funcionalidades y riesgos, d) descripcin del proyecto, e) plan del proyecto, f) oferta de servicio y g) establecimiento de los

acuerdosdeliberacinyusodelcdigofuente.Deesteltimodocumentodepende queelcdigofuenteyladocumentacinasociadaalmismopuedanserpublicadas. Esimportantemencionarqueenelcasodelplandelproyectosonconsiderados tresaspectosfundamentalesparalaplanificacindeldesarrollo.Estosaspectostienen que ver con la priorizacin de funcionalidades, la priorizacin de riesgos de desarrolloylasdependenciasentrefuncionalidades. Estosaspectosson utilizados paradeterminarelordendedesarrollodelasfuncionalidadesencadaiteracin. 3.2ProcesodeAdministracindeProyectosdeSoftware Cada proyecto de software que se lleva a cabo en la organizacin tiene un administrador o lider del proyecto. Este administrador se encarga de planificar y coordinar, a travs de la plataforma de desarrollo colaborativo, las actividades respectivasacadaiteracin(i.e.,secuenciaprecisadeactividadesbasadasenunplan yunoscriteriosdeevaluacinestablecidosqueresultanenunaliberacinejecutable delaaplicacin).Adicionalmente,elmismoesresponsabledepublicarlasversiones delaaplicacin (siempreycuandolos acuerdos deliberacinyusodelcdigo fuente lo permitan) y de administrar las listas de correo, los foros y las dems actividadesasociadasalproyectoquepuedansermanejadasdesdelaplataforma.La plataformadedesarrollo colaborativocuentaa suvezconunadministrador.Este administrador realiza actividades como: implementar nuevas funcionalidades al servidor(plataforma),yadministrarelsistemadecontroldeversiones, lalistade correo,losforosylastareasdelosproyectosadscritosalaplataforma. 3.3ProcesodeDesarrollodeAplicacionesdeSoftware Una vez elaborado el plan del proyecto y la planificacin de la iteracin correspondiente,secomienzaarealizarunconjuntodeactividadesdistribuidaspor fases,lascualesconformanelProcesodeDesarrollodeAplicaciones.Enbaseaestas actividades se planifica cada una de las iteraciones contempladas en el plan del proyecto.LasfasesdelProcesodeDesarrollodeSoftware(Libre)[1]ylarelacin entrelasmismassepresentanenlaFigura2.Adiferenciadeotrasmetodologasy mtodosorientadosaldesarrollodeSLdondesehandescuidadounpocolossub procesosEspecificacindeRequerimientoseImplantacin,enestametodologase daastoslamismaimportanciaquealrestodelossubprocesos.Elloocurredado quelaFSLtieneclientesespecficosydebecumplirconcompromisosenciertos lapsos de tiempo, adems de que se requiere tener una relacin estrecha con el

interesado.Adems,lametodologadaimportanciatantoaldesarrolloBazarcomoal Catedral.

Fig2.FasesdelProcesodeDesarrollodeAplicacionesdeSoftware(Libre).

5Conclusiones
EnestecaptulosehapresentadolaFSLdeCENDITEL,desdesucontexto,pasando porunarevisindesusentidoparalasociedadylaformaparticulardeservirasta, dadoestesentido,hastaelementosparticularesdesuimplementacin.Sehahecho nfasisenelfinsocialdeunafbricadeSL,yensucompromisoestratgico,eneste casoparticular,conunavisindepasdondesepromueveneldesarrolloendgenoy lasoberanatecnolgica.Bajoestasituacin,laidealizacinodiseodelaFSLdebe nutrirsedemltiplesfuentes,desdeaquellasquetienenqueverconeldesarrollo tradicionaldesoftware(IngenieradelSoftware,mtodosymodelosdedesarrollode software), con formas de produccin industrial, o con los diversos estilos de desarrollo de SL; hasta herramientas conceptuales de anlisis y gestin de la problemticasocialoorganizacional,lascualesvanmsalldelotradicionalmente utilizadoenlosdesarrollosdesoftware(e.g.,planificacinestratgicayprospectiva

tecnolgica).Alfinal,elcaptulomuestraaspectosconcretosdelaimplementacin delaFSL. Conelpropsitodecumplirdemaneraapropiadasurolsocial,laFSLrequierede otrasinstitucionesquelacomplementenyfacilitenlageneracindeimpacto,dadas lasdebilidadessectorsocialreceptor.EntreestasinstitucionesestlaAcademiade Software Libre, cuyo rol es disminuir la falta de conocimiento del SL, tanto en relacinasuusocomoalafilosofaqueledasentido. Finalmente, la FSL y la ASL aparecen en un momento histrico con un fin enmarcado dentro de un proceso de cambio social que persigue objetivos muy particulares (e.g., promocin del desarrollo endgeno), los cuales exigen una constanterevisindelasestrategiasyoperacionesespecficasejecutadas,amedida queelprocesoavanza.AellonoescapalaformacomoseimplementanlaFSLyla ASL,suconcepcin,susestrategiasysusaccionesespecficas.

Referencias
1. AlvarezJohannaetal.,MetodologaparaelDesarrollodeSoftwareLibre:Buscandoel Compromiso entre Funcionalidad y Riesgos, Reporte Tcnico 0012006, Fbrica de SoftwareLibre,Fundacite,Merida,2006. 2. Aguilar J., I. Vivas, El Desarrollo Endgeno y las Tecnologas de Informacin y ComunicacinenVenezuelaenOchoa,Alejandro(Ed.)(2006)AprendiendoEntornoal DesarrolloEndgeno.CDCHTCSIFUNDACITE. 3. Aguilar,Jose,OswaldoTernyWilliamMorantes,ProspectivaTecnolgica,Fundacite Mrida(Ed.),Mrida,2006. 4. Beck, Ken, Extreme Programming Explained: Embrace Change, Second Edition, AddisonWesleyProfession,2004. 5. CompetiSoft.http://alarcos.infcr.uclm.es/Competisoft/CompetiSoft. 6. Corredor Yimy, Evaluacin de MoProSoft como alternativa metodolgica de organizacindeempresasdedesarrolloymantenimientodesoftware,TesisdePregrado, EscueladeIngenieradeSistemasUniversidaddeLosAndes,Mrida,Venezuela,2006. 7. EvalProSoft. http://www.software.net.mx/NR/rdonlyres/ED7B33990CA4412E9FAC 0EEB94F85C5F/1224/EvalProSoftv11.pdfEvalprosoft 8. Kruchten Philippe, The Rational Unified Process An Introduction, Second Edition, AddisonWesley,2000. 9. Matus Carlos y Adalberto Zambrano, Gobierno y Planificacin, Gua de Anlisis Terico,IESACentroZulia,1997. 10. GFORGE.http://gforge.org/ 11. Ministerio de Planificacin y Desarrollo, Ncleos de Desarrollo Endgeno, Caracas, 2004.

12. Montilva Jons, Desarrollo de Aplicaciones Empresariales: El Mtodo WATCH, Mrida,Venezuela,2004. 13. MoProSoft.http://www.software.net.mx/desarrolladores/prosoft/Estudios/precios_mopros oft_nmx.htm 14. Oktaba Hanna et al., Modelode Procesos para la Industria de Software (MoProSoft, Versin1.3),2005(http://www.software.net.mx). 15. ProgramadelasNacionesUnidasparaelDesarrollo,InformesobreDesarrolloHumano enVenezuela2002,Caracas,2002. 16. RaymondEric,TheCathedralandTheBazaar,OReily,October,1999. 17. ZambranoBarriosAdalberto.GerenciaEstratgicayGobierno.EdicionesIESA.2001.

You might also like