De paseo por googlecode
Y si necesitamos controlar el versionado del código, entonces requerimos otro tipo de recursos.
Hace relativamente poco, me decidí por sacar adelante proyectos mios. Los tenía en mente desde hacía tiempo, pero tenía que ir perfilando ideas poco a poco. Me encontré con varias ideas en la cabeza, modelandolas, justificando decisiones de diseño, de tecnología elegida, de formatos y otras historias, cuando llegué al apartado de la infraestructura. Tenía que empezar a pensar donde y de que forma ubicar mi material en la red. Hacía tiempo que no pensaba en este tema, y mas tiempo aún de las experiencias que había tenido, sobretodo en forjas como la de rediris, allá por el tiempo que estaba trabajando en mi proyecto fin de carrera.
El caso es que volvía a estar frente a una situación y unos recursos técnicos que, de seguro, había cambiado mucho ultimamente y que ahora ofrecían algo mas de posibilidades de cara al desarrollo de proyectos openSource.
Asi que me puse a investigar, y llegué a googlecode. Es un servicio gratuito proporcionado por Google que permite de manera relativamente fácil tener un conjunto de servicios muy útiles para todo proyecto de desarrollo. En comparación con otro sitios de alojamientos openSource, este no requiere de ninguna justificación o tiempo de espera para que nos autoricen el proyecto. Para quien no lo conozca mucho, googlecode funciona como un entorno web donde la compañía de Mountain View ubica diverso contenido relacionado con el desarrollo, pero especialmente orientado tanto a comunidad de productos google (android, gmaps, ) como a proyectos openSource.
En torno a sus propios productos proporciona documentación, apis, blogs, listas de correos para el desarrollo basado en sus aplicaciones, así como para realizar integración con otros conceptos (como por ejemplo, la API de integración de googlemaps con Flash).
La verdad es que son casi infinitas las posibilidades que se ofrecen en el sitio, pero en concreto en este post me gustaría centrarme en las capacidades que ofrece para el alojamiento de proyectos.
Para comenzar, podemos ver si ya existe algún proyecto alojado parecido a la idea que tenemos en mente.
En la opción googlecode → opensource → project hosting, podemos explorar los contenidos existentes en el sitio. Googlecode cataloga los proyectos por distintos apartados del desarrollo, bien por lenguajes (Java, Python, C++, PHP, etc) la naturaleza del proyecto (Web, Plugin, Database, etc) o bien el entorno al que va dirigida (Linux, Windows.). Además, si ya conocemos el proyecto existente que vamos a buscar, nos ofrece un buscador para que localizemos material.
Para crear nuestro propio proyecto, pulsando la opción “Create a new project”, accedemos a la creación del hospedaje de nuestro propio proyecto.
En primer lugar, al pulsar aparece el formulario que nos permite completar lo mejor posible la información referencial de nuestro proyecto: nombre del proyecto, un par de descripción (una corta para una idea de concepto y una mas larga para concretar de que va nuestra idea).
A continuación, viene la elección del control de versiones bajo el que queremos ubicar nuestro proyecto, googlecode nos permite elegir entre Mercurial y Subversion, con lo que podemos trabajar con aquel que mas familiarizados estemos ;).
Elegimos la licencia bajo la que ubicamos nuestro proyecto (Esto daría para muuchos posts) y una serie de etiquetas para ubicar en contexto nuestro proyecto.
A partir de ahí, he de decir que todo lo que he encontrado disponible en googlecode me ha llamado mucho la atención y me ha parecido muy útil, no solo para la gestión de nuestro proyecto, sino para el uso de herramientas colaborativas de cara a crear comunidad en torno a nuestro desarrollo.
Por citar algunas bastante útiles: Gestión de problemas, Wiki para generar contenido, acceso al repositorio para la descarga de nuestro código (con información y tutoriales de clientes de CVS para la descarga y la posibilidad de clonar el repositorio cuando queramos), compilado o en fuentes. Gestión de usuarios, con opciones de roles diferenciados para permitir comiteadores, propietarios o colaboradores.
Googlecode proporciona direcciones URL diferenciadas para realizar descargas del proyecto y permisos de commit para desarrolladores del proyecto, controlando el acceso mediante autenticación.
Además de todas aquellas herramientas inherentes a la marca Google, ahora enfocadas a desarrollo software: grupos de discusión (todos los que el proyecto necesite, por ejemplo, usuarios, desarrolladores, etc), posibilidad de recibir la información a modo de lista de correo, blog personal, etc.
En este contexto, es sumamente fácil gestionar nuestro proyecto openSource y mantenerlo de forma centralizada, ordenada y práctica.
Ahora, ¡a codear!

Comentarios
jojeda:
La verdad es que Google Code está bastante bien para montarte proyectos rápidamente. Además, me gusta su sencillez. Hace lo básico y sin complicaciones. Eso cuando empiezas se agradece. Quizás en proyectos muy grandes y con muchos colaboradores se pueda quedar corto, pero para la mayoría es más que suficiente.
También me gusta que tengan Mercurial como sistema de control de versiones. Está un poco en minoría respecto a Git y Mercurial, pero sigo pensando que es igual o mejor que ambos en muchos aspectos. Es una pena que no haya más sitios que lo soporten.
Pues eso, que gracias por compartir y si sigues buscando, ya sabes dónde comentarlo ;-)
Juanje