Vous êtes sur la page 1sur 47

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Licencia
Copyright(c)25/06/2004JuanCpedes. Modificacionesyadaptaciones. Copyright(c)20062009LeonardoCaballero. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free SoftwareFoundation;withnoInvariantSections,noFrontCover Texts,andnoBackCoverTexts.Acopyofthelicenseisincluded inthesectionentitled"GNUFreeDocumentationLicense".

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
GNUFreeDocumentationLicense

Puedeobtenerunacopiadelalicencia"GNUFreeDocumentation License" en los ficheros llamados "copyright.txt" en ingles, "copyright.es.txt"enespaoloenlossiguientessitiosenInternet:


http://www.gnu.org/copyleft/fdl.html http://www.fsf.org/licensing/licenses/fdl.html

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
FichaTcnica

LeonardoCaballero. T.S.U.enInformtica. Investigacin,diseo,desarrolloydocumentacindesistemas. ActivistadelconocimientolibrepromoviendoSoftwareyHardwareLibre. LinuxUser#369081. UsuarioGNU/LinuxdesdeMayo2002. MiembroactivoVELUGdesdeMayo2003. MiembroactivoGULMER,GLOVE,GUGVEySOLVEdesde2005.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Contenido

Comomontarunproyectodesoftwarelibre?

Lenguajedeprogramacin. Plataforma. Especificaciones.

Metodologadedesarrollo. Desarrollo.

Herramientasdetrabajocolaborativo. Aspectoslegales:copyright,licencia. Buenasprcticasalliberar. Publicidad.

Publicacin.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Contenido::Continuacin

Publicacin::Continuacin.

Empaquetamientoydistribucin(Fuentesybinarios). Distribucindebinarios. Cuidadoconlaimagen. Soporteausuarios:sitiodereferencia,BTS,comunidades.

Tiempodededicacinalproyecto. Conclusiones. Referencias. SitiosenInternet.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Lenguajedeprogramacin
Este aspecto es mucho ms importante de lo que parece. Si queremos que le proyectotengaxitoenlacomunidadyhayagentequesedediqueamejorarlo, tienequeestarescritoenunlenguajedeprogramacin:

Fcildeutilizar. Condisponibilidaddeherramientasdedesarrolloydedepuracincmoda. Engeneral,quelegustealagente.

Ejemplosignificativo:ElclientederedesP2PMldonkey.Fueelprimerclientelibre que pudo conectarse a la red eDonkey y FastTrack, es multiplataforma, multiprotocolo, funciona relativamente bien... pero no tienedesarrolladoresaparte deunncleomuycerradoPorqu?EstaescritoenCAML.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Plataforma
Si el proyecto que estamos desarrollando o que vamos a desarrollar necesita caractersticas especiales o una plataforma determinada para funcionar correctamente,nuestrabasedeusuariosobjetivospuedeverseseriamentereducida, osufrirenelfuturo. Pero tambin puede suceder esto si el proyecto usa peculiaridades de un sistema quepuedendejardesercomunes.Porejemplo:

Usodetiposdeficherosconcretos. Dependenciadehardwareespecifico.

Esteaspectolosufrentodotipodeproyectosdesoftware,yasealibreono. Ejemplosignificativo: e2undel, recover,gtkrecover: recuperanficherosborrados paraparticionesext2.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Especificaciones
Engeneralparatenerxitoesimportantesaberquedemandanlosusuarios,saber queesloquepodemosofrecerlesycualseranuestraventajacompetitivafrenteal restodelosproductosexistentes. Hayquesabercmoestelmercado,aligualquealmontarcualquierempresa clsica.Porejemplo,utilizandounanlisiscomoelsiguiente:

Gradoderivalidadentrecompetidoresactuales. Amenazadenuevoscompetidores. Productossustitutivos. Podernegociadordelosproveedores. Podernegociadordelosclientes.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Metodologadedesarrollo
EnsayoLacatedralyelbazar. Analiza el surgimiento de GNU/Linux y un proyecto de software libre, creado para comprobar deliberadamente las diferencias tericas entre dos modelos de desarrollo, la catedral de la mayora del software no libre y el bazar bulliciosodelcdigoabierto. UnejemploclarodebazarseralaWikipediamientrasquela EnciclopediaBritnicayNupedialosondecatedral.
EricS.Raymond.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Metodologadedesarrollo::Continuacin

ProgramacinextremaoExtremeProgramming(XP).

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Metodologadedesarrollo::Continuacin

MetodologadedesarrollodesoftwaredelaFSL.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Herramientasdetrabajocolaborativo
Existen recursos gratuitos y libre en la Web, para que usted y sus colaboradores pueden empezar a organizarse colectivamente, crear comunidades o redes sociales digitales,yasparaaprovecharpertinentementedichosrecursosexistentes:

Servidor del proyecto publico y gratuito usando empresas de hosting gratuito o colocandounIPpblicausandoelsistemadinmicosdeDNScomoNoIP. AprovecharlosrecursosgratuitosdelaWeb2.0:

SistemasdebitcorasoblogenWordPress,Blogger,etc. Capturasdepantallas,fotosdeeventos,etcenFlickr,GooglePicasa,etc. Publicarvdeos,demostraciones,screencatsenGoogleVideo,YouTube,etc. Compartirsuspresentaciones,laminasusandoSlideShare. RedactaartculosymanualesenWikipedia,Wikilibros,etc.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Herramientasdetrabajocolaborativo::Continuacin
Todoproyectodesoftwarelibrehadetenerespacioparadesarrolladores,atodoslos niveles: desde poder informar de fallos y hacer seguimiento de los mismos, hasta contribuirdeformasignificativaenelproyecto. Entodoslosproyectoshayuncoordinador(Lder)oungrupodecoordinadores quesealanlasdireccionesaseguir,decidensiaceptaronocontribucionesenla versindeoficialyestablecencundosehandepublicarnuevasversiones. Herramientasimprescindibleparalacoordinacinyelmanejodeproyectosgrandes:

Listasdecorreodedesarrollo. Sistemasdecontroldeversiones(CVS,SVN,etc). Sistemasdeseguimientosdefallos(Bugzilla,DebianBTS,etc).

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
FOSPhostsites
ExistenvariossitiosqueofrecenhospedajedeFreeandOpenSourceProjectya continuacinseenlistanalgunos:

SourceForge.net(http://sourceforge.net/) freshmeat.net(http://freshmeat.net/) Savannah(http://savannah.gnu.org/) ourproject.org(http://ourproject.org/) CodeGoogle(http://code.google.com/) FSLSistemasMrida(http://www.fsl.fundacitemerida.gob.ve/) PlataformaparaelDesarrollodeSoftware(http://www.fsl.cenditel.gob.ve/)


Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Publicacin::Aspectoslegales

Copyright:autor(es),organizacin(empresa,fundacin,comunidad...) AadirinformacindeCopyrightylicenciaatodoslosficheros. Estudiodelicencias:todoslosautoresdebenestardeacuerdoenqulicencia usar,ytodoelsoftwareusadohadesercompatibleconlalicenciaelegida.

Estepuntoessumamenteimportante;hahabidomultituddecasosdeproblemasde compatibilidadentreunaslicenciasyotras:

KDE. syslinux/TurboAssembler/masm. KerneldeLinux/mdulospropietarios/firmware.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Publicacin::Buenasprcticasalliberar

Anunciarelsoftware,(gruposdenoticias,blog,listadecorreo,chatirc,forosde discusin). Documentarladistribucindelsistema. Ponerelsoftwaredondepuedabajarse(incluidoelfuente). Realizarpublicacionesfrecuentes. Simplificarelprocesodecompilacineinstalacin(incluyendoempaquetamiento). Limpiaryorganizarelcdigofuente. Prepararelsoftwareparaqueseafcilmenteadaptadoaotrosidiomas. Montarunainfraestructuraparafavorecerlacolaboracin. Encargarsedegestionarcontribuciones,parches,modificacionesysugerencias.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Publicacin::Publicidad
Paraqueelpblicosepaqueelproductoexiste,estehadeanunciarse:

Listasdecorreo. Gruposdenews. Congresos,conferencias,seminarios. Publicidad tradicional: anuncios de revistas, banners, publicidad impresa, audiovisual(TV,radio),etc. Sourceforge,Freshmeat,Savannah,Berlios,Slashdot,BarraPunto,FSL,PDSL.

Enlamedidadeloposible,hayqueintentarquelasdiferentesdistribuciones incorporenelproyectodeserie.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Publicacin::Empaquetamientoydistribucin

Esmuyrecomendableofrecertantofuentescomobinarios.

Proporcionandodiferentesmediosparalasdescargas(FTP,HTTP,rsync,etc). Ydesdediferentesservidores(mirrorspropios,Sourceforge,FSL,PDSL,etc).

Esaconsejableofrecervariasversionesdelproducto.Encasodequehayadistintas ramasdedesarrollo,indicarloclaramente.

Tanto fuentes como binarios, la documentacin tcnica (instalacin y desarrollo) comodeusuario(interfaces,procedimientos,etc)handeincluirinformacinacerca delcopyright,esdecir,lalicencia.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Publicacin::Empaquetamientoydistribucin::Continuacin

Esimportanteseguirnormasconcretasparalapublicacindepaquetesdesoftware como: la Debian Policy, Linux Standard Base, Filesystem Hierarchy Standard, etc.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Publicacin::Distribucindebinarios
Enelcasodelosbinarios,esrecomendableofrecerlos:

Empaquetadoparadistintasdistribuciones(Debian,Redhat,etc). Utilizandodiferentesversionesdedistribuciones,bibliotecas,etc. Versionesparadiferentesarquitecturas(i386,powerpc,64bit,SPARC,etc).

Adems, es aconsejable ofrecer versiones lo ms independiente posible de distribucin,enformato.tar.gzy,aserposible,conalgninstaladorydesintalador automtico,parapoderajustarseadistribucionesnoprevistas. Sinembargo,lamayorpartedelosproyectosnodistribuyenbinariosydejanesta laborparaloscreadoresdedistribuciones.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Publicacin::Cuidadoconlaimagen
Slodespusdevisualizarlassiguientesimpresionesdelproductosepasaraevaluar realmenteelmismo.Importantequecadaunadeestasimpresionesseanbuena.

Primeraimpresin:laWebsite,esdecir,elSitiodereferenciaopginaweb. Segundaimpresin:lainstalacinyconfiguracin. Terceraimpresin:losdemostraciones(demos),capturasdepantallas(screenshot).

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Publicacin::Sitiodereferencia(pginaweb)
Segnloquesequiera,lainfraestructuranecesariaserdistinta.Paracrearfidelidaden losusuariosyquesesientancontentos,esnecesariotenerunsitiodereferencia(pgina web)dondeseencuentre:

Informacingeneralacercadelproyecto. Noticias,Eventos,Pginasdedescargasdesoftware(fuentesobinarios). Documentacin,tutoriales,ejemplos,capturasdepantallas,etc. Comunidades,listadecorreo,foros,etc. Proyectosrelacionados. Canalesdesoporte:informesdeerratas,cmocontactaralosautoreso desarrolladores,etc.

Existenproyectosimportantessinsitiodereferencia(kerneldeLinux).

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Tiempodededicacinalproyecto
Ademsdeldesarrollohayquetenerencuenta:

Gestindeinfraestructura(100/20) Coordinadordedesarrollo,incluyendocontroldecalidad(40200/20) Atencinalsistemadecontroldeerrores(?/1015) Mantenimientodedocumentacineinformacinenlnea(60/10) Relacionespublicas(?/20)

Proyectodecomplejidadmedia(horasinicio/horasporsemana) SegunOpenSourceasaBusinessStrategy,BrianBehlendorf

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Conclusiones

No hay recetas universales. Hay proyectos que siguen todas las normas y fracasan; hay proyectos que no siguen ninguna o casi ninguna y tienen mucho xito. Hayqueponrselofcilalosusuarios,atraerlosycrearfidelidadconelproyecto. Lapublicidadessumamenteimportante;solodeestamaneraelproyectopuede serconocido. Es importante tener una continuidad; que la pgina web este continuamente actualizada, que haya noticias modernas, que salgan versiones nuevas peridicamente,etc. La mejor manera de tener xito es que guste entre la comunidad y difunda de unaspersonasaotras.

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Referencias

Montajedeunproyectolibre,porJessM.GonzlezBarahona.Mayo2002. Montajedeunproyectolibre,porJuanCpedes.25/06/2004. OpenSourceasaBussinessStrategy,porBrianBehlendorf(enOpenSources, VoicesfromtheOpenSourceRevolution)

(http://cursosobre.berlios.de/curso/transpas/jgb/montajeproyectos.pdf)

(http://www.oreilly.com/catalog/opensources) Whether and How To Publish Software Under an Open Source License, por SbastienBlondeel (http://publish.idealx.org/)

ExtremeProgramming:AGentleIntroduction,porDonWells

(http://www.extremeprogramming.org/)

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
Referencias::Continuacin

Plantillas de la metodologa de la FSL, por Fundacite Mrida, CENDITEL. Mayo 2007.

(http://sistemas.fsl.fundacitemerida.gob.ve/projects/plantillas/)

Web2.0Wikipedia,laenciclopedialibre(http://es.wikipedia.org/wiki/Web_2.0)

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
SitiosenInternet
OrganizacionesNacionalesenSoftwareLibre

VELUGLinuxdeVenezuela(http://www.velug.org.ve/) GLOVEGNU/LinuxOrganizadodeVenezuela.(http://www.glove.org.ve/) GUGVEGrupodeUsuariosGNUdeVenezuela.(http://www.gnu.org/gugve/) SOLVESoftwareLibredeVenezuela.(http://www.solve.net.ve/) DebianVenezuela.(http://www.debianvenezuela.org/) GULMERGrupodeUsuarioLinuxVenezuela.(http://www.gulmer.org.ve/) GUSLAGrupodeUsuariosLinuxdelaULA.(http://www.ula.ve/gusla) ULANIX.(http://nux.ula.ve/)

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
SitiosenInternet::Continuacin
OrganizacionesGubernamentalesNacionales

MinisteriodeCienciayTecnologa(http://www.mct.gob.ve/) CentroNacionaldeTecnologasdeInformacinCNTI(http://www.cnti.gob.ve/) SoftwareLibreCNTI(http://www.softwarelibre.gob.ve/) RedNacionaldeDesarrolloeIntegracindeSoftwareLibre(https://www.rinde.gob.ve/) CENDITEL(http://www.cenditel.gob.ve/) FundaciteMrida(http://www.fundacitemerida.gob.ve/) ASLFundaciteMrida(http://asl.fundacitemerida.gob.ve/)

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
SitiosenInternet::Continuacin
RecursosdelaWeb2.0

NoIP(http://www.noip.com/) WordPress(http://www.wordpress.com/) Blogger(http://www.blogger.com/) Flickr(http://www.flickr.com/) GooglePicasa(http://picasaweb.google.com/) GoogleVideo(http://videos.google.com/) YouTube(http://www.youtube.com/) SlideShare(http://www.slideshare.net/) Wikipedia(http://www.wikipedia.org/) Wikilibros(http://www.wikibooks.org/)

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre
SitiosenInternet::Continuacin
FOSPhostsites

SourceForge.net(http://sourceforge.net/) freshmeat.net(http://freshmeat.net/) Savannah(http://savannah.gnu.org/) ourproject.org(http://ourproject.org/)

CodeGoogle(http://code.google.com/)
FSLSistemasMrida(http://www.fsl.fundacitemerida.gob.ve/)

PlataformaparaelDesarrollodeSoftware(http://www.fsl.cenditel.gob.ve/)

Desarrollocolaborativoparatodos!

MontajedeunproyectodeSoftwareLibre

Graciasporsuatencin!
VisitamiBlog!

http://lcaballero.8k.com/
Visitaydescargamistrabajos!

http://www.slideshare.net/lcaballero/
Escribeme!
lcaballero@linuxmail.org leonardocaballero@gmail.com

Desarrollocolaborativoparatodos!

Vous aimerez peut-être aussi