开源正在吞噬整个互联网,成为互联网技术的默认选择。
2018 年是“开源(Open Source)”这个专用名词诞生的第 20 个年头。由开源社主办的 2018 中国开源年会 COSCon’18 于 10 月 20 日在深圳召开,InfoQ 受邀参加会议并有幸对 GitLab 联合创始人兼 CTO Dmitriy Zaporozhets(下文简称 DZ)进行了专访,聊了聊开源与人工智能、开源如何创造商业价值和保持中立性,以及开源未来的发展方向。
InfoQ:目前,GitLab 上托管的开源项目中,在深度学习、机器学习等领域有哪些成功的案例?
DZ: 截至 2018 年 9 月,GitLab.com 上已经有超过 620 万个托管项目,此外许多赫赫有名的开源项目,如 Gnome、Debian、 Drupal 和 freedesktop.org ,这些项目的开发团队都在 GitLab 上进行协作和创新,以改进他们的软件产品。 不过我们目前还没有主动去跟踪 GitLab 上托管了哪些特定的机器学习或深度学习项目。
InfoQ:您能否谈谈开源与 AI 技术如何互相作用?
DZ: AI 技术受益于开源社区,当前许多重要的 AI 和机器学习项目都是开源的。诸如 Tensor Flow、Keras 和 Microsoft Cognitive Toolkit 等都是我们比较容易想到的优秀项目,它们都拥有非常活跃的社区。 让人感到高兴的是,AI 领域的领导者 OpenAI 也是开源的。 我们认为未来机器学习和 AI 将会成为 GitLab 非常重要的一部分,特别是在信号 / 噪声分离、推荐引擎和智能行为等方面。
InfoQ:在 AI 在各行业落地的时代, 目前产业环境 (包含开源组织) 还需要做哪些事情,还有哪些短板?
DZ: 随着人工智能和机器学习在软件系统中所扮演的角色越来越重要,开发、测试、部署和监控的复杂度也日益增加。为了能更高效地处理日渐复杂的软件系统,开发者应该将精力更多地放在如何为软件系统做贡献,而非软件工具链上。此外,如果我们能够让不同项目的开发者之间分享创意变得更加简单,那么人工智能和机器学习社区也一定能够从中受益。
InfoQ:开源如何在促进技术传播的同时创造商业价值?可以跟我们分享一下 GitLab 是怎么做的吗?据我所知,GitLab 原本是全面开源的,但后来改成了只开放核心。
DZ: GitLab 的故事非常精彩。许多开源软件无法找到合适的收费模式,所以都以失败告终。 RedHat 是通过销售技术支持服务取得成功的一个优秀案例,但还有很多公司采用同样的收费模式却失败了。在如今的开源软件时代,开放核心(Open Core)已经被证明是一个可行且成功的收费模式,除了 GitLab 之外,Elastic Search 是另一个通过 Open Core 的模式取得成功的例子。
开源项目鼓励更广泛的社区合作和贡献。 实际上,我们相信 GitLab 的使命是“每个人都可以做出贡献”,我们正在全力打造 GitLab 以完成这一使命。你可以通过这个页面( https://about.gitlab.com/company/strategy/ )详细了解 GitLab 的战略以及我们将如何实现我们的使命。
InfoQ:GitLab 目前已经获得了多轮融资,包括今年 9 月完成的 1 亿美元融资,并且计划于 2020 年 IPO。为什么 GitLab 将 IPO 设定为你们的目标?这对于 GitLab 未来的发展有什么好处?
DZ: 我们有一个庞大且极具雄心的目标,就是要成为所有行业知识工作者中最受欢迎的协作工具,因此我们需要持续不断地对 GitLab 的功能和特性投入金钱和人力,以满足超越传统软件开发领域的用户需求。借助 IPO,我们将能够获得额外的投资和资源,帮助我们满足来自各行各业知识工作者的需求。
InfoQ:对于微软收购 GitHub,用户的反应很激烈。人们觉得,公司不独立,可能就没办法保持中立。这样,GitHub 跟开发者之间的距离,就会越走越远。在最近一轮融资中,GitLab 得到了 Google Venture 的投资,并且在今年 4 月份从微软 Azure 迁移到了谷歌云上。这是否会让外界认为 GitLab 正在逐渐向谷歌靠拢?你怎么看待开源代码托管平台的中立性? GitLab 将如何保持中立性?
DZ: 我们迁移到谷歌云平台(GCP)是为了提升 GitLab 网站的性能和可靠性。我们相信 Kubernetes 是未来。这是一种可以实现大规模可靠性的技术。这就是今年早些时候我们与 Google Kubernetes Engine(GKE)进行原生集成的原因,我们希望为 GitLab 用户提供一种更简单的方法来使用 Kubernetes。同样的,我们选择 GCP 作为我们的云提供商,是因为我们希望将 GitLab 运行在 Kubernetes 上。谷歌发明了 Kubernetes,而且 GKE 拥有最强大和成熟的 Kubernetes 支持。迁移到 GCP 是我们计划中的一个步骤,借此让 GitLab 为用户与特定任务相关的工作负载做好准备。
我们相信,我们的客户和用户都希望 GitLab 不限定于某一个云服务提供商,而是支持所有主流的云提供商。事实上,我们将继续加强与 AWS 和 Microsoft Azure 的战略合作伙伴关系。 例如,我们最近刚刚宣布支持实施部署到 Amazon EKS。
InfoQ:日后的开源世界会出现怎样的发展趋势?
DZ: 开源是协作和打造优秀软件的核心。由于这些好处还会继续带来新的好处,利用开源已成为默认的商业模式。然而,时不时也会出现很多令人困惑的问题,比如滥用忠诚度,比如某些无视道德准则的商业公司。
要想成为一家成功的开源公司,首先必须成为开源的好管家。这意味着要允许开源软件和专有软件竞争,不设置免费增值方案或人为限制,同时还要消除障碍使更多人参与到开源项目的贡献中。
这种共创的方式可以提供无与伦比的改进速度和功能深度,使我们所有人受益。像 Elastic、Docker、Mesosphere、Magento 等开放核心公司已经向我们展示了这样一种可能:成为开源好管家的同时,也能在不损害开源社区福祉的情况下获利。
作为开源的好管家,GitLab 从中收获了很多回报。我们的业务模式取决于开源贡献,我们会优先考虑改进我们的开源版本,近期我们甚至将“贡献者许可协议 Contributor License Agreement”(CLA)改为“开发者原创证书 Developer’s Certificate of Origin”(DCO),让每个人都能更轻松地做出贡献。
开源是一种精神,而不仅仅是许可——我们需要基于开源最初的目标来推动开源运动。反过来,开源运动保持成熟也意味着它仍然会是创造性和协作思维的温床。
InfoQ:您认为中国在开源方面表现如何?中国在开源上有什么优势?
DZ: 开源运动跨越国家和地区,让全世界的人们都能够且有能力为开源做出贡献。无论身处何地,你都能够与其他人建立联系并参与到开源运动中来,贡献的越多,就能做出更多的改进和创新。中国也不例外,中国开发者在开源社区中提供了巨大的帮助。
InfoQ:GitLab 未来有什么规划?以及哪些领域是您非常看好有较大发展潜力的?
DZ: 我们的策略是在既有已被证明有效的领域加倍投注:虽然我们已经涵盖了整个 DevOps 生命周期,但我们希望继续增强现有功能,从最小可行的变更(minimum viable change)变为最小可接受的功能(minimum loveable feature)。
我们还将继续扩大功能的广度,在整个 DevOps 生命周期中构建新功能。
最后,因为我们相信每个人都可以做出贡献,我们将在产品范围中添加更多用户角色,包括高级管理人员、设计师、产品经理,以及从事软件开发和交付的任何人。我们的目标是让每个人同时在一个产品中工作。
我们承诺 DevOps 生命周期的所有阶段都将在 GitLab CE(开源)中提供,这是短期内我们看到的最大开发潜力所在之处。
有关 GitLab 产品愿景的更多详情,可以查看这篇文章: https://about.gitlab.com/2018/10/01/gitlab-product-vision/
采访嘉宾介绍
Dmitriy 于 2011 年 9 月开始开发 GitLab 项目,并且自那时起在每个月 22 号发布新版本。他希望打造一个自己每天都可以使用的优秀的开源项目管理系统。因为对 GitLab 开发工作的极度热爱,Dmitriy 从 2013 年 1 月开始在 GitLab 全职工作。只要一有时间,他就喜欢花两天时间编写一个新的 GitLab 重要特性。他喜欢好吃的巧克力,还有完美无异议的合并请求。他也是 GitLab CE 和 CI 的主要开发者。
评论 1 条评论