Montaje de un proyecto de Software Libre - v0.12
Upcoming SlideShare
Loading in...5
×
 

Montaje de un proyecto de Software Libre - v0.12

on

  • 19,616 views

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

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

Statistics

Views

Total Views
19,616
Views on SlideShare
18,480
Embed Views
1,136

Actions

Likes
10
Downloads
591
Comments
1

18 Embeds 1,136

http://edublogteletriunfador.wordpress.com 518
http://lcaballero.wordpress.com 384
http://gc.scalahed.com 80
http://aulavirtual.utel.edu.mx 57
http://www.slideshare.net 53
http://dcyadeaynara.blogspot.com.es 19
http://10.1.47.243 4
http://dcyadeaynara.blogspot.mx 4
https://lcaballero.wordpress.com 3
http://auvi.utel.edu.mx 3
http://www.linkedin.com 2
http://wilianacevedo.wordpress.com 2
http://dcyadeaynara.blogspot.com 2
https://twitter.com 1
http://mlovandotics.blogspot.com 1
http://bloggermamen.blogspot.com 1
http://gc.initelabs.com 1
http://www.google.com.co 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Licencia 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 quot;GNU Free Documentation Licensequot;. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre GNU Free Documentation License Puede obtener una copia de la licencia quot;GNU Free Documentation  Licensequot;  en  los  ficheros  llamados  quot;copyright.txtquot;  en  ingles,  quot;copyright.es.txtquot; en español o en los siguientes sitios en Internet: • http://www.gnu.org/copyleft/fdl.html • http://www.fsf.org/licensing/licenses/fdl.html ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Ficha Técnica • Leonardo Caballero. • T.S.U. en Informática. • Investigación, diseño, desarrollo y documentación de sistemas. • Activista del conocimiento libre promoviendo Software y Hardware Libre. • Linux User #369081.  • Usuario GNU/Linux desde Mayo 2002. • Miembro activo VELUG desde Mayo 2003.  • Miembro activo GULMER, GLOVE, GUGVE y SOLVE desde 2005.  ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Contenido • ¿Como montar un proyecto de software libre? • Lenguaje de programación. • Plataforma. • Especificaciones. • Metodología de desarrollo. • Desarrollo. • Herramientas de trabajo colaborativo. • Publicación.  • Aspectos legales: copyright, licencia. • Buenas prácticas al liberar. • Publicidad. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Contenido :: Continuación • Publicación :: Continuación. • Empaquetamiento y distribución (Fuentes y binarios). • Distribución de binarios. • Cuidado con la imagen. • Soporte a usuarios: sitio de referencia, BTS, comunidades. • Tiempo de dedicación al proyecto. • Conclusiones. • Referencias. • Sitios en Internet. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Lenguaje de programación 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,  tiene que estar escrito en un lenguaje de programación: • Fácil de utilizar. • Con disponibilidad de herramientas de desarrollo y de depuración cómoda. • En general, que le guste a la gente.  Ejemplo significativo: El cliente de redes P2P Mldonkey. Fue el primer cliente libre  que  pudo  conectarse  a  la  red  eDonkey  y  FastTrack,  es  multiplataforma,  multiprotocolo,  funciona  relativamente  bien...  pero  no  tiene desarrolladores aparte  de un núcleo muy cerrado ¿Por qué? Esta escrito en CAML. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Plataforma Si  el  proyecto  que  estamos  desarrollando  o  que  vamos  a  desarrollar  necesita  características  especiales  o  una  plataforma  determinada  para  funcionar  correctamente, nuestra base de usuarios objetivos puede verse seriamente reducida,  o sufrir en el futuro. Pero  también  puede  suceder  esto  si  el  proyecto  usa  peculiaridades  de  un  sistema  que pueden dejar de ser comunes. Por ejemplo: • Uso de tipos de ficheros concretos. • Dependencia de hardware especifico.  Este aspecto lo sufren todo tipo de proyectos de software, ya sea libre o no. Ejemplo significativo:  e2undel,  recover, gtkrecover:  recuperan ficheros borrados  para particiones ext2. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Especificaciones 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  resto de los productos existentes. 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: • Grado de rivalidad entre competidores actuales. • Amenaza de nuevos competidores. • Productos sustitutivos. • Poder negociador de los proveedores. • Poder negociador de los clientes. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Metodología de desarrollo Ensayo “La catedral y el bazar”. Analiza  el  surgimiento  de  GNU/Linux  y  un  proyecto  de  software  libre,  creado  para  comprobar  deliberadamente  las  diferencias  teóricas  entre  dos  modelos  de  desarrollo,  la  Eric S. Raymond. catedral  de  la  mayoría  del  software  no  libre  y  el  bazar  bullicioso del código abierto.  Un ejemplo claro de bazar sería la Wikipedia mientras que la  Enciclopedia Británica y Nupedia lo son de catedral. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Metodología de desarrollo :: Continuación • Programación extrema o Extreme Programming (XP). ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Metodología de desarrollo :: Continuación • Metodología de desarrollo de software de la FSL. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Herramientas de trabajo colaborativo 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, y así para aprovechar pertinentemente dichos recursos existentes: • 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 “No­IP”. • Aprovechar los recursos gratuitos de la Web 2.0: • Sistemas de bitácoras o blog en “WordPress”, “Blogger”, etc. • Capturas de pantallas, fotos de eventos, etc en “Flickr”, “Google Picasa”, etc. • Publicar vídeos, demostraciones, screencats en “Google Video”, “YouTube”, etc. • Compartir sus presentaciones, laminas usando “SlideShare”. • Redacta artículos y manuales en “Wikipedia”,  “Wikilibros”, etc. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Herramientas de trabajo colaborativo :: Continuación Todo proyecto de software libre ha de tener espacio para desarrolladores, a todos los  niveles:  desde  poder  informar  de  fallos  y  hacer  seguimiento  de  los  mismos,  hasta  contribuir de forma significativa en el proyecto. 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  versión de “oficial” y establecen cuándo se han de publicar nuevas versiones. Herramientas imprescindible para la coordinación y el manejo de proyectos grandes: • Listas de correo de desarrollo. • Sistemas de control de versiones (CVS, SVN, etc). • Sistemas de seguimientos de fallos (Bugzilla, Debian BTS, etc).  ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre FOSP­hostsites Existen varios sitios que ofrecen hospedaje de Free and Open Source Project y a  continuación se en listan algunos: • SourceForge.net (http://sourceforge.net/) • freshmeat.net (http://freshmeat.net/) • Savannah (http://savannah.gnu.org/) • ourproject.org (http://ourproject.org/) • Code Google (http://code.google.com/) • FSL ­ Sistemas Mérida (http://www.fsl.fundacite­merida.gob.ve/) • Plataforma para el Desarrollo de Software ­ (http://www.fsl.cenditel.gob.ve/)  ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Publicación :: Aspectos legales • Copyright: autor(es),  organización (empresa, fundación, comunidad...) • 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  usar, y todo el software usado ha de ser compatible con la licencia elegida. Este punto es sumamente importante; ha habido multitud de casos de problemas de  compatibilidad entre unas licencias y otras: • KDE. • syslinux / Turbo Assembler / masm. • Kernel de Linux / módulos propietarios / firmware.  ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Publicación :: Buenas prácticas al liberar • Anunciar el software, (grupos de noticias, blog, lista de correo, chat irc, foros de  discusión). • Documentar la distribución del sistema. • Poner el software donde pueda bajarse (incluido el fuente). • Realizar publicaciones frecuentes. • Simplificar el proceso de compilación e instalación (incluyendo empaquetamiento). • Limpiar y organizar el código fuente. • Preparar el software para que sea fácilmente adaptado a otros idiomas. • Montar una infraestructura para favorecer la colaboración. • Encargarse de gestionar contribuciones, parches, modificaciones y sugerencias.  ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Publicación :: Publicidad Para que el público sepa que el producto existe, este ha de anunciarse: • Listas de correo. • Grupos de news. • Congresos, conferencias, seminarios. • Publicidad  tradicional:  anuncios  de  revistas,  banners,  publicidad  impresa,  audiovisual (TV, radio), etc. • Sourceforge, Freshmeat, Savannah, Berlios, Slashdot, BarraPunto, FSL, PDSL. En la medida de lo posible, hay que intentar que las diferentes distribuciones  incorporen el proyecto de serie. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Publicación :: Empaquetamiento y distribución • Es muy recomendable ofrecer tanto fuentes como binarios. • Proporcionando diferentes medios para las descargas (FTP, HTTP, rsync, etc). • Y desde diferentes servidores (mirrors propios, Sourceforge, FSL, PDSL, etc). • Es aconsejable ofrecer varias versiones del producto. En caso de que haya distintas  ramas de desarrollo, indicarlo claramente. • 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  del copyright, es decir, la licencia. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Publicación :: Empaquetamiento y distribución :: Continuación • Es importante seguir normas concretas para la publicación de paquetes de software  como:  la  Debian  Policy,  Linux  Standard  Base,  Filesystem  Hierarchy  Standard,  etc. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Publicación :: Distribución de binarios En el caso de los binarios, es recomendable ofrecerlos: • Empaquetado para distintas distribuciones (Debian, Redhat, etc). • Utilizando diferentes versiones de distribuciones, bibliotecas, etc.  • Versiones para diferentes arquitecturas (i386, powerpc, 64bit, SPARC, etc). Además,  es  aconsejable  ofrecer  versiones  lo  más  independiente  posible  de  distribución, en formato .tar.gz y, a ser posible, con algún instalador y desintalador  automático, para poder ajustarse a distribuciones no previstas. Sin embargo, la mayor parte de los proyectos no distribuyen binarios y dejan esta  labor para los creadores de distribuciones. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Publicación :: Cuidado con la imagen 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. • Primera impresión: la Website, es decir, el Sitio de referencia o página web. • Segunda impresión: la instalación y configuración. • Tercera impresión: los demostraciones (demos), capturas de pantallas (screenshot). ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Publicación :: Sitio de referencia (página web) 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  web) donde se encuentre: • Información general acerca del proyecto. • Noticias, Eventos, Páginas de descargas de software (fuentes o binarios). • Documentación, tutoriales, ejemplos, capturas de pantallas, etc. • Comunidades, lista de correo, foros, etc. • Proyectos relacionados. • Canales de soporte: informes de erratas, cómo contactar a los autores o  desarrolladores, etc. Existen proyectos importantes sin sitio de referencia (kernel de Linux). ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Tiempo de dedicación al proyecto Además del desarrollo hay que tener en cuenta: • Gestión de infraestructura (100 / 20) • Coordinador de desarrollo, incluyendo control de calidad (40­200 / 20) • Atención al sistema de control de errores (¿? / 10­15) • Mantenimiento de documentación e información en línea (60 / 10) • Relaciones publicas (¿? / 20) Proyecto de complejidad media (horas inicio / horas por semana) Segun “Open Source as a Business Strategy”, Brian Behlendorf ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre 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. • 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  ser conocido. • Es  importante  tener  una  continuidad;  que  la  página  web  este  continuamente  actualizada,  que  haya  noticias  modernas,  que  salgan  versiones  nuevas  periódicamente, etc.  • La  mejor  manera  de  tener  éxito  es  que  guste  entre  la  comunidad  y  difunda  de  unas personas a otras. ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Referencias • “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. (http://curso­sobre.berlios.de/curso/transpas/jgb/montaje­proyectos.pdf) • “Open Source as a Bussiness Strategy”, por Brian Behlendorf (en Open Sources,  Voices from the Open Source Revolution) (http://www.oreilly.com/catalog/opensources) “Whether  and  How  To  Publish  Software  Under  an  Open  Source  License”,  por  Sébastien Blondeel (http://publish.idealx.org/) • Extreme Programming: A Gentle Introduction, por Don Wells (http://www.extremeprogramming.org/) ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Referencias :: Continuación • Plantillas  de  la  metodología  de  la  FSL,  por  Fundacite  Mérida,  CENDITEL.  Mayo  2007. (http://sistemas.fsl.fundacite­merida.gob.ve/projects/plantillas/) • Web 2.0 ­ Wikipedia, la enciclopedia libre (http://es.wikipedia.org/wiki/Web_2.0) ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Sitios en Internet Organizaciones Nacionales en Software Libre • VELUG ­ Linux de Venezuela (http://www.velug.org.ve/)  • GLOVE – GNU/Linux Organizado de Venezuela. (http://www.glove.org.ve/)  • GUGVE ­ Grupo de Usuarios GNU de Venezuela. (http://www.gnu.org/gugve/)  • SOLVE ­ Software Libre de Venezuela. (http://www.solve.net.ve/)  • Debian Venezuela. (http://www.debianvenezuela.org/)  • GULMER  ­ Grupo de Usuario Linux Venezuela. (http://www.gulmer.org.ve/)  • GUSLA ­ Grupo de Usuarios Linux de la ULA. (http://www.ula.ve/gusla)  • ULANIX. (http://nux.ula.ve/)  ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Sitios en Internet :: Continuación Organizaciones Gubernamentales Nacionales • Ministerio de Ciencia y Tecnología (http://www.mct.gob.ve/) • Centro Nacional de Tecnologías de Información ­ CNTI (http://www.cnti.gob.ve/) • Software Libre – CNTI (http://www.softwarelibre.gob.ve/) • Red Nacional de Desarrollo e Integración de Software Libre (https://www.rinde.gob.ve/) • CENDITEL ­ (http://www.cenditel.gob.ve/) • Fundacite Mérida ­ (http://www.fundacite­merida.gob.ve/) • ASL ­ Fundacite Mérida ­ (http://asl.fundacite­merida.gob.ve/) ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Sitios en Internet :: Continuación Recursos de la Web 2.0 • No­IP (http://www.no­ip.com/) • WordPress (http://www.wordpress.com/) • Blogger (http://www.blogger.com/) • Flickr (http://www.flickr.com/) • Google Picasa (http://picasaweb.google.com/) • Google Video (http://videos.google.com/) • YouTube (http://www.youtube.com/) • Slide Share (http://www.slideshare.net/) • Wikipedia (http://www.wikipedia.org/) • Wikilibros (http://www.wikibooks.org/) ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre Sitios en Internet :: Continuación FOSP hostsites • SourceForge.net (http://sourceforge.net/) • freshmeat.net (http://freshmeat.net/) • Savannah (http://savannah.gnu.org/) • ourproject.org (http://ourproject.org/) • Code Google (http://code.google.com/) • FSL ­ Sistemas Mérida (http://www.fsl.fundacite­merida.gob.ve/) • Plataforma para el Desarrollo de Software ­ (http://www.fsl.cenditel.gob.ve/)  ¡Desarrollo colaborativo para todos!
  • Montaje de un proyecto de Software Libre ¡Gracias por su atención! ¡Visita mi Blog! http://lcaballero.8k.com/ ¡Visita y descarga mis trabajos! http://www.slideshare.net/lcaballero/ ¡Escribeme! lcaballero@linuxmail.org leonardocaballero@gmail.com ¡Desarrollo colaborativo para todos!