Desarrollo colaborativo de software. Herramientas o plataformas más utilizadas

Las forjas o plataformas de desarrollo colaborativo de software permiten la disponibilidad del código de uno o varios proyectos.

El desarrollo de software, aunque es un tema en tendencia, no puede decirse que sea novedoso.

Pero ciertamente la evolución de otras tecnologías ha permitido que esta área del conocimiento crezca y se modifique cada vez más.

Un factor significativo ha sido el auge de internet y el acceso de más personas de manera fácil y masiva.

Los equipos de desarrollo ya no deben estar en el mismo lugar para poder comunicarse y crear, ni siquiera tienen que conocerse para poder dar sus criterios y participar en un proyecto.

¿Y qué decir del software libre? A raíz de su surgimiento también se brindó acceso al código creado para su evaluación por terceros bajo reglas, por supuesto, bien descritas.

Tanto ha sido así que en 1991 con la creación del sistema operativo Linux, se hizo popular el desarrollo de software colaborativo. Y sobre este tema voy a hablar en este artículo.

Qué es el desarrollo colaborativo de software y cómo se usa

El desarrollo colaborativo es un modelo que parte de la base del código disponible públicamente, para ser accedido y revisado por otros desarrolladores.

Estas acciones permiten que varias personas, con diferentes enfoques, analicen un mismo código y aporten cambios para mejorarlo.

De esta forma se consiguen programas o algoritmos más óptimos y con resultados más estables.

Debido a que este modelo está ligado al software libre, las reglas son similares: cuando un desarrollador aporta algo a un código fuente, o participa en el desarrollo colaborativo, sus aportes deben quedar públicos y disponibles para que pueda ser evaluado, mejorado o utilizado.

En este último caso, debe ser respetando los derechos de autor, las licencias y demás.

La manera de poder compartir el código se realiza mediante plataformas que se ha creado con ese fin. Existen varias plataformas de desarrollo colaborativo de software, con características similares o no, pero con funcionalidades bien creadas para favorecer el desarrollo colaborativo.

👉 Te puede interesar: Los lenguajes de programación declarativos

Características de las plataformas de desarrollo colaborativo de software

Este tipo de plataformas se conocen como forjas, y es un término que reúne las características que debe cumplir una herramienta para convertirse en una plataforma de desarrollo colaborativo.

Además de permitir la disponibilidad del código de uno o varios proyectos, también pueden utilizarse para dar soporte y mantenimiento a sistemas ya concluidos y en explotación.

Una forja o plataforma colaborativa, alberga múltiples proyectos a la vez, organizados correctamente, que registra los accesos y genera las trazas necesarias para mantener el control sobre los cambios y el acceso a dichos proyectos.

Cada plataforma tiene varias aplicaciones que responden a una única interfaz administrativa desde donde se realiza el registro de los colaboradores.

Desde esta misma interfaz se comparten los proyectos u otras utilidades. La base de sus utilidades está sobre tecnologías como:

  1. Control de versiones
  2. Publicación de foros
  3. Wikis

Algunas de las plataformas más populares son:

  1. GitHub
  2. GNU Savannah
  3. Gitlab
  4. Google Code
  5. SourceForge
  6. CodePlex

👉 Te puede interesar: Algoritmos, pseudocódigos y diagramas de flujo: objetivos similares, diferentes técnicas

GitHub

GitHub Desarrollo colaborativo de software. Herramientas o plataformas más utilizadas

Es una plataforma de desarrollo colaborativo para alojar proyectos utilizando el sistema de control de versiones Git.

Fue desarrollada en el lenguaje de programación Ruby on Rails y opera desde el 2010 bajo este nombre, heredado de Logical Awesome LLC.

En la actualidad esta forja es propiedad de Microsoft, y es la más importante hasta la fecha, con una alta cantidad de usuarios que la utilizan.

Esto se debe, entre otras particularidades, por la mejora continua de sus funciones y posibilidades en materia de publicación y acceso a los proyectos.

Brinda opciones para diferentes intereses, permitiendo clasificar algunos proyectos con un mayor nivel de privacidad, manteniendo una mayoría de código público.

Un factor importante es la seguridad que posee y la estabilidad, lo cual genera confianza en los desarrolladores.

Algunas características de esta plataforma son:

  1. Repositorios: espacios virtuales en la nube para almacenar código fuente. Los términos más populares son Issues y Wiki.
  2. Usuarios: control de acceso a los proyectos disponibles. Permite el acceso de cualquier usuario a los proyectos públicos, pero para poder realizar modificaciones se debe contar con una cuenta.
  3. Organizaciones: cuentas grupales que representan una empresa o un equipo de trabajo. En estos apartados se pueden crear repositorios y usuarios, de forma que todo pertenece a la cuenta de la organización creada.

Dentro de GitHub hay varios servicios, como:

  1. GitHub Pages
  2. Patrocinación
  3. GitHub Education
  4. GitHub Gist
  5. GitHub Codespaces

Web: https://github.com/

GNU Savannah

savannah Desarrollo colaborativo de software. Herramientas o plataformas más utilizadas

Es un proyecto macro, que ejecuta varios servicios para la gestión de proyectos de software libre.

Este último aspecto marca la diferencia con otras forjas, pues brinda componentes meramente libres, por lo que los usuarios cuando suben sus sistemas deben especificar bajo que licencia lo distribuyen.

👉 Te puede interesar: Herramientas de modelado de software. Visualiza antes, desarrolla después

Esta plataforma brinda un número amplio de servicio a los desarrolladores como:

  1. Control de versiones con diferentes entornos como CVS, Subversion, Git, Mercurial y Bazaar.
  2. Gestión de listas de correo.
  3. Hospedaje web para sistemas.
  4. GNU arch y hospedaje de archivos.
  5. seguimiento de bugs.

Web: https://savannah.gnu.org/

Gitlab

gitlab Desarrollo colaborativo de software. Herramientas o plataformas más utilizadas

Es una forja famosa y con un amplio uso en el mundo del desarrollo de software.

Como el resto, maneja el control de versiones para los proyectos como aspecto clave en el desarrollo colaborativo.

En este caso, GitLab incluye servicios DevOps para agilizar las etapas de construcción de un software.

Su amplia usabilidad se debe a que es una suite muy completa que permite, no solo crear repositorios, sino administrarlos y gestionarlos, para que puedan incluso se conecten entre ellos, aunque pertenezcan a diferentes proyectos.

Una idea de su impacto se genera al conocer que tiene clientes como la NASA, IBM y Sony.

Web: https://gitlab.com/

Google Code

google code Desarrollo colaborativo de software. Herramientas o plataformas más utilizadas

El potencial de esta forja es el hospedaje de código, especialmente libre, y de sistemas basado en Google.

Desafortunadamente en la actualidad el acceso a estos proyectos es de solo lectura, por lo que no pueden subirse nuevos códigos, aunque sí utilizar los existentes.

👉 Te puede interesar: Patrones de diseño en el desarrollo de software

Es una plataforma pequeña, con un objetivo marcado y que debe su auge al ser una herramienta creada por el rey de internet. Algunos de los proyectos que brinda son:

  1. Gears: un software beta para acceder a servicios en la red, sin necesidad de que los usuarios esta conectados. Una vez que se habilita una conexión, los sistemas se sincronizan y se actualizan.
  2. Google Web Toolkit: es un conjunto de herramientas que facilitan la creación de aplicaciones Ajax y otras acciones sobre Java

Web: https://code.google.com/archive/

SourceForge y CodePlex

CodePlex 1 Desarrollo colaborativo de software. Herramientas o plataformas más utilizadas
sourceforge 1 Desarrollo colaborativo de software. Herramientas o plataformas más utilizadas

Estas herramientas fueron desarrolladas con misiones estrictas, tal como Google Code, y aunque en su momento cumplieron su objetivo, ya cerraron y en la actualidad son solo de lectura.

Existen varias plataformas creadas con objetivos similares, pero más pequeñas o limitadas en sus objetivos.

Espero que la información le sirva para elegir la opción más adecuada a su proyecto. ¡Hasta la próxima!

Neybis Lago

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.