QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

专访 Kohsuke Kawaguchi:如何依靠开源项目养活自己

  • 2017-11-23
  • 本文字数:2416 字

    阅读完需:约 8 分钟

时至如今,开源软件已成为互联网的基石,过去曾敌视开源的公司如今比任何人都更急切的拥抱开源。

虽然开源项目很多,在 Github 上的开源项目数量已经超过 100 万,但很多个人项目无人维护,也没有人敢用,由公司创建的开源项目正在主导开源。部分发展较好的个人开源项目转向社区,如鼎鼎大名的 Linus 创建的 Linux 成立了基金会,依靠捐助和付费会员来维持开支,但也有另外一些项目走上了另一条路,就是基于开源项目创立公司。Jekins 和它的创建者 Konsuke Kawaguchi(川口耕介)就是其中的典型代表。

Jekins 和 Konsuke 的过去

11 月 18 日,由开源社主办的中国开源年会 COSCon17 在上海召开。Kohsuke Kawaguchi 在大会上做了《黑客觅食记——围绕开源项目创建一家公司》的分享,在演讲后,我对他做了一个简短的采访,了解了更多细节。

Konsuke 长的非常高大,简直不像个亚洲人,但稍微接触一下,你就会发现他行为举止十分彬彬有礼,十分照顾他人感受,正是典型的日本人做派。

平时,他喜欢称自己为 Hacker,意为充满激情,乐于探索未知的那群人。据他自述,Konsuke 从初中就开始接触编程,在读书期间就已经开发出一系列的共享软件。正是看上了他这份才能,Sun Microsystems 邀请他加入公司。Konsuke 接受了邀请,从此开始了在美国的生活。

在 Sun Microsystems 期间,Konsuke 开发出了 Hudson,也就是 Jenkins 的前身,后来正式创立了个人开源项目 Jenkins。随后 Sun Microsystems 被 Oracle 收购,在工作了一段时间之后,Konsuke 选择离开,并创建了自己的公司 InfraDNA,再后来 InfraDNA 与 CloudBees 合并,现在,他是这家公司的 CTO,提供基于 Jenkins 的企业级持续交付服务。

今天,Jenkins 已经是持续交付领域最知名的工具之一,在全球范围内超过 50 万台机器上运行,影响超过 100 万开发者,帮助他们进行持续集成和持续交付。今年 4 月份,Jenkins 发布新版本,带来新的用户界面 Blue Ocean,大大改进了用户体验。

基于开源软件创建公司

开源软件是很多开发者的兴趣和激情所在,像 Linus 一样为开源软件全职工作,可能是很多开发者的梦想。

Linus 创建了 Linux 和 Git,两个都是当今互联网的支柱。在 Linux 基金会成立后,Linus 开始全职在家开发和维护 Linux 内核。

Konsuke 在演讲中说,他相信开源是大势所趋,但现在存在一个问题,开源作者虽然花费巨量的时间精力贡献开源代码,为很多公司创造了价值,但他们本身很难从中获取合理回报。基于开源项目创建公司的想法由此而来。

在开源项目基础上做公司并非异想天开,之前红帽公司早已做出了很好的示范。红帽早些年通过维护 Linux 企业级发行版以及其它开源软件,向企业提供支持服务,目前已经是市值数十亿的大公司。

Konsuke 十分推崇红帽模式,并认为与红帽相比,开源作者亲自参与公司运作会在掌控开源项目发展方向、与社区协作等方面更有优势。同时在商业模式上更灵活。

Konsuke 总结了基于开源项目公司的商业模式:

  • 专业技术支持。由于开发者亲自开发项目,对项目了如指掌,因此可以很轻松的胜任此开源项目的技术支持。缺点就是个人精力有限,无法同时服务很多人。
  • 企业级产品。与技术支持相比,如果开发者提供企业级产品,他可以售卖给很多人从而获利。但是,面向企业售卖软件需要在营销、销售等地方投入很多精力。
  • SaaS 产品。通过付费订购的方式向用户每月收取一些费用。这种模式理论上可以服务无限多的人,随着云计算的发展,SaaS 模式也被越来越多的人认可。不过,这种模式也有一些不利的地方。仍然有很多人不理解 SaaS 的意义,认为自己通过开源项目也能搭建出同样的服务。另外就是 SaaS 提供商会不断的面临各种个性化的功能请求,你需要不断的拒绝他们。这并不容易,因为他们是付钱给你的客户。

Konsuke 最终选择了第三种,即他现在所在的 CloudBees 公司,向外提供基于 Jenkins 的 SaaS 服务。

开源商业化需要注意的一些问题

从项目招募开发者

运行一个公司并不容易,其它公司遇到的问题,Konsuke 的公司同样会遇到,而有些问题更为独特。比如人才——

由于你需要基于开源项目去开发和提供服务,你需要对这个项目十分了解的人。Konsuke 就提到,他们从 Jenkins 的社区招募了不少的开发者。这样的开发者可以保证他们是合格并且动力十足的,通过雇佣他们让他们在喜欢的项目上工作,可以更快的做出突破性的进展。并且,Konsuke 还发现这些开发者来自各行各业,他们背后的企业通常会对项目有需求,因此经常会带来一些销售线索,算是意外之喜。

但从项目招募开发者的前提是,这个项目需要一个运转良好的社区,有大量的开发者可供选择。因此想依靠开源项目做公司,需要有意识的去培养社区。

另外,如果从项目招募了过多的开发者,也有一些风险,开发者会分不清到底是为项目工作还是为公司工作,一旦产生在方向上产生分歧,开发者受到的伤害会更大。另外,人们可能会认为公司正在操纵这个项目。另外开源项目中的开发者都跑去开发商业项目,开源项目的社区会有一些问题。

公司与开源项目的关系

Konsuke 指出,一旦开源项目创始人或重要人物基于项目创建公司,有时会很难把握公司与开源项目之间的边界。

比如,公司员工应该以何种程度参与社区?在为开源项目布道时要不要宣传自己家的商业产品?公司和社区在开源项目发展方向上产生分歧怎么办?这些都是需要仔细思考并妥善处理的问题。

这其中一个较好的策略是尽量回源(work upstream),和开源项目使用同一份代码库,特性在内部开发完成之后合并回开源项目主分支。在开源项目发展方向上,尽早定下路线图,然后按路线图进行开发,避免冲突。

品牌和商标等

一般开发者可能对于商标等法律术语不太了解,但如果要建立公司,这些是非常重要的,最好在开源项目时就考虑好这些事情。

另外对于公司来说,开源作者的个人品牌对于招募人才、推销产品也是非常有帮助的。

结语

开源项目是有价值的,但开发者的时间也应该是有价值的,Hackers gotta eat,如何靠开源项目养活自己,这就是 Konsuke 和 Jenkins 的思考和给出的答案。

2017-11-23 23:572699
用户头像

发布了 164 篇内容, 共 109.2 次阅读, 收获喜欢 392 次。

关注

评论

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

确保对象的唯一性实现

测吧(北京)科技有限公司

测试

CDC YAML 在阿里云的最佳实践

Apache Flink

大数据 flink 实时计算 yaml

OWASP Top 10 安全漏洞与安全防护体系

测吧(北京)科技有限公司

测试

阴阳怪气的「道歉」背后,是新闻从业者的一次呐喊

TechubNews

单链表与双链表的应用与常见算法

测吧(北京)科技有限公司

测试

企业数智化转型:低代码开发的五大优势解析

不在线第一只蜗牛

低代码 数智化

Java后端面试最全攻略(2024最新版)

架构师之道

编程 程序员 java面试

鸿蒙NEXT开发中如何确保使用 PersistentStorage 存储的数据安全?

威哥爱编程

HarmonyOS HarmonyOS NEXT

美团一面,有点难度

王中阳Go

Go 后端 面试问题

为智算“强心”,为园区“壮体”:新质互联网驶入标准化快车道

脑极体

AI

主从架构(Coordinator-Worker Architecture):分布式系统设计中最简单的架构模式

HAibiiin

面试 系统设计 分布式系统 架构设计 主从架构

低成本亿级流量分布式本地缓存一致性方案(设计篇)

HAibiiin

缓存 分布式系统 架构设计 一致性算法 主从架构

和鲸分享| 世界500强莫德纳公司首席数据科学家Eric J. Ma:协同数据科学的制胜秘诀!

ModelWhale

Python 人工智能 大数据 R语言 大模型

淘宝天猫API接口探索:轻松实现商品详情与关键字搜索

代码忍者

API 接口 pinduoduo API

数智化赋能龙港中医院,让医疗服务有了“人情味”

Alter

2024年好用的AI工具盘点!办公效率快到飞起!

职场工具箱

人工智能 职场 办公软件 AIGC AI生成PPT

LIFO 后进先出、函数调用的堆与栈的区别

测吧(北京)科技有限公司

测试

大厂案例:Shopee 百亿级商品数据如何平稳实现千万级服务器成本缩减

HAibiiin

数据库 缓存 架构设计 案例分享 降本增效

开发体育直播软件平台,轻松获取全球赛事资源

软件开发-梦幻运营部

MPC2024开幕演讲

明道云

一次彻底掌握数据中心级的JVM调优实战经验

快乐非自愿限量之名

Java spring JVM

告别编码难题,JeeLowCode让应用开发更简单!#高效开发

JeeLowCode低代码平台

直播电商,正在被内容逻辑重塑

趣解商业

直播 电商 抖音

Spring Security如此复杂,Java程序员该如何学习?

了不起的程序猿

Java spring 程序员 架构师 springsecurity

非技术人员怎样去协调开发项目进度

爱吃小舅的鱼

项目进度

通义开源语音处理框架 ClearerVoice-Studio;亚马逊 Nova 计划明年发布端到端语音模型丨 RTE 开发者日报

声网

http请求超时, 底层发生了什么?

不在线第一只蜗牛

网络协议 网络 HTTP

第77期 | GPTSecurity周报

云起无垠

现在学Spring Cloud Alibaba 还是Spring Cloud?

了不起的程序猿

Java 微服务 架构师 SpringCloud springcloudAlibaba

需求不明确、没有列基准计划的项目,如何管理项目过程及进度

爱吃小舅的鱼

项目过程

SD-WAN的核心服务能力

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SD-WAN国际专线

专访Kohsuke Kawaguchi:如何依靠开源项目养活自己_语言 & 开发_徐川_InfoQ精选文章