Current events

Millions of developers collaborate on social media to drive software into the future

  Foto: Max Nelson / Unsplash

Foto: Max Nelson / Unsplash

The GitHub platform unites experts and companies that write code for technological developments

The future of software is looking bright thanks to GitHub, a social media platform for developers that has over 40 million users, a quarter of whom joined in 2019 alone. The platform was bought by Microsoft a year ago for more than $7.5 billion. In an article published in the Nature Publishing Group journal Scientific Reports, researchers from the Universitat Oberta de Catalunya (UOC) analysed the inner workings of this altruistic model, in which both multinationals and volunteer developers take part in writing code that can be exploited or developed further by any user.

The UOC researchers looked at 65 projects that involved more than 28,000 developers. "GitHub is a platform for developing open source software and works like a public repository", said Mara Jos Palazzi, researcher for the group Complex Systems (CoSIN3) at the Internet Interdisciplinary Institute (IN3). She continued: "It allows users to create code for their own professional projects and share it with their community, as well as giving experts the chance to contribute to projects already uploaded to the platform by making changes, validating them, improving what's already there or adding new modules, whether they're professionals or amateurs." Javier Cnovas, a researcher from the Systems, Software and Models (SOM Research Lab) group, also from the IN3, explained: "Some big companies such as Facebook and Netflix have developed their code on GitHub, which means anyone can openly see how their projects evolve and even contribute to them, although most people don't dare. This model of collaborative working supports transparency. Although companies continue to develop software projects privately, collaborative development on platforms like GitHub is becoming much more commonplace." According to Cnovas, even though this model of working is not essential for large corporations, it is becoming more popular, as are openly coded technological developments.

 

Shopping for software

One of the largest projects in terms of contributions and number of developers involved is TensorFlow, an open source coding library for machine learning powered by Google, on which more than 10,000 users from around the world have collaborated. "Small projects are also listed. I have been able to adapt a small library of software to my own needs, thanks to another GitHub user," Palazzi explained. GibHub can also help you raise your profile among prospective employers. "Some people use the platform as a personal repository; given that users are visible to experts from the field, the latter group can get in touch with them to collaborate with or even hire them," she highlighted. Cnovas, who has an active GitHub profile, said: "By looking at developers' profiles we can check what programming language they are experts in and in which direction they're focusing their specializations. It can also be a great platform for recruiting developers."

On GitHub you can find anything from highly consolidated software solutions to specific languages such as JavaScript, to determined developments with specific functions. Code is written and shared so that other users can access it and decide whether they want to collaborate on its growth. The majority of the developers are men aged 23 to 32 from the United States and Europe.

 

Organizing collaborative work

"GitHub projects aren't organized into a vertical structure like in businesses", Mara Jos Palazzi explained, "the hierarchy isn't determined by interactions among the developers, but by each project's make-up: one person might decide to work on a specific module whilst someone else concentrates on another from the same initiative." The UOC researchers' aim was to analyse which organizational formula is most commonly followed in the most successful projects, taking a sample of 65 of the 100 most popular projects. Just like with e-commerce sites, the platform allows users to rate the projects using a star system, which means the most popular ones obtain greater visibility, regardless of their size or seniority.

Palazzi said: "The tasks are subdivided: not everyone works on all parts of the project; rather, there are subdivisions of developers focused on specific areas. We might also see a hierarchy where the project drivers dedicate their efforts to the majority of tasks and have external developers occasionally make one-off contributions." That doesn't mean there's no structure to the work, but rather that "projects seem to have an internal structure made up of subgroups, which are in turn organized independently," she clarified.

 

A limit to human relationships

As regards the size of the work groups, in theory there is virtually no limit to their expansion, but the UOC researchers believe that some limits are likely to emerge. "There is a kind of unwritten cap on groups' size and on how the collaborators in the project are distributed, regardless of the size of the whole project," Palazzi said. She also pointed out that the projects they analysed had an average of 400 developers working on them, while the largest they studied involved over 1,700 collaborators. In terms of the subgroups, the researchers found that the number of collaborators rarely surpasses 200 developers, regardless of how big the project itself is.

According to the UOC expert, these maximums are related to those that are generally found in social environments. "There is a limit to the number of feasible relationships among people that is closely linked to our cognitive limitations," she said, pointing out that, if we look at Twitter, "The maximum volume of interactions that users have with each other is not determined by the technology, but by human factors."

 

Article reference

Palazzi, Mara J.; Cabot, J.; Cnovas 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: <10.1038/s41598-019-50463-y>.

 

UOC R&I

The UOC's research and innovation contributes to overcoming the challenges faced by the global societies of the 21st century. It focuses on studying the interaction between human activity and information and communication technologies, paying particular attention to e-learning and digital health. The UOC's more than 400 researchers and 46 research groups are linked to its seven faculties and three research centres: IN3, eLearn Center and eHealth Center.

The UN's 2030 Agenda Sustainable Development Goals for a fairer, more equitable world and open knowledge mark the strategic bases for the University's teaching, research and innovation. More information: research.uoc.edu.

#UOCexperts

Mara Jos Palazzi

Researcher for the group Complex Systems (CoSIN3) at the IN3

Expert in: Mechanisms in complex networked systems

Knowledge area:

Information and communication technologies

Javier Cnovas

Researcher from the Systems, Software and Models (SOM Research Lab) group at the IN3

Expert in: Software modelling

Knowledge area:

Information and communication technologies