红帽技术开放日:参与开源社区不只有贡献代码这一种方式

阅读数:744 2018 年 7 月 7 日 17:24

红帽(Red Hat) 是全球最大的开源软件公司,今年是红帽建立 25 周年,适逢 LC3 大会在北京举办,6 月 28 日和 29 日红帽举办了开源社区开放日和媒体交流会,和大家分享红帽的最新消息,并探讨了如何建设开源社区让更多人参与开源。

红帽是什么样的公司

提到红帽就会想到开源,提到开源也肯定会想到红帽公司。那么红帽到底是什么公司?有人说红帽是开源的代名词,有人说红帽是一家 Linux 公司,红帽全球副总裁中国区总裁曹衡康说,红帽已经转型了,现在红帽不仅是 Linux,更是全球最大的开源云平台公司,红帽的方向就是在云的环境中提供全站的解决方案。

红帽全球目前有 12200 个员工,在 IT 行业名列前茅。红帽中国目前有 500 多个员工,包含 300 位研发人员以及 200 位左右销售服务相关人员。

回顾一下红帽过去 25 年的征途,一开始是一个 Linux 公司,但是红帽这几年变化很多,在 Linux 领域已经变成最大的开源公司,可是红帽觉得要跟趋势走,从 2001 年开始就往云计算方向思考,那个时候云刚刚起来,所以红帽在 2012 年收购了 ManageIQ,2013 年发布了 Open Stack,正式进入云计算领域。

红帽有三大技术支柱:

  • 基础架构,包括 Linux,还有虚拟服务器,虚拟存储;
  • 中间件,包括 Kubernetes,容器平台,以及 Open Stack 和刚刚收购的 CoreOS;
  • 开发的自动化软件

我们常讲有所为有所不为,红帽就有两不做:不做硬件,硬件交给硬件公司做;不做应用,应用开发交给合作伙伴。红帽提供的是所有平台软件。

红帽技术开放日:参与开源社区不只有贡献代码这一种方式

今年 5 月份在美国旧金山的红帽峰会有几个亮点:

  1. 越来越多的企业不仅用 Linux,更多的公司也在用红帽云解决方案;
  2. 红帽的技术转型是要通过 OpenShift 提供混合云解决方案。中国很多企业开始会采用公有云,但是绝大多数企业,特别是中型企业一定是混合云:一部分核心生产系统在私有云,非核心系统会放在公有云。
  3. 开发人员越来越受重视,开源技术人才很稀缺。

在中国,红帽的作用是帮助企业进行数字化转型,作为混合云的解决方案提供商为客户创造更多的价值。开源最重要的是社区,红帽也会在中国持续加强开源社区的建设。在 6 月 28 日的社区开放日活动中,6 位上游社区的专家和大家分享了开源社区的运营规则和机制,以及自己作为开源社区成员的感受。

大家本身是社区的负责人或者工程师,同时又有红帽的背景,你们怎么把技术能量转换成价值贡献给社区,又怎么将社区开源的服务能力转化给红帽?

其实对我们来说这并不是两边。我们想的首先是这个技术先提供给社区,然后社区进一步的开发完善,最后成为供企业可以使用的技术或者软件。开源是红帽的 DNA,对我们来说最重要的一件事是使这些软件取得成功,因此我们的工作是就某个软件进行研究,或者推动在某个软件上增加新功能的时候要求红帽提供更多的资源。

针对开源社区众多的开源技术,传统的用户一般都采用服务外包的模式,以前他们会把 IT 的应用需求外包给 IBM 或者商业用户,但是他们的技术人员的实力可能不能很好的开源,怎样能够帮助企业用户解决这一问题,加快应用技术的步伐?

我们是鼓励人们在这个技术还在上游社区里的时候就开始试着使用,这样他们也许会帮助我们发现这个软件存在哪些问题,会非常熟悉这个软件到底是怎么运行的,比如是一个云管理的软件还是容器化技术,是涉及到操作系统或者虚拟化核心技术等等。

对于企业用户我们也是鼓励他们参加开源社区,这样当这些操作系统、容器技术或者云管理的技术成熟或者得到进一步发展,并且用户做好准备使用这样的技术之后,他们可以找红帽,得到有红帽商业支持的软件版本。因为在这个过程中他们可能已经帮助我们发现问题,并且非常熟悉这个技术的方方面面,能拿到商业版本,或许商业版有一点乏味,但是这是好事,因为对企业来说更稳定,我们会通过各种咨询服务和培训帮助他们尽快的上手使用。

所以不仅是家庭用户和个人爱好者,我们鼓励他们参与上游社区,企业我们也是鼓励参与的。

除了加入上游社区逐步了解相应技术之外,加入社区还有一个好处,就是能和社区开发人员建立起非常好的关系。因为中国人非常强调关系的重要性,在开源社区也是如此,你参与到开源社区中会逐渐习惯和开源社区的人合作,双方就会建立起信任,当你开始使用商业版软件的时候,双方之间已经有了很好的信任,这也非常有利于软件的实际应用。

在 Fedora 社区有不同的区域划分,相互之间的差异化红帽是怎么解决的,在中国的本地化进程是怎样落地的,人员参与和贡献分别是多少?

Fedora 分区域主要是有两个原因:

  1. 这是过去为了行政管理的便利做出的安排,因为分成不同的区域之后就可以更为容易的,相当于在本地做决定,而且资金的流动也更便利一些,随着全球化的发展,这个重要性降低了。
  2. 还有第二个原因,差异性是无处不在的,我们希望在对话的时候,彼此的对话能在一个更适合的地方发生,因而在不同的国家和社区进行对话时所产生的决议有效,毕竟不同区域在文化上是有敏感性的。

关于中国有多少贡献者,和他们在在这个社区中有多活跃,对这样的问题,我们的回答永远是不够多,因为我们希望任何地方的贡献者都能够更多一些,希望他们更活跃的参与社区的活动。

在中国我们的社区建设有有一些挑战。因为中国的软件工程师或者相关爱好者本身的工作时间很长,算上加班和通勤时间就没有太多的精力投入开源社区的活动。此外中国社会不太重视让学生参与开源活动,大部分学生更专注于提高考试分数。我们在中国一直希望寻找对开源感兴趣的人,鼓励他们参与进来。不管你面临什么样的用户和场景,我们希望都是有人能够和你进行交流提供帮助的,所以我们非常鼓励大家的参与。

还有一点就是,我们的开源社区是全球性的社区,因此绝不会说有哪些情况就使得中国人为社区做贡献特别难。比如我本人经常在晚上九点和社区的成员进行交流,因为这个时间对大部分社区成员来说是最合适的。对不少中国人来讲,中国的时区和美国时区差异特别大,但是这一点不会阻止开源社区的交流。

红帽今年年初收购了 CoreOS,CoreOS 怎么帮助红帽推动技术发展,怎么把 CoreOS 集成到你们现有的技术中?

红帽在今年年初的时候收购了 CoreOS,其实之前 CoreOS 都是红帽特别好的伙伴,尤其在容器化领域。我们肯定把两个社区最好的技术都拿出来结合在一起,我们还在拟定这样的路线图,目前可以说的一点,Fedora 和 CoreOS 的团队在考虑把 CoreOS 容器的部分放在 Fedora 里,这样在 Fedora 社区领域得到加强,并且可以使大量的用户都能够走到一起。

实际上对于 CoreOS 来说,最擅长的就是自动更新。这个主要是从最基础的,也就是从操作系统最底层开始的。现在我们是希望能够把它也在 Kubernetes 和其他的平台和技术上实现,我们可以把你所有的东西都实现技术的更新。在容器化领域和监控方面,我们现在正在把它自动更新的功能带到 OpenShift 和红帽的其他产品和服务上。

就中国开源社区的现状,对于提升和促进中国开源社区的发展有什么建议?

刚才提到的一些中国开源社区的现状,部分原因可能是文化上的。我们的社区需要有人生活在中国,帮助我们理解中国人是怎么打交道的,还需要有人来进行沟通,能够跟我们说,这是我对这个问题的理解,你能不能告诉我你了解的是什么情况。所以肯定不能只是复制在其他地方成功的东西,只做这个肯定是不行的。

我不知道组织一些具体问题面对面交流的做法会不会有用,我也不知道垂直集成的方式会不会有用,因为我们知道在中国程序员平均每天通勤时间长达一个半小时。我们可能需要二三十个不同的小组专注一些领域交流,我也希望和读者或者受众共同探索到底有什么方式能够帮助中国的社区,能够更多的参与,我觉得我们一起是能够找到办法和出路的。

还有一点特别重要的,我们应该认识到开源涉及的贡献不仅仅在于代码,迄今为止,中国开源社区做出最大贡献的一块主要是代码。我们会谈到翻译,本地化,这都是贡献的不同方式。在中国,对于艺术、营销或者编写文档等方面的贡献,做的是相对比较少的,但是所有的这些都是非常有助于开源社区的发展。所以如果能有人在这些方面更多地参与进来,这样可能也有好处。

Apache 基金会会帮助很多项目,在每年大会的时候,他们总会开宗明义地说文化比代码重要,这是开源的精髓和价值观所在,我们一直强调重要的不仅仅是代码,重要的是互动,要有很好的行为准则,因此我们总是希望大家帮助做一些代码以外的工作,比如编写本地化的文件。因为在很多地方文件不能实现本地化,对想参与开源社区的人来说是很大的痛点,在这方面如果能做更多的事情,是非常大的贡献,所以我们既有代码的贡献者,也有普通的用户帮助进行其他工作的贡献者。

所以对于做开源的人来说,我们都是对开源的价值观非常有激情的一些人,开源的精髓是在社区里,我们要相互尊重、协作、透明,因此我们的工作就是告诉各个社区和各种技术,我们要努力的使人们的生活变的更好,开源就是做这个的,我们也是为这些公司服务的,因为很多公司的员工都需要长时间的工作,我们提供的技术如果对他们有所帮助,使他们的生活变的更好,这就是为什么我们参与开源社区的原因。

在社区成员中,有些人承认自己的代码写地不好,但是他们能帮助编写相关文件,准备在各种会上的发言,帮助传播开源社区的观点。所以希望大家不会觉得开源社区是单纯的由软件开发者组成的,而是由各种各样的人组成的,开源的社区绝不仅仅是贡献代码

作为开源社区的大拿来讲,吸引你们进入开源的热情是你们对技术的偏好,还是你们坚信开源技术未来在商业上有很大的潜质,是什么支撑你们在开源领域里努力?

Thomas:世界上没有任何其他一个我所知道的行业能够让一个国家、或者一个村子里的人看到代码,并且利用手上的电脑开展相关的工作,没有任何一个其他的行业像开源社区一样把自己知道的一切都告诉别人,而在这个过程中我还拿到一份薪酬,当然我不能代表别人说话,我自己而言我觉得我是全世界最幸运的人,一方面我能够每天都在玩这些最酷的技术,同时还把我所知道的一切告诉任何感兴趣想学习的人,在这个过程中还能拿到工资。

大概五年前,闭源和开源软件公司之间的冲突还是非常显著的,但是今天我们可以看到所有的闭源软件公司都在采用开源的方法,他们也在发布大量的开源的代码,也就是说他们都看到了开源的模式,协作,为他人提供服务,以及做一切人人们生活变的更好的事情,这个模式是被大家认可的,这个时代是非常不可思议的,著名厂商包括 IBM,微软,甲骨文等等,他们都在做开源的事情。

Jennifer:强调一下开源的核心是协作,在开源社区里面,你会发现很多竞争对手同时也是合作的伙伴,我们和 IBM,微软,AWS,谷歌都是非常好的伙伴。重要的是没有他们的参与,没有我们的参与,这个行业就不可能取得这么大的成功。我们也不仅仅和这些公司打交道,我们还和很多大学,非盈利机构进行沟通,这个社区是多样的,而且有大量的互动。开源社区伟大的一点是他特别促进创新,行业的未来是开源,很多公司为什么用开源,因为他们知道只有用了开源才能保持自己的敏捷性,而且他们也知道自己是没有办法预测未来的,但是如果他们不与时俱进,那么这个公司可能将来就死路一条。

Adam:假如你是一个喜欢编代码的人,或者公司让程序员编写代码,如果你在社区里发布过代码,并且让其他人为这个代码做出贡献,你立刻会意识到开源的重要性或者价值。拿 Kubernetes 举个例子,它最早是谷歌拿出来的,一开始非常简单,但是大家都看到它的前景,现在有好多公司在为 Kubernetes 做出贡献,Kubernetes 本身也变的更为庞大,而且是非常棒的,但是在开源社区会发生这些事情,你把代码拿出来不是损失了自己的代码,有更多人会对你帮助,会有更多的贡献。

Carol:谈到关系,去年我们与阿里巴巴建立了伙伴关系,我希望,并且相信,肯定会有更多的中国本地伙伴关系发展起来。其实看一看 LC3 大会就知道了,有那么多大大小小的本地公司他们都在做开源,而且非常愿意分享自己用开源的经验,所以我想在这方面我们可以真实的看到这个趋势。

关于个人的动机,我非常喜欢技术,我喜欢和别人分享东西,我也喜欢给别人参与这些非常酷的项目的机会,我也希望生活能够过的好,而参与开源给了我这一切。

Brian:我就记得大学时,有个朋友来找我,他当时拿着最初的 Linux 的某个版本,我们当时用软盘的复制工具复制了 64 个软盘,当时只有一个很自私的想法就是是希望能用这个东西让我非常糟糕的电脑转的更快一点。我也做出了自己的第一个贡献,因为我想让这个程序运行得有点差别,想改一下。所以最初这个动机帮助我逐步进入开源社区,当时我还是一个大学生,所以写的代码不太好,当时有代码的审阅人员,他们会看代码给你各种建议帮助你改进,这样逐步的参与动机,自私程度降低了,而更多的希望我能够也做出点贡献,也给其他人提供一些帮助。

Max:我为什么我参加了开源社区,我的同事们讲的非常好,从我的角度来讲是开源让我能够到这儿,让我在 LC3 大会上发言,并且公开谈论我自己感兴趣的东西,而且能听别人谈他们的想法。

红帽企业开源智库: http://www.zhiding.cn/special/thinktank_opensource_2017_1

如果你对开源技术和开源社区很感兴趣,你有什么技术上,职业和教育上的问题想和社区专家交流,这里是 Fedora 社区负责人 Brian Exelbierd 的联系方式:WeChat ID: bcexelbi。Brian 只会说英文,微信回复消息可能会比较慢。但是 Brian 相信,要更好地建设中国开源社区,答案在中国。他也希望能和中国的开发者多交流,了解大家在想什么。

评论

发布