开源独角兽 GitLab 走上“卖身”路!前工程师拆台:赚钱的业务不好好运营,开发了一堆没用的功能
共 5301字,需浏览 11分钟
·
2024-07-21 18:00
7 月 17 日,据知情人士透露,市值约 80 亿美元的美国云计算软件开发工具提供商 GitLab,在吸引了几个潜在竞标者的兴趣后,正考虑出售事宜。
目前,GitLab 在与投资银行家合作启动出售流程,包括云监控公司 Datadog 在内的同行都在关注。Datadog 的市值为 440 亿美元,其提供的软件可以让技术工作者使用云进行协作并衡量他们的生产力。
消息人士称,由于此事属于机密,他们要求匿名,因此任何交易都还需要数周时间,协议也不确定。据悉,GitLab 将被出售的消息传出后,股价飙升逾 14%, Datadog 股价下跌超 3%。
“在我们看来,GitLab 长期以来一直被视为一个有吸引力的收购对象。虽然我们感觉到投资者将 AWS 或 Google Cloud 视为更明显的收购候选者,但我们对 GitLab 和 Datadog 之间的潜在合作持乐观态度。“Needham 分析师 Mike Cikos 表示。
总部位于美国旧金山的 GitLab ,全球员工约 2130 人(截至 2024 年 6 月),但全部是远程办公。据其网站介绍,GitLab 为企业提供管理其软件开发周期的工具,拥有 3000 多万注册用户。《财富》百强企业中有一半以上都在使用该平台。
2021 年,GitLab 正式在纳斯达克上市,股票代码 "GTLB",首日市值在收盘时已接近 150 亿美元,收盘价为 103.89 美元。自首次公开募股以来,GitLab 的股价一直在纽约交易,但目前股价已不到上市时的一半。
据了解,Alphabet 是 GitLab 的投资者,截至 2024 年 6 月通过其风险投资部门持有 GitLab 22.2% 的投票权。GitLab 首席执行官兼联合创始人 Sid Sijbrandij 通过双重股权控制着 GitLab 共 45.51% 的有表决权股票。
在上个月的公司季度财报电话会议上,Sijbrandij 表示,他将第二次接受骨肉瘤(一种癌症)的治疗,去年他也曾接受过这种治疗。他补充说,他正在努力完全康复,并将继续履行他的职责。
需要注意的是,手握公司近一半股权的 Sijbrandij,或是 GitLab 之后做并购交易的关键。
GitLab 从创立、上市到今天,离不开 Sijbrandij 的价值主张和个人愿景。“每家公司都需要成为一家软件公司。”Sijbrandij 曾在 GitLab 上市后这样说。
作为非科班出身程序员的创业者代表,Sijbrandij 不仅成功走出一条非传统意义的特别职业道路,还被《福布斯》评为大流行中最伟大的思想家之一,并被公认为远程工作的思想领袖。
2007 年,他第一次看到 Ruby 代码,便爱不释手,并自学编程。2012 年,他才作为一名 Ruby 程序员遇到 GitLab,并发现了自己对开源的热情。2015 年,Sid 将 GitLab 商业化。GitLab 正是在他的领导下, 从初创公司到全球企业,不断发展壮大。
尽管据 GitLab 报告称,其最新季度收入同比强劲增长 33%,达到 1.692 亿美元,并在最近一个季度实现了有史以来的首次正现金流。但该公司也承认,在与微软的竞争中,其在定价方面面临阻力,2018 年微软斥资 75 亿美元收购了他们的竞争对手 GitHub。
在开发者圈子中,GitLab 和 GitHub 的大名无人不知。两家公司都建立在开源软件 Git 之上,但 GitLab 几乎是在 GitHub 的阴影下成长起来的。
2012 年,GitHub 从安德森·霍洛维茨(Andreessen Horowitz)那里筹集了 1 亿美元,这在当时是一笔巨大的融资,而 GitLab 那时才刚刚推出。到 2015 年,GitLab 的年化收入只有 100 万美元,而 GitHub 很快又在红杉领投的一轮融资中获得了 2.5 亿美元。
2018 年 6 月,微软以高达 75 亿美元的价格收购 GitHub,GitLab 前一年的最新估值仅为 2 亿美元。被微软收入麾下的 GitHub 不必再担忧财政危机,但 GitLab 却依旧面临财务挑战。在 2021 年首次公开募股之前,GitLab 的资产负债表上只有 2.763 亿美元的现金和等价物。
New Constructs 报告中写道:“作为一台赚钱机器,微软可以轻松负担得起以成本或低于成本的价格提供 GitHub 服务,以争取市场份额并将用户带入微软平台。GitLab 对其 DevOps 平台的一个收入流、订阅和许可证的依赖,是一个主要的竞争劣势。”
此次 GitLab 寻求被收购的消息,或也表明其同样开始通过投靠外部企业来维持其增长。
今年 2 月,一位此前在 GitLab 工作、最近结束保密协议期的工程师,透露了他在 GitLab 工作的六年时间发现的所有公司运营问题,首先谈的就是 GitLab 现在的盈利方式。
GitLab 犯过的一个错误是对可扩展性不够重视,在我离开之后,这个错误仍在继续。这个问题的核心在于 GitLab 的盈利方式:它主要通过客户自助托管 GitLab 企业版而非 GitLab.com 盈利。事实上,GitLab.com 的成本总是远高于收益。
这自然而然地导致了对自托管市场的关注,而在 GitLab.com 上遇到的许多性能问题并不适用于许多自托管客户。更令人沮丧的是,许多开发人员实际上想要提高性能,但没有获得时间和资源来这样做。
该工程师还表示,GitLab 多年来花时间构建了很多没用的功能。
GitLab 的核心原则之一是始终从 “最小可行变更 ”开始。在实践中,这导致 GitLab 多年来开发了许多毫无用处的功能:无人问津的无服务器平台最终被扼杀;支持管理 Kubernetes 集群的功能在三周内无法运行,却无人察觉;我们不得不在 CI 产品之上构建 chatops 解决方案(因此带来了严重的延迟),而不是使用现有解决方案;或者需求管理功能仅支持创建和查看数据(甚至不支持更新或删除);这些只是近年来的几个例子。
从这两方面的叙述来看,GitLab 投入了许多精力在不赚钱和用处不大的工作上,真正在赚钱的业务却在面临许多性能问题的情况下,得不到时间和资源去解决。
第二个问题是 GitLab 的产品经理驱动性质。
虽然一些关键的开发人员可能有能力影响产品决策(只要有足够的尖叫和踢打),但主要还是由产品经理和总监决定需要实施什么。有时这些决定很有道理,但有时似乎只是基于 “我在 Hacker News 上看到这个主意不错,所以我们必须做出来 ”的想法。
我认为,如果 GitLab 能在早期就采用更简单的层级结构,而不是现在这种传统的多层结构,那么公司的表现会更好。特别是产品经理的概念需要摒弃,而应赋予团队领导更多权力,让他们与用户有更多互动。在我看来,这才是 “产品经理 ”最终应该做的事情:在技术层面帮助构建产品,同时充当团队与用户之间的联络人。
另外,该工程师指出,GitLab 提供两种类型的产品:自托管安装和软件即服务 (SaaS) 产品,但包括 GitLab 在内的大多数公司都无法有效提供这两种设置。
这不仅会造成利益冲突,而且这两种设置的要求和更新方式也不尽相同。例如,对于 SaaS 来说,您希望能够快速部署,并且必须处理集中式基础设施上处理大量数据和工作负载。与 SaaS 产品相比,大多数自托管实例往往很小,因此,SaaS 所遇到问题的许多解决方案及其相应解决方案并不适用于自托管安装。
这实际上导致平台的许多部分存在两条代码路径:一条用于 SaaS 版本,另一条用于自托管版本。即使代码在物理上是相同的(即你为自托管安装提供了某种易于使用的封装),你仍然需要考虑其中的差异。相比之下,当您专注于 SaaS 或自托管设置时,你就可以将全部注意力放在为相关设置提供最佳体验上。当然也有例外,但那只是例外,而且是罕见的例外。
最后,与之前的许多其他公司一样,GitLab 多年来雇佣了大量员工,如今员工数量已超过 2000 人,但更多的人并不等于更好的结果。
众所周知,在一个项目中增加人手并不一定会提高生产力和结果,但几乎所有拥有风险投资的西方初创公司都忽视了这一点,即使该产品不需要那么多开发人员,他们也会雇佣数百名开发人员。
我认为,大多数公司所需的开发人员不超过 20 名,部分公司需要 20 到 50 名开发人员,只有少数公司需要 50 到 100 名开发人员。一旦你的开发人员数量超过 100 名,我认为你需要开始考虑产品范围会否失控,然后再雇佣更多的人。请注意,我这里说的是软件开发人员。例如,如果你正在构建定制硬件,你可能需要更多的人来扩大生产流程。销售和支持这两个领域通常也需要更多人手,因为这些类型的工作对人员之间的同步性要求较低。
参考链接:
https://www.reuters.com/markets/deals/google-backed-software-developer-gitlab-explores-sale-sources-say-2024-07-17/
https://finance.yahoo.com/news/google-backed-software-maker-gitlab-111508546.html
https://www.cnbc.com/2021/10/17/gitlab-now-worth-twice-what-microsoft-paid-for-github.html
https://yorickpeterse.com/articles/what-it-was-like-working-for-gitlab/