Programming code abstract technology background of software developer and Computer script
vintage computer isolated on white

story

Accelerating Distributed Collaboration

Open source software (OSS) enables efficient and low-cost innovation. Its success can be attributed to “the power of the crowd”: it draws on expertise from a large number of distributed participants because the source code is released to the public so that anyone can edit, improve, and study the code. This distributed collaboration would not be possible without tools like git. Git is an open source tool that enables task management and version control; it allows tasks to be assigned, tracks changes to documentation and code, and merges changes.

Git emerged from the open source software movement. Prior to git, version control was both inefficient and difficult to manage for large projects such as Linux, the first open source operating system project. Frustrated with the project’s version control system, Linux project lead Linus Torvalds made the controversial decision to use a quasi-proprietary software for version control, BitKeeper. The decision created tension with members of the Linux community who believed all tools used in the project should be open source. Some Linux community members attempted to develop open source alternatives, including one who reverse-engineered BitKeeper, violating the software license. BitKeeper was revoked, halting the Linux project for the first time. To get the project back up and running, Torvalds developed an open source version control tool with improved efficiency and functionality—git.

Git has become so popular that, according to a 2018 survey, it is the preferred collaboration tool of 90% of software developers. Communities have coalesced around git. For example, GitHub and GitLab are platforms that grew from and hosts git technology; they are spaces for those working on open source projects to collaborate. In fact, the GitLab and GitHub communities host networking spaces, events, forums for troubleshooting, and classes. There are even guidelines that outline community norms and values around using git technology in the GitHub community.

Like OSS, git technology and the GitHub and GitLab communities are instrumental to sharing and improving open source hardware projects, such as acoustic devices for conservation. However, the lack of tools for distributed collaboration specific to hardware design files (e.g. CAD or STL) remains a barrier to open hardware projects. Going forward, there is a demand to continue to build efficient open source tools, like git, for hardware, that can have a lasting impact on open source collaboration.