Montaje de un proyecto de Software Libre - v0.12

47
Montaje de un proyecto de Software Libre Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos! ¡Desarrollo colaborativo para todos!

description

Copyright (c) 25/06/2004 Juan Cépedes. Modificaciones y adaptaciones. Copyright (c) 2006 - 2009 Leonardo Caballero. 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 Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Ponencia de Montaje de un proyecto de Software libre, la cual toca los siguientes temas: Introducción al tema, ¿Cómo montar un proyecto de software libre?, lo que hay que hacer antes de comenzar el proyecto se explican los temas de: Lenguaje de programación, Plataforma, Especificaciones, Luego se debe definir algunas metodologías de desarrollos que se asemejen a SL y las herramientas de trabajo colaborativo para el desarrollo y control de gestión y proyectos para definir roles del proyecto, uso de recursos CVS, Lista de correos; tales como algunos recursos de la Web 2.0 disponibles para empezar a organizarse, y también sobre algunos FOSP-hostsites. Y una vez que esta listo la primera publicación se deben tomar en cuentas los aspectos legales, buenas prácticas al liberar, la publicidad del proyecto, el empaquetamiento y distribución (fuentes y binarios), el cuidado con la imagen, el soporte a usuarios: sitios de referencia, BTS, comunidades. Además trata sobre el Tiempo de dedicación al proyecto, Conclusiones, Referencias, Sitios en Internet, Demostraciones, Preguntas. Licencia: Licencia de documentación libre de GNU - GFDL. Formato: OpenOffice.org 2.0 Impress y Impress. Duración: 45 minutos, más 15 minutos de preguntas. Dictada en: III CNSL-Mérida. Ultima actualización: 16/01/2009. Lugar: Mérida, Estado Mérida, Venezuela. Autor: T.S.U. Leonardo Caballero Email: lcaballero at linuxmail.org, leonardocaballero at gmail.com. Domicilo Web: http://lcaballero.8k.com/ Visualizar y descargar en PDF via SlideShare: http://www.slideshare.net/lcaballero

Transcript of Montaje de un proyecto de Software Libre - v0.12

Page 1: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 2: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Licencia

Copyright (c)  25/06/2004  Juan Cépedes.Copyright (c)  25/06/2004  Juan Cépedes.

Modificaciones y adaptaciones. Modificaciones y adaptaciones. 

Copyright (c)  2006 ­ 2009  Leonardo Caballero.Copyright (c)  2006 ­ 2009  Leonardo Caballero.

Permission  is  granted  to  copy,  distribute  and/or  modify  this Permission  is  granted  to  copy,  distribute  and/or  modify  this 

document  under  the  terms  of  the  GNU  Free  Documentation document  under  the  terms  of  the  GNU  Free  Documentation 

License,  Version  1.2  or  any  later  version  published  by  the  Free License,  Version  1.2  or  any  later  version  published  by  the  Free 

Software Foundation; with no Invariant Sections, no Front­Cover Software Foundation; with no Invariant Sections, no Front­Cover 

Texts, and no Back­Cover Texts.  A copy of the license is included Texts, and no Back­Cover Texts.  A copy of the license is included 

in the section entitled "GNU Free Documentation License".in the section entitled "GNU Free Documentation License".

Page 3: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

GNU Free Documentation License

Puede obtener una copia de la licencia "GNU Free Documentation Puede obtener una copia de la licencia "GNU Free Documentation 

License"  en  los  ficheros  llamados  "copyright.txt"  en  ingles, License"  en  los  ficheros  llamados  "copyright.txt"  en  ingles, 

"copyright.es.txt" en español o en los siguientes s"copyright.es.txt" en español o en los siguientes sitios en Internetitios en Internet::

• http://www.gnu.org/copyleft/fdl.htmlhttp://www.gnu.org/copyleft/fdl.html

• http://www.fsf.org/licensing/licenses/fdl.htmlhttp://www.fsf.org/licensing/licenses/fdl.html

Page 4: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Ficha Técnica

• Leonardo Caballero.Leonardo Caballero.

• T.S.U. en Informática.T.S.U. en Informática.

• Investigación, diseño, desarrollo y documentación de sistemas.Investigación, diseño, desarrollo y documentación de sistemas.

• Activista del conocimiento libre promoviendo Software y Hardware Libre.Activista del conocimiento libre promoviendo Software y Hardware Libre.

• Linux User Linux User #369081#369081. . 

• Usuario GNU/Linux desde Mayo 2002.Usuario GNU/Linux desde Mayo 2002.

• Miembro activo VELUG desde Mayo 2003. Miembro activo VELUG desde Mayo 2003. 

• Miembro activo GULMER, GLOVE, GUGVE y SOLVE desde 2005. Miembro activo GULMER, GLOVE, GUGVE y SOLVE desde 2005. 

Page 5: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Contenido

• ¿Como montar un proyecto de software libre?

• Lenguaje de programación.Lenguaje de programación.

• Plataforma.Plataforma.

• Especificaciones.Especificaciones.

• Metodología de desarrollo.Metodología de desarrollo.

• Desarrollo.Desarrollo.

• Herramientas de trabajo colaborativo.Herramientas de trabajo colaborativo.

• Publicación. Publicación. 

• Aspectos legales: copyright, licencia.Aspectos legales: copyright, licencia.

• Buenas prácticas al liberar.Buenas prácticas al liberar.

• Publicidad.Publicidad.

Page 6: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Contenido :: Continuación

• Publicación :: Continuación.Publicación :: Continuación.

• Empaquetamiento y distribución (Fuentes y binarios).Empaquetamiento y distribución (Fuentes y binarios).

• Distribución de binarios.Distribución de binarios.

• Cuidado con la imagen.Cuidado con la imagen.

• Soporte a usuarios: sitio de referencia, BTS, comunidades.Soporte a usuarios: sitio de referencia, BTS, comunidades.

• Tiempo de dedicación al proyecto.Tiempo de dedicación al proyecto.

• Conclusiones.Conclusiones.

• Referencias.Referencias.

• Sitios en Internet.Sitios en Internet.

Page 7: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Lenguaje de programación

Este  aspecto  es mucho más  importante de  lo  que parece.  Si  queremos que  le Este  aspecto  es mucho más  importante de  lo  que parece.  Si  queremos que  le 

proyecto tenga éxito en la comunidad y haya gente que se dedique a mejorarlo, proyecto tenga éxito en la comunidad y haya gente que se dedique a mejorarlo, 

tiene que estar escrito en un lenguaje de programación:tiene que estar escrito en un lenguaje de programación:

• Fácil de utilizar.Fácil de utilizar.

• Con disponibilidad de herramientas de desarrollo y de depuración cómoda.Con disponibilidad de herramientas de desarrollo y de depuración cómoda.

• En general, que le guste a la gente. En general, que le guste a la gente. 

Ejemplo significativo:Ejemplo significativo: El cliente de redes P2P  El cliente de redes P2P MldonkeyMldonkey. Fue el primer cliente libre . Fue el primer cliente libre 

que  pudo  conectarse  a  la  red que  pudo  conectarse  a  la  red  eDonkeyeDonkey  y  y  FastTrackFastTrack,  es  multiplataforma, ,  es  multiplataforma, 

multiprotocolo,  funciona relativamente bien... pero no tiene desarrolladores aparte multiprotocolo,  funciona relativamente bien... pero no tiene desarrolladores aparte 

de un núcleo muy cerrado ¿Por qué? Esta escrito en CAML.de un núcleo muy cerrado ¿Por qué? Esta escrito en CAML.

Page 8: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 9: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 10: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Plataforma

Si  el  proyecto  que  estamos  desarrollando  o  que  vamos  a  desarrollar  necesita Si  el  proyecto  que  estamos  desarrollando  o  que  vamos  a  desarrollar  necesita 

características  especiales  o  una  plataforma  determinada  para  funcionar características  especiales  o  una  plataforma  determinada  para  funcionar 

correctamente, nuestra base de usuarios objetivos puede verse seriamente reducida, correctamente, nuestra base de usuarios objetivos puede verse seriamente reducida, 

o sufrir en el futuro.o sufrir en el futuro.

Pero  también  puede  suceder  esto  si  el  proyecto  usa  peculiaridades  de  un  sistema Pero  también  puede  suceder  esto  si  el  proyecto  usa  peculiaridades  de  un  sistema 

que pueden dejar de ser comunes. Por ejemplo:que pueden dejar de ser comunes. Por ejemplo:

• Uso de tipos de ficheros concretos.Uso de tipos de ficheros concretos.

• Dependencia de hardware especifico. Dependencia de hardware especifico. 

Este aspecto lo sufren todo tipo de proyectos de software, ya sea libre o no.Este aspecto lo sufren todo tipo de proyectos de software, ya sea libre o no.

Ejemplo significativo:Ejemplo significativo:   e2undele2undel, , recover, gtkrecover:recover, gtkrecover:  recuperan ficheros borrados  recuperan ficheros borrados 

para particiones ext2.para particiones ext2.

Page 11: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 12: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 13: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 14: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Especificaciones

En general para tener éxito es importante saber que demandan los usuarios, saber En general para tener éxito es importante saber que demandan los usuarios, saber 

que es lo que podemos ofrecerles y cual sera nuestra ventaja competitiva frente al que es lo que podemos ofrecerles y cual sera nuestra ventaja competitiva frente al 

resto de los productos existentes.resto de los productos existentes.

• Grado de rivalidad entre competidores actuales.Grado de rivalidad entre competidores actuales.

• Amenaza de nuevos competidores.Amenaza de nuevos competidores.

• Productos sustitutivos.Productos sustitutivos.

• Poder negociador de los proveedores.Poder negociador de los proveedores.

• Poder negociador de los clientes.Poder negociador de los clientes.

Hay que saber cómo está el mercado, al igual que al montar cualquier empresa Hay que saber cómo está el mercado, al igual que al montar cualquier empresa 

clásica. Por ejemplo, utilizando un análisis como el siguiente:clásica. Por ejemplo, utilizando un análisis como el siguiente:

Page 15: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Metodología de desarrollo

Ensayo Ensayo “La catedral y el bazar”“La catedral y el bazar”..

Analiza  el  surgimiento  de  GNU/Linux  y  un  proyecto  de Analiza  el  surgimiento  de  GNU/Linux  y  un  proyecto  de 

software  libre,  creado  para  comprobar  deliberadamente  las software  libre,  creado  para  comprobar  deliberadamente  las 

diferencias  teóricas  entre  dos  modelos  de  desarrollo,  la diferencias  teóricas  entre  dos  modelos  de  desarrollo,  la 

catedral  de  la  mayoría  del  software  no  libre  y  el  bazar catedral  de  la  mayoría  del  software  no  libre  y  el  bazar 

bullicioso del código abierto. bullicioso del código abierto. 

Un ejemplo claro de bazar sería la Wikipedia mientras que la Un ejemplo claro de bazar sería la Wikipedia mientras que la 

Enciclopedia Británica y Nupedia lo son de catedral.Enciclopedia Británica y Nupedia lo son de catedral.

Eric S. Raymond.Eric S. Raymond.

Page 16: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

• Programación extrema o EProgramación extrema o Exxtreme treme PProgramming (XP).rogramming (XP).

Metodología de desarrollo :: Continuación

Page 17: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Metodología de desarrollo :: Continuación

• Metodología de desarrollo de software de la FSL.Metodología de desarrollo de software de la FSL.

Page 18: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Herramientas de trabajo colaborativo

Existen  recursos  gratuitos  y  libre  en  la  Web,  para  que  usted  y  sus  colaboradores Existen  recursos  gratuitos  y  libre  en  la  Web,  para  que  usted  y  sus  colaboradores 

pueden  empezar  a  organizarse  colectivamente,  crear  comunidades  o  redes  sociales pueden  empezar  a  organizarse  colectivamente,  crear  comunidades  o  redes  sociales 

digitales, y así para aprovechar pertinentemente dichos recursos existentes:digitales, y así para aprovechar pertinentemente dichos recursos existentes:

• Servidor  del  proyecto  publico  y  gratuito  usando  empresas  de  hosting  gratuito  o Servidor  del  proyecto  publico  y  gratuito  usando  empresas  de  hosting  gratuito  o 

colocando un IP pública usando el sistema dinámicos de DNS como colocando un IP pública usando el sistema dinámicos de DNS como “No­IP”“No­IP”..

• Aprovechar los recursos gratuitos de la Web 2.0:Aprovechar los recursos gratuitos de la Web 2.0:

• Sistemas de bitácoras o blog en Sistemas de bitácoras o blog en “WordPress”, “Blogger”,“WordPress”, “Blogger”, etc etc..

• Capturas de pantallas, fotos de eventos, etc en Capturas de pantallas, fotos de eventos, etc en “Flickr”, “Google Picasa”,“Flickr”, “Google Picasa”, etc etc..

• Publicar vídeos, demostraciones, screencats en Publicar vídeos, demostraciones, screencats en “Google Video”, “YouTube”“Google Video”, “YouTube”,, etc etc..

• Compartir sus presentaciones, laminas usando Compartir sus presentaciones, laminas usando “SlideShare”“SlideShare”..

• Redacta artículos y manuales en Redacta artículos y manuales en “Wikipedia”,“Wikipedia”,    “Wikilibros”,“Wikilibros”, etc etc..

Page 19: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 20: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Herramientas de trabajo colaborativo :: Continuación

Todo proyecto de Todo proyecto de software libre software libre ha de tener espacio para desarrolladores, a todos los ha de tener espacio para desarrolladores, a todos los 

niveles:  desde  poder  informar de  fallos  y  hacer  seguimiento de  los  mismos,  hasta niveles:  desde  poder  informar de  fallos  y  hacer  seguimiento de  los  mismos,  hasta 

contribuir de forma significativa en el proyecto.contribuir de forma significativa en el proyecto.

Herramientas imprescindible para la coordinación y el manejo de proyectos grandes:Herramientas imprescindible para la coordinación y el manejo de proyectos grandes:

• Listas de correo de desarrollo.Listas de correo de desarrollo.

• Sistemas de control de versiones (Sistemas de control de versiones (CVS, SVN,CVS, SVN, etc). etc).

• Sistemas de seguimientos de fallos (Sistemas de seguimientos de fallos (Bugzilla, Debian BTS,Bugzilla, Debian BTS, etc).  etc). 

En todos los proyectos hay un coordinador (“Líder”) o un grupo de coordinadores En todos los proyectos hay un coordinador (“Líder”) o un grupo de coordinadores 

que señalan las direcciones a seguir, deciden si aceptar o no contribuciones en la que señalan las direcciones a seguir, deciden si aceptar o no contribuciones en la 

versión de “oficial” y establecen cuándo se han de publicar nuevas versionesversión de “oficial” y establecen cuándo se han de publicar nuevas versiones..

Page 21: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

FOSP­hostsites

Existen varios sitios que ofrecen hospedaje de Free and Open Source Project y a Existen varios sitios que ofrecen hospedaje de Free and Open Source Project y a 

continuación se en listan algunos:continuación se en listan algunos:

• SourceForge.net SourceForge.net ((http://sourceforge.net/http://sourceforge.net/))

• freshmeat.net freshmeat.net ((http://freshmeat.net/http://freshmeat.net/))

• Savannah Savannah ((http://savannah.gnu.org/http://savannah.gnu.org/))

• ourproject.org ourproject.org ((http://ourproject.org/http://ourproject.org/))

• Code Google Code Google ((http://code.google.com/http://code.google.com/))

• FSL ­ Sistemas Mérida FSL ­ Sistemas Mérida ((http://www.fsl.fundacite­merida.gob.ve/http://www.fsl.fundacite­merida.gob.ve/))

• Plataforma para el Desarrollo de Software ­ Plataforma para el Desarrollo de Software ­ ((http://www.fsl.cenditel.gob.ve/http://www.fsl.cenditel.gob.ve/) ) 

Page 22: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 23: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 24: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 25: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 26: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 27: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 28: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 29: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Publicación :: Aspectos legales

• Copyright: autor(es),  organización (empresa, fundación, comunidad...)Copyright: autor(es),  organización (empresa, fundación, comunidad...)

• Añadir información de Copyright y licencia a todos los ficheros.Añadir información de Copyright y licencia a todos los ficheros.

• Estudio de licencias: todos los autores deben estar de acuerdo en qué licencia Estudio de licencias: todos los autores deben estar de acuerdo en qué licencia 

usar, y todo el usar, y todo el softwaresoftware usado ha de ser compatible con la licencia elegida. usado ha de ser compatible con la licencia elegida.

Este punto es sumamente importante; ha habido multitud de casos de problemas de Este punto es sumamente importante; ha habido multitud de casos de problemas de 

compatibilidad entre unas licencias y otras:compatibilidad entre unas licencias y otras:

• KDE.KDE.

• syslinuxsyslinux /  / Turbo AssemblerTurbo Assembler /  / masmmasm..

• Kernel de Kernel de LinuxLinux / módulos propietarios /  / módulos propietarios / firmwarefirmware. . 

Page 30: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Publicación :: Buenas prácticas al liberar

• Anunciar el software, (grupos de noticias, blog, lista de correo, chat irc, foros de Anunciar el software, (grupos de noticias, blog, lista de correo, chat irc, foros de 

discusión).discusión).

• Documentar la distribución del sistema.Documentar la distribución del sistema.

• Poner el software donde pueda bajarse (incluido el fuente).Poner el software donde pueda bajarse (incluido el fuente).

• Realizar publicaciones frecuentes.Realizar publicaciones frecuentes.

• Simplificar el proceso de compilación e instalación (incluyendo empaquetamiento).Simplificar el proceso de compilación e instalación (incluyendo empaquetamiento).

• Limpiar y organizar el código fuente.Limpiar y organizar el código fuente.

• Preparar el software para que sea fácilmente adaptado a otros idiomas.Preparar el software para que sea fácilmente adaptado a otros idiomas.

• Montar una infraestructura para favorecer la colaboración.Montar una infraestructura para favorecer la colaboración.

• Encargarse de gestionar contribuciones, parches, modificaciones y sugerencias. Encargarse de gestionar contribuciones, parches, modificaciones y sugerencias. 

Page 31: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Publicación :: Publicidad

Para que el público sepa que el producto existe, ePara que el público sepa que el producto existe, este ha de anunciarse:ste ha de anunciarse:

En la medida de lo posible, hay que intentar que las diferentes distribuciones En la medida de lo posible, hay que intentar que las diferentes distribuciones 

incorporen el proyecto de serie.incorporen el proyecto de serie.

• Listas de correo.Listas de correo.

• Grupos de Grupos de newsnews..

• Congresos, conferencias, seminarios.Congresos, conferencias, seminarios.

• Publicidad  tradicional:  anuncios  de  revistas,  banners,  publicidad  impresa, Publicidad  tradicional:  anuncios  de  revistas,  banners,  publicidad  impresa, 

audiovisual (TV, radio), etc.audiovisual (TV, radio), etc.

• Sourceforge, Freshmeat, Savannah, Berlios, Slashdot, BarraPunto, FSL, PDSL.Sourceforge, Freshmeat, Savannah, Berlios, Slashdot, BarraPunto, FSL, PDSL.

Page 32: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Publicación :: Empaquetamiento y distribución

• Es muy recomendable ofrecer tanto fuentes como binarios.Es muy recomendable ofrecer tanto fuentes como binarios.

• Proporcionando diferentes medios para las descargas (Proporcionando diferentes medios para las descargas (FTP, HTTP, rsync,FTP, HTTP, rsync, etc). etc).

• Y desde diferentes servidores (mirrors propios, Y desde diferentes servidores (mirrors propios, SourceforgeSourceforge, FSL, PDSL, FSL, PDSL, etc)., etc).

• Es aconsejable ofrecer varias versiones del producto. En caso de que haya distintas Es aconsejable ofrecer varias versiones del producto. En caso de que haya distintas 

ramas de desarrollo, indicarlo claramente.ramas de desarrollo, indicarlo claramente.

• Tanto  fuentes  como  binarios,  la  documentación  técnica  (instalación  y  desarrollo) Tanto  fuentes  como  binarios,  la  documentación  técnica  (instalación  y  desarrollo) 

como de usuario (interfaces, procedimientos, etc) han de incluir información acerca como de usuario (interfaces, procedimientos, etc) han de incluir información acerca 

del del copyrightcopyright, es decir, la licencia., es decir, la licencia.

Page 33: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Publicación :: Empaquetamiento y distribución :: Continuación

• Es importante seguir normas concretas para la publicación de paquetes de software Es importante seguir normas concretas para la publicación de paquetes de software 

como:  la como:  la  Debian PolicyDebian Policy, ,  Linux Standard BaseLinux Standard Base, ,  Filesystem Hierarchy StandardFilesystem Hierarchy Standard, , 

etc.etc.

Page 34: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Publicación :: Distribución de binarios

En el caso de los binarios, es recomendable ofrecerlos:En el caso de los binarios, es recomendable ofrecerlos:

• Empaquetado para distintas distribuciones (Empaquetado para distintas distribuciones (Debian, RedhatDebian, Redhat, etc)., etc).

• Utilizando diferentes versiones de distribuciones, bibliotecas, etc. Utilizando diferentes versiones de distribuciones, bibliotecas, etc. 

• Versiones para diferentes arquitecturas (Versiones para diferentes arquitecturas (i386, powerpc, 64bit, SPARCi386, powerpc, 64bit, SPARC, etc)., etc).

Además,  es  aconsejable  ofrecer  versiones  lo  más  independiente  posible  de Además,  es  aconsejable  ofrecer  versiones  lo  más  independiente  posible  de 

distribución, en formato distribución, en formato .tar.gz.tar.gz y, a ser posible, con algún instalador y desintalador  y, a ser posible, con algún instalador y desintalador 

automático, para poder ajustarse a distribuciones no previstas.automático, para poder ajustarse a distribuciones no previstas.

Sin embargo, la mayor parte de los proyectos no distribuyen binarios y dejan esta Sin embargo, la mayor parte de los proyectos no distribuyen binarios y dejan esta 

labor para los creadores de distribuciones.labor para los creadores de distribuciones.

Page 35: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Sólo después de visualizar las siguientes impresiones del producto se pasará a evaluar Sólo después de visualizar las siguientes impresiones del producto se pasará a evaluar 

realmente el mismo. Importante que cada una de estas impresiones sean buena.realmente el mismo. Importante que cada una de estas impresiones sean buena.

Publicación :: Cuidado con la imagen

• Primera impresión:Primera impresión: la Website, es decir, el Sitio de referencia o página web. la Website, es decir, el Sitio de referencia o página web.

• Segunda impresión:Segunda impresión: la instalación y configuración. la instalación y configuración.

• Tercera impresión:Tercera impresión: los demostraciones (demos), capturas de pantallas (screenshot). los demostraciones (demos), capturas de pantallas (screenshot).

Page 36: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Publicación :: Sitio de referencia (página web)

Según lo que se quiera, la infraestructura necesaria será distinta. Para crear fidelidad en Según lo que se quiera, la infraestructura necesaria será distinta. Para crear fidelidad en 

los usuarios y que se sientan contentos, es necesario tener un sitio de referencia (página los usuarios y que se sientan contentos, es necesario tener un sitio de referencia (página 

web) donde se encuentre:web) donde se encuentre:

• Información general acerca del proyecto.Información general acerca del proyecto.

• Noticias, Eventos, Páginas de descargas de Noticias, Eventos, Páginas de descargas de softwaresoftware (fuentes o binarios). (fuentes o binarios).

• Documentación, tutoriales, ejemplos, capturas de pantallas, etc.Documentación, tutoriales, ejemplos, capturas de pantallas, etc.

• Comunidades, lista de correo, foros, etc.Comunidades, lista de correo, foros, etc.

• Proyectos relacionados.Proyectos relacionados.

• Canales de soporte: informes de erratas, cómo contactar a los autores o Canales de soporte: informes de erratas, cómo contactar a los autores o 

desarrolladores, etc.desarrolladores, etc.

Existen proyectos importantes sin sitio de referencia (kernel de Linux).Existen proyectos importantes sin sitio de referencia (kernel de Linux).

Page 37: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 38: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Page 39: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

• Gestión de infraestructura (100 / 20)Gestión de infraestructura (100 / 20)

• Coordinador de desarrollo, incluyendo control de calidad (40­200 / 20)Coordinador de desarrollo, incluyendo control de calidad (40­200 / 20)

• Atención al sistema de control de errores (¿? / 10­15)Atención al sistema de control de errores (¿? / 10­15)

• Mantenimiento de documentación e información en línea (60 / 10)Mantenimiento de documentación e información en línea (60 / 10)

• Relaciones publicas (¿? / 20)Relaciones publicas (¿? / 20)

Tiempo de dedicación al proyectoTiempo de dedicación al proyecto

Proyecto de complejidad media (horas inicio / horas por semana)Proyecto de complejidad media (horas inicio / horas por semana)

Segun “Open Source as a Business Strategy”, Brian BehlendorfSegun “Open Source as a Business Strategy”, Brian Behlendorf

Además del desarrollo hay que tener en cuenta:Además del desarrollo hay que tener en cuenta:

Page 40: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Conclusiones

• No  hay  recetas  universales.  Hay  proyectos  que  siguen  todas  las  normas  y 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 fracasan; hay proyectos que no siguen ninguna o casi ninguna y  tienen mucho 

éxito.éxito.

• Hay que ponérselo fácil a los usuarios, atraerlos y crear fidelidad con el proyecto.Hay que ponérselo fácil a los usuarios, atraerlos y crear fidelidad con el proyecto.

• La publicidad es sumamente importante; solo de esta manera el proyecto puede La publicidad es sumamente importante; solo de esta manera el proyecto puede 

ser conocido.ser conocido.

• Es  importante  tener  una  continuidad;  que  la  página  web  este  continuamente Es  importante  tener  una  continuidad;  que  la  página  web  este  continuamente 

actualizada,  que  haya  noticias  modernas,  que  salgan  versiones  nuevas actualizada,  que  haya  noticias  modernas,  que  salgan  versiones  nuevas 

periódicamente, etc. periódicamente, etc. 

• La mejor manera de  tener éxito es que guste entre  la comunidad y difunda de La mejor manera de  tener éxito es que guste entre  la comunidad y difunda de 

unas personas a otras.unas personas a otras.

Page 41: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Referencias

• ““Montaje de un proyecto libre”, por Jesús M. González Barahona. Mayo 2002.Montaje de un proyecto libre”, por Jesús M. González Barahona. Mayo 2002.

• ““Montaje de un proyecto libre”, por Juan Cépedes. 25/06/2004.Montaje de un proyecto libre”, por Juan Cépedes. 25/06/2004.

((http://curso­sobre.berlios.de/curso/transpas/jgb/montaje­proyectos.pdfhttp://curso­sobre.berlios.de/curso/transpas/jgb/montaje­proyectos.pdf))

• ““Open Source as a Bussiness Strategy”, por Brian Behlendorf (en Open Sources, Open Source as a Bussiness Strategy”, por Brian Behlendorf (en Open Sources, 

Voices from the Open Source Revolution)Voices from the Open Source Revolution)

((http://www.oreilly.com/catalog/opensourceshttp://www.oreilly.com/catalog/opensources))

““Whether  and  How  To  Publish  Software  Under  an  Open  Source  License”,  por Whether  and  How  To  Publish  Software  Under  an  Open  Source  License”,  por 

Sébastien BlondeelSébastien Blondeel

((http://publish.idealx.org/http://publish.idealx.org/))

• Extreme Programming: A Gentle Introduction, por Don WellsExtreme Programming: A Gentle Introduction, por Don Wells

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

Page 42: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Referencias :: Continuación

• Plantillas  de  la  metodología  de  la  FSL,  por  Fundacite  Mérida,  CENDITEL.  Mayo Plantillas  de  la  metodología  de  la  FSL,  por  Fundacite  Mérida,  CENDITEL.  Mayo 

2007.2007.

((http://sistemas.fsl.fundacite­merida.gob.ve/projects/plantillas/http://sistemas.fsl.fundacite­merida.gob.ve/projects/plantillas/))

• Web 2.0 ­ Wikipedia, la enciclopedia libre Web 2.0 ­ Wikipedia, la enciclopedia libre ((http://es.wikipedia.org/wiki/Web_2.0http://es.wikipedia.org/wiki/Web_2.0))

Page 43: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Sitios en Internet

Organizaciones Nacionales en Software Libre

• VELUG ­ Linux de Venezuela VELUG ­ Linux de Venezuela ((http://www.velug.org.ve/http://www.velug.org.ve/) ) 

• GLOVE – GNU/Linux Organizado de Venezuela. GLOVE – GNU/Linux Organizado de Venezuela. ((http://www.glove.org.ve/http://www.glove.org.ve/) ) 

• GUGVE ­ Grupo de Usuarios GNU de Venezuela. GUGVE ­ Grupo de Usuarios GNU de Venezuela. ((http://www.gnu.org/gugve/http://www.gnu.org/gugve/) ) 

• SOLVE ­ Software Libre de Venezuela. SOLVE ­ Software Libre de Venezuela. ((http://www.solve.net.ve/http://www.solve.net.ve/) ) 

• Debian Venezuela. Debian Venezuela. ((http://www.debianvenezuela.org/http://www.debianvenezuela.org/) ) 

• GULMER  ­ Grupo de Usuario Linux Venezuela. GULMER  ­ Grupo de Usuario Linux Venezuela. ((http://www.gulmer.org.ve/http://www.gulmer.org.ve/) ) 

• GUSLA ­ Grupo de Usuarios Linux de la ULA. GUSLA ­ Grupo de Usuarios Linux de la ULA. ((http://www.ula.ve/guslahttp://www.ula.ve/gusla) ) 

• ULANIX. ULANIX. ((http://nux.ula.ve/http://nux.ula.ve/) ) 

Page 44: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Sitios en Internet :: Continuación

Organizaciones Gubernamentales Nacionales

• Ministerio de Ciencia y Tecnología Ministerio de Ciencia y Tecnología ((http://www.mct.gob.ve/http://www.mct.gob.ve/))

• Centro Nacional de Tecnologías de Información ­ CNTI Centro Nacional de Tecnologías de Información ­ CNTI ((http://www.cnti.gob.ve/http://www.cnti.gob.ve/))

• Software Libre – CNTI Software Libre – CNTI ((http://www.softwarelibre.gob.ve/http://www.softwarelibre.gob.ve/))

• Red Nacional de Desarrollo e Integración de Software Libre Red Nacional de Desarrollo e Integración de Software Libre ((https://www.rinde.gob.ve/https://www.rinde.gob.ve/))

• CENDITEL ­ CENDITEL ­ ((http://www.cenditel.gob.ve/http://www.cenditel.gob.ve/))

• Fundacite Mérida ­ Fundacite Mérida ­ ((http://www.fundacite­merida.gob.ve/http://www.fundacite­merida.gob.ve/))

• ASL ­ Fundacite Mérida ­ ASL ­ Fundacite Mérida ­ ((http://asl.fundacite­merida.gob.ve/http://asl.fundacite­merida.gob.ve/))

Page 45: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Sitios en Internet :: Continuación

• No­IP No­IP ((http://www.no­ip.com/http://www.no­ip.com/))

• WordPress WordPress ((http://www.wordpress.com/http://www.wordpress.com/))

• Blogger Blogger ((http://www.blogger.com/http://www.blogger.com/))

• Flickr Flickr ((http://www.flickr.com/http://www.flickr.com/))

• Google Picasa Google Picasa ((http://picasaweb.google.com/http://picasaweb.google.com/))

• Google Video Google Video ((http://videos.google.com/http://videos.google.com/))

• YouTube YouTube ((http://www.youtube.com/http://www.youtube.com/))

• Slide Share Slide Share ((http://www.slideshare.net/http://www.slideshare.net/))

• Wikipedia Wikipedia ((http://www.wikipedia.org/http://www.wikipedia.org/))

• Wikilibros Wikilibros ((http://www.wikibooks.org/http://www.wikibooks.org/))

Recursos de la Web 2.0

Page 46: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

Sitios en Internet :: Continuación

• SourceForge.net SourceForge.net ((http://sourceforge.net/http://sourceforge.net/))

• freshmeat.net freshmeat.net ((http://freshmeat.net/http://freshmeat.net/))

• Savannah Savannah ((http://savannah.gnu.org/http://savannah.gnu.org/))

• ourproject.org ourproject.org ((http://ourproject.org/http://ourproject.org/))

• Code Google Code Google ((http://code.google.com/http://code.google.com/))

• FSL ­ Sistemas Mérida FSL ­ Sistemas Mérida ((http://www.fsl.fundacite­merida.gob.ve/http://www.fsl.fundacite­merida.gob.ve/))

• Plataforma para el Desarrollo de Software ­ Plataforma para el Desarrollo de Software ­ ((http://www.fsl.cenditel.gob.ve/http://www.fsl.cenditel.gob.ve/) ) 

FOSP hostsites

Page 47: Montaje de un proyecto de Software Libre - v0.12

Montaje de un proyecto de Software LibreMontaje de un proyecto de Software Libre

¡Desarrollo colaborativo para todos!¡Desarrollo colaborativo para todos!

¡Gracias por su atención!

[email protected]@[email protected]@gmail.com

¡¡VisitaVisita mi Blog! mi Blog!

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

¡Escribeme!¡Escribeme!

¡Visita y descarga mis trabajos!¡Visita y descarga mis trabajos!

http://www.slideshare.net/lcaballero/http://www.slideshare.net/lcaballero/