Este documento describe las forjas de software y repositorios de código en la nube, que son plataformas web que permiten el desarrollo colaborativo de software a través de Internet. Explica las funcionalidades comunes como el alojamiento de código, gestión de incidencias, documentación y usuarios. También analiza algunas plataformas populares como GitHub, GitLab, Bitbucket, SourceForge y Redmine.
Sesión de aprendizaje Planifica Textos argumentativo.docx
Forjas de software y repositorios en la nube
1. Forjas de Software y Repositorios
de Código en la nube
Euskal Encounter 2015
Iñaki Arenaza & Dani Reguera
{iarenaza,dreguera}@mondragon.edu
@iarenaza & @dreguera
https://linkedin.com/in/{iarenaza,dreguera}
Creative Commons
Attribution Share Alike
3.0 Spain License
2. ¿Qué son?
Plataformas web que permiten el desarrollo de
software de forma colaborativa por medio de
Internet.
Aglutinan una serie de aplicaciones que permiten
alojar múltiples proyectos o desarrollos.
3. ¿A qué nos referimos?
Al servicio ofrecido por una plataforma web para
alojar proyectos de desarrollo software, también
conocidos como “repositorios en la nube”.
Al conjunto de elementos software que componen
dichas plataformas, listos para ser instalados dentro
de una organización o de cara a Internet.
4. ¿Para que se usan?
Cooperación entre desarrolladores para la creación
y difusión de software y el soporte al usuario.
Albergar código.
Colaboración en proyectos.
5. Funcionalidades
Repositorio de código
Gestor de incidencias (“bug tracker”)
Gestor de documentación / Wikis
Listas de distribución
Gestión de usuarios (Oauth, LDAP, OpenID, BBDD)
Estadísticas
Distribución de versiones publicadas (file releases)
27. Sourceforge
Una de las primeras forjas de software
Lanzado en Noviembre de 1999
Central de desarrollos de software que controla y
gestiona varios proyectos de software libre y actúa
como un repositorio de código fuente
Su eslogan inicial: “Find, Create, and Publish Open
Source software for free”
28.
29. FusionForge
Es un fork del proyecto Gforge. Licencia GNU GPL.
Versión estable: 6.0.2 (Julio 2015)
PHP+Perl, Postgresql, Linux
Provee alojamiento de proyectos, control de
versiones (Bazaar, CVS, Darcs, Mercurial, Git and
Subversion), bug-tracking, gestión de tareas, listas
de correo, foros, gestion de documentos,
distribución de ficheros, etc.
Extensible mediante plugins
30.
31. Redmine
Ruby on Rails
Multiplataforma
Licencia GNU GPL v2
Roles flexibles basados en
control de acceso.
Sistema de seguimiento de
errores flexible.
Diagramas de Gantt y
calendario.
Administración de noticias,
documentos y archivos.
Fuentes web y notificaciones
por correo electrónico.
Integración con control de
versiones (Subversion, CVS,
Git, Mercurial, Bazaar y Darcs)
Soporta diferentes bases de
datos (MySQL, PostgreSQL y
SQLite)
Extensible mediante Plugins
32.
33. GitHub
Incidencias (Issues)
Wiki para cada proyecto.
Página web para cada proyecto
Gists*
Estadísticas y gráficos de
bifurcaciones del proyecto.
Funcionalidades de red social:
seguidores
Posibilidad de dominos
personalizados
Alojamiento de proyectos que usan Git.
Código privativo. Utiliza el framework Ruby on Rails.
Los respositorios son públicos, aunque pueden ser privados
creando cuentas de pago.
Características:
36. Gitorious
Sitio web para alojamiento de proyectos open
source, utilizando Git como control de versiones.
Desarrollado en Ruby. Multiplataforma. Lanzado en
2008.
Licencia GNU Affero General Public License (AGPL).
Características:
Incluye wiki
Incluye “activity timeline” para los proyectos y los
desarrolladores
37.
38. Bitbucket
Alojamiento de código basado en web para proyectos.
Código privativo. Escrito en Python. Lanzado en 2008.
Git y Mercurial para el control de versiones.
Numero de respositorios ilimitado.
Número de colaboradores por repositorio limitado. Hasta 5
con cuentas gratis.
Gestión de incidencias (issues), revisión de código (code
review), API REST, integración con otros productos de
Atalassian.
Posibilidad de dominos personalizados para los proyectos.
41. Launchpad
Sitio web que apoya el desarrollo de software libre.
Desarrollada y mantenida por Canonical Ltd,
principalmente para el desarrollo de Ubuntu.
Utiliza Zope (Python web server)
Lanzado en enero del 2004. Liberada en 2009, con
licencia GNU Affero General Public License, version
3.
42. Launchpad
Control de versiones usando Bazaar
Gestión de incidencias (bug tracking)
Revisión de código por pares
Gestión de construcción y alojamiento de paquetes para Ubuntu
(PPA)
Gestión de traducciones de software
Listas de correo
Preguntas frecuentes (FAQ) y seguimiento de preguntas
Gestión de especificaciones y nuevas características (blueprints)
43.
44. Google Code
Lanzada y mantenida por Google en 2007.
Código privativo.
No solo para diferentes productos y APIs de Google, también
podemos alojar nuestros proyectos.
Los repositorios son siempre públicos.
Control de versiones (Git, SVN, Mercurial).
Wiki para documentación.
Listas de distribución (usando Google groups).
45.
46. CodePlex
Páginas wiki
Control de código fuente
basado en Team Foundation
Server o Git
Foro de discusión
Seguimiento de tareas
Soporte de tags sobre el
proyecto
Soporte de RSS
Estadísticas
Gestión de la publicación de los
proyectos.
Plataforma para alojar proyectos creada por
Microsoft
Entre sus características incluye:
47. Criterios utilizar a la hora de eligir
http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities