[{"data":1,"prerenderedAt":944},["ShallowReactive",2],{"/blog/towards-a-production-quality-open-source-git-lfs-server":3,"navigation-en-us":179,"banner-en-us":610,"footer-en-us":620,"blog-post-authors-en-us-Sid Sijbrandij":881,"blog-related-posts-en-us-towards-a-production-quality-open-source-git-lfs-server":900,"blog-share-wrapper-en-us":924,"next-steps-en-us":934},{"id":4,"title":5,"authors":6,"body":8,"category":149,"date":150,"description":151,"extension":152,"externalUrl":153,"faq":153,"featured":154,"heroImage":155,"meta":156,"navigation":169,"path":170,"seo":171,"slug":175,"stem":176,"tags":153,"template":177,"updatedDate":153,"__hash__":178},"blogPosts/en-us/blog/towards-a-production-quality-open-source-git-lfs-server.md","Towards a production quality open source Git LFS server",[7],"Sid Sijbrandij",{"type":9,"value":10,"toc":143},"minimark",[11,16,26,30,33,54,67,99,108,129],[12,13,15],"h2",{"id":14},"update","Update",[17,18,19,20,25],"p",{},"Since GitLab 8.2 we ",[21,22,24],"a",{"href":23},"/blog/announcing-git-lfs-support-in-gitlab/","supports Git LFS"," in GitLab CE and EE.",[12,27,29],{"id":28},"original-article","Original article",[17,31,32],{},"At GitLab we would love to be compatible with Git Large File Support (LFS).\nWe plan to base our implementation on a reference implementation that is currently not in a production ready state.\nBut we hope that over time we can get to production level support.\nWhat follows is some background how and why we are taking this path instead of reusing an existing solution.",[17,34,35,36,41,42,47,48,53],{},"Git repositories can't get larger than a few gigabytes so if you want to use large binaries you need to extend it.\nThe most extensive open source project to do this is Git Annex, which ",[21,37,40],{"href":38,"rel":39},"https://en.wikipedia.org/wiki/Git-annex",[],"started in 2010",".\nThere were many other projects similar to this such as ",[21,43,46],{"href":44,"rel":45},"https://github.com/alebedev/git-media",[],"Git Media",".\nGitHub chose to start a new project in private called Git LFS ",[21,49,52],{"href":50,"rel":51},"https://github.com/github/git-lfs/commit/d8f780329b64e789553bc8ccccfb993ebc430325",[],"in September 2013 based on Git Media",".",[17,55,56,57,61,62,53],{},"In February of 2015 we ",[21,58,60],{"href":59},"/blog/gitlab-annex-solves-the-problem-of-versioning-large-binaries-with-git/","released support for Git Annex"," in our proprietary GitLab Enterprise Edition.\nAlmost all of the code to support this was included in the open source ",[21,63,66],{"href":64,"rel":65},"https://gitlab.com/gitlab-org/gitlab-shell",[],"GitLab Shell",[17,68,69,70,75,76,81,82,87,88,93,94,53],{},"In April of 2015 GitHub ",[21,71,74],{"href":72,"rel":73},"https://github.com/blog/1986-announcing-git-large-file-storage-lfs",[],"announced Git LFS"," and open sourced ",[21,77,80],{"href":78,"rel":79},"https://github.com/github/git-lfs",[],"the client"," and a ",[21,83,86],{"href":84,"rel":85},"https://github.com/github/lfs-test-server",[],"reference implementation for the server",".\nThe reference implementation is called 'lfs-test-server' and the ",[21,89,92],{"href":90,"rel":91},"https://github.com/github/lfs-test-server#lfs-test-server",[],"first section of the readme"," mentions that \"It is intended to be used for testing the Git LFS client and is not in a production ready state.\"\nThe client implementation is really well done and many people request support for it ",[21,95,98],{"href":96,"rel":97},"https://about.gitlab.com/blog/improving-open-development-for-everyone/",[],"on our feature request tracker",[17,100,101,102,107],{},"Obviously we would like to support it properly and wondered ",[21,103,106],{"href":104,"rel":105},"https://twitter.com/gitlab/status/623089117983821824",[],"if the test server code is something we can use in production",".\nWe did not get a response to the above tweet nor to an email we sent.\nOf course nobody owes us a response and GitHub is free to do as they please with their code.",[17,109,110,111,116,117,122,123,128],{},"Interestingly a day later the twitter account ",[21,112,115],{"href":113,"rel":114},"https://twitter.com/gitlabceohere",[],"gitlabceohere"," is also ",[21,118,121],{"href":119,"rel":120},"https://twitter.com/gitlabceohere/status/623521722424295425",[],"in the market for something production-ready",".\nWe don't know who is behind the account (which has been pretty funny so far), we only know that the first 6 ",[21,124,127],{"href":125,"rel":126},"https://twitter.com/gitlabceohere/followers",[],"followers of the account"," are all current or former GitHub employees.",[17,130,131,132,137,138,142],{},"We think that the best course of action is to use the Git LFS reference implementation and make it work for GitLab.\nUnfortunately we'll have to fork the project since we have to remove the ",[21,133,136],{"href":134,"rel":135},"https://github.com/github/lfs-test-server#running",[],"user management that is included in the project",".\nOf course our fork will be open source and in addition we plan to add Git LFS support to both GitLab CE and EE.\nThe work on this has already started with ",[21,139,140],{"href":140,"rel":141},"https://github.com/gitlabhq/gitlab-shell/pull/230#issuecomment-116735181",[]," that was contributed by Artem Navrotskiy.\nHopefully there will be more merge requests from the rest of the community and the people at GitLab the company will do their best to contribute too.\nCurrently our estimate is to release an alpha version of Git LFS with GitLab 8.1 and a beta in 8.2.",{"title":144,"searchDepth":145,"depth":145,"links":146},"",2,[147,148],{"id":14,"depth":145,"text":15},{"id":28,"depth":145,"text":29},"company","2015-08-13","At GitLab we would love to be compatible with Git Large File Support (LFS).","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683672/Blog/Hero%20Images/FILENAME.jpg",{"excerpt":157},{"type":9,"value":158},[159,161,165,167],[12,160,15],{"id":14},[17,162,19,163,25],{},[21,164,24],{"href":23},[12,166,29],{"id":28},[17,168,32],{},true,"/en-us/blog/towards-a-production-quality-open-source-git-lfs-server",{"title":5,"description":151,"ogTitle":5,"ogDescription":151,"noIndex":154,"ogImage":155,"ogUrl":172,"ogSiteName":173,"ogType":174,"canonicalUrls":172},"https://about.gitlab.com/blog/towards-a-production-quality-open-source-git-lfs-server","https://about.gitlab.com","article","towards-a-production-quality-open-source-git-lfs-server","en-us/blog/towards-a-production-quality-open-source-git-lfs-server","BlogPost","PRuw-ubittST2MrZUY3G1gU6allvEjqtCYPK93wX0NQ",{"logo":180,"freeTrial":185,"sales":190,"login":195,"items":200,"search":530,"minimal":561,"duo":580,"switchNav":589,"pricingDeployment":600},{"config":181},{"href":182,"dataGaName":183,"dataGaLocation":184},"/","gitlab logo","header",{"text":186,"config":187},"Get free trial",{"href":188,"dataGaName":189,"dataGaLocation":184},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":191,"config":192},"Request a demo",{"href":193,"dataGaName":194,"dataGaLocation":184},"/request-a-demo/","sales",{"text":196,"config":197},"Sign in",{"href":198,"dataGaName":199,"dataGaLocation":184},"https://gitlab.com/users/sign_in/","sign in",[201,287,375,380,455,508],{"text":202,"left":169,"config":203,"menu":205},"Platform",{"dataNavLevelOne":204},"platform",{"type":206,"link":207,"columns":211,"feature":276},"lists",{"text":208,"config":209},"Explore the Platform",{"href":210,"dataGaName":204,"dataGaLocation":184},"/platform/",[212,235,258],{"title":213,"items":214},"Execution & Workflows",[215,220,225,230],{"text":216,"config":217},"CI/CD",{"href":218,"dataGaLocation":184,"dataGaName":219},"/solutions/continuous-integration/","ci/cd",{"text":221,"config":222},"Source Code Management",{"href":223,"dataGaLocation":184,"dataGaName":224},"/solutions/source-code-management/","source code management",{"text":226,"config":227},"Agile Delivery",{"href":228,"dataGaLocation":184,"dataGaName":229},"/solutions/agile-delivery/","agile delivery",{"text":231,"config":232},"Artifact Management",{"href":233,"dataGaLocation":184,"dataGaName":234},"/artifact-central/","artifact management",{"title":236,"items":237},"Security & Governance",[238,243,248,253],{"text":239,"config":240},"Application Security Testing",{"href":241,"dataGaLocation":184,"dataGaName":242},"/solutions/application-security-testing/","application security testing",{"text":244,"config":245},"Governance & Compliance",{"href":246,"dataGaLocation":184,"dataGaName":247},"/solutions/software-compliance/","governance and compliance",{"text":249,"config":250},"Secrets Management",{"href":251,"dataGaLocation":184,"dataGaName":252},"/gitlab-secrets-manager/","secrets management",{"text":254,"config":255},"Supply Chain Security",{"href":256,"dataGaLocation":184,"dataGaName":257},"/solutions/supply-chain/","supply chain security",{"title":259,"items":260},"Context & AI",[261,266,271],{"text":262,"config":263},"Agentic Orchestration",{"href":264,"dataGaLocation":184,"dataGaName":265},"/gitlab-duo-agent-platform/","agentic orchestration",{"text":267,"config":268},"Context Graph",{"href":269,"dataGaLocation":184,"dataGaName":270},"/gitlab-orbit/","context graph",{"text":272,"config":273},"Visibility & Measurement",{"href":274,"dataGaLocation":184,"dataGaName":275},"/solutions/visibility-measurement/","visibility and measurement",{"config":277,"title":280,"text":281,"link":282},{"background":278,"textColor":279},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1790185102/o7dn32anqcb6z8dgd3as.jpg')","#000","Why GitLab","One platform for speed with control across your software lifecycle.",{"text":283,"config":284},"Learn more",{"href":285,"dataGaName":286,"dataGaLocation":184},"/why-gitlab/","why gitlab",{"text":288,"left":169,"config":289,"menu":291},"Solutions",{"dataNavLevelOne":290},"solutions",{"type":206,"link":292,"columns":296,"feature":366},{"text":293,"config":294},"View all Solutions",{"href":295,"dataGaName":290,"dataGaLocation":184},"/solutions/",[297,315,333],{"title":298,"items":299},"Outcomes",[300,305,310],{"text":301,"config":302},"DevOps Modernization",{"href":303,"dataGaLocation":184,"dataGaName":304},"/assessments/devops-modernization-assessment/","devops modernization",{"text":306,"config":307},"Security Modernization",{"href":308,"dataGaLocation":184,"dataGaName":309},"/assessments/security-modernization-assessment/","security modernization",{"text":311,"config":312},"AI Modernization",{"href":313,"dataGaLocation":184,"dataGaName":314},"/assessments/ai-modernization-assessment/","ai modernization",{"title":316,"items":317},"By size",[318,323,328],{"text":319,"config":320},"Enterprise",{"href":321,"dataGaLocation":184,"dataGaName":322},"/enterprise/","enterprise",{"text":324,"config":325},"Small Business",{"href":326,"dataGaLocation":184,"dataGaName":327},"/small-business/","small business",{"text":329,"config":330},"Startups",{"href":331,"dataGaLocation":184,"dataGaName":332},"/solutions/startups/","startups",{"title":334,"items":335},"Industries",[336,341,346,351,356,361],{"text":337,"config":338},"Financial Services",{"href":339,"dataGaLocation":184,"dataGaName":340},"/solutions/finance/","financial services",{"text":342,"config":343},"Public Sector",{"href":344,"dataGaLocation":184,"dataGaName":345},"/solutions/public-sector/","public sector",{"text":347,"config":348},"Telecommunications",{"href":349,"dataGaLocation":184,"dataGaName":350},"/solutions/telecommunications/","telecommunications",{"text":352,"config":353},"Automotive",{"href":354,"dataGaLocation":184,"dataGaName":355},"/solutions/automotive/","automotive",{"text":357,"config":358},"Education",{"href":359,"dataGaLocation":184,"dataGaName":360},"/solutions/education/","education",{"text":362,"config":363},"Aerospace",{"href":364,"dataGaLocation":184,"dataGaName":365},"/solutions/aerospace/","aerospace",{"config":367,"title":368,"text":369,"link":370},{"background":278,"textColor":279},"GitLab Security Standard","Learn how to harden your software factory and let AI agents earn autonomy, without trading away security.",{"text":371,"config":372},"Explore the standard",{"href":373,"dataGaName":374,"dataGaLocation":184},"/gitlab-security-standard/","gitlab security standard",{"text":376,"config":377},"Pricing",{"href":378,"dataGaName":379,"dataGaLocation":184,"dataNavLevelOne":379},"/pricing/","pricing",{"text":381,"config":382,"menu":384},"Resources",{"dataNavLevelOne":383},"resources",{"type":206,"link":385,"columns":389,"feature":446},{"text":386,"config":387},"View all resources",{"href":388,"dataGaName":383,"dataGaLocation":184},"/resources/",[390,418],{"title":391,"items":392},"Discover",[393,398,403,408,413],{"text":394,"config":395},"Docs",{"href":396,"dataGaName":397,"dataGaLocation":184},"https://docs.gitlab.com/","docs",{"text":399,"config":400},"University",{"href":401,"dataGaName":402,"dataGaLocation":184},"https://university.gitlab.com/","university",{"text":404,"config":405},"Demo Series",{"href":406,"dataGaName":407,"dataGaLocation":184},"/gitlab-technical-demo-series/","demo series",{"text":409,"config":410},"Demo Hub",{"href":411,"dataGaName":412,"dataGaLocation":184},"/demo-hub/","demo hub",{"text":414,"config":415},"Services",{"href":416,"dataGaName":417,"dataGaLocation":184},"/services/","services",{"title":419,"items":420},"Connect",[421,426,431,436,441],{"text":422,"config":423},"Blog",{"href":424,"dataGaName":425,"dataGaLocation":184},"/blog/","blog",{"text":427,"config":428},"Community",{"href":429,"dataGaName":430,"dataGaLocation":184},"/community/","community",{"text":432,"config":433},"Customers",{"href":434,"dataGaName":435,"dataGaLocation":184},"/customers/","customers",{"text":437,"config":438},"Partners",{"href":439,"dataGaName":440,"dataGaLocation":184},"/partners/","partners",{"text":442,"config":443},"Events",{"href":444,"dataGaName":445,"dataGaLocation":184},"/events/","events",{"config":447,"title":448,"text":449,"link":450},{"background":278,"textColor":279},"What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":451,"config":452},"Read the latest",{"href":453,"dataGaName":454,"dataGaLocation":184},"/whats-new/","whats new",{"text":456,"config":457,"menu":458},"Company",{"dataNavLevelOne":149},{"type":206,"columns":459},[460],{"items":461},[462,467,473,478,483,488,493,498,503],{"text":463,"config":464},"About",{"href":465,"dataGaName":466,"dataGaLocation":184},"/company/","about",{"text":468,"config":469,"footerGa":472},"Jobs",{"href":470,"dataGaName":471,"dataGaLocation":184},"/jobs/","jobs",{"dataGaName":471},{"text":474,"config":475},"Press",{"href":476,"dataGaName":477,"dataGaLocation":184},"/press/","press",{"text":479,"config":480},"Handbook",{"href":481,"dataGaName":482,"dataGaLocation":184},"https://handbook.gitlab.com/","handbook",{"text":484,"config":485},"Leadership",{"href":486,"dataGaName":487,"dataGaLocation":184},"/company/team/e-group/","leadership",{"text":489,"config":490},"Investor relations",{"href":491,"dataGaName":492,"dataGaLocation":184},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":494,"config":495},"Trust Center",{"href":496,"dataGaName":497,"dataGaLocation":184},"/security/","trust center",{"text":499,"config":500},"AI Transparency Center",{"href":501,"dataGaName":502,"dataGaLocation":184},"/ai-transparency-center/","ai transparency center",{"text":504,"config":505},"Newsletter",{"href":506,"dataGaName":507,"dataGaLocation":184},"/company/contact/#contact-forms","newsletter",{"text":509,"config":510,"menu":511},"Contact us",{"dataNavLevelOne":149},{"type":206,"columns":512},[513],{"items":514},[515,520,525],{"text":516,"config":517},"Talk to sales",{"href":518,"dataGaName":519,"dataGaLocation":184},"/sales/","talk to sales",{"text":521,"config":522},"Support portal",{"href":523,"dataGaName":524,"dataGaLocation":184},"https://support.gitlab.com/hc/en-us","support portal",{"text":526,"config":527},"Customer portal",{"href":528,"dataGaName":529,"dataGaLocation":184},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":531,"login":532,"suggestions":539},"Close",{"text":533,"link":534},"To search repositories and projects, login to",{"text":535,"config":536},"gitlab.com",{"href":198,"dataGaName":537,"dataGaLocation":538},"search login","search",{"text":540,"default":541},"Suggestions",[542,545,548,550,554,558],{"text":543,"config":544},"GitLab Duo Agent Platform",{"href":264,"dataGaName":543,"dataGaLocation":538},{"text":546,"config":547},"Code Suggestions (AI)",{"href":264,"dataGaName":546,"dataGaLocation":538},{"text":216,"config":549},{"href":218,"dataGaName":216,"dataGaLocation":538},{"text":551,"config":552},"GitLab on AWS",{"href":553,"dataGaName":551,"dataGaLocation":538},"/partners/technology-partners/aws/",{"text":555,"config":556},"GitLab on Google Cloud",{"href":557,"dataGaName":555,"dataGaLocation":538},"/partners/technology-partners/google-cloud-platform/",{"text":559,"config":560},"Why GitLab?",{"href":285,"dataGaName":559,"dataGaLocation":538},{"freeTrial":562,"mobileIcon":567,"desktopIcon":572,"secondaryButton":575},{"text":563,"config":564},"Start free trial",{"href":565,"dataGaName":189,"dataGaLocation":566},"https://gitlab.com/-/trials/new/","nav",{"altText":568,"config":569},"Gitlab Icon",{"src":570,"dataGaName":571,"dataGaLocation":566},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":568,"config":573},{"src":574,"dataGaName":571,"dataGaLocation":566},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":576,"config":577},"Get Started",{"href":578,"dataGaName":579,"dataGaLocation":566},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":581,"mobileIcon":585,"desktopIcon":587},{"text":582,"config":583},"Learn more about GitLab Duo",{"href":264,"dataGaName":584,"dataGaLocation":566},"gitlab duo",{"altText":568,"config":586},{"src":570,"dataGaName":571,"dataGaLocation":566},{"altText":568,"config":588},{"src":574,"dataGaName":571,"dataGaLocation":566},{"button":590,"mobileIcon":595,"desktopIcon":597},{"text":591,"config":592},"/switch",{"href":593,"dataGaName":594,"dataGaLocation":566},"#contact","switch",{"altText":568,"config":596},{"src":570,"dataGaName":571,"dataGaLocation":566},{"altText":568,"config":598},{"src":599,"dataGaName":571,"dataGaLocation":566},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":601,"mobileIcon":606,"desktopIcon":608},{"text":602,"config":603},"Back to pricing",{"href":378,"dataGaName":604,"dataGaLocation":566,"icon":605},"back to pricing","GoBack",{"altText":568,"config":607},{"src":570,"dataGaName":571,"dataGaLocation":566},{"altText":568,"config":609},{"src":574,"dataGaName":571,"dataGaLocation":566},{"title":611,"button":612,"config":618},"Ship at agent speed. Prove every step. Transcend is here.",{"text":613,"config":614},"Watch now",{"href":615,"dataGaName":616,"dataGaLocation":617},"/events/transcend/virtual/#watch-gitlab-transcend","transcend-october-2026-banner","global-banner",{"layout":619,"disabled":154},"release",{"data":621},{"text":622,"source":623,"edit":629,"contribute":634,"config":639,"items":644,"minimal":870},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":624,"config":625},"View page source",{"href":626,"dataGaName":627,"dataGaLocation":628},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":630,"config":631},"Edit this page",{"href":632,"dataGaName":633,"dataGaLocation":628},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":635,"config":636},"Please contribute",{"href":637,"dataGaName":638,"dataGaLocation":628},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":640,"facebook":641,"youtube":642,"linkedin":643},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[645,692,750,797,838],{"title":376,"links":646,"subMenu":661},[647,651,656],{"text":648,"config":649},"View plans",{"href":378,"dataGaName":650,"dataGaLocation":628},"view plans",{"text":652,"config":653},"Why Premium?",{"href":654,"dataGaName":655,"dataGaLocation":628},"/pricing/premium/","why premium",{"text":657,"config":658},"Why Ultimate?",{"href":659,"dataGaName":660,"dataGaLocation":628},"/pricing/ultimate/","why ultimate",[662],{"title":663,"links":664},"Contact Us",[665,668,670,672,677,682,687],{"text":666,"config":667},"Contact sales",{"href":518,"dataGaName":194,"dataGaLocation":628},{"text":521,"config":669},{"href":523,"dataGaName":524,"dataGaLocation":628},{"text":526,"config":671},{"href":528,"dataGaName":529,"dataGaLocation":628},{"text":673,"config":674},"Status",{"href":675,"dataGaName":676,"dataGaLocation":628},"https://status.gitlab.com/","status",{"text":678,"config":679},"Terms of use",{"href":680,"dataGaName":681,"dataGaLocation":628},"/terms/","terms of use",{"text":683,"config":684},"Privacy statement",{"href":685,"dataGaName":686,"dataGaLocation":628},"/privacy/","privacy statement",{"text":688,"config":689},"Cookie preferences",{"dataGaName":690,"dataGaLocation":628,"id":691,"isOneTrustButton":169},"cookie preferences","ot-sdk-btn",{"title":202,"links":693,"subMenu":707},[694,697,699,701,703,705],{"text":695,"config":696},"Explore the platform",{"href":210,"dataGaName":204,"dataGaLocation":628},{"text":262,"config":698},{"href":264,"dataGaName":265,"dataGaLocation":628},{"text":216,"config":700},{"href":218,"dataGaName":219,"dataGaLocation":628},{"text":267,"config":702},{"href":269,"dataGaName":270,"dataGaLocation":628},{"text":249,"config":704},{"href":251,"dataGaName":252,"dataGaLocation":628},{"text":280,"config":706},{"href":285,"dataGaName":286,"dataGaLocation":628},[708],{"title":709,"links":710},"Topics",[711,715,720,725,730,735,740,745],{"text":216,"config":712},{"href":713,"dataGaName":714,"dataGaLocation":628},"/topics/ci-cd/","cicd",{"text":716,"config":717},"GitOps",{"href":718,"dataGaName":719,"dataGaLocation":628},"/topics/gitops/","gitops",{"text":721,"config":722},"DevOps",{"href":723,"dataGaName":724,"dataGaLocation":628},"/topics/devops/","devops",{"text":726,"config":727},"Version Control",{"href":728,"dataGaName":729,"dataGaLocation":628},"/topics/version-control/","version control",{"text":731,"config":732},"DevSecOps",{"href":733,"dataGaName":734,"dataGaLocation":628},"/topics/devsecops/","devsecops",{"text":736,"config":737},"Cloud Native",{"href":738,"dataGaName":739,"dataGaLocation":628},"/topics/cloud-native/","cloud native",{"text":741,"config":742},"AI for Coding",{"href":743,"dataGaName":744,"dataGaLocation":628},"/topics/devops/ai-for-coding/","ai for coding",{"text":746,"config":747},"Agentic AI",{"href":748,"dataGaName":749,"dataGaLocation":628},"/topics/agentic-ai/","agentic ai",{"title":288,"links":751},[752,755,758,761,764,767,769,771,773,775,777,780,782,785,789,793],{"text":753,"config":754},"DevOps modernization",{"href":303,"dataGaName":304,"dataGaLocation":628},{"text":756,"config":757},"Security modernization",{"href":308,"dataGaName":309,"dataGaLocation":628},{"text":759,"config":760},"AI modernization",{"href":313,"dataGaName":314,"dataGaLocation":628},{"text":762,"config":763},"Financial services",{"href":339,"dataGaName":340,"dataGaLocation":628},{"text":765,"config":766},"Public sector",{"href":344,"dataGaName":345,"dataGaLocation":628},{"text":347,"config":768},{"href":349,"dataGaName":350,"dataGaLocation":628},{"text":352,"config":770},{"href":354,"dataGaName":355,"dataGaLocation":628},{"text":357,"config":772},{"href":359,"dataGaName":360,"dataGaLocation":628},{"text":362,"config":774},{"href":364,"dataGaName":365,"dataGaLocation":628},{"text":319,"config":776},{"href":321,"dataGaName":322,"dataGaLocation":628},{"text":778,"config":779},"Small business",{"href":326,"dataGaName":327,"dataGaLocation":628},{"text":329,"config":781},{"href":331,"dataGaName":332,"dataGaLocation":628},{"text":716,"config":783},{"href":784,"dataGaName":719,"dataGaLocation":628},"/solutions/gitops/",{"text":786,"config":787},"Software composition analysis",{"href":256,"dataGaName":788,"dataGaLocation":628},"software composition analysis",{"text":790,"config":791},"Value stream management",{"href":274,"dataGaName":792,"dataGaLocation":628},"value stream management",{"text":794,"config":795},"All solutions",{"href":295,"dataGaName":796,"dataGaLocation":628},"all solutions",{"title":381,"links":798},[799,804,809,811,813,815,817,819,821,823,825,827,829,831,834],{"text":800,"config":801},"Install",{"href":802,"dataGaName":803,"dataGaLocation":628},"/install/","install",{"text":805,"config":806},"Quick start guides",{"href":807,"dataGaName":808,"dataGaLocation":628},"/get-started/","quick setup checklists",{"text":394,"config":810},{"href":396,"dataGaName":397,"dataGaLocation":628},{"text":399,"config":812},{"href":401,"dataGaName":402,"dataGaLocation":628},{"text":404,"config":814},{"href":406,"dataGaName":407,"dataGaLocation":628},{"text":409,"config":816},{"href":411,"dataGaName":412,"dataGaLocation":628},{"text":414,"config":818},{"href":416,"dataGaName":417,"dataGaLocation":628},{"text":422,"config":820},{"href":424,"dataGaName":425,"dataGaLocation":628},{"text":427,"config":822},{"href":429,"dataGaName":430,"dataGaLocation":628},{"text":432,"config":824},{"href":434,"dataGaName":435,"dataGaLocation":628},{"text":437,"config":826},{"href":439,"dataGaName":440,"dataGaLocation":628},{"text":442,"config":828},{"href":444,"dataGaName":445,"dataGaLocation":628},{"text":504,"config":830},{"href":506,"dataGaName":507,"dataGaLocation":628},{"text":832,"config":833},"What's new",{"href":453,"dataGaName":454,"dataGaLocation":628},{"text":835,"config":836},"All resources",{"href":388,"dataGaName":837,"dataGaLocation":628},"all resources",{"title":456,"links":839},[840,842,844,846,848,850,852,854,856,860,865],{"text":463,"config":841},{"href":465,"dataGaName":149,"dataGaLocation":628},{"text":468,"config":843},{"href":470,"dataGaName":471,"dataGaLocation":628},{"text":474,"config":845},{"href":476,"dataGaName":477,"dataGaLocation":628},{"text":479,"config":847},{"href":481,"dataGaName":482,"dataGaLocation":628},{"text":484,"config":849},{"href":486,"dataGaName":487,"dataGaLocation":628},{"text":489,"config":851},{"href":491,"dataGaName":492,"dataGaLocation":628},{"text":494,"config":853},{"href":496,"dataGaName":497,"dataGaLocation":628},{"text":499,"config":855},{"href":501,"dataGaName":502,"dataGaLocation":628},{"text":857,"config":858},"Sustainability",{"href":859,"dataGaName":857,"dataGaLocation":628},"/sustainability/",{"text":861,"config":862},"Diversity, inclusion and belonging (DIB)",{"href":863,"dataGaName":864,"dataGaLocation":628},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":866,"config":867},"Modern Slavery Transparency Statement",{"href":868,"dataGaName":869,"dataGaLocation":628},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":871},[872,875,878],{"text":873,"config":874},"Terms",{"href":680,"dataGaName":681,"dataGaLocation":628},{"text":876,"config":877},"Cookies",{"dataGaName":690,"dataGaLocation":628,"id":691,"isOneTrustButton":169},{"text":879,"config":880},"Privacy",{"href":685,"dataGaName":686,"dataGaLocation":628},[882],{"id":883,"title":7,"body":153,"config":884,"content":886,"description":153,"extension":894,"meta":895,"navigation":169,"path":896,"seo":897,"stem":898,"__hash__":899},"blogAuthors/en-us/blog/authors/sid-sijbrandij.yml",{"template":885},"BlogAuthor",{"role":887,"name":7,"bio":888,"config":889},"Co-founder, Chief Executive Officer and Board Chair of GitLab Inc.","Sid Sijbrandij (pronounced see-brandy) is the Co-founder, Chief Executive Officer and Board Chair of GitLab Inc., the most comprehensive AI-powered DevSecOps platform. GitLab's single application helps organizations deliver software faster and more efficiently while strengthening their security and compliance.\n\nSid's career path has been anything but traditional. He spent four years building recreational submarines for U-Boat Worx and while at Ministerie van Justitie en Veiligheid he worked on the Legis project, which developed several innovative web applications to aid lawmaking. He first saw Ruby code in 2007 and loved it so much that he taught himself how to program. In 2012, as a Ruby programmer, he encountered GitLab and discovered his passion for open source. Soon after, Sid commercialized GitLab, and by 2015 he led the company through Y Combinator's Winter 2015 batch. Under his leadership, the company has grown with an estimated 30 million+ registered users from startups to global enterprises.\n\nSid studied at the University of Twente in the Netherlands where he received an M.S. in Management Science. Sid was named one of the greatest minds of the pandemic by Forbes for spreading the gospel of remote work.",{"headshot":890,"twitter":891,"linkedin":892,"ctfId":893},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665383/Blog/Author%20Headshots/sytses-headshot.png","https://twitter.com/sytses","https://www.linkedin.com/in/sijbrandij","sytses","yml",{},"/en-us/blog/authors/sid-sijbrandij",{},"en-us/blog/authors/sid-sijbrandij","ZdVvFbtL6NKLtKZEjFCVOecdpvuPzX3wmEZBrC6pRWg",[901,909,916],{"title":902,"description":903,"heroImage":904,"category":149,"date":905,"authors":906,"slug":908,"externalUrl":153},"Why GitLab signed the Open Weights and American AI Leadership letter","GitLab supports customer choice, data privacy, and AI model neutrality, empowering teams to run secure, cost-effective, local solutions.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785333264/ww4mlighwlvvzgnmbe6w.png","2026-07-29",[907],"Bill Staples","open-weight-model-letter",{"title":910,"description":911,"heroImage":912,"category":149,"date":913,"authors":914,"slug":915,"externalUrl":153},"GitLab Act 2","A letter to our customers and our investors.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776362275/ozbwn9tk0dditpnfddlz.png","2026-05-11",[907],"gitlab-act-2",{"title":917,"description":918,"heroImage":919,"category":149,"date":920,"authors":921,"slug":923,"externalUrl":153},"GitLab named a 2026 Omdia Universe Leader","Omdia's 2026 report on AI-assisted software development ranked 19 vendors. Here is what GitLab's top scores mean for engineering teams.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-04-13",[922],"Rebecca Carter","gitlab-named-a-2026-omdia-universe-leader",{"header":925,"text":926,"button":930,"disclaimer":933},"Start your free\n\n30-day GitLab trial\n",[927,928,929],"GitLab Duo Agent Platform access","Try our most advanced features","Automate complex tasks with AI",{"text":186,"config":931},{"href":932,"dataGaName":189,"dataGaLocation":425},"https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/blog/","No credit card required.",{"header":935,"blurb":936,"button":937,"secondaryButton":942},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":938,"config":939},"Get your free trial",{"href":940,"dataGaName":189,"dataGaLocation":941},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":666,"config":943},{"href":518,"dataGaName":194,"dataGaLocation":941},1791990542721]