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的战略以及我们将如何实现我们的使命。
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的主要开发者。
GitLab CTO:开源是打造优秀软件的核心相关推荐
- 【CTO讲堂】打造数据可靠、服务高可用的客服平台
为了帮助IT从业者职业之路拥有更多收获,在诸多C粉的殷切期待下,由 CTO俱乐部打造的CTO线上讲堂自登场以来获得大家好评.本期邀请Udesk CTO肖立鹏带来"打造数据可靠.服务高可用的客 ...
- Apache RocketMQ 荣获 2021 中国开源云联盟优秀开源项目
为推动国内开源生态产业发展,中国开源云联盟(China Open Source Cloud League,简称"COSCL")组织开展了 2021 杰出开源贡献者.优秀开源项目.最 ...
- 打造数字化软件工厂 —— 一站式 DevOps 平台全景解读
本文为 CODING 协同产品总监张路宇 在腾讯云 CIF 工程效能峰会上所做的分享.文末可前往峰会官网,观看回放并下载 PPT. 欢迎各位朋友,来到腾讯云 CIF 工程效能峰会的分论坛,我是 COD ...
- [博摘]论人类最优秀软件
论人类最优秀软件 摘自:博艺斋_博客 2007-02-01 16:21--伟大软件必须体现出突破性价值.具备很强的技术优势:研发它是前人未尝试过的艰难任务:而且最终它必须在现实世界得到广泛运用. 作者 ...
- tp5支持啥数据库_MS Access数据库是被严重低估的一款优秀软件
了解我的朋友,都知道我是个计算机编程爱好者,我没事愿意鼓捣一些计算机软件编程,没事爱在朋友圈里发一发编程的截图,经常惹来一阵阵赞叹. 每当给我点赞的朋友们问我用什么编程语言开发的时候,我都如实相告-- ...
- 【Shotcut】开源免费视频编辑软件 - 微信视频编辑利器
博文目录 一.Shotcut是什么?有什么特点? 二.Shotcut下载.安装 2.1 官网下载 2.2 Shotcut安装 2.3 Shotcut启动 三.编辑一个简单的微信视频号 3.1 设置项目 ...
- 【转载】软件爱好者必备的优秀软件网站分享收藏
[转载]软件爱好者必备的优秀软件网站分享 前言 作为一名软件爱好者,总是忍不住去搜集体验一些新奇好用的软件,浏览过程中也发现了各式各样的软件资源相关网站,下面是我收藏的一些软件网站,分享给大家. 软件 ...
- 读《借助开源项目,学习软件开发》总结
读<借助开源项目,学习软件开发>总结 GitBook文章源地址:文章源地址 一.前言 准备条件:(1)一台能上网的电脑(2)首选系统Ubuntu,其次Windows 二.开始 (1)软件开 ...
- 免费开源的3D建模软件
免费的3D建模软件,包括Blender.OpenSCAD.Art of Illusion.FreeCAD.Wings3D.BRL-CAD等 一.Blender Blende是一款系统全面的3D建模套件 ...
最新文章
- HTML5 body设置全屏背景图片 如何让body的背景图片自适应整个屏----实战经验
- 2016012075 谢月月 散列函数的应用及其安全性
- centos ftp服务器搭建_ftp软件,ftp软件安装使用教程,利用Serv-U如何搭建ftp服务器?...
- javascript --- 堆栈内存与闭包的作用
- bootstrap 导航菜单 折叠位置_教大家如何编写一个网页导航条
- 第五章(1)Libgdx应用框架之生命周期
- P4570 [BJWC2011]元素(线性基+贪心)
- java jexl 工具类_jexl表达式解析、计算工具类.md
- 位置服务器的操作方法,hpproliantml系列服务器上机架操作方法.doc.docx
- javaWeb(入门基础详解)
- C#把文字转换成声音
- 无人机群编队分析的定位问题 分析与思考-1(数学建模竞赛2022年B题)
- 深度解析dubbo源码 (dubbo整体设计) (二)
- 快手用户群体分析_快手发布《2020快手用户及营销报告》
- 在虚拟机中安装centos6操作系统,DHCP下克隆,再使用CRT软件进行远程登录
- 微型计算机的拼音,微型计算机拼音
- CD Linux启动盘,CDlinux硬盘启动制作方法。CDlinux硬盘怎样启动制作?
- 从零开始写渲染Step1窗口的创建和显示
- Iaas、Paas、Saas都是什么意思?
- [BZOJ2144]跳跳棋
热门文章
- let声明变量时的特点
- hibernate mysql longblob_为什么不能将JPA / hibernate映射到MySQL blob类型?
- centos7 如何重启web服务_如何重启web服务器
- 三次握手,四次挥手(大白话)
- python将两个list类型的全排列转换为tuple类型
- Window.location.href命令在JS中跳转无效或自动忽略
- linux终端什么字体舒服,推荐一款 Linux 上比较漂亮的字体
- vue 多点触控手势_涨姿势了!Appium也可以多点触控操作
- java 变量与常量_java的变量和常量
- 康众平板探测器_2020-2025年数字化X线探测器行业市场深度调研及投资前景预测分析报告 数字化设备成为市场主流...