GitLab is a company built around community principles from its first commit. A champion of openness and transparency, it’s innovated not just on product, but on company-building generally [4] with an OpenCore business model [3] and an all-remote team of almost 2,000 people [2]. Initially derided as a GitHub clone, it has proven its naysayers wrong, becoming a leader in the DevSecOps space with an estimated 30M users [1] and revenues of over $125M in Q1FY24, up 45% from last year [5].
Thanks to its open-source community, more than 3,000 people have contributed code to GitLab. Community contribution is a core growth driver, forming part of its Dual Flywheel growth model. This deep dive takes a look at the programs that enable this flywheel and how it delivers business results.
✔️ Origin Story: How GitLab and its community got started.
✔️ Dual Flywheel: How community enables product development and adoption.
✔️ Key Programs: The programs that keep the flywheel going and drive business results.
✔️ Return on Community: The value GitLab creates for members and its own business.
Let's get into it 🫡
GitLab was started by Dmitriy Zaporozhets and Valeriy Sizov as an open-source project in 2011 [3]. Within a year it had 300 people contributing code back to it [7]. Dmitriy and Valeriy were joined by Sytse “Sid” Sijbrandij in 2012 and together GitLab became a for-profit company in 2014 [6] with Sid as CEO. With just 9 employees, they joined the startup accelerator, Y Combinator, in 2015 [8] but by 2018 they had become the first partly Ukrainian unicorn [1]. They went on to IPO on October 14, 2021 - 10 years to the day of its first commit [9].
GitLab is an open-source platform that hosts mostly closed-source code [10]. Its core audience is made up of developers, security professionals, and operations professionals [9]. Initially, they focused on building a source code management solution for collaborative software teams. It has since expanded to become a comprehensive, integrated DevOps platform with solutions for every part of the DevOps lifecycle [11]. There’s functionality for collaborating on code, verifying it, hosting it, monitoring its performance, and securing it with best practices [6]. Through this platform approach, it has been successful in displacing multiple point solutions, as Sid explains [3]:
“In the beginning, they might just replace Bitbucket and Jenkins. Now over time, they replace JFrog Artifactory and they replace their customer release scripts, and they replace Synopsys… it's a gradual process of adopting.”
GitLab has a freemium model and sells to all business segments [37] but generates the majority of its revenue from larger companies [3]. While everyone was flocking to SaaS, GitLab stuck to a self-hosted model for many years [4] and most of its customers self-manage GitLab in a private or hybrid cloud [6]. It has since added a SaaS offering, which is growing quickly - accounting for 9% of ARR in 2020 and 16% in 2021 [6]. Beyond those subscription and license fees, it makes money by selling professional services such as training and implementation, as well as offering technical support and assistance [11]. It’s doing well - revenue growth is up 58% year-over-year [3], while its dollar-based net retention revenue was a best-in-class 152% as of July 31, 2021 [6] and it has a dollar-based gross retention of 97%. Sid says [3]:
“That's partly due to GitLab's collaborative relationship with customers contributing to the platform.”
It has an OpenCore business model, which means that most of its product offering is free and open source, while some functionality is proprietary and monetized [3].
“We MIT-licensed the enterprise edition”, says Sid, “which I think is pretty unusual for enterprise software.” Meanwhile, its proprietary code is source available, too. This has enabled millions of users to adopt the platform, with thousands of people contributing code, translations, and documentation for it [3].
Community has been part of every step of the GitLab journey and its role in its go-to-market strategy is just as critical [4].
GitLab has two go-to-market motions. There’s its product-led motion targeting developers and then there’s a top-down sales motion that goes after C-level execs [9]. In each instance, they’re selling three tiers of access: Free, Premium, and Ultimate. They’re sold on a per-user basis, with prices ranging from $19 to $99 per month. Its target persona for Free is developers, while Premium is for managers and directors, and Ultimate is for executives [6].
This pricing and packaging is a deliberate strategy that builds on an understanding of the failures of many open-source companies that have attempted to monetize their offerings. Often open-source projects try to turn their once free offering into a paid one, which causes several problems, not least of which is that it’s difficult to sell something you’ve been giving away for free [14]. So GitLab doesn’t sell to its community of developers directly, instead, it tries to turn developers into champions who use GitLab for their own projects and then recommend it to their employers when a need arises [13]. “They basically become this internal champion,” says former Director of Growth, Hila Qu [37]. It’s what powers its land and expand motion. “We start with five developers, and the next thing we know there's 50 and then 500, and then the executive starts saying, ‘Okay, I need to understand more about this’,” says CMO Ashley Kramer. One example of this is Siemens. A small team within Siemens adopted GitLab for collaboration and version control to embed software into their devices. This caught on within Siemens and its development teams shifted to focus on DevOps CI/CD, evolving its IT infrastructure to AWS with GitLab, and it now has over 40,000 users [15].
There are three other common failings of open-source companies that GitLab has deliberately set out to avoid, which Sid explains [3]:
“First, the lack of transparency around the direction of the project. Second, putting the company's interest before the project. And third, a reduction in company involvement in or support of the open communication channels.”
GitLab has worked to mitigate each one by building trust through transparency and with a series of public commitments that it has lived up to.
In 2016, GitLab published a post outlining a commitment to transparency [3]. In doing so, they began sharing everything from its company and product strategy to how its marketing and sales teams operate in its public handbook. I’ve worked for a couple of startups that also have open handbooks, but they were more a gesture of openness than a true commitment to it. GitLab’s approach is different. They share almost everything, even since going public. You can read about their quarterly team goals, the outcomes of past OKRs, and even see what tasks a team is tackling on an open Kanban board.
If you were to print out the GitLab handbook, it’d cover more than 2,000 pages. Everyone is invited to not just read it but to suggest changes via a merge request [3].
In the handbook, they document an explanation of its OpenCore business model, the criteria used to determine paid-for features, and a commitment to only putting features that would be mainly useful for larger organizations into the Enterprise Edition of its software [3].
There’s also a Stewardship page, which outlines 11 further commitments of things they will and won’t do, including things like not moving features from free to paid tiers, or artificially limiting or delaying features on the free tier [3]. While its Direction page outlines its priorities and its future release roadmap.
These documents eschew many of the concerns that users have in making a long-term commitment to open-source software. By making such commitments, and then living up to them day in and day out for years, they’ve been able to build trust with its wider community. This has gone a long way in helping them successfully navigate the treacherous path of open-source monetization.
Transparency even helps them during the sales process. As Ashley says, “I go into sales conversations with customers, and they really love that. They love that transparency. It makes them feel more comfortable investing in us because they feel like they're part of the team” [9]. And it’s working for its community. As Sid explains:
“Most of the time, when a company starts commercializing an open-source software project, the wider community around the project shrinks. This has not been the case with GitLab.”
He goes on to point out that, “The wider community around GitLab is still growing… In our first year, we received just over 300 code contributions. Now, we frequently exceed this number in a single month” [3].
Let’s take a closer look at the community itself and the programs it uses to encourage contribution and grow its impact.
For GitLab, its community includes all GitLab users, including the GitLab Inc. team, as well as contributors to GitLab, and its free users and paying customers. Sid says [3]:
“When speaking about members of the community that are not company team members, we use the term ‘wider community’. That's a reminder that the community includes every team member of the GitLab company. We are part of that larger community.”
As Abubakar Siddiq Ango, Developer Evangelism Program Manager at GitLab, says: “If the only thing you have ever done is comment on an issue or a forum post, you are part of our community” [16].
At the heart of GitLab’s community strategy is the concept of the Dual Flywheel. Its dual flywheel development strategy combines development spend and community contribution to create a virtuous cycle: More contributions lead to more features, which leads to more users, resulting in more contributions [15].
In essence, the dual flywheel extols the benefits of co-creation with your community. Members can create and submit the features they want, GitLab gains a new feature, and all customers benefit from it [9].
GitLab is in a competitive space and this community contribution capability provides it with a unique competitive advantage. Most of its competitors are closed platforms, so they have to develop everything themselves. Whereas GitLab has people around the world contributing and helping move their product forward [9].
Between January and October 2021, for example, GitLab merged an average of 335 community code contributions each month, which significantly accelerated its development [3]. That represents around 11% of total contributions, all coming from a diverse range of volunteers, customers, resellers, and partners [8]. One of the primary advantages of making its proprietary code source available is that customers feel empowered to co-create the product. As Sid says, “Customers don't need to sit around and wait until we prioritize the feature they want. If a customer has a business need for a feature, they can contribute to it.” Many of them do: over 50% of those contributions came from users on paid tiers [3] and more than 2,600 people have contributed to GitLab in total as of July 31, 2021 [15].
Sid says, “Building an active community requires intentional effort, but it's very valuable”. He goes on to outline some of the benefits of community to GitLab [3]:
“An active, wider community helps co-create the product, which leads to a more complete product and maturing at a faster rate. It also provides feedback about what is working, it helps us to iterate and improve the product more quickly, and it creates awareness and champions for the product and the company.”
There are a few gathering places for the wider community, they can connect with GitLab team members in its public Discord rooms, some members have access to the company Slack [17], and there’s also a Discourse-based forum [18].
“A community is hard to build and easy to lose. So invest heavily in your community and keep it top of mind with every decision that you make.”
It invests in its community through various programs, which it optimizes through the concept of the community funnel. It’s a useful concept to “understand the different ways that our community engages with us and… helps us become more efficient in moving people through,” says John Coghlan, Director of Developer Relations at GitLab. The community funnel acts as “a forcing function to the community team or community manager to define the touch points that you want to have with your community” [19].
We’ll consider each stage of this funnel and the programs it deploys.
At the bottom of the funnel is advocacy. John says, “Advocates are your most valuable community members,” and “you need to invest in programs and resources and encouragement… to keep these people engaged” [19]. To do that, GitLab runs programs that help support this key group of members.
GitLab Heroes
Its GitLab Heroes program intends to recognize members of the wider GitLab community who make outstanding contributions to GitLab [20]. The form that those contributions can take varies from improving documentation to contributing code, organizing meetups, giving tech talks, or writing blog posts. But the scale of your contribution is given one of three titles from Contributor to Hero and Superhero.
Depending on your level of contribution, you’re eligible for different levels of rewards, which range from Heroes swag and shoutouts on the GitLab company call and social media, to free GitLab licenses, conference invites, and access and coaching from the GitLab team [20].
They currently recognize 95 GitLab Heroes with 30 past alumni. They review Hero member activity twice a year to ensure you’re maintaining active involvement [21].
Heroes isn’t the only form of recognition within the community, though. Since 2011, GitLab has published a new release on the 22nd of every month [8]. Someone is named MVP for their contributions to that release and they get added to its Hall of Fame list.
“We actually tend to hire a lot of people who end up on that list,” says Amanda Folson, a former Developer Advocate for GitLab. “I think all of the top 20 now work at GitLab” [22].
Evangelist program
GitLab has a program to proactively encourage and support members in becoming advocates. As part of this, they guide you towards contributing in some specific way, such as by joining in conversations on social media, submitting a merge request, organizing a meetup, or speaking at an event. For example, for those giving a talk, they offer help with speaker prep by providing feedback on a dry run of your talk [21]. “The idea is to get those people prepared so that they're able to make a great impression on the communities that they're presenting to,” says John. “We also have things like GitLab slide templates and even some prepared decks and demos” [23].
They even make it easy for event organizers to find speakers for their events with the Speakers Bureau. This is a list of volunteer speakers, which anyone can add themselves to that you can filter by region, topic, and affiliation [24].
However, it’s not just events that its evangelist program supports. Jamie Rachel, former Evangelist Program Manager, used to host an event series called Beyond Code, highlighting the different ways that people can contribute to GitLab in other ways beyond coding [23].
Meetups and Hackathons
With that said, it does have a few event-specific programs. They have a meetups program, host regular Hackathons, and organize some of their own events.
Sid admits to being skeptical about the efficacy of Hackathons but says “They've been a great success in bringing the community together and helping them contribute.” For example, a recent Hackathon resulted in 244 merge requests and the most it ever received was following a Hackathon in Q1 2021 when they received 390 merge requests, exceeding the amount they typically see in an entire month [3]. Its Hackathons are typically virtual events for people to contribute code, translations, UX designs, and more, and run over 7 days to be inclusive [24]. Winners receive coupons to redeem in its swag store, and they’ve proven to be especially popular among students [21].
It also has a meetups or user groups program, supporting locally managed get-togethers of users, developers, and fans of GitLab to share use cases, experiences with GitLab, and their broader passion for open source. Managed with Meetup Pro, they currently support 59 groups in 33 countries and a total of 19,486 members [26].
Members of the GitLab team work collaboratively with organizers “as they go through the group creation and then subsequently the event creation process,” says John. “We provide financial support for the groups… covering the cost of food and drink and sending swag. And then we'll work with organizers to connect people with speakers and hosts” [23]. They also help with promoting the event, too, sharing the event on its blog, on social media, and with local GitLab community members [21]. It’s during the early phases when organizers need the most help, so they even try to have GitLab employees attend the first couple of meetups [21]:
“It is much harder to start new meetups versus maintaining existing ones. So we make an effort to support and keep new meetups going”.
The next level above advocacy in the funnel is contribution. At the contribution level, members go from lurkers to active contributors by creating in some way - whether that’s adding comments on an issue, reporting bugs, creating forum posts, replies, or something else [19].
Code contribution is a particular priority for GitLab given its critical role in the dual flywheel growth loop. They have an ambitious goal to hit 1,000+ monthly contributors by 2025 [27]. To that end, they have a Contributor Success team whose goal is to deliver technical improvements and improve the efficiency of their contribution process [27].
A big part of that is the contributor experience and they're tackling that with merge request coaches. These are GitLab team members who triage contributions and help new and experienced contributors alike through the process of contributing to GitLab [3]. They also have the concept of resident contributors, encouraging folks who are using GitLab to have people on their team who are regular contributors to GitLab [28]. Along similar lines, the Leading Organization program incentivizes organizations to become active contributors to GitLab. A company or individual qualifies for unique benefits by reaching 20 merged merge requests in a 3-month period [27].
Improving contributor success requires a cross-functional effort, working with Engineering and Product Development teams on technical improvements, as well as engaging with Customer Success Managers to flag and enable contributions from customers [27]. They also hold regular community office hours to engage with the wider community on this effort [27].
GitLab currently engages with more than 3,000 developers every month who contribute in some way across its various properties on GitLab.com [17].
Higher up the community funnel, you get into areas beyond what many would regard as community. At the intent level, these are people showing intent to contribute to your community by joining a forum or opening an issue. Interest is those who know of the community and want to learn more, so it’s those signing up for an event, webinar, or following you on social. At the top of the funnel is awareness, and here efforts focus on making more people aware of the community through events, content, and other methods. If you've been successful in nurturing advocates, they'll be helping with these awareness-raising efforts, too.
These stages primarily fall into the realm of the wider Developer Relations team and focus a lot on “developer education stuff,” says Amanda. This goes pretty broad and can include topics that have “nothing to do with GitLab directly, but provides a window to talk about things that are affecting developers” [22].
Free programs
However, they have a number of community-run programs that are aimed at growing the wider community, which also support causes that align with its mission of enabling everyone to contribute. These include free licensing of its paid plans for education institutions, open source organizations, non-profits, and startups [3], using the SheerId platform to automatically qualify applications [31]. These programs aim to “put GitLab's most powerful features in the hands of communities who may not otherwise have the means to access them” [29]. Qualifying people can apply for these programs on its site but there is also an outbound aspect. Team members specializing in open-source focus their community growth efforts on identifying and cultivating strategic relationships with key open-source projects and organizations [29].
Its GitLab for Education Program provides GitLab free to students, teachers, and faculty at educational institutions around the globe for teaching, learning, and research. The goal here is a long-term one, they’re encouraging the adoption of GitLab and sourcing evangelists and contributors in the next generation of the workforce. The program currently supports 1 million users at over 1,000 institutions in 80+ countries [30].
Benefits of these programs to end-users include complimentary subscriptions to GitLab Ultimate, as well as direct access to GitLab team members and opportunities to partner with GitLab for presentations and events [29]. The return GitLab gets is mostly in content, they work with organizations and members to spotlight them via case studies, articles, webcasts, and videos [29]. They’re also a useful source of product feedback and they work with Product and Engineering teams to make sure their unique needs are taken into account on the GitLab roadmap [29].
Interestingly, you won’t see any people with a ‘community manager’ title at GitLab. As Sid says, “A community is something that each of us as team members are part of, and that's something that can’t be managed or controlled” [3]. So instead they prefer the term community relations. With that said, there aren’t many people with that title now either as many community team members were included in its 7% force reduction earlier this year, eliminating 130 positions [2]. Other team members have been moved into the Developer Relations team but many of its programs are still active.
They monitor several KPIs to track the success of its programs, including metrics like wider community contributors per month, meetups per month, wider community merged MRs per release, Developer Evangelism monthly impressions (which focuses on views across its social channels), as well as active seats across its free program. They also have a unique metric they created: MRARR - calculating the revenue from customers who have merge requests merged [17], giving them a measure of how its biggest customers are contributing to GitLab [32].
“Our biggest customers that spend the most money on GitLab are the most enthusiastic about us,” says Sid. “But it also tends to be organizations where it's harder for individual contributors to commit to an open-source project”. If they try and increase the total number of contributors, then this important group would often get overlooked, so they devised a metric to make sure that this doesn’t happen [33].
To track these, and the broader impact of its community efforts, it uses a combination of Common Room, Bitergia, and Sisense.
Common Room is used to aggregate, review, and take action on insights from across its community platforms. That includes monitoring segments like Heroes, Core Team, and MVPs. As well as seeing which topics are trending for content creation, tracking sentiment to get a pulse on community health, and spotting new contributors and organizations. They also use its revenue-driving functionality to accelerate Sales pipeline generation with key contextual information from community interactions [43].
Bitergia is used to surface open-source contribution statistics, and these stats are publicly accessible, while they make other key charts publicly available with Sisense [31].
The benefits GitLab derives from its community are many. An important one is hiring. Sid says “90% of the hires we make are inbound. We get 3,000 applications every week.” As Amanda said, they did initially hire from within its community, but this is something Sid now cautions:
“It might be tempting to hire from the wider community over time. You should focus your active recruiting efforts elsewhere to avoid depleting your wider community” [3]. This can be a tricky balance to get right - while community can help surface amazing and well-motivated talent, hiring community members changes the dynamic, and it can be difficult to replace the role they played within the community.
GitLab receives more than 250 contributions every month [17]. Some of these contributions can be substantial. For example, one contributor Kamil Trzciński, a member of the wider community, created a better version of the GitLab CI enabling it to run jobs in parallel, which became the default runner and was included in the application. And they ended up hiring Kamil, too [15].
John highlights that “our community provides us with really valuable feedback” [19]. They actively encourage this with their GitLab First Look early-access program [34]. Participants take part in surveys, user interviews, and usability tests. When you sign up, you provide the team with relevant details about your experience with GitLab, enabling their product team to speak with the right people at the right time, and in return, they can influence what GitLab builds next [34].
A lot of feedback also comes in via their open public issue tracker, as well as from other channels, like on social, Hacker News, and their forum [28]. The community then reports that back to the product and product marketing teams. John says we tell them “This is what the community is interested in, this is what the community is using, these are the trends that we're seeing in the space… and that helps them be more successful as they're building out their roadmaps” [28].
While Hila highlights the value of community in raising awareness. It’s a “slow and steady channel,” says Hila. “You need to put in a lot of work, but once they are established, it's harder to change as well” [35].
An unexpected benefit of community was shown in its role in avoiding a PR disaster. In January 2017, a senior engineer (referred to as "team-member-1") accidentally deleted the production database in the aftermath of a cyber attack, causing the loss of a substantial amount of issue and merge request data and causing an extended outage [1]. True to its transparency commitments, they shared a public Google doc where they shared details of the recovery live. When they shared the news in a tweet they were expecting an angry backlash. But that’s not what happened. Instead, they saw an influx of positive, supportive responses. The hashtag #HugOps began trending, "team-member-1" was sent gifts in the mail, and GitLab ended up making a commemorative t-shirt [42]. Its years of building social capital paid off and the wider community rallied to support them [36].
Community has been part of the GitLab journey from its first commit [28]. By encouraging and improving the contribution experience it has enabled thousands of people to contribute to GitLab, both to its product and the company generally. They’ve tackled the concerns their developer audience has about its open-source model head-on. As Ashley describes, the result is that the GitLab community has become the “best marketing asset, our best product incubator, and… a giant competitive advantage” [9].
That’s it! That’s how community growth works at GitLab. See the sources below to dig into more details. If you found this newsletter useful, please share it with friends and colleagues. And if you haven’t already, subscribe below. ✌️