Robust第026期:开源正在走向极端吗?

近期,有关开源的负面消息一个接一个,开源的问题逐渐被暴露出来。本期robust就来聊一聊,我眼中的开源,以及涉及的相关问题。本期不是在寻找一个答案,只是在发出我自己的声音和看法。

在线收听

网易云音乐:点击播放

喜马拉雅:点击播放

你还可以在苹果自带的 Podcast 应用、小宇宙APP、QQ音乐中搜“Robust”找到我们的节目收听。

捐赠支持

求打赏🙇如果你觉得 Robust 这样一档技术类的谈话节目还不错,希望我继续做下去,不妨打赏支持。

内容大纲

  1. 20188redis在其模块中修改开源协议AGPLApache v2.0,并增加了commons clause
  2. 知名fake数据库faker.js作者Marak喊出口号Pay Me or Fork This
  3. babel传资金问题,开始在官网挂赌博网站广告
  4. 知名跨端项目weex在apache孵化失败,撤回自建
  5. 鸿蒙开源了,但是喷的不少

近期3种主流的抱怨声:

  • 知名项目作者或负责人抱怨项目被广泛应用但自己却受益很少
  • 个人项目维护者抱怨白嫖现象严重
  • 开源项目使用者抱怨项目是个kpi项目,缺乏长期稳定的维护
  • 文档类知识类项目star飞天,而真正的技术项目无人问津

这期节目讨论这些问题:

  • 我要写的这个项目,要开源吗?
  • 我写好的这个项目,要开源吗?
  • 我开源的目的是什么?
  • 我开源的途径有哪些?
  • 我要做哪些开源的准备?
  • 如何发布我的开源项目?
  • 如何做好推广宣传?
  • 如何运营开源项目?
  • 如何做好开源生态?包括软件工具生态和社区生态
  • 如何从开源中获益?

如何决定我是否要开源?

  • 开源免费是获客之道,所谓“开源经济学”
  • 个人项目,没有打算办公司卖软件的想法,开源赚个吆喝
  • 小公司项目,开源就是为了赚个吆喝,提供Pro版卖钱
  • 涉及核心算法,开源等于葬送前途
  • 拆分开源,可能被喷

发布开源前要检查如下内容:

  • 代码是否没有明显bug
  • 是否有可以一键启动预览的能力
  • 是否有完善的文档(多语言)
  • 是否有较高覆盖率的单元测试
  • 是否已经建立了配套设施
  • 是否建立了官网
  • 是否发布了项目cli工具或相关生态工具
  • 是否策划了第一波开源推广

运营推广:

  • 前期star是主要目标
  • 依托公司提供的渠道,全战线出击
  • 前期issue越多越好,热起来
  • 制造争议话题
  • 后期issue越少越好
  • 国内海外一起推,曲线救国
  • 花钱推广不丢人
  • 推广的本质就是渠道管理

从开源中获益:

  • 开源项目的独特性和开创性决定了收益的最终大小
  • star的数量在成长期决定了收益大小
  • 写项目可以提升思维,锻炼编码的能力
  • 运营项目,运营一个有star数量的开源项目,是个人价值的重要体现,团队的价值大于项目本身
  • 卖掉一个项目
  • 从捐赠中受益
  • 基金会是独立项目的救星,不过,只有好的管理人才能可持续
  • 公司开源,基本就是赚吆喝,不会有什么纯粹的收益,但可以自己从中挖掘:
    • AB版
    • 挖人
    • 结合云,一起卖

价值观:

  • 从来没有项目是一开始做开源到伟大的,从业务中来,到业务中去
  • 造轮子必不可少,但是大浪淘沙,最后该放弃还是要放弃

开源的玩法:

  • AB两套A内部用B开源,把优秀的pr搞进去,甚至还可以挖人;
  • 按揭开源,比如鸿蒙这种
  • 一夜情项目,紧随热点,发布的时候激情四射,带完货就over了

开源项目的问题:

  • 不可持续,项目作者没有持续维护的动力和能力
  • 公司项目遇到负责人离职或转岗
  • KPI项目
  • 开源被抄
  • 协议被无视
  • 白嫖党、伸手党多如牦牛,社区形同虚设

如何才能维护开源者自己的利益?

  • 开源协议不是保险锁
  • 不一定要开源
  • 拆分开源,比如Chromium
  • 护城河,阶梯式发布,抄不了的能力(算法),例如React的并发模式
  • 开源不免费(附加条款)
  • Pro版本,根据使用者的情况分类收费

回到最初的问题,怎样的开源项目才是成功的开源项目?

  • 领域知名度
  • 可持续性
  • 生态繁荣

如何才能成功?

  • 开创性
  • 开放性
  • 商业价值
  • 社区管理和运营推广

最后,一些开源项目的典范:

  • Linux apache

2021-06-17 200

为价值买单

本文价值2RMB