This website uses cookies

We use cookies to personalize content and ads, to provide social media features and to analyze our traffic. You consent to our cookies if you continue to use our website. 

These cookies are necessary for the Website to function and cannot be turned off in our systems. They are usually only set in response to actions made by you which amount to a request for information or services, such as logging in or filling in forms on our Website. You can set your browser to block or alert you about these cookies, but some parts of the Website will not then work. These cookies do not store any personally identifiable information.
NameProviderPurposeExpiryType
BIGipServer# [x2]194-vvc-221.mktoresp.com
app-ab13.marketo.com
Used to distribute traffic to the website on several servers in order to optimise response times.SessionHTTP
CookieConsentabout.gitlab.comStores the user's cookie consent state for the current domain1 yearHTTP
__cfduid [x3]codepen.io
medium.com
puu.sh
Used by the content network, Cloudflare, to identify trusted web traffic.1 yearHTTP
JSESSIONIDnr-data.netPreserves users states across page requests.SessionHTTP
f5_cspmpubmatic.comSaves the address and port number of the web server that is managing the session. Used to improve the website's performance security.SessionHTTP
These cookies enable us to provide enhanced functionality and personalization for our website. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly
NameProviderPurposeExpiryType
DFTT_END_USER_PREV_BOOTSTRAPPEDabout.gitlab.comBoolean indicating the user has previously been authenticated.2 yearsHTTP
lang [x2]ads.linkedin.com
cdn.syndication.twimg.com
Remembers the user's selected language version of a websiteSessionHTTP
__jiddisqus.comUsed to add comments to the website and remember the user's Disqus login credentials across websites that use said service.SessionHTTP
languageslideshare.netSaves the user's preferred language on the website.SessionHTTP
These cookies collect information about how visitors use our Website, for instance, the number of visits, which pages visitors go to most often, and if they get error messages from web pages. These cookies don’t collect information that identifies a visitor.  These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
NameProviderPurposeExpiryType
_dc_gtm_UA-#about.gitlab.comUsed by Google Tag Manager to control the loading of a Google Analytics script tag.SessionHTTP
_ga [x2]about.gitlab.com
teleport.org
Registers a unique ID that is used to generate statistical data on how the visitor uses the website.2 yearsHTTP
_gat [x2]about.gitlab.com
teleport.org
Used by Google Analytics to throttle request rateSessionHTTP
_gid [x2]about.gitlab.com
teleport.org
Registers a unique ID that is used to generate statistical data on how the visitor uses the website.SessionHTTP
driftt_aidabout.gitlab.comAnonymous identifier token2 yearsHTTP
__utma [x3]disqus.com
slideshare.net
speakerdeck.com
Collects data on the number of times a user has visited the website as well as dates for the first and most recent visit. Used by Google Analytics.2 yearsHTTP
__utmb [x3]disqus.com
slideshare.net
speakerdeck.com
Registers a timestamp with the exact time of when the user accessed the website. Used by Google Analytics to calculate the duration of a website visit.SessionHTTP
__utmc [x3]disqus.com
slideshare.net
speakerdeck.com
Registers a timestamp with the exact time of when the user leaves the website. Used by Google Analytics to calculate the duration of a website visit.SessionHTTP
__utmt [x3]disqus.com
slideshare.net
speakerdeck.com
Used to throttle the speed of requests to the server.SessionHTTP
__utmz [x3]disqus.com
slideshare.net
speakerdeck.com
Collects data on where the user came from, what search engine was used, what link was clicked and what search term was used. Used by Google Analytics.6 monthsHTTP
disqus_uniquedisqus.comCollects statistics related to the user's visits to the website, such as number of visits, average time spent on the website and loaded pages.1 yearHTTP
_mkto_trkgitlab.comAnonymous web activity in browser for Marketo2 yearsHTTP
optimizelyEndUserIdgitlab.comUsed to measure how selected users react to targeted changes to the website's content and functionality, in order to determine what variation is most efficacious in terms of converting users to customers.179 daysHTTP
__utm.gifgoogle-analytics.comGoogle Analytics Tracking Code that logs details about the visitor's browser and computer.SessionPixel
_uv_idslideshare.netCollects data on the user's visits to the website, such as which pages have been read.2 yearsHTTP
vuidvimeo.comCollects data on the user's visits to the website, such as which pages have been read.2 yearsHTTP
@@History/@@scroll|# [x5]about.gitlab.com
disqus.com
optimizely.com
twitter.com
youtube.com
UnclassifiedPersistentHTML
These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other websites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.
NameProviderPurposeExpiryType
d-a8e6about.gitlab.comUsed by Accolade - https://www.accolade.com/privacy-policy. It is an advertising cookie29 daysHTTP
driftt_sidabout.gitlab.comIdentifier token for a specific browser session.SessionHTTP
st-shabout.gitlab.comSwiftype - https://swiftype.com/privacy99 yearsHTTP
BizoIDads.linkedin.comRegisters anonymised user data, such as IP address, geographical location and what ads the user has clicked with the pupose of optimising ad display based on user's movements on website directly related to displaying ads from LinkedIn. 179 daysHTTP
UserMatchHistoryads.linkedin.comCollects anonymous data related to user's visits to the website with the purpose of displaying targeting ads from LinkedIn. 179 daysHTTP
cbidswitch.netRegulates synchronisation of user identification and exchange of user data between various ad services.1 yearHTTP
tuuidbidswitch.netRegisters whether or not the user has consented to the use of cookies.1 yearHTTP
tuuid_lubidswitch.netRegisters preferred language1 yearHTTP
CMDDcasalemedia.comCollects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.SessionHTTP
CMIDcasalemedia.comCollects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.1 yearHTTP
CMPROcasalemedia.comCollects anonymous data related to the user's visits to the website with the purpose of displaying targeted ads. 3 monthsHTTP
CMPScasalemedia.comCollects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.3 monthsHTTP
CMRUM3casalemedia.comCollects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.1 yearHTTP
CMSCcasalemedia.comCollects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.SessionHTTP
CMSTcasalemedia.comCollects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.SessionHTTP
__adrolld.adroll.comRegisters a unique ID that identifies a returning user's device. The ID is used for targeted ads.1 yearHTTP
disqusauthdisqus.comAllow users to comment in section via third-party software ‘Disqus’.SessionHTTP
GFE_RTTdocs.google.comRelated to Google docsSessionHTTP
Sdocs.google.comRelated to Google SheetsSessionHTTP
IDEdoubleclick.netUsed by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.1 yearHTTP
test_cookiedoubleclick.netUsed to check if the user's browser supports cookies.SessionHTTP
DRIVE_STREAMdrive.google.comGoogle DriverSessionHTTP
frfacebook.comUsed by Facebook to deliver a series of advertisement products such as real time bidding from third party advertisers.3 monthsHTTP
trfacebook.comUsed by Facebook to deliver a series of advertisement products such as real time bidding from third party advertisers.SessionPixel
optimizelyDomainTestCookiegitlab.comUsed to check if the user's browser supports cookies.179 daysHTTP
ads/ga-audiencesgoogle.comUsed by Google AdWords to re-engage visitors that are likely to convert to customers based on the visitor's online behaviour across websites.SessionPixel
ads/user-lists/#google.comUsed by Google AdWords to re-engage visitors across the web in ad groupsSessionPixel
NIDgoogle.comRegisters a unique ID that identifies a returning user's device. The ID is used for targeted ads.6 monthsHTTP
collectgoogle-analytics.comUsed to send data to Google Analytics about the visitor's device and behaviour. Tracks the visitor across devices and marketing channels.SessionPixel
bcookie [x2]linkedin.com
slideshare.net
Used by the social networking service, LinkedIn, for tracking the use of embedded services.2 yearsHTTP
bscookielinkedin.comUsed by the social networking service, LinkedIn, for tracking the use of embedded services.2 yearsHTTP
lidclinkedin.comUsed by the social networking service, LinkedIn, for tracking the use of embedded services.SessionHTTP
iopenx.netRegisters anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network.1 yearHTTP
KRTBCOOKIE_#pubmatic.comRegisters a unique ID that identifies the user's device during return visits across websites that use the same ad network. The ID is used to allow targeted ads.399 daysHTTP
PUBMDCIDpubmatic.comRegisters a unique ID that identifies the user's device during return visits across websites that use the same ad network. The ID is used to allow targeted ads.3 monthsHTTP
ck1rlcdn.comCollects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.179 daysHTTP
rlas3rlcdn.comCollects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.179 daysHTTP
UIDscorecardresearch.comCollects information of the user and his/her movement, such as timestamp for visits, most recently loaded pages and IP address. The data is used by the marketing research network, Scorecard Research, to analyse traffic patterns and carry out surveys to help their clients better understand the customer's preferences.2 yearsHTTP
UIDRscorecardresearch.comCollects information of the user and his/her movement, such as timestamp for visits, most recently loaded pages and IP address. The data is used by the marketing research network, Scorecard Research, to analyse traffic patterns and carry out surveys to help their clients better understand the customer's preferences.2 yearsHTTP
__ar_v4storify.comOptimises ad display based on the user's movement combined and various advertiser bids for displaying user ads.2083 daysHTTP
_te_storify.comRegisters a unique ID that identifies a returning user's device. The ID is used for targeted ads.SessionHTTP
i18nextstorify.comPart of the Storify platform, which saves and converts content from social media to news-related stories.SessionHTTP
t_gidtaboola.comThis cookie gives a user who interacts with the Taboola widget a User ID that is used for attribution and reporting. 1 yearHTTP
taboola_usgtaboola.comThis cookie keeps track of user segmentation within Taboola.1 yearHTTP
GPSyoutube.comRegisters a unique ID on mobile devices to enable tracking based on geographical GPS location.SessionHTTP
PREFyoutube.comRegisters a unique ID that is used by Google to keep statistics of how the visitor uses YouTube videos across different websites.8 monthsHTTP
VISITOR_INFO1_LIVEyoutube.comTries to estimate the users' bandwidth on pages with integrated YouTube videos.179 daysHTTP
YSCyoutube.comRegisters a unique ID to keep statistics of what videos from YouTube the user has seen.SessionHTTP
webevents/visitWebPage194-vvc-221.mktoresp.comUnclassifiedSessionPixel
tluid3lift.comUnclassified3 monthsHTTP
optimizely_data$#$event_queueabout.gitlab.comUnclassifiedPersistentHTML
optimizely_data$#$eventsabout.gitlab.comUnclassifiedPersistentHTML
optimizely_data$#$layer_statesabout.gitlab.comUnclassifiedPersistentHTML
optimizely_data$#$session_stateabout.gitlab.comUnclassifiedPersistentHTML
optimizely_data$#$tracker_optimizelyabout.gitlab.comUnclassifiedPersistentHTML
optimizely_data$#$variation_mapabout.gitlab.comUnclassifiedPersistentHTML
optimizely_data$#$visitor_profileabout.gitlab.comUnclassifiedPersistentHTML
s-9da4about.gitlab.comUnclassifiedSessionHTTP
cc.jscc.swiftype.comUnclassifiedSessionPixel
ahoy_track [x2]codepen.io
s.codepen.io
UnclassifiedSessionHTTP
ahoy_visit [x2]codepen.io
s.codepen.io
UnclassifiedSessionHTTP
ahoy_visitor [x2]codepen.io
s.codepen.io
Unclassified2 yearsHTTP
codepen_sessioncodepen.ioUnclassified29 daysHTTP
juggler/event.gifdisqus.comUnclassifiedSessionPixel
dcgitlab.comUnclassifiedSessionHTTP
adrloutbrain.comUnclassified3 monthsHTTP
PugTpubmatic.comUnclassified29 daysHTTP
rtn1-zrlcdn.comUnclassified179 daysHTTP
SERVERIDslideshare.netUnclassifiedSessionHTTP
_secure_speakerd_sessionspeakerdeck.comUnclassified13 daysHTTP
peekspeakerdeck.comUnclassifiedSessionHTTP
mp_#_mixpanel [x2]sundial.teleport.org
teleport.org
Unclassified1 yearHTTP
__st_user_uuidswiftype.comUnclassified10 yearsHTTP
zapforeversessionzapier.comUnclassified1 yearHTTP
zapsessionzapier.comUnclassified6 daysHTTP
Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
We do not use cookies of this type
Cookies are small text files that can be used by websites to make a user's experience more efficient.

The law states that we can store cookies on your device if they are strictly necessary for the operation of this site. For all other types of cookies we need your permission.

This site uses different types of cookies. Some cookies are placed by third party services that appear on our pages.

You can at any time change or withdraw your consent from the Cookie Declaration on our website.

Learn more about who we are, how you can contact us and how we process personal data in our Privacy Policy.
Cookie declaration last updated on 24/05/2018 by Cookiebot

GitLab Strategy

On this page

Why

We think that it is logical that our collaboration tools are a collaborative work themselves. More than 1800 people have contributed to GitLab to make that a reality. We believe in a world where everyone can contribute. Allowing everyone to make a proposal is the core of what a DVCS (Distributed Version Control System) such as Git enables. No invite needed: if you can see it, you can contribute.

In summary, our vision is as follows:

We believe that all digital products should be open to contributions, from legal documents to movie scripts and from websites to chip designs. GitLab Inc. develops great open source software to enable people to collaborate in this way. GitLab is a single application based on convention over configuration that everyone should be able to afford and adapt. With GitLab, everyone can contribute.

Mission

Change all creative work from read-only to read-write so that everyone can contribute.

When everyone can contribute consumers become contributors and we greatly increase the rate of human progress.

How

Everyone can contribute to digital products with GitLab, to GitLab itself, and to our organization.

  1. To ensure that everyone can contribute with GitLab we allow anyone to create a proposal, at any time, without setup, and with confidence.

    • Anyone: Every person in the world should be able to afford great DevOps software. GitLab.com has free private repos and CI runners and GitLab CE is free as in speech and as in beer. But open source is more than a license, that is why we are a good steward of GitLab CE and keep both GitLab CE and EE open to inspection, modifications, enhancements, and suggestions.
    • Create: It is a single application based on convention over configuration.
    • Proposal: with Git, if you can read it, you can fork it to create a proposal.
    • At any time: you can work concurrently to other people, without having to wait for permission or approval from others.
    • Without setup: you can make something without installing or configuring for hours with our web IDE, auto build.
    • With confidence: reduce the risk of a flawed proposal with review apps, integrated CI, automatic code quality, security scans, performance testing, and automatic monitoring.
  2. To ensure that everyone can contribute to GitLab the application we actively welcome contributors. We do this by having quality code, tests, documentation, using popular frameworks, offering a comprehensive GitLab Development Kit, and a dedicated GitLab Design Kit. We use GitLab at GitLab Inc., to drink our own wine and make it a tool we continue to love. We celebrate contributions by recognizing a Most Valuable Person (MVP) every month. We allow everyone to anticipate, propose, discuss, and contribute features by having everything on a public issue tracker. We ship a new version every month so contributions and feedback are visible fast. To contribute to open source software people must be empowered to learn programming. That is why we sponsor initiatives such as Rails Girls.

  3. To ensure that everyone can contribute to GitLab the company we have open business processes that allow all team members to suggest improvements to our handbook. We hire remotely so everyone with an internet connection can come work for us and be judged on results, not presence in an office. We offer equal opportunity for every nationality. We are agnostic to location and create more equality of opportunity in the world. We engage on Hacker News, Twitter, and our blog post comments. And we strive to take decisions guided by our values.

Goals

  1. Ensure that everyone can contribute in the 3 ways outlined above.

  2. Become most used software for the software development lifecycle and collaboration on all digital content by following the sequence below.

  3. Complete our product vision of a single application based on convention over configuration.

  4. Offer a sense of progress in a supportive environment with smart colleagues.

  5. Stay independent so we can preserve our values. Since we took external investment we need a liquidity event. To stay independent we want that to be an IPO instead of being acquired.

Sequence

We want to achieve our goals in the following order:

  1. In 2015 we became the most popular on-premises software development lifecycle solution, and we want to continue that.

  2. We want to become the most revenue generating on-premises software development lifecycle solution before our IPO.

  3. Around our IPO we want to become the most popular SaaS solution for private repositories (a complete product that is free forever is competitive since network effects are smaller for private repositories than for public ones).

  4. After our IPO we want to become the most popular SaaS solution for public repositories. This market has a strong network effect since more people will participate if you host your public project on a site with more people. It is easier to overcome this network effect if many people already use GitLab.com for hosting private repositories. Having people on our SaaS helps drive awareness and familiarity with GitLab.

  5. Our BHAG is to become the most popular collaboration tool for knowledge workers in any industry. For this, we need to make the git workflow much more user friendly. The great thing is that sites like Penflip are already building on GitLab to make it.

We want to IPO in 2020, specifically on Wednesday November 18. 2020 is five years after the first people got stock options with 4 years of vesting. To IPO we need more than $100m in revenue. To achieve that we want to double Incremental Annual Contract Value (IACV) every year. We focus on an incremental number instead of growth of our Annual Recurring Revenue (ARR) because ARR growth is misleading. So far we achieved the goal of doubling IACV in 2013, 2014, 2015, 2016, and 2017.

While we achieve our goals one by one, this doesn't mean we will focus on only one goal at a time. Simultaneously, we'll grow our userbase, get more paid subscribers, grow GitLab.com, realize our scope, and make version control usable for more types of work.

During phase 2 there is a natural inclination to focus only on on-premises since we make all our money there. Having GitHub focus on SaaS instead of on-premises gave us a great opportunity to achieve phase 1. But GitHub was not wrong, they were early. When everyone was focused on video on demand Netflix focused on shipping DVD's by mail. Not because it was the future but because it was the biggest market. The biggest mistake they could have made was to stick with DVDs. Instead they leveraged the revenue generated with the DVDs to build the best video on demand service.

Breadth over depth

We realize our competitors have started earlier and have more capital. Because we started later we need a more compelling product that covers the complete scope with single application based on convention over configuration in a cloud native way. Because we have less capital, we need to build that as a community. Therefore it is important to share and ship our vision for the product. The people that have the most knowledge have to prioritize breadth over depth since only they can add new functionality. Making the functionality more comprehensive requires less coordination than making the initial minimal feature. Shipping functionality that is incomplete to expand the scope sometimes goes against our instincts. However leading the way is needed to allow others to see our path and contribute. With others contributing, we'll iterate faster to improve and polish functionality over time. So when in doubt, the rule of thumb is breadth over depth, so everyone can contribute.

If you want an analogy think of our product team as a plow way in front that tills the earth. It takes a while for the plants (complete features) to grow behind it. This tilled earth is ugly to look at but it surfaces the nutrients that the wider community needs to be inspired and to contribute.

Principles

  1. Founder control: vote & board majority so we can keep making long term decisions.

  2. Independence: since we took financing we need to have a liquidity event; to maintain independence this needs to be an IPO rather than an acquisition.

  3. Low burn: spend seed money like it is the last we’ll raise, maintain 2 years of runway.

  4. First time right: last to market so we get it right the first time, a fast follower with taste.

  5. Values: make decisions based on our values, even if it is inconvenient.

  6. Free SaaS: to make GitLab.com the most popular SaaS for private projects in 2020 it should not have limits for projects or collaborators.

  7. Reach: go for a broad reach, no focus on business verticals or certain programming languages.

  8. Speed: ship every change in the next release to maximize responsiveness and learning.

  9. Life balance: we want people to stay with us for a long time, so it is important to take time off, work on life balance, and being remote-only is a large part of the solution.

Assumptions

  1. Open source user benefits: significant advantages over proprietary software because of its faster innovation, higher quality, freedom from vendor lock-in, greater security, and lower total cost of ownership.

  2. Open Source stewardship: community comes first, we plays well with others and share the pie with other organizations commercializing GitLab.

  3. Innersourcing is needed and will force companies to choose one solution top-down.

  4. Git will dominate the version control market in 2020.

  5. An single application where interdependence creates exceptional value is superior to a collection of tools or a network of tools. Even so, good integrations are important for network effects and making it possible to integrate GitLab into an organization.

  6. To be sustainable we need an open core model that includes a proprietary GitLab EE.

  7. EE needs a low base price that is publicly available to compete for reach with CE, established competitors, and new entrants to the market.

  8. The low base price for EE is supplemented by a large set of options aimed at larger organizations that get a lot of value from GitLab.

Pricing

Most of GitLab functionality is and will be available for free in Core. Our paid tiers includes features that are more relevant for organizations that have more than 100 potential users. We promise all major features in our scope are available in Core too. Instead of charging for specific parts of our scope (CI, Monitoring, etc.) we charge for smaller features that you are more likely to need if you use GitLab with a lot of users. There are a couple of reasons for this:

  1. We want to be a good steward of our open source product.
  2. Giving a great free product is part of our go to market, it helps create new users and customers.
  3. Having our scope available to all users increases adoption of our scope and helps people see the benefit of an single application.
  4. Including all major features in Core helps reduce merge conflicts between CE and EE

Because we have a great free product we can't have one price. Setting it high would make the difference from the free version too high. Setting it low would make it hard to run a sustainable business. There is no middle ground that would work out with one price.

That is why we have a Starter, Premium, and Ultimate tiers. The price difference between each of them is half an order of magnitude (5x).

We charge for making people more effective and will charge per user, per application, or per instance. We do include free minutes with our subscriptions and trials to make it easier for users to get started. As we look towards more deployment-related functionality on .com it's tempting to offer compute and charge a percent on top of, for example, Google Cloud Platform (GCP). We don't want to charge an ambiguous margin on top of another provider since this limits user choice and is not transparent. So we will always let you BYOK (bring your own Kubernetes) and never lock you into our infrastructure to charge you an opaque premium on those costs.

Quarterly Objectives and Key Results (OKRs)

To make sure our goals are clearly defined and aligned throughout the organization, we make use of OKR's (Objective Key Results). Our quarterly Objectives and Key Results are publicly viewable.

Why is this page public?

Our strategy is completely public because transparency is one of our values. We're not afraid of sharing our strategy because as Peter Drucker said: "Strategy is a commodity, execution is an art.".