作者 | 闫辉 责编 | 屠敏
出品 | CSDN(ID:CSDNnews)

开源的发展趋势非常迅猛。围绕开源,国内外诞生了不少独角兽企业,如 GitLab、Databricks、PingCAP 等。中国参与开源的程序员数量也越来越多,据 CSDN 发布的《2021-2022 中国开发者调查报告》显示,开发者参与开源贡献的比例较去年增长近 10%。

图表1 开发者是否使用过开源软件比例

为了更好了解从事开源的程序员,我们在本期《开谈:程序员创富系列》中,围绕开源为主题,特别邀请到句子互动创始人&CEO 李佳芮、华为 HWA 大数据顾问欧阳小敏、北京初心使命软件总经理、中国开源软件推进联盟副秘书长宋可为三位开源项目的发起人,一起讨论如何更好地利用开源创富。

缘起开源

闫 辉:各位老师第一次做开源项目是因为什么,当时发生了哪些故事?

**李佳芮:**我做开源的起因很有意思。因为我很喜欢跳爵士舞,基于兴趣,我在 2015 年时创建了一个非常大的舞蹈社区,录制了几百期的舞蹈教学视频,这些视频在全网播放量达到上亿,也自然拥有了非常多的粉丝。

我们通过公众号与粉丝建立联系,而后加微信再拉群,把粉丝聚起来经营。当时面临到了一个问题:如何自动化地管理这么多的粉丝?彼时通过好友请求、拉群、答疑等等,都需要手工去做,耗费了巨大的人力。

于是,我在网上搜索这样的自动化工具,然而并没有找到。由于我自己就是程序员出身,会写代码。我希望做一个工具解决以下核心问题:

  1. 自动化的通过好友请求,将粉丝拉进群里。

  2. 能够通过对话机器人自动回答粉丝的问题。比如解答粉丝询问的某个舞蹈视频在哪等基础的问题。

  3. 能够自动找到社区中活跃的用户,让他们协助我管理社区。

巧合的是,当时我的一位朋友,也是开源项目的作者,同样迫切地要管理自己微信粉丝。

在这样的机缘下,我们开发了很多自动应答小机器人,也在汕头、南京、苏州等城市找到了地区管理员,便把所有群交给他们去运营。此后,我们开发了Wechaty(https://github.com/wechaty/wechaty)项目,并将其开源出来。

早期这个项目是基于微信平台,现在则转向了企业微信,接下来陆续支持了 WhatsApp 等国外流行的 IM 软件。大家都希望在 IM 生态中解决营销服务一体化,自动触达用户,做好客服管理。

Wechaty 从创建至今,已经一万三千多个应答机器人,形成了一个小的开源生态,有很多开发者自发地在做。只要发布博客讲一下如何使用机器人的,你就可以获取许可(License)。

之所以开源这个项目,当时还有一个契机。2016 年 12 月,我们以开源项目身份做分享,分享完了就有了第一个客户——美团。如今我创立的公司——句子互动,也是基于开源项目在上层做云服务,用来服务大企业。

**欧阳小敏:**我创建过三个公司。第一次创业电商导购,虽然最后失败,但也是因此让我对电商和运营体系有了很深的理解;第二次创业是在我从华为出来,围绕着微信生态做了一家时尚电商平台的 SaaS 产品,那时我们的团队属于技术和产品为主,而后 2018 年随着资本进场,把 SaaS 价格快“打”到免费了。

最后,我们又回归客户的私有化服务上。2020 年,我们内部开始讨论,既然电商 SaaS 项目已经不做了,要不然开源出来。

于是,我们就把之前 Weiit 很完整的一个软件版本开源出来,由于当时的版本是面向企业客户的,需要用企业资质申请很多接口,个人开发者无法搭建起来。虽然有些技术人员给我们留言称技术太旧了,但开源让很多人看到了这个项目,了解了我们的产品能力,希望购买商业版本。

在此之下,我们团队开始了新的版本开发。我们发布了两个版本,一种是社区版,完全开源免费;另一种是商业版,采用了收费模式。海外很多开源项目也是这样的操作模式,常规来看,免费版本容易有安全漏洞,因此,真正商业化的客户都希望购买商业版本。

开源带动商业化,今天的开源环境和 2016 年之前有很大差异。开源协议、知识产权得到了大家的重视,国家也越来越重视。

宋可为: 我大学毕业便到了一家做 Linux 的一个公司工作。当时的开源 Linux 主要做桌面系统,希望能够把民间开发者聚集起来,在系统上开发应用。那时我们花了三个月的时间,从全国各地挖了 80 个人,都是论坛活跃的人。然而,后来发现他们的研发能力参差不齐,但大家都有非常浓厚的开源热情。

在这样的契机下,我自身也开始在 Linux 桌面系统上做一些工作,包括基于 Android 研发的办公桌面等。后来认识了清华的老师,开始合作做一个开源的 THOS 操作系统项目。

闫辉:马斯克经常讲“第一性原理”,即探索事情的本质,那么,开源的本质是什么?

**李佳芮:**开源模式中有一件事特别具有吸引力,那就是能让全球范围的人一起去协作,他们属于不同时区、不同文化、不同背景,但可以为了同一个目标,不计回报地共同做一件事儿,这是非常伟大的。

对于马斯克其人,他认为专利是阻碍社会发展的,应该把所有东西都开源出来,公司比赛的是创新的速度。背后的技术知识应该全人类共享,而上层构建的服务是组装的能力。

**欧阳小敏:**开源最大的点是通过影响力撬动商业价值转化,这是我个人的看法。马斯克推动他的开源,也会获得世界的关注。马斯克做开源,实际上也有一个目的是驱动其他团队跟上来,给他压力,帮他找到战斗的感觉。

**宋可为:**我认为开源是一种思维方式和协作模式,即开放共享协同,这是一种思维方式,也是解决问题的一种思路。

开源创富这条路怎么走?

闫辉: 听了大家的思考,我觉得开源这件事情,不同的人看待它的维度和角度是不一样的。

用户是使用开源产品的视角,开源项目的发起者和贡献者是一个视角,国家和行业的一些负责人又是另外一个视角,包括做开源平台也有自己的角度。大家经常讲,历史是一个任人打扮的小姑娘,某种情况下,开源也有点像。不同的人可以利用开源,去实现自己梦想和理念,不管是服务用户还是商业化,还是为国家去构建基础的软件,我们都应该支持。今天对话的主题是开源创富,请问大家是否通过开源创富了?

**李佳芮:**创富这个词具体要看如何定义。如果是基于开源项目做商业化公司,可以说是,单纯从金钱的角度来看,创业这么多年,我们公司也拿到了很多轮的融资。但是,我真正喜欢做开源的原因首先是背后协作的价值,反向激励我思考如何把公司的协作做得更好。

Apache 项目中有一句话触动我特别深:if it didn’t happen on this it didn’t happen(如果这件事没有发生,就不会发生)。它要求所有东西都要写在 maillist(邮件列表) 上。我们公司也要求所有内容都写在文档中,这样才能传承,未来也能清楚,后面复盘也都能看到文档。这让我学到如何打造一个开放透明的组织。

我的一个早期投资人与我分享过:创业过程中,赚钱是手段,而不是目标。如果把创业赚钱作为目标,大概率创业是赚不到钱的。之前与一个朋友交流的时候,也聊到如果想赚到你人生的第一个一千万,最好的方式一定不是创业,而是大厂。如果你有同样的能力,去大厂可能会更早赚到。做开源也是一样,

对个人而言,参与开源很容易创造很多价值,包括认识更多新朋友。我发现如果开源社区的商业化太浓,必然会破坏开源社区的文化。如果抱着创富的心态做开源社区,很难让社区有更好的开放性。

开源本身是代码层面的,更多是知识上的交流,所以开源社区要纯粹一些。赚钱是商业化公司去做的,公司提供的是服务、保障、解决方案,是基于知识技术提供的完整的产品,这两者完全不同。我同时在做开源社区和做公司,这两个如果一旦混淆,开源做也不好,钱也赚不好。

**欧阳小敏:**通过开源得到影响力,带动公司获得其他领域的价值,这可能是我们目前拿到的答案。虽然我们能收到百万级的版权费,但对团队来讲这个收入还是很少的。

**宋可为:**这个问题其实特别好,我们也反复地在聊这个话题。在此,我也总结一下,开源的价值:

  • 首先,项目通过开源方式发布出去,可以比较快速获得大量市场反馈,包括全球市场上有人提 issue,或者挑战你。其实对于小创业团队来讲,质疑也是特别有价值的,因为背后可能真正的需求,是潜在的客户。

  • 其次,开源模式有利于团结,包括吸纳创业团队之外的生态成员。其中可能有爱好者、布道者,这是构建技术生态和未来商业生态的重要切入点。

  • 第三,开源整个项目能够促进技术和团队的快速迭代能力。甚至说将来有一天,因为运营、资金、疫情等问题项目不能再持续,但项目做出的贡献可以持续对行业有价值。

回到开源能不能创富的核心问题,我个人认为如果这个富是单纯的金钱,可能这不是一个最好的方式。但对于小团队和开发者,可以通过开源快速地找到市场,快速对接需求,在一个小圈子里快速获客,甚至获得天使投资人的关注。

总结一下,开源绝对不是一个创富的捷径。

闫辉:很多人认为开源应该和商业化分开,但国外最新的一个趋势就是基于开源的产品,提供云服务以此构建商业化模式,这些项目的估值也很高。这个模型已经在技术圈和投资圈被证明是可行的。

**李佳芮:**我特别同意提供后面的云服务,我们看到很多成功都是基于开源项目的云服务。如果是个人,你就可以拿这套代码自己做,但对大公司来讲,它需要的不仅仅是一套代码,而是谁帮我部署,谁帮我维护。这些解决方案里面包含了很多承诺,大公司会很关注这些服务。

闫辉:在与很多专家的沟通中发现:一个开源产品,哪怕商业版,如果公司要采购,流程是很复杂的,需要单独立项。但成为云端服务之后,采购流程就会变得很简单,变成云 IT 成本了,只是云上某个服务的账单。这样就绕过了很多高层决策者,甚至一个开发者就可以决定我是否要使用某个云服务。这样,开源产品先让技术人员了解熟悉,能够内部测试,真正商业化的时候,就可以采购云服务。

李佳芮: 最近有一套理念非常火,叫 PLG(由产品驱动的增长)。通过产品驱动增长,这与开源的理念特别接近。

之前很多公司是 SLG(Sales lead grow,销售驱动增长),尤其是 SaaS 产品,在过去相当长时间内都是靠找到 B 端公司的 CIO 等决策人,这种销售周期非常长,有时还要投各种标。

如果从产品主导,就会由用户裂变。比如 TiDB 这样的开源数据库最早是通过开源社区布道获取销售线索,并最终完成转化。我们的产品也是,最初是美团的一线工程师在使用,使用好之后,最终去影响决策者。这时,大家都已经测试用过了,甚至在一线小项目中都实验过。

从这个角度讲,开源创富是非常有价值的,能够在商业层面是快速去获取订单,带来裂变增长,同时获取用户反馈。用户反馈可以带来商业正循环,最后通过云服务完成一键部署。我们公司也是这样卖云服务的。

**欧阳小敏:**我们对客户提供服务时,要对服务承担一定的责任。因为我们的版本还是不太一样,我们更重要的是利用开源做线索引流,打造影响力。真正做自己商业化交付的时候,是另外一个商业版本。

**李佳芮:**我再补充一下,开源还有一个很大价值就是可以实现安全的特性。尤其是海外 GDPR 法案出来之后,大家对于安全非常看重。在代码完全开源的情况下,大家对安全可靠性会有更多信心。

**宋可为:**开源商业模式经过了包括 PC、互联网、移动互联网,到当下的云计算时代的发展,我们可以观察到,符合开源的最佳的商业模式,也是处于一个进化的过程。

早期是双授权,即采用了开放授权和商业授权的模式,不同的版本之间有差异性,主要体现在功能、性能的维度。早期 Linux 在全世界推广时,绝大多数发行版都采用这种模式。

到 Web 2.0、移动互联网时代,谷歌和其他互联网巨头使用大量开源软件,商业模式转变为第三方付费。简单来看,基于免费的操作系统,可以开发应用程序获得收益,进而填补系统本身运营开发更新的费用。

现阶段的云计算时代,不少企业的开源是采用 Open Core 模式来构建自己的商业模式。

因此,讨论开源的商业模式,首先要看所处的时代,其次看产品在产业链中的位置,继而了解用户是如何采购、招标、付费,或者是购买整体解决方案。

开源和商业化相辅相成,开源可以促进商业化,商业化可以反哺开源。但无论开源还是商业化,都不是我们的目标,只是途径。

新时代下的程序员,又该怎么做?

闫辉:开源确实是非常复杂的一个概念。每个人只代表自己的角度和身份。CSDN 的用户几乎都是程序员,他们应该对开源持以什么样的态度?

**李佳芮:**首先我觉得程序员一定要做开源,这是非常毋庸置疑的。

从成长角度来看,开源可以让你持续学习、保持好奇,这样大家也不用担心所谓的 35 岁危机了。成长可以分为三种:第一,做开源会让开发者通过输出倒逼输入,让他们有更好的成长;第二,持续做开源,通过分享可以认识到一群非常有意思的人,了解不同的观点,帮助自身成长;第三,基于开源也能够让程序员们跳出公司的舒适圈,看到外面更多的视野。

所以,做开源是一个非常好的成长方式,一定要做开源。

欧阳小敏:开发者应该要支持开源、做开源。做了开源后,一方面有助于自己成长,如果商业化了,有市场支持便会更好。因为商业项目被采购的那一刻,又服务了更多的企业。

**宋可为:**我从三个角度来分享:

首先,程序员应学习开源,通过开源,可以帮助他们快速成长、思考更全面、逻辑更严谨、代码更规范。

其次,要使用开源。成熟的开源软件可以大幅提高开发效率。

最后,要贡献开源。在使用和学习的基础上,饮水思源,我们也要成为开源生态的贡献者。在这个层面上,程序员可以获得更高的知名度和声誉,影响更多的人,创造更多的社会价值,当然也可以找到更好的工作和创业机会。

闫辉:非常感谢三位嘉宾的精彩分享。开源其实是一个特别大的概念,不同角度看开源,宛如盲人摸象,每个人看到的都只是一部分。

开源并不是今天才发生,而是经历了几十年的演变。开源,过去很多时候靠的是理念和初心,但现阶段国际开源的大形势在改变,不管是产品还是商业模式,都在持续演进,并且出来了很多成功案例。现在,从国家到更多的企业都认识到开源的价值,这是一个很好的时机,程序员更应该参与进来。

相关阅读:

  • 《程序员要实现财富自由,“出海”这条路该怎么走?》

  • 《敲代码之外,程序员创作创富的前景如何?》

以赚钱为第一目的的开源,不会走远!相关推荐

  1. GitHub 贡献第一的微软开源软件列表

    作者|木环 编辑|小智 在GitHub上贡献最多的公司,不是Facebook,也不是Google,而是微软.InfoQ对微软数个较受社区欢迎的项目进行了整理,以飨读者.希望开源的精神,能给技术社区带来 ...

  2. Vue2.0版英雄联盟助手,我的第一个小开源项目

    Vue2.0版英雄联盟助手 vuejs League of Legends project 在线地址 微信扫一扫,查看在线DEMO 1. 技术栈 由 vue-cli + muse-ui 构建,使用 a ...

  3. 香港第一金:美债上升美元走强 黄金暴跌下破199

    做投资最怕的莫过于心急,最坏的莫过于冲动.当把分析变成一种任务.把投资变成一种负担,就已经偏离了路线.做投资一定要首先树立正确的投资理念,这是一切的根源,其次做好仓位资金管理,重要的保持良好的心态,赚 ...

  4. 欧洲首发G5实现自我破局第一步,雅迪开始走出“舒适区”

    成为国内电动车龙头企业还不够,种种迹象表明,雅迪野心是冲出国门.迈向全球. 在刚刚结束的米兰2018全球著名摩托车展EICMA上,雅迪新品G5备受触目,引发全场关注,受到路透社.雅虎财经等海外知名媒体 ...

  5. 我设计了一款开源飞控,性能远超Pixhawk,运行APM固件-怒飞垂云

    从2009年到现在,我从事无人机研发将近11年了,中途设计过很多飞控,有闭源的无人飞艇飞控.大型固定翼无人机飞控,也有在开源飞控Pixhawk基础上修改的飞控,如今,基于STM32F7系列单片机的飞控 ...

  6. Chef宣布100%开源,要走红帽模式?\n

    4月2日,自动化配置管理工具Chef官方博客发布博文宣布了两件事情: 从现在起,Chef将扩展开源许可范围,将其100%的软件纳入Apache 2.0许可证(与现有的Chef Infra,Chef I ...

  7. 第一轮复习完毕,kmp走起

    //代码via:http://blog.csdn.net/v_JULY_v/article/details/6111565 //简单思路via:http://study.163.com/course/ ...

  8. 北大开源分词工具包: 准确率远超THULAC、jieba 分词

    pkuseg 的优势 pkuseg 是由北京大学语言计算与机器学习研究组研制推出的一套全新的中文分词工具包.pkuseg 具有如下几个特点: 多领域分词.相比于其他的中文分词工具包,此工具包同时致力于 ...

  9. 一个入行很长的老鸟给新手的一些建议——转

    今天有空,随便写点东西给大家.很久没有混在技术论坛中,记忆里最近一次大概是在5.6年以前. 大学读的是土木,曾经也在建筑工地和设计院实习,我相信我可以把那些事情做好,但完全不是我想要的东西.96年有幸 ...

最新文章

  1. 【早知云世】云计算在商务智能中的应用及竞争力
  2. 【教程】Matrikon OPC使用教程连载(四)
  3. WebBrowser 打印设置,打印预览,去页眉和页脚
  4. 可应用于实际的14个NLP突破性研究成果(三)
  5. c语言数据结构插入算法说明,C语言数据结构插入算法
  6. apache2.2.15与PHP5.3.3安装设置完成后,apache启动失败
  7. 如何能include外键对应的表?向博客园的兄弟请教!
  8. 固态硬盘新趋势?美光3D QLC闪存出货量猛增75%
  9. 95-40-105-java.util.concurrent-线程-Executor
  10. c程序设计停车场收费管理系统_智能车牌识别停车收费管理系统
  11. php开发Hive Web查询
  12. Springboot中如何在Utils类中使用@Autowired注入bean
  13. oracle-关于分组函数的小细节
  14. [NLP]——BPE、WordPiece、Unigram and SentencePiece
  15. 使用Fiddler破解钉钉回放视频不能下载
  16. 魔兽世界开服架设服务器搭建教程
  17. scroll lock键 和 sandy bridge
  18. python编程-----利用爬虫获取自如房间信息(二)
  19. Re:从零开始的DS生活 图论学这一篇就够了
  20. csgo国服文件转国际服务器,CSGO国服怎样转国际服 1个打开项搞定

热门文章

  1. mysql中带条件的insert语句
  2. 侠盗飞车罪恶都市加装升级补丁-侠盗猎车手提供下载
  3. 你早就知道该怎么用了
  4. github 多人协作
  5. java——ZZULIOJ_1059: 最高分
  6. 以业务为中心的组织结构
  7. 当双十一的广告强行闯入生活
  8. el-select 多选取值_四柱预测学》第21 四柱八字用神选取方法
  9. Xftp和Xsheel完美替代品——mobaxterm
  10. windows下c/c++创建Java虚拟机加载可执行jar包