写点什么

专访 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:572728
用户头像

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

关注

评论

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

Microsoft Remote Desktop下载,微软远程连接工具

Rose

microsoft remote desktop 微软远程桌面连接工具 mac远程链接

写给程序员的可逆计算理论辨析补遗

canonical

低代码 可逆计算 范畴论

Github标星78k,Alibaba最新发布的Spring Boot项目实战文档!太强了

Java你猿哥

Java spring Spring Boot mybatis ssm

授权码 + PKCE 模式|OIDC & OAuth2.0 认证协议最佳实践系列【03】

Authing

OIDC PKCE

来聊聊才离职就被拉黑禁用的这些事

HoneyMoose

怎么看阿里拆中台这件事

agnostic

中台架构

Xcode for Mac(开发工具)v14.3.1正式版

Rose

Xcode Mac版 Xcode中文版 Xcode破解版

Go 语言流行 ORM 框架 GORM 使用介绍

江湖十年

后端 ORM框架 ORM Go 语言 gorm

如何使用ChatGPT自带插件

楚少AI

ChatGPT ChatGPT4 chatgpt插件

Windows 高效应用快捷键

Andy

如何从零实现一个简单的Spring Bean容器

Java你猿哥

Java spring ssm Spring Bean Java web

Java上进了,JDK21 要来了,并发编程再也不是噩梦了

Java你猿哥

Java jdk ssm

网络安全面试题大全(整理版)500+面试题附答案详解,最全面详细,看完稳了

网络安全学海

黑客 网络安全 信息安全 渗透测试 WEB安全

Nautilus Chain上首个DEX PoseiSwap即将开启IDO,潜力几何?

鳄鱼视界

C语言编程-typedef

芯动大师

synchronized和Lock有什么区别?

javacn.site

Nautilus Chain上首个DEX PoseiSwap即将开启IDO,潜力几何?

西柚子

App Cleaner & Uninstaller:mac专业的系统清理优化工具

Rose

App Cleaner 系统清理工具 苹果mac系统优化 App Cleaner 破解

Nautilus Chain上首个DEX PoseiSwap即将开启IDO,潜力几何?

大瞿科技

Focus Matrix for Mac(智能任务管理器) v1.6.1激活版

Rose

Focus Matrix Focus Matrix破解 focus matrix mac激活版 智能任务管理器

阿里大佬带你一周刷完Java面试八股文,比刷视频效果好多了!

Java你猿哥

Java 分布式 微服务 JVM ssm

Nautilus Chain上首个DEX PoseiSwap即将开启IDO,潜力几何?

股市老人

MongoDB源码学习:原子操作WriteUnitOfWork

云里有只猫

mongodb 源码刨析

设计模式之不一样的责任链模式

越长大越悲伤

Java 设计模式

Github百万收藏!这部《从零开始写分布式服务框架》称霸榜首!

Java你猿哥

Java 架构 分布式 ssm 分布式框架

Nautilus Chain上首个DEX PoseiSwap即将开启IDO,潜力几何?

威廉META

从0到1:活动报名小程序开发笔记

CC同学

干货 | IDaaS 身份即服务背后的基石

Authing

mac高质量图像浏览处理软件 GraphicConverter 12 v12.0.3(6140)中文直装版

Rose

GraphicConverter 12中文 GraphicConverter破解 mac图像浏览器 GraphicConverter下载

开源赋能 普惠未来|腾讯寄语2023开放原子全球开源峰会

开放原子开源基金会

开源 开放原子全球开源峰会 开放原子

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