【InfoQ专访】十年前只想混一个Apache邮箱装逼,十年后却成了顶级项目创始人

2023-12-23 10:50

本文主要是介绍【InfoQ专访】十年前只想混一个Apache邮箱装逼,十年后却成了顶级项目创始人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文转载自【InfoQ】

编辑 | Sai

视频 | 二叉树团队


正式采访 Luke 之前,我们跟他进行了一次电话上的长谈。在那次长谈中,Luke 谈到了他对中国开源三个阶段的看法,谈到了浙大中控的经历对他的影响,谈到了他现在的人生只有工作和睡觉两件事。

那次长谈的最后,Luke 说,Kylin 对现在的他来说就意味着他的一切。

这是一个怎样的项目,可以承载一个人的一切?一个基于机器学习的智能数据仓库,一个由中国工程师推到全世界视野下的开源项目,一个可以一直待在 eBay 却出来创业的团队。

他是韩卿,Kyligence 的联合创始人和 CEO,Apache Kylin 的创始人和项目管理委员会主席。

 

点击查看采访视频​v.qq.com


Apache Kylin 项目简介:

Apache Kylin 是一个开源的分布式分析引擎,提供 Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并在 GitHub 开源。Kylin 项目一经开源,即获得了业界众多的称赞,并于 2014 年 11 月被邀请加入 Apache 软件基金会,成为 Apache 的一个孵化项目,2015 年 11 月,经过投票正式毕业成为第一个来自中国的 Apache 顶级开源项目。

Q:Kylin 是中国第一个 Apache 顶级开源项目,为我们简单讲讲 Kylin 开源时候的情况?

我们是 2014 年 10 月份开源的,11 月份的时候被接受成为 Apache 孵化器项目,因为 Apache 的项目都是需要经过一段时间的孵化才能毕业成为顶级项目的。当时我们刚刚贡献过去的时候,确实有很多西方人会用有色眼镜来看我们,因为之前有那么一两个来自中国的项目去过,最后都失败了。那么他们给我们的一些质疑在于是说,我欢迎你们来玩,但我觉得你们英语不够好,觉得你们对西方文化的理解不够,觉得你们会比较保守等等。
 



举个例子,在最早的时候,我们可能会有中国用户跑过去用中文问问题,我们当时的导师会非常的焦虑,他会自己拿谷歌翻译,翻译完了之后说你们要用英文来回答,因为他担心我们会全变成中文了。他们会非常的在意我们是不是用真正的开放的方式去做这件事情。

我们自己的做法是我们帮他翻译成英文,然后再用英文去回答。这是一个信任积累的过程。最后其实我们毕业的时候,那位导师给我们的评价是蛮高的,他在 Apache 官方博客里的评价说 Apache Kylin 代表了亚洲国家,尤其是中国在开源界的参与和贡献。

互相建立信任的过程,重要的是我们怎么在社区里去运营这么一个项目。是不是用英语去讲这件事情?各种各样的决策和讨论是不是在邮件列表里?因为确实在其他项目发生过,中国人全在 QQ 群或者微信群里,邮件列表里面没有,这就造成很大的挑战,因为他们希望所有的讨论都应该搜索引擎可以搜索得到,所有这些东西都应该被记录下来,这对于整个项目的长足发展是最好的。

Q:您个人其实没有海外留学的背景?

Kylin 的创始团队和现在公司的管理层都没有。

Q:那么您进入开源社区的时候有没有文化不适应?我们见到一些项目在这方面会有冲突。

我觉得还好。因为一方面我们之前有在外企工作的经验,我们这个团队也比较 open,比较适应这样一个沟通。

我觉得你首先需要尊重别人。不是说看我这边交易量有多大,所以我们的技术多厉害,这个文化就不对了。然后我们非常的坚持一定要用邮件列表去交流、去做决定。

Q:有没有被质疑得比较严重的时刻?

Kylin 这个项目启动的时候就是被质疑的。Kylin 的核心做法是用空间换时间这样一个方式来提升性能,这个方式当时在 eBay 内部是全新的一个项目,当时我们碰到蛮多的反对意见,说你们这样可能做不出来。我们当时的架构师跑到美国,去给一个非常资深的架构部高管讨论这个项目,对方就各种各样的质疑你,质疑到你感觉你都不相信自己。但是这非常的没理由,因为他不来看你的细节,所以导致当时我们架构师一拍桌子,合上电脑说,You shut up!

后来我去美国出差的时候又遇到他,一见面他就跑过来说,Luke 你们这个做法是做不到的,因为他从自己的认知来质疑说这样一个技术是不 work 的。但我当时就跟他说,我们现在上面跑了几个应用,我们已经做到了把大量数据放进去之后,我们的性能比传统仓库还要好。

后来碰到另外一个挑战,是公司内部改组。改组之后,我原来最早的用户就没有了,因为每个部门的优先级都变掉了,我们这部分事情就不是他们最重要的事情。
 



一个项目没有用户在内部的时候,是非常具有挑战性的时候,因为如果没有用户,你可能会被解散掉。那么当时我们花力气找用户,其中有个用户跟我们关系不错,也很认可我们这样的一个方向,因为他们确实有痛点,但他们有一个要求,就是有一个技术问题你必须解决,不解决我们就不用。当时我们回来讨论的时候,我们架构师拍桌子说,为什么把这样一个用户给接回来?因为这个确实太难做到。但是这家伙蛮有意思的,回去之后找了很多论文,第二天早上回来跟我讲说,好像找到一个方法了。所以后来其实在这个上面,我们确实找到了一个非常不错的突破点。

后来我们找到他们一个最终用户,是一个澳大利亚的分析师,因为分析师是拿数据来做决策,当时开电话会议的时候,他的抱怨蛮多的,他说我是一个分析师,为什么要打开一个终端,用各种命令行跳到一台机器上去,用一种他非常不熟悉的语言去做数据分析?对他来说大量的时间被浪费在这些技术操作上面,让他很痛苦。但是后来过了一段时间,项目上线后,可能有一两年之后,有一天我们发现系统上跑了一个很频繁的应用,找了半天发现是他。他说这个项目后来给他带来的影响还是很大的,还写了很长的一封感谢信。

Q:是不是可以这么说,当时 Kylin 这个项目要存活的关键就在于能不能找到用户?

对。任何项目都是一样的,你没有用户,就没法儿证明你的价值。所以我们也非常感谢我们早期的这些用户,因为他们确实给了我们极大的信任。

Q:当时是什么促使你们坚持下去,而不是说,这个太难了我们不做了?

可能有点不服气吧?他们觉得你做不出来,我们就一定要把它做出来。
 



Q:那为什么在别人怀疑你们,甚至你自己都开始怀疑自己的时候,你们没有继续怀疑下去?

有一句话叫做打不死的小强对吧?回过头来想想,还是团队。当你一个人的时候,你是很难坚持的,因为你一个人的时候很容易就打退堂鼓了。但你会发现,一个团队在的时候,你会发现信心就来了。互相看一看,不能随便就放弃了,互相之间会给打气。很多时候是靠大家互相激励才能够搞得定的。
 



Q:让您感到最自豪的事情是什么?

我觉得最自豪的事情就是有一个非常好的团队,有一帮非常不错的小伙伴。当时 2016 年底的时候,我不断在融我们的 A 轮,那时候我们需要新的资金进来,融资当时确实有比较冷的一个阶段。我们好多团队成员就跑过来说,你什么时候半薪你就说,甚至什么时候停薪你就说,大家都非常愿意投入在这个事情上。
 



我觉得这是大家对这件事情的认知,我们能够把这件事情做得很深很远,这是团队的凝聚力所在。

Q:您觉得为什么会有这样的凝聚力?

我讲个笑话:十年前的时候,我们写程序用了非常多的 Apache 项目,对吧?我当时的想法是,我什么时候去哪个项目里混一个 Apache 的邮箱回来可以装逼?

我觉得重要的是自豪感。我们做技术出身的人,对于我们做的技术,是不是能够影响多大,是不是能够影响到别人的生活、工作,这个才是不一样的地方。

就我们今天来说,尤其是非常大量的用户,在非常大的场景上使用起来,这种自豪感是非常不一样的。举个例子,招商银行整个全行的分析平台,全部从 IBM 到了我们这样一个平台上,这在十年前是不可想象的一件事情,今天我们做到了。我们在美国也有客户,我们在西班牙也有客户,好像做得还是蛮有意思的,对吧?

Q:您觉得 Kylin 这个项目对现在的您意味着什么?

Kylin 对我来说意味着一切。第一方面是证明自我的价值,不仅是我,对大家的价值,这样的一个项目能够影响多深,影响多远。第二个是我们在探索一个开源商业的模式,我们可以看到几乎所有开源软件背后都是有商业公司在支持的,在美国可能比较流行,在中国其实实践的人并不多,我希望能够把这条路闯出来。另外一个是朋友圈,因为通过这样一个项目,能够接触非常多的人,以前你都不可能想象你能够认识,能够跟他们做朋友。

Q:当时你们从 eBay 出来创立一家公司,是出于怎样的考虑?

我们当时的考虑其实很简单,我们看到了好一点的开源软件,一个商业公司其实很有必要的,我觉得这是一个趋势。我们当时开源出来,整个业界的反响非常不错,能够看到非常多的潜力,所以如果我们想把这个事情做好,独立出来可能是一个最好的路。因为对于一个大公司来说,它不可能投入非常大的资源来做这么一个项目,我们当时在 eBay 的团队也就六七个人。但今天你可以看到,我们整个公司一百多人都扑在这个项目上。

Q:但是以前会感觉很多巨头的开源项目会比较成功?

我倒不这么认为。你要看它的生命力和持续力。我认为创业公司在后面支撑这些项目反而更成功。你靠巨头的支撑,其实有点像是在保姆下成长;靠创业公司运营的项目,其实是非常残酷的,因为你在市场上竞争,所以你能存活下来,你的生命力就一定是可以的。

Q:您觉得 Kylin 现在成功了吗?

我觉得远远不到。我觉得今天仅仅是一个开始,仅仅是我们做了一点点小小的成绩,能够让我们有一个非常不错的出发点。
 



Q:您个人在工作之外有什么方式调节压力吗?

我现在就只有工作和睡觉两件事情,但我比较喜欢看电影,尤其是一些科幻电影,星际旅行相关的一些题材,能够让你的想象力非常的大,能够让你的脑洞大开,能够让你想象科技未来的各种各样的可能性——不仅仅是好的方面,有很多是坏的方面,能够有很多人性的思考。

我有段时间非常喜欢看一个连续剧叫做《太空堡垒卡拉狄加》,讲的是人类殖民地被机器人全部给攻陷了,就只剩下几艘船了,剩下没多少人了,整个的历程,综合了非常多的人性的思考、宗教的思考、各种各样社会形态的思考、对科技的未来的猜想,我觉得是非常有意思的,可以让你深入去思考科技到底能够到什么程度,技术到底能够走多远。

这篇关于【InfoQ专访】十年前只想混一个Apache邮箱装逼,十年后却成了顶级项目创始人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/527765

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

SpringBoot项目是如何启动

启动步骤 概念 运行main方法,初始化SpringApplication 从spring.factories读取listener ApplicationContentInitializer运行run方法读取环境变量,配置信息创建SpringApplication上下文预初始化上下文,将启动类作为配置类进行读取调用 refresh 加载 IOC容器,加载所有的自动配置类,创建容器在这个过程

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

2. 下载rknn-toolkit2项目

官网链接: https://github.com/airockchip/rknn-toolkit2 安装好git:[[1. Git的安装]] 下载项目: git clone https://github.com/airockchip/rknn-toolkit2.git 或者直接去github下载压缩文件,解压即可。

9.8javaweb项目总结

1.主界面用户信息显示 登录成功后,将用户信息存储在记录在 localStorage中,然后进入界面之前通过js来渲染主界面 存储用户信息 将用户信息渲染在主界面上,并且头像设置跳转,到个人资料界面 这里数据库中还没有设置相关信息 2.模糊查找 检测输入框是否有变更,有的话调用方法,进行查找 发送检测请求,然后接收的时候设置最多显示四个类似的搜索结果

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

html css jquery选项卡 代码练习小项目

在学习 html 和 css jquery 结合使用的时候 做好是能尝试做一些简单的小功能,来提高自己的 逻辑能力,熟悉代码的编写语法 下面分享一段代码 使用html css jquery选项卡 代码练习 <div class="box"><dl class="tab"><dd class="active">手机</dd><dd>家电</dd><dd>服装</dd><dd>数码</dd><dd