Gestión de código distribuido, commiters y forks en los proyectos
A día de hoy ya es imposible no conocer sistemas como git si quieres seguir desarrollando en proyectos de software libre. Si aún sigues enganchado a subversion sé consciente de que te estás quedando obsoleto. Las ventajas de git, y en general de los sistemas distribuidos, son múltiples pero me voy a centrar en dos: commits y forks.
Leyendo en los foros de Android sobre el uso de git, se resaltaba que se eligió este frente a subversion, u otros sistemas de control centralizados, ya que permite que todos los desarrolladores estén en una categoría: la de commiters. Todo desarrollador tiene desde el principio la posibilidad de clonar las ramas de git sobre las que quiera trabajar y desarrollar sobre ellas, con total libertad de hacer lo que quiera, pudiendo hacer commits o creando sus ramas, sin limitaciones como las que tiene subversion donde para registrar cambios (commits) hay que pasar siempre por el repositorio central. Era previsible que Android sufriera de muchas adaptaciones para los cientos de dispositivos en los que correrá, y git da la potencia para poderlo hacer compartiendo una gran base, pero dejando libertad para las adaptaciones: “freedom to innovate”.
Por otro lado, ayer, explorando el soporte de HTML5 en los navegadores, acabé en esta interesante página sobre diferentes demos de HTML5. Y se puede leer en la parte de arriba izquierda: “Fork me on GitHub”. No es que no están mal vistos los “forks” con git, sino que se promueven en la fase de desarrollo, la cual ha ganado mucha libertad aunque eso sí, a costa de complicar la integración de ramas de desarrollo.
Si aún no conoces git, este tutorial de KaL es muy recomendable. Y luego ya, a bucear en algún proyecto real donde se use.