本期访谈阵容

嘉宾:张海宁,VMware 中国研发中心技术总监,负责前沿技术的创新项目。是联邦学习 FATE 开源项目开发专委会主席,中国首个 CNCF 开源项目 Harbor 制品仓库创始人,腾讯云最具价值专家 TVP,著有《Harbor 权威指南》、《区块链技术指南》等书籍。

主持:庄表伟,开源社理事、华为开源管理中心开源专家。常年参与社区各类活动,热心开源治理、开源成长、开源学术等方面的研究与分享。

Q:为什么会选择做计算机、做软件这样一个职业?

张海宁最早是在小学的计算机兴趣班里学到了一些基本的编程概念和原理,中学时在学校里也参加了许多编程比赛,跟小伙伴们一起搞了些研究。读大学的时候,选择了计算机专业,然后就一直保持到现在。大学毕业在 IT 公司工作了几年后,去了加拿大读了个计算机科学硕士,在当地工作了几年后回到国内,继续做计算机的软件开发架构师,帮助客户解决企业应用的问题等等。

可以说从小学开始到现在,一直都在做计算机相关的事情。从这个角度上讲,我觉得自己是那种“玩”出来的计算机极客,从小以兴趣爱好为基础,慢慢发展到从事这一行业。

Q:那时候做的哪个领域的软件?

张海宁:2000 年到 2005 年基本上以写 Web App 为主,后面也开始做一些个人有兴趣爱好的 iOS App 开发。原因是企业级的应用开发一般比较规范、比较标准的,玩不出什么新花样来,但是手机的 App 完全就是不同的流派,所以我在业余时间写了一些 App,算是极客精神的一种延续吧!当时移动端(iOS 等)是比较新的技术,还没进入主流的应用中,自己编写的 iOS 应用在 App Store 让用户 Download 是很有成就感的事情。

那时候手机 App 很缺,我于是写了不少工具类的 App,帮助用户解决在使用过程中遇到的问题,有人不少人使用的。

Q:你觉得写得最有意思,或最有挑战的是什么?

张海宁:当时写了很多不同种类的 App,有些 App 从程序员角度上看没有什么含金量。举个最容易理解的例子,有个导航类的网站,就是把一堆网址罗列出来供上网的人使用。这种看似很 low 的网站却很实用,解决了很多人上网入口的问题。

我写了个类似的 App,把全国各地公安局的车辆违章查询的网址收集并分类展示。因为全国车主很多,但当时没什么 App 可以用来查违章信息,怎么办呢?车主通过我这个 App 里的链接可以查全国各地的违章信息。其实这个软件没有太多技术难度,只是把全国所有省市的几百个网址列出来给大家用。

庄表伟:收集资料的功夫比较费力。

张海宁:对,其实不是程序难写,而是数据有价值。对程序员来说,数据不是问题,网上爬一爬就有了。爬到数据后,把它转成 App,代码可能连 100 行都没有。放到 App Store 上仅一天的时间,就冲到了榜首。可以说这是没太多技术含量,却很有用、很受欢迎的 App 了。

另外再讲一个稍微有点技术含金的 App。日常生活中,我们可能会想在某个特定时间给某人发一条短信,例如朋友明天生日,我今天设置好闹钟,短信明天会自己发出去。但是 iphone 没有这个能力,它有一些权限的限制,程序员无法开发这类 App。

经过研究,我通过某些技术方法,把这个 App 写出来了,因为全球 App Store 里面只有我的 App 能做到这一点,有很多人下载使用。大概过了一年多,可能苹果公司猜测我可能用了一些未公开的 API,就把我这个 App 禁掉了。其实从技术上说,这个 App 纯粹就是程序员挑战编程难度的,因此比较有意思。

Q:App 的用户会跟你有交流吗?

张海宁:他们的交流一般是在 App Store 里写评价,例如,好用、太烂之类的,这种是最直接的。另一种是留了个 Email,让用户给我发邮件,可以听到他们的声音。后来做开源社区的时候,这些沟通方式也都用到了。

庄表伟:有遇到过发邮件跟你说“只要你加一个什么功能,就给你打钱”的情况吗?

张海宁:还没到这个地步,他们没有说给钱的事儿,就是说哪里改进一下更好,能吸引更多的人来用。

庄表伟:你会做这样的 App 吗?比如说做一个功能少一点的免费版,再加一个功能多一点的付费版。

张海宁:那个时候挺流行这种模式的,把部分代码进行屏蔽,发布免费和付费两个版本的 App,通过免费 App 推广付费 App,但我没做过。

Q:下一个重要的转折点也是我们比较感兴趣的领域——开源社区。你是什么时候开始接触开源社区的?

张海宁:我在加拿大留学的时候,有一次 RMS(Richard Matthew Stallman)到我们学校做演讲,讲了开源的概念以及一些故事,听着蛮有意思的,最早就是那个时候接触到的开源。2005 年之前,大家有开源这个思路,但是开源的概念还不是那么明显,还没有那么主流。2005 年之后,随着云计算兴起及推广,开源慢慢流行起来。我是有这种感觉,不知道表伟怎么看?

庄表伟:我前天还在跟一个朋友在聊开源的发展历程。其实最早的时候,我们这些人只知道技术,不知道开源,虽然我们用到的技术可能就是某种开源技术,但是我们也不关心,并没有把它跟开源、软件、开源开发技术分开来看,这是第一个阶段。第二个阶段,开始有意识的有三类人,一类是中国的开源人参与国外的开源项目;另一类是翻译,他们会非常热心地把国外的一些文档翻译进来;第三类就是像你这样的,在国外对开源有一定的认识,然后把国外的开发习惯和对开源社区的理解带回国内,成为国内开源社区的一份子。再后面才有“我们是一群开源人”这样的概念,大概是这样的一个变化。

张海宁:最早我意识到开源的力量,感觉到开源会慢慢成为一个很重要的风向,是在 2007-2010 年左右。那个时候,我们写 Java 的也用过一些开源,像很出名的 Log4j 那个时候已经在用了。那个时候就有使用开源代码,但是可能比例没有现在这么高,大家很多时候还是要靠自己写,或者说那时候没有那么多开源软件可以用。到了 2005 年特别是 2010 年之后,开源的风气,包括前面说的社区运营、各方面的推广都慢慢多了起来,直到现在开源也是一种推广使用软件很重要的模式。目前开发应用基本离不开开源软件,所以我觉得开源是有一个发展过程的。

Q:你最早接触或者深度参与的开源社区是哪个?

张海宁:接触比较深度的开源社区应该是在 2012 年加入的 VMware所从事的Cloud Foundry(CF)项目,当时我的任务就是推广 Cloud Foundry 技术社区。Cloud Foundry 的特色是是 PaaS (Platform-as-a-Service:平台即服务)是第一个 PaaS 开源平台,吸引了很多人的关注及使用。

项目有两个团队,一个在中国上海,另一个在美国硅谷总部。我当时在中国做布道师,主要做 CF 的解决方案以及技术推广工作。在中国社区做了大概一年的布道,接触到了大量的开源社区用户,就是从那个时候起开始和开源有比较深度的接触,很多的朋友、经验,都是那时候积累下来的,为我之后做开源相关的事情打下了基础,可以说是一个比较重要的转折点。

庄表伟:这其实对个人来说是一个挺大的职业生涯的转折点,因为做布道师要出去做很多很多的宣讲,跟写代码还是差别挺大的。

张海宁:确实。如果不做布道师,可能会在公司里很专注地开发程序写代码。到 Cloud Foundry 时代,写代码的机会少了一些。因为大部分时间里,要么我在讲 PPT,要么是在大会上介绍其功能特点,偶尔也会做做 PoC。当然,之前做软件开发的经验,对我做 Cloud Foundry 的技术改造很有帮助,有较大的铺垫作用。

Q:你觉得当时 Cloud Foundry 社区的氛围是怎样的?

张海宁:我觉得那时候 Cloud Foundry 还是蛮受欢迎的,像国内现在做云或者云原生的朋友,好多都是当时活跃在 CF 社区的。Cloud Native 的概念最早是 Pivotal 的人提出来的,某种意义上讲,Cloud Foundry 也是 Cloud Native 的鼻祖项目之一。

这里有两个原因,一个是这种类型的项目很少,PaaS 项目不多,云原生的概念也比较新鲜;另一个是有很多技术爱好者在关注这个领域,并且积极的参与进来,像我们每次组织的 Meetup 以及其他的一些活动,都还挺多人参加的。

Q:Cloud Foundry 社区有哪些指标或工作目标?

张海宁:其实就是让更多的用户使用 CF。从布道师角度看,布道的目的是让更多人了解和应用 CF,所以最容易量度的 KPI 就是使用人数,特别是一个新的平台/项目。

庄表伟:你们会想办法吸引外部的开源贡献吗?

张海宁:除了使用,当然也非常欢迎能够提供代码的人。但我感觉国内的开源文化,从意识形态以及意愿等各方面看,没有国外那么的深入人心,大家都是先用起来,直接贡献的比较少。

庄表伟:当年我们在做开源的时候也有这种感觉。在中国做开源,只有小部分人有热情,剩下的要么在边上淡淡地看着,要么默默的用着,甚至还有偷偷改掉拿去卖钱的。真的很热情的冲上来跟你交流、主动贡献,或者提建议的人非常非常少。

张海宁:可能缺乏一种氛围吧,当然也可能是意识的缺乏。大家不会想到在使用的同时,我们是有责任、有义务回馈到开源项目的。我之前接受另一个采访的时候说,如果有可能,要在中国大学开设一门开源文化课,把这种思想在学生步入社会之前灌输给他们,我觉得这是改变现状的一种方法。

Q:Cloud Foundry 是一个非常热门的开源项目,但今天我们谈云原生的时候,只有容器是完全绕不开的,好像 Cloud Native 就等于容器、等于 Docker,当然 Docker 现在又被往后放了。在这样的变化中,当时你们是如何看待这个事情的?

张海宁:Cloud Foundry 是 2011 年推出的,Docker 是 2013 年发布的。Docker 方便、好用,Developer 容易上手,所以很快占据了绝大部分的容器领域市场。同时期有很多竞品/技术,例如 Cloud Foundry 里的 Warden 模块,能够把应用以容器的形式跑起来;另外还有 Google 等厂家其他类似的方案,还蛮多的。而 Docker 的方案,最大的区别是它能够通过同样的工具链把容器的应用跑起来,Docker 发明的镜像格式也是我们后来做 Harbor 项目一个主要的基础。

容器镜像能够非常好的把应用打包在一个固定、标准的格式里进行分发,有可移植、可传播的特性。之前所有的容器技术,我感觉很多只是实现了运行部分,固化分发的能力是没有的。Docker 具有容易使用和有通用的打包格式这两个优势,用过的人都不会放手,可以说是容器的代名词。

云原生包括容器一系列的技术和概念,容器只是云原生其中的一项技术。所以说容器等于云原生,我觉得是不太准确的。

Q:Docker 这么好用,为什么会另外做 Harbor 呢?是为了私有化部署吗?

张海宁:我认为 Docker 最核心的价值是容器镜像的格式和它发布的 Registry 镜像仓库。有了这个镜像仓库,镜像就活了,可以实现各种系统之间的无差别流转。Sun Microsystems 以前有个关于 Java 的口号“Write once, run anywhere”,思路是挺好的,也在一定程度上实现了这个目标,但它没有较好的机制把 run anywhere 这个事情做出来。Docker 通过 Registry 作中介,能够使得任何机器都能很方便的通过容器镜像跑起来,解决了镜像(以及包含的应用)流动的问题。但 Docker 最早做出来的 Registry 那一版只有基本的分发镜像的能力,缺少很多企业需要的能力,例如,对于企业来说,需要有 RBAC(Role-Based Access Control)类似的机制来满足企业的要求。所以我们基于 Docker 基础版的 Registry,增加了一系列的镜像管理能力,开发了 Harbor 这个镜像仓库管理软件,来满足用户的需求,可以认为是 Docker Registry 的增强版了。

Q:为什么想着把 Harbor 开源出来?

张海宁:那时候(2012 年前后)大部分企业是使用虚机的,容器技术很新,新到大家都不太敢用,都处于一种观望的状态,即使大家了解它的优势。后来也是为了这个 Harbor 项目能找到更大的用户群,才决定把它开源出来。

Q:当时是怎么说服公司同意 Harbor 对外开源的?

张海宁:当时也是做了很多的说服工作。VMware 是比较传统的企业级软件公司,开源代码也是个新鲜事儿,前前后后做了好几个月的工作,最终说服了各方领导,把 Harbor 开源出来。

庄表伟:说服领导和公司开源一个项目有一个两难的处境,你既不能把它说的太重要,也不能把它说的太不重要。说得太重要,公司会问为什么不拿它卖钱?白白地让别人赚这个钱吗?说得不重要,公司又会问把它开出去的意义是什么?

张海宁:这个确实是所有公司都会考虑的,因为每个公司都有它的经济利益所在。如果企业把一个很价值的、可商业化的代码免费开放出去了,肯定要衡量得失的。因为当时容器技术和 Harbor 很新,它们的商业潜力到底有多大也能不确定,所以公司也不是太在乎吧。另一方面,从云原生项目上看,基本上都是开源的,可能也是文化转变的过程吧,相对来说比较好解释。

庄表伟:现在业界几乎所有我们能看到的新兴技术,都是以开源的方式来推广的,很少有闭源的。

张海宁:我觉得也是用户的选择吧,在有选择的情况下,用户一般会优先选开源的,有尝试、调整、改造的自由度,也是一种避免重复造轮子,提高效率的生产方式。

Q:Harbor 已经是 VMware 一个非常成功的开源项目了,为什么要把它捐赠给 CNCF ?

张海宁:有几个背景:第一个是 Harbor 有巨大的群众基础,在用户群里很受欢迎。我接触到的 80%-90% 的云原生用户,都跟我讲他们在用 Harbor 容器镜像仓库,受众非常广。二是从中立性上看,如果一个开源软件是某个公司主导的,企业可能会有一定的顾虑,万一以后它放弃不做了怎么办?把路带歪了怎么办?如果有一个中立的基金会去管理,可能会是最好的选择。三是从开发者的接受度来思考,特别要参与项目的时候,往往会优先选择开源基金会里的项目,因为这样不至于因为某个公司的决策,影响项目后续发展。这也是为什么 Harbor 当时会捐给 CNCF 的一个原因。不捐赠出来,很少人愿意跟你一起发展,只会越做越小。再则当时 CNCF 没有中国的开源项目,所以决定把 Harbor 捐赠给 CNCF 他们也欣然接受了。总结一下就是,Harbor 是 VMware 第一个捐赠的开源项目,也是首个 CNCF 源自中国的开源项目。

Q:什么时候开始关注区块链的?

张海宁:区块链的本质是一个去中心化的分布式账本数据库,作为一个创造信任的机器,用户对区块链的信任本质上是建立在开源代码之上的,如果不开源,人家怎么信任你?所以区块链项目现在绝大部分都是开源的。

应该在 2016 年吧,我在开源社区中了解到了区块链,那时候以太坊刚兴起,我参加以太坊的一些活动。机缘巧合下,我在那时候也参写了一本书,叫《区块链技术指南》。2017 年,区块链大火,那本书在国内成为了畅销书。我就是这样的背景下介入到区块链领域里的。

Q:现在主要投入的开源项目是哪个?

张海宁:我现在投入精力比较多的是隐私计算的另一个项目叫 FATE,是联邦学习首个工业级开源框架,结合点跟云计算还是比较密切的。联邦学习隐私计算现在是很热门的一个领域,是一种能够保障数据安全和隐私的算法。目前我参与的 FATE (Federated AI Technology Enabler)  跟 Harbor 还是有点关系的,我是 FATE 开源社区开发专委会的主席。

在 KubeCon 2019 上海大会上,微众银行把 FATE 捐赠给了 Linux 基金会,当时我正好在 KubeCon 2019 上作 Harbor 的主题演讲,认识了 FATE 开源项目的相关人员。FATE 项目很不错,和我们一拍即合,同年下半年,我们从云原生的角度切入,参与了一些相关的工作,并在社区里活跃着。

Q:接下来的技术发展,你会关心哪些或者关注哪些更有趣的领域?

张海宁:目前来看,人工智能还是蛮有趣的一个领域,有很大潜力和想象空间,还有很多值得去探索和发展的方向。虽然从算法角度上讲,人工智能本身就是通过计算求数值解的过程。因为含有很多的可能性,所以我觉得会带来一些不可预知的创新点,是一个比较有意思的领域。

其他像大家关注的边缘计算,也可能一个潜在的方向,虽然说了很多年了,但我觉得可能最终会有跑出来的时候。

庄表伟:我发现你们做的项目有很多个第一:Cloud Foundry 是业界第一个开源的 PaaS,Harbor 是第一个容器镜像企业级的解决方案,也是首个 CNCF 中国开源项目。我们原来凭着兴趣,觉得有趣而做开源,但越到后面,越需要某种前瞻性,相信你们这么多第一也离不开你们的前瞻性。这种比别人想得更早的这种判断力是怎么产生的?

张海宁:可能得益于我们 Team 的使命和文化吧,领导经常鼓励我们探索新的前沿领域,就是那种没人碰过或者没人知道的,总之越新越好,一定程度的造就了我们总能做出一些首创的事情。但其实我们并没想过那么多是否第一和首创,主要还是看它能带来哪些新价值和新机会,给用户带来哪些新用途。

从技术人角度讲,我们会先进行调研,初步判断某项技术有没有价值。如果有潜力,会找一两位同事做深入探究。这个过程中既有成功也当然会有失败的项目。这当中除纯技术原因外,也有团队综合性决策的过程。

Q:对开源雨林的意见/建议,对开源雨林今后的发展期望

庄表伟:开源雨林是由华为首先发起的企业开源赋能计划,它的本质是想要打造中国乃至全球范围内更加良好、健康的开源生态。因为我们觉得热带雨林是一个非常多样性的生态系统,也希望开源生态系统能够像热带雨林一样蓬勃发展,所以取名叫开源雨林。

我们会做很多事情,例如开源雨林的企业开源赋能课程,围绕开源通识、开源使用、开源贡献三大方面构建知识体系,发挥各共建各方的技术优势与经验优势,帮助企业理解开源理念,掌握实战方法,让企业更有效率地使用开源、贡献开源。像我们今天的大咖访谈,其实就是在社区里找朋友聊天,广交朋友也是开源雨林正在做的事情。此外,通过开源雨林不断地布道、赋能,以及一些线上线下的活动,希望能逐渐地形成一些生态层面的合作机会。站在一个开源人的角度,开源生态要想发展得更好,我们还能做些什么?

张海宁:我觉得你刚才讲的那些要点都挺准确的,从参与角度上看,影响力、知名度、认可度,是做开源的关键点。开源雨林这名字也很形象,一听到雨林,马上就联想想到生态繁荣的景象,从开源文化的角度上说是非常重要的。

创下多项“首个”的开源玩家 —— VMware 中国研发中心技术总监张海宁相关推荐

  1. 创下多项“首个”的开源玩家

    文字 | 王瑶        校对 | 堵俊平       出品 | 开源雨林 本期访谈阵容 嘉宾:张海宁,VMware 中国研发中心技术总监,负责前沿技术的创新项目.是联邦学习 FATE 开源项目开 ...

  2. 访金山云CTO杨刚:开源改进PK自主研发,技术驱动前行

    http://www.csdn.net/article/2013-01-29/2813986-interview-kingsoft-cloud-CTO-yanggang/1 摘要:从O开始到" ...

  3. 张海宁:首个 CNCF 中国开源项目 Harbor 的修炼之道

    「WeOpen Talk」是腾源会全新上线的「对话开源」内容专栏,每周为读者呈现一期与尖峰开源人物的精彩对话内容.在「WeOpen Talk」栏目中,我们将深刻诠释开源先锋者们的开源精神.开源理念及其 ...

  4. 腾讯开源再获OSCAR 5项大奖,全国首家可信开源治理认证自发开源企业

    7月3日,由中国信息通信研究院主办的2019云计算开源产业大会在北京举办.腾讯开源独揽尖峰开源企业奖.尖峰开源技术创新奖(自主研发项目).尖峰开源技术创新奖(基于社区版本二次开发项目).行业开源技术领 ...

  5. 暑期2020“大咖说开源”之吴晟 | 如何做一个开源玩家

    | 主办方: 中科院软件所.openEuler 社区.开源社 | 编辑:袁睿斌 | 设计:谭嘉露 活动介绍 Overview 开源供应链点亮计划 - 暑期 2020 (https://isrc.isc ...

  6. 腾讯首个AI开源项目完成3.0版本迭代,从顶级开源基金会毕业

    乾明 编辑整理 量子位 报道 | 公众号 QbitAI 最新消息,腾讯开源项目Angel从LF AI基金会毕业,也是中国首个从LF AI基金会毕业的开源项目. 伴随着这次毕业,Angel也正式完成了3 ...

  7. 微软向Linux社区开放60000多项专利:对开源微软是认真的

    10月10日,微软在博客中宣布正式加入开放创新网络(Open Invention Network, 简称"OIN"),向所有开源专利联盟的成员开放其专利组合. \\ 微软的加入意味 ...

  8. 数据 3 分钟 | 国产数据库迎来 2 名开源玩家、数据库厂商年度报告都说了些什么?...

    数据 3 分钟 由 ACDU(中国 DBA 联盟) 与墨天轮联合出品的全新视频节目上线啦-三分钟带你来了解数据行业动态,节目内容主要包含数据行业最新的产品发布.公司大事件.行业新闻等.每周五更新,不见 ...

  9. 昇思MindSpore超级英雄榜发布!超300位开发者入选国内首个AI开源社区开发者进阶榜单...

    点击蓝字 MindSpore 关注我们 小说界有武侠英雄榜,游戏界有王者英雄榜,那么AI届的超级英雄榜,你了解多少呢?作为人工智能届的明珠昇思MindSpore,从2020年3月28日开源至今,已有4 ...

最新文章

  1. 自定义通知与系统通知的学习(详解)
  2. [原创]浅谈在创业公司对PMF的理解
  3. axios nodejs 上传图片_vue项目中使用axios上传图片等文件操作
  4. 从拉格朗日乘子法到SVM
  5. python深度神经网络量化_「深度神经网络」(deep neural network)具体是怎样工作的?...
  6. LeetCode | 3 Sum
  7. RHEL6.4上Samba/NFS服务器简单配置
  8. 所有的生意都是在做两件事
  9. log4j的使用配置
  10. 正则表达式(模拟网络爬虫、网络蜘蛛)
  11. Kali Linux-MSF远控局域网手机
  12. ubuntu16.04下微信和TIM的安装
  13. Python Apex YOLO V5 6.2 目标检测 全过程记录
  14. R12应付模块详细结账流程
  15. 如何在Ubuntu系统下挂载新硬盘(win10+Ubuntu双系统单硬盘挂载新硬盘)
  16. python绘制气象等值线图_气象要素场等值线图自动绘制
  17. 人大金仓数据库怎么样?好用吗?
  18. 两大美女代言《极品飞车11》11月发布
  19. Spring事务失效常见场景
  20. 计算机没有autoCAD_没有CAD的年代,施工图从哪里来?

热门文章

  1. 时髦白领英语100句
  2. video在微信和QQ浏览器中不全屏播放解决
  3. OODOOP-单例模式
  4. 人的生物钟会发生变化的
  5. seleninum + testNG + reportNG在Windows7搭建自动化测试环境
  6. 《ESMap平台如何在线绘制三维可视化地图-易景空间地图》
  7. Python压缩模块:bz2
  8. “三巨头”新格局——TAB是怎么取代BAT的?
  9. @InitBinder的使用
  10. 数据仓库的星型模型和雪花模型的区别以及优缺点