AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

GitLab CTO:开源是打造优秀软件的核心

  • 2018-11-07
  • 本文字数:3120 字

    阅读完需:约 10 分钟

GitLab CTO:开源是打造优秀软件的核心

开源正在吞噬整个互联网,成为互联网技术的默认选择。

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 的战略以及我们将如何实现我们的使命。

image

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/

采访嘉宾介绍

image

Dmitriy 于 2011 年 9 月开始开发 GitLab 项目,并且自那时起在每个月 22 号发布新版本。他希望打造一个自己每天都可以使用的优秀的开源项目管理系统。因为对 GitLab 开发工作的极度热爱,Dmitriy 从 2013 年 1 月开始在 GitLab 全职工作。只要一有时间,他就喜欢花两天时间编写一个新的 GitLab 重要特性。他喜欢好吃的巧克力,还有完美无异议的合并请求。他也是 GitLab CE 和 CI 的主要开发者。

2018-11-07 18:401809
用户头像
蔡芳芳 InfoQ 总编辑

发布了 814 篇内容, 共 592.6 次阅读, 收获喜欢 2809 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

智能家居控制原理

lenka

5月日更

自研集群 + MySQL 存储详细架构文档

@oo?金樱子

架构师实战营 模块三作业(基于自研集群 + MySQL 存储的消息队列系统架构设计文档)

好吃不贵

业务架构

自研集群+MySQL架构设计文档模板

9527

架构实战营

WebRTC下摄像头的采集分析

小辣条

ios WebRTC

架构实战营模块 3 作业

阿体

applet跨域访问安全性问题(java.security.AccessControlException:access denied)

xcbeyond

跨域 5月日更 疑难杂症

霸气!这份清华学霸整理的Java线程池笔记,2小时从入门到入坟

飞飞JAva

Java

架构实战营 - 模块三总结

凯迪

架构实战营

模块三作业

梦寐凯旋

架构实战营

模块三:课后作业

黄先生

架构实战营

消息中间件详细架构设计文档

白发青年

架构实战营

推荐一个GitHub的开源电子书仓库,值得收藏

C语言与CPP编程

Java c++ Python C语言 电子书

架构实战营 模块3作业

夏日

架构训练营

架构实战营 - 模块三作业

凯迪

服务器又被挖矿了,怎么防?

运维研习社

挖矿 5月日更 Linux安全

消息队列的架构设计文档

Geek_bded54

MySQL索引原理浅析

逸少

MySQL 索引结构 索引

架构实战营 模块三课后作业

iProcess

架构实战营

ARTS - week 9

steve_lee

架构训练营模块3作业-消息队列架构设计

Dubbo 泛化引用

青年IT男

dubbo

架构实战营 模块三作业

fazinter

架构实战营

初识Golang之err概述

Kylin

Go 语言 5月日更

架构实战训练营 - 模块三课后作业

Johnny

架构实战营

挖矿探索一:狗狗币-mac普通电脑

程序员架构进阶

比特币 区块链 28天写作 5月日更

GreenPlum的CURD

数据社

greenplum 5月日更

作业三架构设计文档

大肚皮狒狒

学妹问我:OpenJDK是什么?作为师哥,必须万字详解屁颠屁颠奉上

牛哄哄的java大师

Java

已收藏!2021年最新腾讯Android面经,超详细

欢喜学安卓

android 程序员 面试 移动开发

腾讯T3大佬亲自讲解!我的腾讯安卓面试经历分享,分分钟搞定!

欢喜学安卓

android 程序员 面试 移动开发

GitLab CTO:开源是打造优秀软件的核心_语言 & 开发_蔡芳芳_InfoQ精选文章