Git turns 15, and becomes even more important for distributed development
Commentary: Now that the work-from-home genie is out of the bottle, Git may become the enterprise’s best friend, especially when it comes to recruiting and retaining top developer talent.
“Every company is a software company!” is the new platitude as companies seek to transform themselves. But buried in that statement is an equally true, and much more interesting observation: Every company is also increasingly dependent on and driven by Git, the distributed version control system developed by Linux creator Linus Torvalds 15 years ago.
Git wasn’t the first version control system for software, but it’s had a profound impact on how all organizations build and, increasingly, operate software. To better understand why and how Git has changed the way all organizations build software, I talked with Brendan O’Leary, senior developer evangelist at GitLab.
SEE: How to build a successful developer career (free PDF) (TechRepublic)
A new way of doing old things
Pre-Git, developers turned to other version control systems like Subversion or CVS. Git, however, was different. As O’Leary noted, “Before Git, the vast majority of popular source code management tools were centralized.” While such tools were popular, centralized source code management “meant that everyone had to connect to a central server to get any work done.” While inconvenient, this was workable within enterprises where engineers were geographically proximate to each other.
In the open source world, it was a real problem, given the inherently distributed nature of the development being done. The real genius of Git was that it introduced distributed version control, which “brought to reality the ability to work on code in a distributed fashion, even with large codebases like the Linux kernel,” said O’Leary.
Additionally, Git enabled asynchronous workflows by default. “Whether it’s the open source engineers working on the Linux kernel or a distributed team of engineers across the globe, asynchronous work is critical,” argued O’Leary. “Git enables this by being distributed–every engineer gets a copy of the entire repository and all of its history. Lightweight branching and merging allows engineering teams to split work into smaller, more manageable changes which then allows asynchronous workflows to be successful.”
In these ways, and because Git was open source itself, Git served as the spark that made an already emergent open source ecosystem absolutely explode over the last 15 years. Whether developed for use or sale, most software today heavily depends on open source components. Git plays a critical role in fostering this open source supply chain.
As important as Git has been for enabling such distributed development, it just became even more so, given widespread work-from-home policies. Sure, it’s possible that everything will go “back to normal” once theeases, but it’s just as likely that companies will realize that “the new normal” started 15 years ago with the introduction of Git.
O’Leary seems to see it that way.
“Enterprises find themselves with many of the same challenges that open source projects have: Coordinating large groups of engineers toward a common goal of delivering better software faster.” He should know, given that his employer, GitLab, has been “remote-first” from the start.
SEE: Top 100+ tips for telecommuters and managers (free PDF) (TechRepublic)
But there’s very likely a perfect storm brewing to nudge more companies to embrace the GitLab model, O’Leary said. “Many factors have already been pushing organizations to consider how they recruit and retain engineering talent, and many have already established operations outside of the traditional technology hubs of the world.” Along the way, he continued, “As many of those organizations see the other tangible and emergent benefits of enabling remote work, I believe that Git will be a key part of that story.”
Disclosure: I work for AWS, but nothing herein relates to my employment there.