【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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:401235
用户头像
蔡芳芳 InfoQ主编

发布了 778 篇内容, 共 489.0 次阅读, 收获喜欢 2745 次。

关注

评论 1 条评论

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

android进阶篇04、MVC、MVP,腾讯大牛教你自己写Android框架

android 程序员 移动开发

Android进阶:最简单的方式实现自定义阴影效果,7年老Android一次坑爹的面试经历

android 程序员 移动开发

微信朋友圈的高性能复杂度分析

stars

架构训练营

Android网络请求心路历程(1),2021Android开发现状分析

android 程序员 移动开发

Android自定义view之模仿登录界面文本输入框(华为云APP)

android 程序员 移动开发

【Flutter 专题】21 易忽略的【小而巧】的技术点汇总 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

Android转战Web前端,靠着这份面试题和答案,一举拿下京东offer

android 程序员 移动开发

Android达到什么水平才能顺利拿到 20k 无压力?,Android基础开发与实践

android 程序员 移动开发

Android网络请求心路历程,面试安卓工程师会问到那些问题

android 程序员 移动开发

Android进阶:知识遗忘真的是程序员的通病吗?其实是这些新知识的学习方法你还没get到

android 程序员 移动开发

Android菜鸟进字节跳动,居然是看了这个,Android技术篇

android 程序员 移动开发

android进阶篇09、电量与网络优化简述,android内存优化方案

android 程序员 移动开发

android进阶篇11、crash监控与anr分析简述,vue双向绑定原理

android 程序员 移动开发

Android系统架构与系统源码目录,灵魂一问-如何彻底防止APK反编译

android 程序员 移动开发

Android自定义View之游戏摇杆键盘实现(一)(1),全网独家首发

android 程序员 移动开发

Android自定义View之游戏摇杆键盘实现(一),android开发计算器界面

android 程序员 移动开发

Android进阶——Android跨进程通讯机制之Binder,okhttp读取信息kotlin

android 程序员 移动开发

Android进阶:三、这一次,从入门到精通系列Android高级工程师路线介绍

android 程序员 移动开发

Android组件化开发的意义何在?,androidui开发框架

android 程序员 移动开发

Android自定义控件(神级)+MediaRecoder录音,android开发基础应用

android 程序员 移动开发

Android转场动画一说,android事件分发面试

android 程序员 移动开发

Android老司机被打脸!Dialog 对应的 Context 必须是 Activity吗?

android 程序员 移动开发

android自定义View——仿九宫格解锁,kotlin缺点

android 程序员 移动开发

Android自定义View播放Gif动画,ffmpeg音视频开发实战6下载

android 程序员 移动开发

Android菜鸟进字节跳动,居然是看了这个(1),kotlin单例应用

android 程序员 移动开发

RPC就好像是谈一场异地恋

博文视点Broadview

Android网络优化攻略,简单了解一下?,图文详解

android 程序员 移动开发

Android自定义控件 _ 高可扩展单选按钮(再也不和产品经理吵架了)

android 程序员 移动开发

重磅!四大行正在大规模内测数字货币App 可凭手机号完成转账

CECBC

Android自动化页面测速在美团的实践,百度、阿里、滴滴、新浪的面试心经总结

android 程序员 移动开发

Android超实用最全面试大纲(四),2021大厂Android知识点总结

android 程序员 移动开发

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