14/1/20 · Investigación

Millones de desarrolladores impulsan el futuro del software de forma colaborativa en una red social

La plataforma GitHub integra a expertos y empresas que crean código de programación para desarrollos tecnológicos
Foto: Max Nelson / Unsplash

Foto: Max Nelson / Unsplash

El futuro del software pasa por una red social para desarrolladores, GitHub, que cuenta con más de 40 millones de usuarios y cuya cuarta parte se ha sumado a esta red en 2019. Es una plataforma que hace un año fue comprada por Microsoft por más de 7.500 millones de dólares. Investigadores de la Universitat Oberta de Catalunya (UOC) han analizado en la revista Scientific Reports del grupo Nature Publishing cómo funciona este modelo de trabajo altruista, en el que participan desde multinacionales hasta desarrolladores a título personal mediante la creación código de programación, que puede ser aprovechado por cualquier usuario o, incluso, evolucionar gracias a los propios usuarios.

Los investigadores de la UOC han estudiado 65 proyectos que corresponden a más de 28.000 desarrolladores. «GitHub es una plataforma para el desarrollo de software en abierto, que funciona como un repositorio público», apunta María José Palazzi, investigadora del grupo Complex Systems (CoSIN3), del Internet Interdisciplinary Institute (IN3). «Permite crear y compartir con su comunidad códigos de proyectos profesionales propios y también da la posibilidad a expertos, sean profesionales o aficionados, de contribuir en los códigos que ya figuran en la plataforma, haciendo cambios en ellos, validándolos, mejorando los existentes o introduciendo nuevos módulos», comenta Palazzi. «Hay grandes empresas, como por ejemplo Facebook o Netflix, que realizan desarrollos en GitHub y cualquiera puede ver abiertamente cómo evolucionan sus proyectos e incluso, aunque la mayoría no se atreva, hacer aportaciones», explica Javier Cánovas, investigador del grupo Systems, Software and Models Research Lab (SOM Research Lab), también adscrito al IN3. «Esta forma de trabajar colaborativa favorece la transparencia. Aunque las empresas siguen desarrollando proyectos de software de forma privada, el desarrollo colaborativo en plataformas como GitHub está en auge», añade Cánovas. Según el investigador, este modelo de trabajo, aunque no es el primordial para las grandes corporaciones, está en auge, como el open source, es decir, los desarrollos tecnológicos de código abierto.

El escaparate del software

Para muestra, uno de los proyectos más grandes en cuanto a contribuciones y número de desarrolladores es Tensorflow, una biblioteca de código abierto para aprendizaje automático impulsada por Google, en el que han trabajado más de 10.000 usuarios de todo el mundo. «En GitHub también figuran proyectos pequeños. Yo misma he podido adaptar a mis necesidades alguna pequeña biblioteca de software impulsada por otro usuario de la plataforma», explica la investigadora de la UOC. GitHub también proporciona visibilidad curricular. «Hay quien usa esta plataforma como repositorio personal, porque al ser visible para otros expertos de este ámbito, estos pueden contactar con la persona para colaborar o incluso pueden contratarla», puntualiza Palazzi. «Consultando el perfil de los desarrolladores es posible comprobar en qué lenguaje de programación son expertos y hacia dónde apuntan sus especializaciones», matiza Javier Cánovas, quien cuenta con un perfil activo. «También puede ser una buena plataforma para reclutar a desarrolladores», concluye.

En GitHub tienen cabida desde soluciones de software muy consolidadas hasta lenguajes en particular, como JavaScript, o desarrollos muy concretos con funcionalidades específicas. Se trata de código que se crea y comparte para que los demás usuarios puedan acceder a él y decidir si colaboran en su evolución. La mayoría de sus desarrolladores son hombres de entre 23 y 32 años y provienen de Estados Unidos y Europa.

Organización del trabajo colaborativo

«Los proyectos en GitHub no se organizan con una estructura vertical como en una empresa», apunta María José Palazzi. «La jerarquía no se determina en las interacciones entre los desarrolladores, sino en la composición del proyecto: una persona puede haber decidido trabajar en un módulo, y otra, en uno diferente de la misma iniciativa», comenta la investigadora. El objetivo de los investigadores de la UOC fue analizar qué fórmula organizativa es la habitual en los proyectos que avanzan con mayor éxito, tomando como muestra 65 de los 100 más populares. La plataforma permite, como en las webs de compra en línea, valorar con estrellas los proyectos, de forma que adquieren mayor visibilidad los más populares, independientemente de su tamaño o antigüedad.

«Hay una subdivisión de las tareas: no está todo el mundo trabajando en todas las partes del proyecto. Más bien hay subdivisiones de desarrolladores enfocados a diferentes partes. Puede haber también una jerarquía en la que los impulsores del proyecto dediquen sus esfuerzos a la mayoría de las cuestiones y ocasionalmente alguien externo haga una contribución puntual», explica la investigadora. Esto no quiere decir que la organización del trabajo sea anárquica, sino que «se observa que los proyectos tienen una estructura interna en subgrupos, que tienen una estructura anidada», aclara Palazzi.

El límite de relaciones entre las personas

Sobre el tamaño de los grupos de trabajo, en principio, virtualmente no existe una limitación para su crecimiento, pero los investigadores de la UOC creen que sí emergen unos límites. «Hay una especie de tope no marcado para el tamaño de los grupos y sobre cómo se distribuyen los colaboradores en el proyecto, independientemente de la dimensión del conjunto», indica la investigadora. Palazzi apunta que de media los proyectos analizados tienen unos 400 desarrolladores y el mayor que han estudiado cuenta con más de 1.700. En el caso de los subgrupos, los investigadores han detectado que el tope figura en torno a 200 desarrolladores, independientemente de que se trate de los proyectos más grandes.

Estos máximos, según la experta de la UOC, están relacionados con los que tienen lugar en general en entornos sociales. «Existe un límite en el número de relaciones factibles entre las personas que tiene que ver con nuestra limitación cognitiva», añade. Para muestra, en el caso de Twitter, «el volumen máximo de interacciones que tienen los usuarios con el resto no está relacionado con una cuestión tecnológica, sino humana», concluye Palazzi.

Artículo de referencia

Palazzi, María J.; Cabot, J.; Cánovas Izquierdo, J. L.; Solé-Ribalta, A.; Borge-Holthoefer, J. «Online division of labour: emergent structures in Open Source Software». Scientific Reports, 9, 13890 (2019). DOI: <https://doi.org/10.1038/s41598-019-50463-y>.

UOC R&I

La investigación e innovación de la UOC contribuye a la solución de los retos a los que se enfrentan las sociedades globales del siglo xxi, mediante el estudio de la interacción de las TIC con la actividad humana, con un foco específico en la educación en línea y la salud digital. Los más de 400 investigadores y 46 grupos de investigación se articulan en torno a los siete estudios de la universidad y tres centros de investigación, el IN3, el eLearn Center y el eHealth Center.

Los objetivos de la Agenda 2030 de Desarrollo Sostenible de las Naciones Unidas y el conocimiento abierto son ejes estratégicos de la docencia, la investigación y la innovación de la UOC. Más información: research.uoc.edu.

Expertos UOC

Contacto de prensa

También te puede interesar

Más leídos

Ver más sobre Investigación