#70. 和Vue.js的创造者尤雨溪聊开源软件
10 Mar 2021 · 81 min
Evan You, creator of Vue.js, discusses maintaining large open-source projects: how the RFC process shapes major features, why breaking changes get harder as user bases grow, and the burnout problem when maintainers earn little while corporations profit from their work.
Chapters
开源 软件 影响 了 我们 生活 的 方方面面 从 我们 手机 的 安卓 操作系统 到 上网 使用 的 Chrome 浏览器 从 前端开发 者 使用 的 React、 Vue 再 到 后 端 进行 大 数据 存储 和 处理 的 Hadoop 以及 人工智能 的 TensorFlow、 MXNet 等等 我们 这 期 节目 非常 荣幸 的 邀请 到 了 VOJS 的 创造者 也 是 全球 开源 社区 的 领军人物 游雨 希来 和 大家 聊一聊 开源 软件 这个 话题 大家 好 这里 是 牛油果 烤面包 我 是 David 我 是 Kent 我们 这 期 节目 啊 非常 的 不得了 因为 我们 今天 非常 有幸 请 到 了 一位 重量级 的 大 咖他 就是 著名 的 JavaScript 框架 Vue. js 的 创始人 和 项目 总负责人 游宇熙 Evan 来到 我们 的 节目 来 和 我们 聊一聊 开源 软件 Evan 和 我们 听众 朋友 们 打个招呼 吧 大家 好
我 是 游宇熙 主要 是 做 Vue. js 这块 开源 的 前端 框架 欢迎
我 之前 看过 您 一个 采访 说 您 当时 创造 Vue 的 书 中 只是 为了 做 一个 自己 用 得 舒服 的 框架 待 会 我们 可以 详细 聊一聊 您 创造 Vue 的 这个 经历 但是 从 2014 年 2 月 Vue 第一次 的 发布 到 今天 它 已经 成为 了 全球 前端开发 的 三大 框架 之一 而且 就 增长速度 来说 的话 它 也 是 最快 的 并且 纵观 整个 开源 软件 领域 Vue 也 拥有 着 非常 活跃 的 社群 所以 非常高兴 您 能够 今天 参与 我们 这 期 节目 的 讨论 说 到 开源 软件 对于 不 熟悉 软件开发 的 听众 朋友 们 也许 对 这个 词 有些 陌生 您 作为 开源 软件 的 这个 创造者 和 参与者 能 不能 给 大家 介绍 一下 什么 是 开源 软件 呢 开源
从 从 他 最早 的 这个 一些 最 开始 搞 开源 到 现在 的 开源 我 觉得 它 的 形态 是 慢慢 的 中间 会 有 一些 变化 或者说 有 一些 以往 的 一些 开源 项目 和 现在 的 一些 开源 项目 他们 的 这种 起源 和 一些 现在 的 运作 模式 以及 背后 的 动机 都 会 有 不同 就是 它会 有 进化 也 会 有 就是 老 模式 和 新 模式 的 并存 但是 核心 如果 真的 只是 要 做 一个 绝对 的 定义 的话 那 就是 你 的 源代码 是 开放 的 那 就算 是
开源 了 那 有没有 哪些 是 大家 比较 熟悉 的 例子 就是 说明 这个 开源 软件 实际上 是 无处不在 的 就
比如说 我们 现在 用 的 浏览器 吧 大部分 Edge 也好 Chrome 也好 Safari 也好 背后 都 有 开源 因为 Safari 背后 有 WebkitEdge 跟 Chrome 背后 都 是 Chromium, 然后 Firefox 本身 也 是 开源, 以及 我们 跑 的 各种 服务器 绝大部分 最后 都 会 涉及 到 一些 开源 的 部件 在 里面, 所以 说 就是 没有 开源 去 支撑 一些 现在 的 这些, 我们 整个 的 TechStack 里面 已经 几乎 很难 做到 就是 不 涉及 任何 开源 的 成分。
你 刚才 聊到 就是 有 Chrome 这些 浏览器, 另外 像 是不是 我们 用 的 一些 操作系统 很多 也 都 是 开源 的?
对 大部分 的 服务器 现在 都 跑 在 Linux 上面 嘛 Linux 也 是 开源 的 然后 各种 基于 Linux 的 这种 发行版 然后 我们 的 Android 手机 对 吧 对 就是 实际上 真的 是 无处不在 吧 可以 说 是 您 能
不能 解释一下 什么 叫做 开放 原代码 呢
这个 意味着 什么 呢 开放 原码 对 就 是从 软件 嘛 我们 的 软件 都 是 一行 一行 代码 写 出来 的 然后 可能 会 通过 编译 最后 编译成 一些 最终 我们 用户 能 在 我们 的 电脑 上 手机 上 的 运行 起来 的 程序 但是 这些 程序 都 是 程序员 一行 一行 写 出来 的 那 这些 代码 啊 开放 的 这个 根本 就 在于 就是说 代码 一旦 开放 就 意味着 其他人 可以 去 复制 去 fork 当然 这个 跟 许可证 也 有关 但是 大部分 的 开源 许可证 都 是 比较 的 permissive 也就是说 你 获得 了 这份 源代码 你 可以 基于 这份 源代码 去 做 修改 或者 你 可以 把 它 跟 你 自己 的 代码 做 整合 可以 去 利用 这些 已经
存在 的 劳动成果 所以 这 就是 开源 它 真正 相对 于 这种 币源 软件 它 的 巨大 的 区别 对 吗
没错 币源 软件 等于 说 很 大部分 的 币源 软件 你 拿到 你 就 只能 按照 设计者 设计 好 的 方式 你 去 用 但是 开源 软件 的 一个 比较显著 的 区别 就是说 你 甚至 我 开源 的 东西 不 一定 是 一个 面向 最终用户 的 东西 但是 其他 的 程序员 用 我 的 开源 软件 可以 他 可以 省去 很多 功夫 然后 利用 我 已经 实现 的 东西 他 可以 更快 更 更 有效率 的 去 搭建 他 所 想 做出 的 面对
最终用户 的 这些 产品 在 软件开发 里面 有个 很 重要 的 一个 概念 叫做 不要 重新 造 轮子 就是 don treinventthewheel 那么 开源 实际上 是不是 就 给 大家 从 核心 上 解决 了 这样, 让 大家 不要 重新 重复 到 一样 的 轮子, 然后 大家 用 这个 世界 上 最好 用 的 轮子 去 打造 自己 所要 的 模块 就 好 了。
对, 我 觉得 很大 一部分 价值 就是 这里 吧, 可以 说 软件工程 领域 很多 常见 的 问题 都 会。 就是说 经过 很多 时间 的 沉淀 大家 会 慢慢 的 就是 会 发现 一些 最佳 实践 或者说 在 通过 学术 的 paper 里面 大家 最后 总结 出来 这个 问题 可能 就 应该 这么 解决 那么 通常 来说 这些 问题 在 一旦 大家 形成 共识 之后 通常 会 出现 那么 一两个 比较 占有 主导性 的 一些 开源 的 实现 那么 对于 其他 需要 解决 类似 问题 的 这些 做 产品 的 工程师 来说 那 就 没有 必要 从头 再 自己 去 一层 一层 轮子 造 上来 那 就 可以 直接 拿 这些 现成 的 开源 的 去 解决 一些 可以 说 是 大家 共享 了 一些 智慧 上 的 劳动成果 就是 避免 大家 去 做 一些 重复 的 脑力劳动 了解
那 继续 刚才 那个 话题 就是 开源 世界 的 软件 开源 软件 实际上 有 很多 其他 的 重要 的 例子 像 比如说 大 数据 里面 有 Hadoop 系列 是 吧 然后 像 现在 比较 火 的 AI 领域 里面 有 TensorFlow, PyTorch, MXNet 还有 数据库 领域 的 像 MongoDB, Cassandra, HBase, MySQL, 包括 我们 今天 可能 会 涉及 到 的 您 正在 做 的 View, 然后 React, Angular, 它们 都 是 开源 项目 对 吗?
对, 没错。
我们 知道 了 开源 软件 其实 影响 和 改变 了 我们 生活 的 方方面面, 那么 一个 开源 软件 一般 是 怎么样 兴起 的 呢?
兴起 的话 其实 不同 的, 就 可以 这么, 我 觉得 可以 这么 理解, 就是 很多 程度 上 我 每次 有人 问 我 就 说 这个 开源 软件 通常 是 怎么样 的 其实 都 很 难 回答 因为 就 像 你 问 创业 公司 通常 是 怎么样 的 对 吧 可能 10 个 创业 公司 会 有 10 种 不同 的 这个 具体 的 情况 所以 开源 软件 其实 也 是 这样 就 是从 最早 的 这个 开发者 的 动机 到 他 的 成长 轨迹 到 最后 他 是 怎么 壮大 的 是否 有 选择 去 做 商业化 的 发展 等等 就 每 一个 项目 的 轨迹 可能 都 会 有 很大 的 区别 但是 我 个人 从 我 个人 的 角度 来讲 我 觉得 绝大部分 的 开源 软件 最初 的 动机 就是说 还是 处于 一种 技术人员 的 一种 就是说 我 觉得 我 能够 写出 一个 很 好 的 方案 来 解决 这个 问题 对 吧 每 一个 搞 技术 的 人 心里 都 会 有 这样 的 一种 就是说 当 你 的 技术 积累 到 一定 程度 之后, 你 有 一种 手痒 的 这种 感觉, 就是说 这个 问题 我 已经 了解 的 比较 透彻 了, 我 觉得 我 可以 很 好地解决 它, 那 既然 我花 了 这么 多 功夫 做出 了 一个 这么 牛 逼 的 方案, 这 不 把 它 跟 大家 分享 一下 实在 是 太 可惜 了, 就是 这种 感觉。
了解 那 这个 是从 一个 这个 开源 的 创造者 的 角度 来说 他 需要 跟 这个 社区 跟 其他 的 产业 开发者 去 分享 这样 一个 好 的 东西 好 的 自己 的 劳动成果 那 有没有 就 是从 这个 开源 一个 软件 它 的 诞生 到 它 最后 来 的 发展壮大 它 的 维护 有没有 不同 的 就是 组织 模式 在 背后 实际上
做 支撑 呢 那 肯定 是 有 的 从 它 起源 来讲 有些 开源 的 这些 软件 就是 像 我 刚才 讲 的 那个 角度 是 比较 的 个人 的 一个 角度 可能 发起者 是 一个 单独 的 一个 作为 一个 独立 项目 去 发起 但是 也 有 一些 项目 是 大 公司 内部 催生 的 可能 是 大 公司 内部 他 先 出于 业务 的 需求 做 了 一个 方案 然后 觉得 说 这个 方案 很 有 价值 然后 到 了 这 一步 之后 不同 的 大 公司 会 出于 不同 的 战略 的 这种 角度 去 选择 要 不要 开源 就是 举个 例子 来说 就是 当 你 有 一个 解决 一个 问题 非常 非常 好 的 方案 之后 你 可能 会 想要 把 它 开源 然后 把 它 做成 一个 行业标准
有利于 公司 的 发展 是 吗 对
当 你 控制 的 一个 开源 项目 成为 行业标准 之后 其实 是 会 带来 很多 潜在 的 好处 的 就 是从 战略 角度 来说 就 举例来说 Android 成为 一个 除 苹果 之外 的 事实上 的 手机 的 一个 标准 的 底层 那 对 Google 来说 它 就 有 了 很大 的 话语权 所有 的 手机 制造商 非 苹果 的 手机 制造商 多多少少 都 被 Google 有点 捏 着 这个 要命 门 的 这种 感觉 以及 就是 另 一种 类型 的 就是说 当 你 开源 一个 东西 在 这个 领域 的 影响力 足够 大 的 时候 对于 你 本身 的 招人 技术 口碑 会 有 很大 的 帮助 比如说 你 的 公司 整个 某 一块 的 站 都 是 基于 这个 方案 的话 然后 你 把 这个 东西 开源 然后 这个 业界 大部分 的 人 都 懂 你 这个 东西 那 你 招人 就 很 轻松 了 因为 你 随便 招 一个 人 可能 就 已经 会 这个 框架 了 那 你 招人 的话 就 会 就 就 很 方便 就是 十个 人 里面 九个 都 已经 不用 培训 直接 就 可以 上 了 就是 对 这 是 Facebook 开源 react 的 一个 巨大 优势 在 没有 react 之前 Facebook 也 不用 jquery 就是 上 一代 的 前端 框架 都 是 自己 内部 写 的 函数库 结果 外面 招进来 的 人 都 习惯 用 jquery 那 就 不 太 懂 要求 证券 那么 自从 发布 了 react 之后 内外 一致 了 那么 外面 的 人 都 懂 react 一 进来 就 可以 立即 上 手 干活 了 对 那 有没有
其他 类型 的 开源 他们 依托 于 其他 的 这种 商业模式 的 呢?
也 有 就是 以 这个 开源 项目 本身 就 作为 他们 公司 的 核心 商业模式 的, 就 比如说 mongodb, elasticsearch, 他们 的 典型 模式 就是说 先 做出 一个 很 流行 的 开源 项目, 然后 基于 这个 开源 项目 去 卖 各种 增值 服务, 就 比如说 enterprise 的 这些 用户, 他 说 我 想 用 你 这 东西, 但是 我 不 知道 怎么 搭 起 一个 比较 大 的 可靠 的 集群 这个 时候 芒果 DB 的 公司 就 说 OK 我来 帮 你 做 这事 因为 我们 就是 开发 这 玩意儿 我们 懂大 公司 就 很 乐意 掏钱 去 让 他们 做 这个 事情 很多 做 一些 serverside 这些 东西 的 数据库 这种 searchinfrastructure 这些 的 通常 都 是 这样 的 一个 商业模式 像 RedHat 有点 类似 就是 他 自己 并 不 ownLinux 这个 东西 但是 他 自己 把 它 进行 再 package 然后 在 这个 基础 上 对于 大 企业 用户 来说 他 就 也 还是 提供 一种 这种 可靠性 的 增值 服务 就是 大 企业 愿意 掏钱 让 他们 来 把 一些 比较 棘手 的 这些 事情 帮 他们 handle 掉 就 本质 上 来说 大 公司 还是 掏 很多 钱 但是 比起 大 公司 自己 养人 去 从头 研发 一个 跟 Linux 对 等 的 框架 对 等 的 这个 操作系统 那 肯定 是 还是 要 划算 的 多 了 就是说
这些 大 公司 用 的 实际上 用 他们 的 这个 语言 本身 或 软件 本身 是 免费 但 他们 实际上 付 的 钱 的 是 给 他 的 那些 服务 的 对 吗 对 没错 ok 那 还有 没有 其他 的 种类
呢 还有 一些 就是 现在 有 一类 新 的 公司 有 一类 新 的 公司 其实 比较 有意思 的 就是 可能 比较 有 代表性 的 就 比如说 像 Versailles 和 Gatsby 这 两个 公司 我 不 知道 大家 是否 熟悉 Versal 和 Gatsby 本质 上 都 是 卖 hostingservice 或者 如果 大家 用过 一些 类似 于 Hiroku 可能 大家 比较 熟悉 一点 HirokuRender 然后 这些 都 是 它 本质 都 是 卖 hosting 的 公司 但是 呢 这些 hosting 公司 他们 在 互相 之间 抢 用户 的 时候 这个 怎么样 去 尽可能 让 用户 用 自己 的 服务 那 Versal 就是 最早 的 就是 发现 了 这样 的 一个 策略 就是说 它 基于 react 做 了 一个 开源 框架 叫做 nextnextjs 然后 这个 框架 啊 等于 说 把 这个 react 的 服务端 渲染 和 统构 这个 以及 这个 staticgeneration 这些 可能 比较 具体 啊 但 简言之 就是 啊 verso 他们 基于 react 做 了 一个 把 react 的 一些 常见 功能 package 起来 更 更 简单 更 傻瓜式 的 一个 框架 然后 很多 人 就 很多 人上 手 react 的 时候 呢 其实 react 上手 时候 一个 最大 的 痛点 就是 他 react 本身 核心 它 不 给 你 这些 就是 完整 的 解决方案 就是 你学 完 react 本身 之后 你 还 得学 各种 第三方 的 包 怎么 用 怎么 搭 框架 怎么 怎么 用 webpack 等等 那 next 帮 你 把 这些 事情 都 给 打包 起来 了 那 对于 新手 来说 就 非常 友好 所以 很多 新手 他 其实 学 react 都 是从 next 开始 学了 现在 然后 他 这个 时候 在 卖 一个 服务 他 说 你 next 的 这个 项目 做 完 了 以后 你 想 去 哪 host 呢 来 我们 这 host 吧 因为 我们 就是 开发 next 对 吧 那 这 就是 一个 很 自然 的 一种 marketingstrategy 就是 他 通过 开源 的 项目 的 这种 reach 来 给 他 自己 的 真正 的 商业 产品 导流 这 也 是 一个 其实 挺 有意思 的 一个 策略 然后 Gatsby 也 是 类似 的 Gatsby 也 是 做 了 一个 基于 react 的 一个 静态 生成 的 一套 框架 就是 利用 react 来 做 静态 网站 的 这个 构建 然后 再 基于 这个 他 去 卖 他 的 各种 配套 服务 所以
这个 时候 开源 就 变成 了 一个 一个 引流 产品 就是 在 流量 为 王道 这样 的 一个 这样 的 一个 时代 这个 引流 到 后来 就 会
变成 现金流 对 因为 而且 这个 引流 是 怎么 讲 可以 说 是 一种 因为 以往 来说 我们 做 一些 这种 hosting 服务 你 能 想到 的 引流 方式 无非 就是 去 打广告 对 吧 那 打广告 的 转化率 跟 你 这个 一个 框架 你 有 提供 firstclass 支持 框架 的 转化率 是 不可同日而语 的 就是 感觉 这些 服务 方式 都 有点 像是 送 你 一台 打印机, 然后 接着 再 卖 纸 给 你。 对, 差不多 就 这 感觉。
打印机 是 免费送 的, 到 后来 卖纸 卖 耗材, 那才 是 真正 他们 赚钱 的 方式。
没错 没错。
那好 了, 我们 知道 一些 主流 的 开源 软件 组织 模式 了, 那么 接下来 就 想 跟 您 详细 聊一聊 您 开发 view 的 这个 经历 了。 那 第一个 问题 也 是 包括 我 在内 很多 人 都 了解 到 view 这样 一个 项目 之后 都 很 好奇 的, 就是 您 当初 为什么 创办 了 view?
view 从 一 开始 其实 完全 没有 说 是 有 计划 的 要 把 它 做成 一个多 大 的 项目 就 一 开始 完全 是 出于 就是 我 之前 说 的 这种 作为 一个 技术人员 就是 手痒 就是 觉得 说 这个 问题 好像 我 可以 想 出 一个 不 一样 的 解决方案 那 我 就 把 它 做 出来 看看 做 出来 之后 一 开始 完全 就 只是 自己 自娱自乐 的 这种 感觉 然后 那个 时候 大概 是 零 我 上 github 还是 比较 早 了 我 好像 是 比 最早 上 GitHub 的 一群 用户 嘛 然后 那个 时候 呢 就 看到 很多 其他人 也 开始 在 GitHub 上面 放 自己 的 项目 然后 我 觉得 哎呀 就 很酷 嘛 然后 我 就 把 我 自己 做 的 东西 也 慢慢 的 开始 放上去 所以 做 完 Views 之后 很 自然 的 就 把 它 放到 GitHub 上 直接 去 就 开源 了 一 开始 完全 没有 想过 说 要 或者说 是 卖钱 啊 或者 是 要 怎么样 商业化 创办 公司 都 完全 没想 过 只是 的 单纯 的 就是 想 把 它 分享 出来 可以 說 有點 像 這種 像藝 創術 作者 你 創作 了 一個 作品 之 後 如果 沒 有人 能夠 看到 他 欣賞 他 你 就 會 覺得 很 無趣 的 這種
感覺 了解 就是 那個 是 你 你 嘔心 瀝血 創造 出來 一個 完美 絕倫 的 一件 藝術 品然 後 你 需要 讓 大眾 一起 來欣賞 他 一起 來
了解 他 的 美 倒也不是 說 完美 絕倫 吧 就是 一開始 都 没有 抱 着 说 我 要 把 它 做 得 多 完美 的 这种 感觉, 就 觉得 说 OK, 我 有 这么 一个 想法, 然后 我 把 它 实现 了, 嗯, 一 开始 只是 很 单纯 的 这样 的 一个 一种 动机, 嗯, 那
后来 这个 这个 项目 是 怎么样 逐步 逐步 的 扩大, 然后 得到 了 大家 的 认可, 喜欢 和 这种 实用 的 呢?
后来 的话, 我 是 觉得 这个 其实 跟 机遇 有 一点 关系, 因为 当时 我 开始 做 view 的 时候, 大概 13 年 14 年 那个 时候, 就是 刚刚 大家 开始 对 前端 的 工程化 有 一些 不 一样 的 认识 了 Angular1 最早 是 09 年 出现 的 然后 有 Backbone 然后 有 一些 其他 的 早期 的 前端 的 工程 但是 在 那个 时候 绝大部分 绝大部分 前端 还是 在 用 JQueryJQuery 是 一个 典型 的 imperative 的 一种 用法 从 编程 的 语言 中文 可能 叫 命令式 的 指 哪 打 哪 就是 比如说 你 我们 想象 一下 我们 要 写 一个 界面 用 jquery 的话 写 出来 代码 大概 就是说 选择 这个 选择 这个 元素 然后 把 它 改成 这个 状态 就是 你 写 的 代码 就是 一行 一行 就是 等于 说 你 要 把 你 做 的 事情 用户 点击 之后 你 要 做 什么 事情 要 一行 一行 描述 出来 这 样子 那 这样 的 代码 其实 可维护性 是 非常 差 的 比较 好 的 做法 就是说 我们 把 你 的 应用 的 状态 跟 你 具体 的 应该 渲染 什么 东西 应该 展示 什么 东西 把 它 给 分开 这样的话 我 就 你 的 代码 就 只 需要 关注 逻辑 而 不 需要 去 关注 说 我 现在 应该 选择 哪 一个 节点 它 现在 的 状态 是 怎么样 的 简言之 就是说 从 react 开始 angularreact 开始 出现 之后 就是 前端 是 经历 了 一个 所谓 的 paradigmshift 整个 的 编程 范式 被 改变 了 然后 View 其实 也 是 趁着 这个 范式 改变 的 这样 的 一个 浪潮 在 这个 浪潮 刚刚 兴起 的 时候 呢 还 并 没有 太 多 这样 的 就是 已经 占 统治 地位 的 玩家 在 里面 就是 AngularOne 可能 是 最早 的 一个 比较 有 主流 地位 的 但是 在 View 刚刚 冒 出头 的 时候 React 虽然 已经 发布 了 但是 其实 React 早期 的 反响 并 不是 很 好 大家 那个 时候 还 并 没有 理解 就是 这种 所谓 的 declarative 的 就是 声明 式 的 这种 前端 编程 范式 背后 的 一些 精髓 吧 另 一个 角度 就是说 angular 跟 react 都 是 大 公司 孵化 的 产品 可以 说 他们 的 这个 最初 的 动机 都 是 解决 一些 大 公司 的 这种 内部 的 复杂性 的 需求 那 view 呢 是 一个 比较 怎么 讲 因为 我 一 开始 是 单纯 是 满足 我 个人 的 一种 技术 上 的 偏好 然后 当 我 开始 慢慢 的 把 view 去 进一步 做 设计 的 时候 呢 我 更 多 的 考虑 是 怎么 把 它 变得 对 新手 更 友好 这个 重点 可能 是 大 公司 的 产品 通常 来说 会 比较 不在意 的 一点 因为 大 公司 本身 招 的 这个 员工 工程师 的 这个 就是说 大家 平均水平 都 比较 高 然后 一般 科班出身 然后 你 进来 还 可以 再 培训 对 吧 不会 太 在意 这种 上手 亲和度 的 这种 问题 但是 view 呢 从 一 开始 就是 其实 我 也 忘 了 说 我 自己 也 不是 科班出身 我 是 等于 说 是 半路出家 然后 自学 编程 的 所以 我 在 设计 这些 框架 的 时候 我会 比较 在意 新手 的 感受 就是 我会 觉得 说 如果 我 需要 先 解释 一堆 像 angular1 的话 你 上 手 先要 解释 一堆 什么 elite 注入 啊 module 啊 然后 这个 怎么 用 那个 怎么 用 最后 你 才能 写出 一个 helloworld 那 我 就 希望 说 我 的 框架 不要 去 搞 那么 多 繁文 缛 诀 的 东西 就 尽可能 简单 直接 让 新人 可以 尽快 上 手 所以 这个 是 一个 View 跟 AngularReact 比较 大 的 一个 设计 上 的 区别 吧 这个 早期 的 一个 着重点 是 这样 的 所以 从 这个 成长 的 角度 来说 的话 我 觉得 View 是从 可以 说 是 一个 比较 草根 的 这种 一种 成长 路线 就 我们 吸引 了 很多 新手 然后 很多 的 这种 独立 开发者 还有 小 公司 他们 可能 并 没有 很 并 没有 很多 精力 去 研究 深入 的 研究 前端 这个 工程化 到底 怎么弄 但是 他们 也 希望 能 有 更好 的 解决方案 那 view 就是 等于 说 是 抓住 了 这样 的 一块 比较 niche 的 一个 一块 东西 就是 等于 说 这 一块 是 个 可能 从大 公司 角度 来说 就是 一个 longtail 他们 不会 去 针对 这样 的 用户 去 optimize 他们 的 开源 的 东西 但是 few 恰好 就是 符合 了 这些 用户 的 需求 所以 我 觉得 早期 的 用户 主要 是从 这样 的 一个
角度 积累 起来 的 了解 那 我 听 起来 感觉 就是 在 早期 这个 前端 框架 还 没有 一个 统一 的 框架 一统天下 的 时候 群雄 角逐 在 那样 一个 恰好 的 时机 又 出现 了 并且 它 能够 满足 一部分 产品开发 程序开发 人员 的 一些 需求 所以 它 就 迅速 得 了 大家 的 喜爱 那 随着 它 越来越 受欢迎 呢 除了 你 作为 他 的 创始者 作为 他 的 管理者 来说 的话 除了 要 负责 技术 部分 是不是 要 做 一些 其他 的 运行 啊 维护 呀 推广 宣传 包括 建立 相应 的 公司 组织 这样
一些 工作 呢 对 其实 这个 过程 也 是 可以 说 是 有点 被 逼 着 上马 的 那种 感觉 吧 就是 因为 一 开始 完全 没有 想过 要 把 它 做 多 大 但是 慢慢 的 就 用户 越来越 多 了 用户 多 了 之后 呢 可以 说 直到 16 年 之前 的 就是 14 年 到 16 年 这 两年 还是 完全 处于 一个 sideproject 的 状态 这 段时间 维护 view 完全 就是 处于 作为 一种 业余 的 一种 兴趣爱好 对 就是 一种 或者说 是 个 passion 吧 就是 可能 大家 在 主业 之外 都 会 就是 你 的 dayjob 之外 都 会 有 一些 比较 特别 感兴趣 的 东西 那 我 对 我 来说 那 两年 就是 基本上 业余时间 都 花 在 维护 view 上面 了 但是 还是 作为 一个 还是 就是 他 不是 我 的 主业 但是 慢慢 的 他 越来 的 占 占据 我 的 这个 精力 的 比重 越来越 大 所以 到 到 16 年 的 时候 就 开始 慢慢 变成 一种 很 纠结 的 状态 就是 我会 发现 可能 我 做 view 获得 的 这种 成就感 比 我 的 这个 正 正直 的 工作 会 更 更 有 满足感 一些 所以 差不多 那个 时候 就 觉得 说 是否 可以 考虑 全职 做 这个 事情 然后 正好 用户 也 增长 到 一定 程度 了 所以 那个 时候 就 被迫 想要 figureout 就是 怎么样 通过 这个 开源 赚 一点 钱 吧 至少 可以 维生 吧 这样 我 可能 就 可以 全职 出来 做 这个 事情 然后 那个 时候 就 发现 有 一个 平台 叫 Patreon 那 Patreon 其实 最早 它 是 都 是 给 一些 这种 艺术家 就是 写文章 啊 或者 是 画画 的 这些 人 他们 做 这种 付费 的 这种 fanservice 就 类似 于 有点像 那个 fansonly 省事 点上 说白了 是 对 就 有点像 就是说 你 可以 有 不同 的 tier 嘛 然后 你 的 粉丝 就是 subscribe 不同 的 tier 之后 就 会 有 不同 的 perks 那 我 就 在 想 哎 开源 能 不能 也 这么 搞 一下 因为 有 很多 人 在 用 的话 那 我 当时 的 一套 逻辑 就是说 如果 有 公司 在 用 View 然后 他 的 产品 是 用 View 做 的 那 他 肯定 不 希望 这个 框架 哪一天 突然 就 被 鸡 坑 就 不 维护 了 对 那 对 他们 来说 如果 他 需要 雇 一个 人去 全职 维护 这个 东西 他 的 成本 其实 会 很 高 那 还 不如说 我 说 那 每 一个 用 View 的 公司 如果 都 捐 一点点 钱 那 对 他们 来说 就是 微不足道 的 一点 支出 但是 他们 可以 确保 说 这个 项目 可以 长久 的 活下去 那 这个 我 感觉 这个 incentive 其实 是 makesense 所以 我 就 试 了 一下 然后 出乎 我 的 意料 居然 还 work 可能 也 跟 view 的 这个 userbase 还是 就 足够 大 了 有 关系 当时 那个 时候 还有 另 一个 就是 另 一个 就是 我 有 一个 朋友 他 是 strikingly 的 ctostrikingly 也 是 一个 当时 的 一个 ycalumni 的 company 他们 在 国内 创业 然后 我 跟 他们 的 这个 cto 认识 然后 他们 他们 也 是 一个 比较 有 情怀 的 公司 吧 然后 他们 会 有 一些 公司 会 拿 一些 钱 出来 去 捐赠 一些 开源 项目 比如说 他们 给 real 捐钱 啊 然后 给 国内 的 一些 开源 会议 捐钱 啊 然后 他 知道 这个 事情 之后 就 说 哎 那 我们 也 给 你 捐个 几个 月 的 钱 好 了 大概 一个月 捐 20 美元 这 样子 所以 当时 那 一笔 钱 也 帮 了 不少 忙 所以 我 是 在 离职 之前 先 等于 说试 了 下水 然后 发现 好像 还 可以 一个月 可以 有个 几千 刀 那 就 先 辞职 试一下 看能 不能 再进一步 的 把 它 grow 就是 再 增长 一下 如果 实在 最糟 的 情况 如果 就算 不行 那 我 再 过个 一年 再 回大 公司 也 可以 对 吧 所以 当时 就是 这样 的 一个 试试看 的 心态 然后 就 就 开始 做
全职 了 对 那 现在 回过 头去 看 是不是 我 记得 您 在 另外 一篇 采访 里 提到 说, 你 现在 已经 很难 想象 再 重回 大 公司 工作 的 那种 经历 了, 是不是 回过头来
发现 这 就是 一条 一直 走 下去
会 越来越 宽 的 路, 就是 之前 那个 所谓 的 最差 的 选择 实际上 已经 不是 一个 选择 了?
对, 现在, 当时 的 最差 选择, 或者说 也 不 叫 最差 选择 吧, 就是 一个 后备。 备胎 对 就是 个 备胎 的 感觉 因为 我 当时 也 是 怎么 说 呢 当时 决定 全职 的 时候 也 是 说 有 自信 说 如果 这个 开源 项目 做 的 足够 好 即使 他 不够 赚钱 让 我 继续 做 全职 那 也 可以 作为 一个 敲门砖 嘛 嗯 当然 现在 回头 看 的话 完全 没有 想到 可以 做 的 做到
今天 这个 程度 嗯 那 你 是不是 算 也 算是 这个 patreon 这个 平台 上面 作为 独立 开发者 这样 的 一个
最先 的 这种 试水者 可能 是 最早 一个 真的 能 靠 这个 去 做 全职 的 人 吧 就 据我所知 通过 Patreon 的 其实 现在 并不多 而且 其实 我 现在 还会 继续 用 Patreon 也 只是 因为 我 还 就是 我 早期 的 很多 赞助 的 用户 都 都 在 Patreon 上面 所以 比如说 现在 有 一些 其他 的 OpenCollective 啊 GitHubSponsors 啊 都 是 类似 的 服务 其实 会 更 就 从 纯粹 的 这个 从 fee 还有 从 technicalsupport 的 角度 来说 都 会 更好 一点 但是 就是 转移 过去 会 有 一些 摩擦 的 成本 所以 短期内 还是 没有 迁移 过去 现在 OpenCollective 其实 是 一个 还 不错 的 一个 平台 有 不少 开源 项目 基于 它会 去 做 一些 就是 众筹 然后 GitHubSponsors 其实 就是 等于 说 是 更 针对 程序员, 就是 把 Patreon 的 那套 模式 给 搬 到 了 Github 上面。
嗯, 了解。 这里 我 想到 我 最近 看 您 在 直呼 上, 包括 微博上 发 了 一些 帖子, 关于 这个 成功 男人 的 标准, 还有 这个, 还有 就是 您 去 跟 有些 不是 那么 有 经验 的 前端开发 者 开 了 一些 玩笑, 是 吧? 这个 四年 之内 赚 了 上 千万 人民币, 这个 也 说明 了 实际上, 只要 项目 做得好 只要 这个 技术 过硬 这个 钱 都 不是 问题 一切 都 会 水到渠成 的 是 吧 我 也 不敢
说 是 水到渠成 吧 这 里面 呃 怎么 说 其实 我 对于 商业化 这 一块 还是 挺 头疼 的 因为 我 本身 是 希望 能够 不用 去 想 钱 的 问题 就 天天 写 代码 最好 呃 但是 摊子 大 了 之后 有些 事情 就 不得不 去 考虑 不得不 去 管 因为 就 开源 项目 大 了 之后 我们 会 自己 会 有 一个 生态 了 然后 我们 生态圈 里面 会 有人 基于 view 就是 现在 会 有些 公司 它 基于 view 的 产品 然后 会 有 公司 它 的 整个 核心 就是 基于 view 的 一些 技术 的 产品 还有 公司 它 是 专门 做 view 的 这种 在线 教学 等等 像 这些 公司 的话 都 会 跟 view 本身 会 存在 一种 就是 商业 的 一种 共利 的 一种 关系 就是 view 发展 的 好 对 他们 来说 是 利好 然后 他们 发展 的 好 那 他们 也 希望 就是 能够 kickback 一部分 就是 跟 view 分享 一些 这种 他们 商业 上 的 一种 收益 那 我们 作为 view 本身 呢 可以 给 他们 进行 适当 的 宣传 上 的 支持 那 其实 也 有 相当 一部分 这样 的 东西 存在 那 这种 会 就 涉及 一些 类似 于 商业 的 partnership 商业 上 的 合作 会 需要 谈 一些 这样 的 事情 然后 还会 有 世界各地 的 这种 组织 会议 线下 会议 还有 线下 培训 等等, 所以 就 慢慢 的 就 开始 有 各种各样 的 商业 的 这种 合作伙伴 找上门来, 然后 会 需要 跟 他们 谈 各种 事情, 但 我 个人 就 其实 并 不是 很 很 enjoy 做 这些 事情 吧, 但是
还是 不得不 做, 就是说 您 内心 还是 一个 非常 非常 纯粹 的 技术人员, 然后 但是 被 一些 其他 的 事情 相当于 裹挟 着 或者说 推动 着 你 需要 兼顾 一些 其他 的 事情 比如说 社区 的 运营 啊 商业 的 合作 用户
的 推广 甚至 教学 等等 对 因为 某种 角度 上 来说 嗯 就是 这些 商业 公司 他们 的 成功 也 会 帮助 view 的 生态 进一步 的 去 变得 更好 所以 即使 单纯 从 就是 让开 我们 本身 开源 这 一块 变得 更好 的 角度 来说 也 有 必要 去 就是说 和 他们 有 必要 的 合作 吧 这些 事情 可以 外 包 出去 做 吗 比较 难 吧 就是 现在 的 状态 就是说 这个 摊子 没有 大到 说 我 可以 完全 把 这些 东西 delegate 给 别人 去 下 发给 别人 去 做 但是 呢 自己 一个 人去 管 所有 的 事情 也 确实 是 有 一些 分散 注意力 就是说 管 还是 管得 过来 但是 从 我 的 角度 上 来说 就是 如果 想要 真的 去 把 它 下 发给 别人 那 就 得 把 它 真的 当做 一个 公司 去 运营 但是 其实 我 本身 也 是 很 比较 明确 的 就 一 开始 就 不想 去 走 一个 创业 公司 的 道路 这 也 是 一个 就是 我 选择 的 就是 一种 所谓 的 lifestyleentrepreneurship 中文 叫 什么 叫 好像 没有 很 好 的 中文 的 翻译 对 就是 还是 属于 创业 的 一种 但是 并 不是 走 的 传统 的 这种 去 做 一个 公司 然后 去 雇人 然后 去 把 它 越做越 大 的 这样 一种 路线 更 多 是 赚够 某 一个 程度 的 钱 让 自己 达成 某 一种 生活 方式 对 对 对 更 对 更 注重 生活 工作 平衡 的 一种 创业 方式
是不是 从 另外 一种 角度 说 你 追求 的 是 更 多 的 是 一种 生活 形态 上 的 没错 没错 内心 的 满足 对 对 对 了解 那 我们 下面 是不是 可以 聊 一下 view 未来 的 发展 就是 我 知道 您 也 是 已经 把 view 重写 了 第三个 版本 就是 最新 一个 版本 view30. 这个 海贼王 也 也 刚刚 发布 不久 那 您 能 不能 谈 一下 这个 未来 对于 View 它 的 未来 的 发展 有没有 什么样 的 希望 或者 是
计划 呢 现在 的话 其实 首先 它 的 定位 就是 View 一 开始 的 定位 一直 都 是 一个 前端 框架 如果 拓展 一下 的话 可以 理解 为 是 一种 用户界面 开发 这么 一个 大 的 范畴 就是 所有 涉及 用户 交互 的 这样 一个 开发 的 这种 体验 的 这种 那 View 作为 一个 项目 它 的 使命 就是 去 给 开发者 提供 一个 更 快 更好 的 去 开发 这种 交互 界面 的 这样 的 一个 方案 侧重点 也 会 比较 着重 在 web 这 一块 就是 在 浏览器 的 这 一块 然后 所以 浏览器 这 一块 其实 近年来 也 有 一些 比较 新 的 一些 动向 就是 比如说 JavaScript 它 这个 语言 会 有 很多 新 特性 慢慢 的 稳定 了 然后 浏览器 会 有 一些 比较 有 重大意义 的 新 的 特性 也 慢慢 的 就是 在 IE1 被 慢慢 淘汰 等等 就是说 我 是 觉得 现在 有 一个 机遇 就是 把 整个 的 web 开发 变得 更 现代化 一点 这是 一个 我 比较 希望 view 可以 起到 推动 作用 的 就是 帮助 推动 这个 进程 因为 广大 前端 也 比较 受够 的 这种 要 去 支持 这些 这个 IE1 这些 就 浏览器 然后 还有 一些 就是 我们 一些 以往 的 一些 工作 开发 流程 就 比如说 打包 啊 还有 是 这个 呃 要 要 转译 把 我们 写 的 这个 代码 一定 要 编译 一下 才能 在 浏览器 里 跑 就是 会 有 很多 新 的 这些 机会 出现 所以 我 希望 view 在 总 的 目标 就是 view 可以 在 帮助 广大 前端 多块 好省 的 干活 这个 历史进程 里面 可以 起到 一些 比较 积极 的 作用 吧 啊 那 基本上 都 是 围绕 着 这个 目标 去 的 然后 对 所以 我 其实 最近 也 做 了 一个 前端 的 构建 工具 叫做 Vit 一 开始 只是 为了 支持 View 但是 后来 发现 这个 东西 其实 可以 不 一定 需要 跟 View 有 绑定 所以 后来 就 变成 了 一个 可以 支持 多 框架 的 这么 一个 工具 那
又 是 一个 可能 会 很 受欢迎 的 这个 精美绝伦 的 大 轮子 是
吗 希望 如此 吧 了解 OK 我们
知道 就是 一个 软件 如果 能够 被 开源 它 需要 遵从 一定 的 开源 协议 那么 据 你 了解 的话 现在 主要 的 主流 的 开源 协议 有
哪些 呢 现在 主流 的 其实 从 大 的 角度 来分 我 是 把 它 分成 一类 是 purepermissive 开放性 就是 完全 开放性 的 许可证 一类 就是 带 各种 条件 的 许可证 就是 完全 开放性 的 典型 的 就是 像 BSDtwoclauseMIT 还有 apache 这些 开放型 的 意思 就是说 你 拿到 这份 源码 之后 你 几乎 可以 做 你 想 做 的 任何 事情 你 可以 把 它 用于 商用 你 可以 把 它 改变 之后 放到 你 自己 的 项目 里面 去 你 也 可以 把 它 作为 你 项目 的 一部分 下 发给 最终 的 用户 开放型 的 许可证 就是说 几乎 就是 你 想 干 啥 都 可以 基本上 共通 的 唯一 条件 就是说 你 得 保留 我 这个 原始 作者 的 这份 协议 在 你 的 代码 里面 就是 你 得 写 清楚 你 用 了 我 的 代码 而且 这部分 的 代码 是 copyright 是 我 的 除此之外 几乎 就 没有 什么 限制 了 然后 另一类 的 就是说 带有 一定 程度 的 限制 的 就是说 如果 你 想要 用 我 这份 代码 有 这 以下 条件 就是 这个 你 不 可以 做 那个 你 不 可以 做 这种 分支 就 会 比较 多一点 当然 比较 具 代表性 的 就是 GPL 系列 的 这种 带 传染性 的 抗原 许可证 你 如果 用 了 我 这个 代码 那 你 用 了 我 这个 代码 的 整个 项目 也 必须 沿用 这个 许可证 也 必须 开源 那 这个 对于 一些 商业 公司 来说 就是 一个 不可 接受 的 一种 许可证 因为 他们 可能 不 希望 说 因为 我要 用 你 这个 东西 所以 我 的 整个 其他 的 商业 机密 也 必须 开源 了 所以 这个 就是 一个 比较 本质 的 区别 就是 存 不 存在 使用 上 的 限制 能否 商用 除此之外 其他 的 更 多 是 一些 细枝末节 上
的 区别 了解 那 view 现在 选择 的 是 什么 协议 呢 view 是
MIT 也 就是 最具 开放性 的 绝大部分 现在 前端 的 框架 都 是 据我所知 都 是 类似 的 不 存在 什么 本质区别 之前 react 有过 一段时间 的 风波 就是 Facebook 的 一些 开源 项目 它 用 的 是 一个 带有 一个 特殊 的 一个 条款 BSDElicense 的 变种 会 涉及 到 一些 就是说 当 你 用 了 这个 这个 许可证 的 项目 之后 你 就 会 丧失 一些 好像 是 会 放弃 以后 如果 Facebook 告 你 的话 你 就 不能 反诉 这样 的 一个 条款 然后 当时 一 开始 大家 并 没有 在意 这个 东西 因为 大家 都 觉得 说 Facebook 怎么 可能 会来告 我 呢 我 又 没有 那么 重要 后来 这个 事情 被 放大 了 之后 很多 大 公司 突然 就 发现 Facebook 还是 有 可能 会来告 我 的 那 我 就 岂 不是 自己 往 坑里 漂了 所以 这 事情 当时 闹 得 还 蛮 大 的 但是 其实 呢 你 说 Facebook 很多 项目 他们 用 这个 许可证 也 并 不是 这些 团队 做 这个 项目 的 团队 本身 的 意思 更 多 的 是 Facebook 他 公司 的 法务 要求 的 所以 这些 团队 他们 就 觉得 说 哎呀 你 这 法务 这样 要求 害得 我 的 东西 都 没人用 了 这 也 不太好 所以 这些 团队 还是 会 跟 Facebook 的 法务 进行 这种 等于 说 抗争 最后 据我所知 大部分 的 项目 都 改成 了 就是 完全 的 开放性 的 许可证 比如说 react 现在 应该 也 是 MIT 一点点 的 内幕消息 就是 这个 抗争 最后 的 结果 结束 是 很 意外 的 就是 原来 很 坚持 BSD 协议 的 那个 法务 离开 了 Facebook 换 了 一个 新人 上来 然后 工程师 还是 跑 去 说 我们 要 换成 MIT 新 的 法务 人员 说 那 你 想 换 就 换 我们 没 必要 坚持 BSD 然后 就 换 了 这 还 真是 出乎 我 意料 做 一个 开源
项目 的 创造者 来说 他 在 选择 开源 协议 的 时候 他会 有 什么
标准 或者说 他 有 什么 考量 其实 我 觉得 现在 新 的 开源 项目 大部分 都 会 选择 就是 这种 全 开放性 的 许可证 因为 某种 角度 上 来讲 当 你 刚 开始 做 一个 开源 项目 的 时候 你 的 考量 都 是 希望 它 尽可能 能够 被 更 多 的 人 去 使用 而且 从 策略 的 角度 来说 就 像 我们 之前 说 的 不同 类型 的 这种 开源 的 动机 但是 核心 来说 开源 的 最大 的 优势 就是 它 比 收费 产品 有 更 强 的 这种 reach 因为 它 使用 的 门槛 低 所以 会 有 更 多 的 人来 用 就 有点像 你 做 一个 手机 的 app 如果 你 一 开始 就 收费 可能 只有 10 个人 买 但是 如果 你 先 免费 可能 会 有 一万个 人买 然后 你 在 里面 加 一个 应用 内 收费 可能 最后 你 转化 出来 会 有 一千个 人 付费 就 这样 的 一种 感觉 所以 一般来说 都 会 选择 最为 开放性 的 来 避免 任何 这种 使用 上 的 门槛 就是说 因为 开源 它 本身 就 不 希望 你 大 公司 在 用 的 时候 会 思前想后 的 说 这个 许可证 到底 我们 该不该 用能 不能 用 一旦 你 存在 了 这样 的 顾虑 之后 你 的 整个 的 adoption 就 会 受 很大 的 影响 从 考量 的 角度 来说 还是 更 多 的 就是说 这个 许可证 能 不能 跟 你 开源 的 动机 去 契合 比如说 有些 现在 还是 会 有 一些 开发者 他会 比较 的 有 这种 理想主义 他 就 觉得 说 开源 就是 应该 是 纯粹 的 开源 所以 我 还是 要 GPL 你 想 用 我 的 东西 你 也 得 开源 也 会 有 这样 的 人 在 但是 大家 的 这个 想法 动 机会 不 一样 了解 就是
大家 可能 现在 越来越 多 的 趋势 是 不想 让 这个 开源 的 这个 协议 变成 一个 限流 的 一个 一个 障碍 是 吗 对 了解 那 我们 接下来 是不是 可以 聊 一下 这个 开源 软件 是 如何 进行 管理 的 就是 比如说 一个 github 当中 的 项目 然后 它 可能 就是 一个 活跃 的 社区 需要 每天 的 代码 量 可能 就 会 很多 然后 它 有 很多很多 的 参与者 那 这个 项目 是 进行 如何
管理 的 这个 的话 也 是 就 像 不同 的 公司 是 怎么 管理 的 会 有 很多很多 不同 的 方式 从 我们 角度 来说 其实 从 管理 的 规模 上 来说 View 算是 一个 比较 小 的 项目 我们 的 用户量 虽然 不小 但是 我们 其实 核心 的 团队 人员 并不多 而且 全职 的 也 就 这么 几个 人 两三个 人 然后 绝大部分 都 是 一些 有 正职 工作 然后 他们 会 偶尔 来 参与 一下 的 志愿者 那 这样 的 情况 下 我们 的 组织 就 会 比较 的 松散 比较 随意 我们 的 所谓 的 coreteam 并 没有 什么 非常 严格 的 这种 职责 你 只要 保持 一个 比较 活跃 的 参与度 然后 更 多 的 大家 都 是 靠 自己 的 一种 参与 的 一种 责任心 因为 本身 他们 会 成为 我们 的 团队 成员 就是 因为 他 长期 的 都 自发 的 在 很 积极 的 参与 这个 项目 然后 我们 才 考虑 说 OK 你 要 不要 作为 一个 团队 成员 加入 进来 但是 我们 的 团队 成员 就是 他 并 不是 说 你 加入 进来 你 就 会 我们 会 分配 你 去 做 这个 做 那个 更 多 的 就是 一种 OK 你 现在 是 团队 的 一部分 了 然后 我们 可以 更 紧密 的 去 交流 去 合作 但是 呢 大家 还是 会 有 很 强 的 自主性 啊 也 会 经常 有人 说 哎呀 我 最近 太忙 了 我 就 没有 办法 继续 参与 了 这样 也 是 很 正常 的 现象 我们 的 项目 是 这样 但是 會 有 一些 其他 的 項 目會 更 嚴謹 一點 或者 說 更加 嚴格 一點 就 舉個 例子 像 Node. js 是 我 比 較 稍微 熟悉 一點 的 Node. js 的 話 它 會 它 是 基 於 一個 foundation 它 自己 有 一個 foundation 然 後 基金 會 基金 會 呢 會 有 很多 大 公司 去 捐 錢然 後 基金 會出 錢會 有 一顧 一些 人會 有 compensation 就是 會有 全職 的 人 去 做 一些 這種 行政 啊 或者 是 一些 雜務 方面 的 事情 當然 它 的 這個 纯 技术 方面 的 运营 还是 独立 于 这个 钱 这 一块 然后 它会 有 一个 所谓 的 叫做 TSC 就是 TechnicalSteeringCommittee 中文 应该 是 叫 技术 方向 委员会 这样 的 一个 东西 它会 有 比较 明确 的 规章 就是说 你 要 获得 怎么样 的 提名 才 可以 加入 这个 委员会 委员会 的 成员 有 怎么样 的 职责 每月 要 例行 开会 然后 会 有 具体 的 事情 每个 人 都 有 分工 然后 会 有 各种 workinggroup 像 electron 也 有 类似 的 这样 的 这种 机制 就是 当 你 项目 足够 大 之后 呢 还是 会 需要 有 一些 有 经验 的 这种 管理 的 人来 去 做 这样 的 分工 当像 view 的话 呢 就是 摊子 还 没有 大到 需要 去 走 一个 这样 非常 就 在 我们 在 在 小小 开源 项目 看来 可能 会 甚至 有 一些 bureaucratic 官僚 的 这种 感觉 了 但是 对于 当 你 一个 项目 大到 一定 程度 的 时候 可能 是 不可避免 的 一个 一个 路线 这样 听 起来 你们 的 经营 模式 跟 我们 牛油果 烤面包 的 也 很 类似 是 吧 我们 有 五个 主持人 我们 也 没有 具体 的 怎么 派货 反正 大家 觉得 哪个 专题 好 做 就 冲上去 做 哪个 专题 然后 喊 一下 就 互相 帮忙, 这里 也 可以 插播 个 广告, 我们 也 有 自己 开源 的 网站, 有 志愿者 愿意 帮忙 上来 写扣 的, 赶紧 联系 我们, 可以 顺便 给 给 你 的 开源 项目 打广告, 对 对 对。
好 切题 啊, 感谢 开 了 这个 提到 我们 的 开源 网 网站 哈, 那 Evan 你 觉得 照 你 的 预计 来说 的话, 未来 在 可 预见 的 将来 会 不会 比 我 也 会 逐渐 逐渐 走向 那样 一个。 可能 会 需要 专业 的 管理人员 去 进行 专业 的 管理 会 有 具体 的 人 去 各司其职 的 完成 除了
技术 以外 的 工作 这个 说实话 挺 难说 的 吧 因为 就 我 个人 觉得 目前 的 运营 方式 挺 好 然后 这个 也 跟 怎么 说 呢 跟 创始人 的 这个 喜好 有 关系 因为 从根本上 来讲 其实 从 组织 方式 来讲 View 现在 走 的 是 一个 所谓 叫 BDFL 模式 Benevolentdictatorforlife 这个 是 最早 是 大家 送给 这个 Python 的 作者 Gido 的 一个 称号 善意 的 终身 独裁者 就是 意思 是 在 这个 项目 里 这个 人 永远 是 最大 的 就是 什么 问题 你 如果 要 炒 到 最后 他 可以 拍板 但是 呢 这个 人 因为 他 是 一个 就是 benevolent 他 是 有 善意 的 他 是 希望 大家 都 好 所以 他 虽然 它 有 绝对 的 权利 但是 它 是 一切 的 决定 都 是 就是 是 出于 让 这个 项目 更好 来 做出 的 这样 的 这样 一个 方式 就是说 好处 是 它 会 更 有效率 就是 很多 事情 不 需要 经过 各种 层层 的 非常 官僚化 的 这种 讨论 投票 扯皮 很多 事情 你 可以 跳过 这些 这种 冗杂 的 步骤 就是说 OK 这个 事情 就 这么 办 那 我们 就 去 做 了 这 就是 有点像 一个 小 公司 你 可以 更快 更 快 更 敏捷 的 去 做 一些 事情 当然 它 的 缺点 就是 所有 的 事情 都 要 透过 BDFL 来 做 决策 这个 BDFL 能够 放 多少 权 以及 它 愿意 放 多少 权会 影响 这个 项目 整体 的 运行 效率 所以 也 是 有 会 有 它 的 缺点 就 到 我 自身 的 角度 来说 我要 做 的 决策 就 会 很多 有 的 时候 我会 不 放心 说 这个 事情 可能 没有 我 去 参与 真的 不行 那 这样 的 事情 一多 呢 那 我 可能 自己 专心 写 代码 的 时间 就会少 所以 在 大 的 这种 组织 项目 下会 有 committee 然后 会 有 各种 workinggroup 的话 那 好处 就是 一个 专门 的 问题 可能 就 可以 就 由 这些 人 专门 去 处理 那 可以 就是 你 的 并发 量 就 会 更 高 一点 没错 所以 也
是 有利有弊 的 那 你 刚才 提到 就是 现在 的话, 可能 什么 事情 都 要 你 拍板, 然后 往往 你 需要 在 不同 的 事物 之间 做 平衡, 包括 技术 的 非技术 的 是 吧? 那 我 一个 好奇 的 问题 是 在 这样 一个 情形 下, 如何 去 保证 这个 软件, 它 它 能够 一个 健康 稳定 的 去 发展, 去 保证 说 不会 有 恶意 的 篡改 啊 等等, 这个 这方面 利用 是 怎么样 做到 的?
恶意 篡改 的话 这个 问题 倒 不是 很大 因为 Github 本身 你 可以 一定 程度 上 自动化 这些 东西 就 比如说 首先 你 当然 所有人 都 得 要 2FA 就是 两 不 验证 然后 现在 Github 有 一些 比较 高级 的 功能 就 比如说 可以 有 protectedbranch 就是 不 允许 直接 push 到 主 分支 所有 的 代码 必须 要 走 pullrequest 一个 pullrequest 只有 超过 多少 个 有 权限 merge 的 人 去 review 然后 approve 之后 才 可以 merge 进入 分支 就是 很多 这些 都 可以 通过 github 去 完全 的 自动化 的 去 enforce 这些 规则 那 这个 很大 程度 上 就 至少 从 一个 有 一个 底线 的 一个 质量保证 吧 然后 从 运作 的 角度 上 来说 你 也 可以 在 团队 内部 就 就是说 有 这样 一个 规则 就是说 没有 啊 凡是 涉及 某 一类 的 这些 改动 没有 我 的 批准 就 不 可以 merge 这样 等等 就 类似 这样 的 东西 当然 各个 项目 会 有 完全 不同 的 这种 处理 方式 但是 核心 上 来讲 还是 就是 利用 尽可能 的 工具 去 自动化 一些 流程 上 的 东西 了解 那
作为 这个 项目 的 负责人 是不是 现在 唯一 的 这个 整个 view 项目 的 这个 规划 和 路线图 都 是 出自 你 一个 人 的 自己 的 想法
我会 是 大部分 想法 的 一个 发起者 但是 我们 现在 也 是 有 一个 所谓 的 叫 RFC 的 流程 就是 requestforcommentRFC 的话 其实 可能 如果 是 其他 领域 的 程序员 可能 想到 RFC 会 想到 就是 互联网 的 这些 RFC 但是 其实 在 很多 开源 项目 里面 比如说 Rust 还有 react 也 有 RFC 这个 流程 就 RFC 流程 就是说 如果 你 想要 做 对 这个 项目 做 比较 大 的 改动 比如说 一个 新 版本 或者说 你 有 一个 很 重大 的 新 功能 你 要 确保 这个 新 功能 一旦 你 实现 之后 你 就 不能 再有 很 夸张 的 改动 了 你 肯定 要 有 一个 比较 稳妥 的 一个 去 大家 去 讨论 去 测试 或者说 去 等于 说 有 一个 设计 流程 这个 流程 就是 通过 RFC 来 走 你 要 写 一个 文档 然后 这个 文档 是 有 一定 的 格式 要求 就是 你 要 写 清楚 为什么 要 有 这个 改动 改动 涉及 哪些方面 然后 会 有 怎么样 的 影响 对 已有 代码 的 影响 然后 它会 带来 怎么样 的 好处 已有 的 用户 如何 迁移 所有 的 这些 方面 你 都 有 考虑 到 然后 写 下来 然后 发到 RFC 的 我们 有 专门 有个 仓库 发到 那边 之后 这是 公开 的 所有 的 用户 都 可以 来 参与 评论 然后 就 会 有 用户 其实 我们 也 经历 过 一些 这样 的 事情 就 比如说 我们 想要 引入 一个 新 功能 然后 有些 用户 就 非常 反对 然后 就 说 你 要 这么 改 我 就 不用 了 或者说 你 要 这么 改 我 就 去 用 react 之类 的 这种 也 有人 说 过 这样的话 其实 这个 过程 是 很 耗费 心力 的 我们 会 需要 花 很多 功夫 去 跟 用户 去 怎么 讲 一方面 是 要 接受 一些 不 那么 善意 的 反馈 一方面 也 要 去 就是 在 接受 一些 这种 东西 的 同时 也 要 思考 说 是不是 我们 真的 哪里 设计 的 有 问题 这里 要 改 那里 要 改 或者说 可能 这个 想法 从 一 开始 就是 错误 的 也 有 可能 那 这个 就 等于 说 是 把 你 整个 的 思考 设计 的 过程 都 做成 一个 社区化 的 过程 了 就是 完全 的 公开化 了 这样 的 好处 就是 当 你 的 社区 大到 一定 程度 之后 你 不得不 做 这样 的 事情 因为 这个 社区 已经 不太 能够 接受 你 说 你 突然 哪天 拍 脑袋 想 出 一个 想法 你 就 第二天 就 把 它 给 发布 出来 这样 的 事情 因为 影响 的 面太大 了 所以 用户 会 希望 他们 能 有 一个 他们 会 有 一个 在 你 的 这个 整个 的 决策 过程 中 他们 会 希望 能 有 他们 的 声音 那 作为 开发 项目 我们 也 有 这样 的 责任 去 听听 他们 的 声音 这是 一个 很 重要 的 一个 部分 等于 说 把 整个 设计 的 决策 过程 其实 是 比较
的 社区化 你 这里 提到 这个 开源 社区化 这 也 是 开源 软件 相对 于 闭源 软件 一个 很 重大 的 一个 区别 能 不能 跟 我们 聊 一下 什么 是 开源 社区 呢 它
具体 是 干嘛 的 社区 的话 其实 是 一个 很 松散 的 定义 就 是从 广 的 来说 任何 用 我们 软件 的 人 都 算是 社区 的 一部分 从 狭义 的 角度 来说 呢 社区 更 多 的 就是 首先 他 对 你 这个 技术 本身 是 有 一定 的 这种 怎么 说 他 可以 算是 半个 粉丝 他 喜欢 你 这个 技术 他 希望 你 这个 技术 越变 越 好 所以 他会来 参与 他会 比如说 举例来说 有 参与 的 方式 各不相同 有些 人 他 会 直接 就是 想要 来 帮 你 一 起来 开发 他会 给 你 发 poolrequest 有些 人会 帮 你 做 类似 于 免费 的 宣传 他会 写 博客 说 OK 我 今天 用 了 这个 东西 发现 这个 新 功能 很酷 然后 你 可以 这样 用 帮 你 做 一些 这种 教育 上 的 帮助 也 有人 会 就 写酷 就 比如说 他 说 我 今天 发布 了 一个 跟 View 兼容 的 这个 酷 可以 让 你 更 方便 的 在 用 View 的 时候 达成 这个 目的 就 他 用 自己 的 开源 来 帮助 你 的 这个 项目 这个 就是 个 典型 的 就是 这样 的 一些 就是说 让 你 的 开源 这个 项目 本身 增加 value 就 是从 我 的 角度 来说 你 这个 软件 本身 开源 对 吧 但是 除 代码 之外 你 创造 价值 还有 很多 途径 就 举例来说 怎么 让 人 更好 地 学习 这个 框架 怎么 让 人 在 用 你 这个 框架 的 时候 更 好地解决 常见 的 问题 以及 就是 或者说 当 他 遇到 问题 的 时候 他 去 网上 搜 到 一个 答案 这 也 是 一种 价值 对 吧 那 所有 贡献 这些 价值 的 人 都 可以 算是 社区 的 一部分 所以 听 起来 这个
社区 就 像 一个 我 不 知道 这么 形容 对 不 对 像 一个 乌托邦 一样 大家 拥有 着 共同 的 理想 或者 是 共同 的 使命 大家 在 围绕 这个 使命 大家 一起 为 这样 一个 乌托邦 去 添砖加瓦 去 众人 施杀 火焰 高 让 它 变得 越来越
好 我 也 发现 就是说 这个 现象 可能 在 围绕 开元 的 这个 会 比较 常见 一点 因为 可能 开元 本身 大家 会 喜欢 或者 使用 开元 也 是 带 着 一定 的 这样 的 这种 理想主义 的 一种 情节 在 里面
那 开源 社区 一般 是 什么样 的 一个 氛围 呢? 大家 是不是 都 比较 的 祥和 地 进行 问题 的 讨论, 会 不会 有
的 时候 会 出现 纷争, 会 出现
意见 的 不 统一?
怎么 说 呢, 开源 社区 其实 就是 人 的 社区, 并 没有 太大 的 区别, 可能 参与 的 比较 活跃 的 人 通常 都 是 比较 有, 因为 大家 都 是 技术人员 嘛, 会 稍微 理性 一点, 但是 一个 社区 的 氛围 更 多 的 还是 会 受到 会 受到 一部分 就是 你 这个 项目 发起方 的 这种 整体 的 一个 氛围 的 影响 比如说 你 的 项目 主导者 是 什么 风格 可能 社区 就 会 往 那个 风格 走 一点 比如说 Linux 内核 讨论 可能 会 比较 硬核 一点 就 大家 可能 会 比较 直白 一点 就 说 你 这个 代码 就是 crap 就是 因为 受 Linux 说话 风格 的 影响 现在 的 我们 像 前端 这 一块 开源 其实 氛围 还是 比 相对来说 我 觉得 是 好 一些 的 因为 前端 怎么 讲 大家 还 蛮 注重 就是 这个 氛围 的 营造 就 比如说 绝大部分 流行 的 项目 都 会 有 codeofconduct 就是 一个 行为准则 比如说 不能 骂人 是 吗 对 不能 骂人 不 可以 用 侮辱性 的 词汇 等等 就是 你 如果 你 不能 好好 说话 那 你 就 不要 说话 就是 基本上 就是 这样 一个 规则 然后 据我所知 像 我 认识 一个 另 一个 开源 维护者 他 是 做 LT 这 一块 他 是 做 这个 3D 打印 的 开源 软件 他们 那个 社区 好像 氛围 就 不是 那么 好 他 经常 抱怨 就是说 他 一旦 发 的 新 版本 出 了 什么 问题 他会 收到 很多 比较 比较 就是 粗俗 比较 恶毒 的 这种 评论 就是 会 有人 就是 抱怨 说 你 这个 居然 就是 把 我 的 这个 build 给 break 然后 就 就 会 用 很 很 恶毒 的 语言 去 攻击 他 这样 嗯 所以 也 并 不是 所有 的 开源 社区 都 是 都 是 很 友好 的 吧 嗯 可以 想象
那 但是 随着 一个 软件 他 的 受众 越来越 广他 的 使用 他 的 人 越来越 多 所谓 众口难调 萝卜青菜 给 有所 爱会 不会 出现 说 这种 负面 的 声音 会 越来越 多 呢 会
的 这个 可以 说 是 难免 的 吧 因为 你 不 可能 做 一个 东西 让 所有 的 人 都 满意 那 从前 端的 角度 来讲 有三大 框架 为什么 会能 并存 还是 因为 就是 大家 的 受众 各自 会 有 有 一些 不同 但是 当三大 框架 各自 大到 一定 程度 之后 不可避免 的 就是 会 你 会 辐射 到 一些 本来 可能 并 不 在 你 的 目标 范围 内 的 一些 用户 那 这些 用户 他 可能 就 举例来说 一个 用户 他 从来 没有 用过 任何 一个 这 里面 的 框架 他 可能 从 他 的 个人 偏好 来讲 他会 更 喜欢 react 但是 碰巧 他 第一个 找到 的 是 view 然后 他用 了 之后 觉得 不爽 他 就 说 哇 view 是 垃圾 然后 他 再 找到 react 他 说 哇 react 才 是 王道 但是 反过来 也 有 可能 一个 人 他 可能 他 的 思维 模式 更 适合 view 但是 他 先 找到 了 react 然后 他 的 整个 思维 就是 反过来 的 他 会 觉得 说 reactJSX 什么 东西 还是 要 写 HTML 才 是 王道 其实 因为 前端开发 者 的 人群 太大 了 所以 大家 的 偏好 也 会 有 很大 的 区别 就是说 我 一 开始 刚 开始 做 view 的 时候 听到 有人 说 这个 view 不好 用 我会 很 不爽 但是 后来 时间 长 了 想通 了 之后 也 就 淡然 了 因为 因为 就 不 可能 让 所有 的 人 都 满意 所以 更 重要 的 还是 说 啊 你 怎么 去 对 喜欢 你 的 这个 开发 模式 的 人 去 给 他们 提供 更好
的 价值 嗯 嗯 这 实际上 我 想 之前 想 问 你 的 就是 你 怎么样 去 慢慢 逐渐 去 习惯 和 平衡 那些 所谓 的 批判 的 声音 可能 这个 心态 这个 过程 中是 有 一个 学习 和 成长 的 过程
的 对 不 对 啊 这个 对 这个 真的 是 其实 是 挺 考验 心态 的 因为 我 觉得 真的 是从 Q 刚 开始 出现 的 时候 就 有 很 从 一 开始 到 现在 一直 都 有 质疑 的 声音 的 当然 就是 用户 的 正面 的 声音 也 很多 但是 任何 开源 项目 当 你 做 大 了 之后 都 会 有 不 喜欢 的 人 这个 就是 一个 定律 因为 技术人员 嘛 技术人员 都 会 有 很 强 的 这种 偏好 对于 大部分 人 都 会 有 尤其 是 对于 自己 你 拿 來 吃 飯 的 這種 本事 大家 都 會 覺得 我 是 最 棒 的 我 有 我 的 偏好 我 有 我 的 意見當 你 選擇 工具 的 時候 大家 也 很 容易 就 會產生 一種 就是 說 不 符合 我 的 偏好 的 工具 都 是 垃圾 這樣 一種 想法 其實個 這是 我 覺得 是 怎麼講 你 仔細 想想 的 話 這是 一個 其實 當然 是 一個 不靠 譜 的 判斷 但是 很多 時候 這 就是 人 的 一個 本性 你 很 難 去 避免 這樣 一種 先入 為 主 的 判斷 所以 有 的 時候 一些 人 他 可能 不加 多 思考 就 把 这样 的 想法 说 出来 了 他 自己 可能 不在意 但是 对于 开源 软件 的 作者 来说 那 可能 是 心理 上 的 一种 打击 嗯 我 是 希望 大家 可以 尤其 是 对 开源 软件 做 技术 判断 的 时候 呢 就是 口下 积德 你 可以 比较 客观 的 去 判断 说 这个 东西 适合 我 的 用力 不 适合 我 的 用力 或者说 他 有 这样 的 就是 比较 客观 的 缺点 就是 如果 你 要说 这个 东西 是 垃圾 那 我 觉得 这个 就是 非常 这个 就 不 太 合适。
就是 大家 使用者 还是 应该 心态 上 稍微 宽容 一些, 因为 语言 上 还是 稍微 应该 礼貌 一些, 对 吧?
对。 再者, 本身 开源 项目 嘛, 并 没有 人会 逼 你 用。 你 会 去 用 一个 东西, 本身 就是说 人家 也 不收 你 钱, 你 就是说 的 难听 点, 你 在 白 嫖 嘛, 但是 你 还要 骂娘 的话, 那 就 不太好 了。
在 这个 过程 当中, 你 听到 最 鼓舞 你 的 一个 故事 是 什么?
最 鼓舞 我 的 其实 比较 典型 的 就是 我们 在线 下 会议 的 时候 最 鼓舞 人 的 这种 就是 因为 我们 会办 一些 线下 会议 在线 下 会议 来 的 一般 都 会 是 比较 喜欢 这个 项目 的 用户 然后 他们 会 当面 的 来 跟 你 说 真是 感谢 你 这个 项目 我们 之前 这个 项目 用 啥 软件 做 了 好久 不行 然后 换到 你 这个 然后 我们 现在 几个 月 就 做 出来 了 真是 感谢 你 这样 的 就是 比较 实际 的 例子 然后 是 真人真事 他 站 在 你 面前 告诉 你 的 时候 就 特别 有 真实感 因为 很多 时候 我们 做 软件 天天 都 是 在线 大家 都 是 隔空 的 这种 虚拟 的 这种 东西 而且 从 开源 软件 的 维护者 的 角度 来讲 其实 我们 的 所谓 的 信号 就是 正面 信号 跟 负面 信号 的 比例 是 非常 不 均衡 的 可能 我们 10 个 用户 里面 有 90 个人 其实 用 的 很 开心 然后 有 10 个人 遇到 了 问题 然后 这 10 个人 都 会 来 报 bug 那 在 我 这边 就 等于 说 我 可能 一天 就是 起来 我 就 只 看到 10 个 bug 我 并不知道 那 90 个人 其实 用 的 挺 好 然后 这 10 个报 bug 的 人 里面 可能 还有 一个 人 心情 特别 不好 然后 把 我 骂 了 一顿 了解 那 对 我 来说 我 的 信号 比例 就是 一个 非常 负面 的 信号 就是 大家 用 我 的 东西 不 开心 但 实际上 可能 是 反过来 的 可能 九成 的 人 是 用 的 很 开心 的 但 只有 这 一个 人 特别 的 不 开心 那 线下 的话 这个 比例 就 反过来 了 因为 会 花钱 来 参加 会议 的 人 都 是 用 的 很 开心 的 人 所以 每 一个 人 都 会 就 给 你 正面 的 反馈 所以 这个 体验 就是 完全 的 不 一样 我 自己 经历 过 这种 反差 之后 我 慢慢 也 就 意识 到 就是说 你 心态 上 的 调整 的话 还是 要 就是说 理解 到 我们 在 网络 上 接收 到 的 信息 并 不能 代表 实际 的
情况 了解 那 另外 一个 好奇 问题 是 你 在 做 这个 项目 的 时候 目前 面临 的 最大 的 挑战
是 什么 挑战 就是 当 用户 多 了 之后 不再 像 以前 可以 这么 自由 的 去 做 决定 了 不再 那么 随心所欲 了 对 不再 那么 随心所欲 了 因为 你 想 比如 刚 开始 的 时候 完全 是 个人 项目 我 想 怎么 写 怎么 写 甚至 说 我 有 的 功能 只有 我 自己 会用 我 就 随手 就 给 它 加进去 了 也 无所谓 更 极端 一点 早期 的 可能 我 一天 会 好几个 breakingchange 那 现在 完全 不 可能 了 那 现在 全球 有 一百多万 用户 你 不 可能 说 我 今天 决定 要 做 个 breakingchange 我 明天 就 把 它 给 ship 那 就 出 大事 了 那 所以 现在 甚至 是 你 想要 加 一个 比较 大 的 新 API 都 要 走 RFC 的 流程 然后 会 不可避免 的 会 有人 提出 各种各样 的 反馈 当然 事实上 也 会 确实 RFC 流程 的 价值 有时候 也 在 这里 当 你 提出 一个 新 想法 的 时候 会 有人 指出 很多 你 没想 过 的 东西 说 你 这个 东西 跟 我 之前 这样 的 使用 方式 会 有 怎么样 的 一种 这 两个 东西 组合 在 一起 会 产生 什么样 的 结果 因为 本身 软件 的 功能 也 在 变得 越来越 多 每 添加 一个 新 功能 都 可能 会 跟 以前 所有 的 功能 产生 各种 组合 起来 的 各种 edgecase 会 爆炸式 的 增长 然后 很多 时候 我们 已经 很难 就是 在 第一 时间 去 考虑 到 所有 的 edgecase 这个 时候 社区 的 反馈 很 重要 但是 另 一个 角度 来讲 就是说 让 我们 做 这些 就 等于 说 你 的 用户量 越大 你 积累 的 历史 包袱 越多 你 想要 做 革命性 的 创新性 的 改变 就 越 难 这 很 有 挑战性 的 事情 所以 其实 react 团队 在 这 一点 我 还是 很 佩服 他们 在 react 这样 的 用户量 这样 的 这种 在 facebook 的 使用 的 情况 他们 还会 不断 的 去 做 这种 比较 有 颠覆性 的 这种 新 想法 我 觉得 这个 确实 是 很 厉害 的 也 是 很 难 做 的 一件 事情 嗯 项目 越越 越大越 受欢迎 你 需要 背负 的 东西 就
越 多 就是 一定 程度 上 你 的 责任 也 就 越 大 这个 责任 意味着 你 在 做 一个 决策 的 时候 你 需要 很 慎重 需要 考量 各 方面 各 方面 的 原因
而且 有 一些 就是说 也 会 有 不停 的 会 有 新 项目 会 想要 来 挑战 你 就 比如说 一些 新 的 项目 说 我们 现在 发现 用 这个 新 的 一个 编译 策略 可以 获得 更好 的 性能 但是 从 我们 的 角度 上 来说 这个 新策略 可能 跟 我们 的 整个 的 策略 是 完全 不 兼容 的 我们 想要 确保 现有 用户 的 兼容性 的话 我们 可能 就 根本 没有 办法 用 这种 一些 新 的 这种 更 先进 的 算法 或者 是 一些 编译 的 策略 那 也 是 一些 比较 痛苦 的 东西 就是说 其实 我 已经 其实 我 发现 说 OK 其实 就是 如果 我 不 考虑 兼容性 我们 也 可以 做 这个 事情 但是 我 不能 抛弃 我们 现在 这么 多用户 不能 说 为了 这个 东西 我 把 他们 的 现在 的 这些 东西 全给 break 了 也 会 有 这样 的 包袱 存在 那 刚才
聊到 这个 开源 社区, 作为 一个 普通 的 程序员 来说, 可能 很 自然 的 问题 就是说, 我 怎么样 给 这个 社区 做 贡献, 我 怎么样 参与 到 一个 开源 项目 当中 来, 对于 这 一点 的话, 能 不能 给 程序开发 人员 有 一些 建议?
其实 参与 开源 项目 社区 并 没有 什么 既定 的 规则, 很多 时候, 就 比如说 你, 最举个 最 简单 的 例子, 大家 可能 去 GitHub 上 都 报过 bug, 你 去 GitHub 上 给 大家 开, 给 开源 项目 开 一个 issue 的 时候 呢, 最 基础 的 一些 礼仪 就是说 尊重 开源 维护者 他 给 你 定 的 一些 规则 典型 的 来说 当 你 报 一个 bug 的 时候 尽可能 把 你 的 遇到 的 问题 描述 的 清清楚楚 然后 最好 能够 提供 一个 最小化 的 重现 这 段 代码 是 可以 跑 出来 把 你 这个 bug 给 重现 出来 的 一般 就 给 他 上 会 有 一个 template 就是 你 开设 的 时候 你 会 看到 这么 一段 字 他 会 写 说 请 提供 重现 的话 最好 是 照着 做 就是 因为 我 在 维护 的 过程 中 遇到 太 多 这种 用户 他 在 报 bug 的 时候 他 因为 你 在 开发 一个 东西 的 时候 你 的 整个 的 上下文 这个 开源 维护者 是 并不知道 的 如果 你 省略 这些 上下文 的话 对方 可能 根本 都 不 知道 你 在 说 什么 我们 之前 就 遇到 太 多 这样 的 用户 他报 bug 的 时候 就 说 我 遇到 这样 一个 错误 然后 就 没有 了 我 根本 都 不 知道 他 是 怎么 遇到 这个 错误 的 也 没有 办法 去 帮 他 修复 这个 问题 还有 一个 就是 心态 上 就是说 尤其 是 在 用 开源 项目 的 时候 我 觉得 其实 只要 大家 能够 做 一个 小小的 心态 上 的 转变 整个 社区 氛围 就 会 好 很多 的 一个 地方 就是 不要 把 自己 当做 顾客 如果 你 作为 社区 成员 的 角度 去 考虑 你 是 希望 这个 项目 变得 更好 而 不是 说 哎呀 我用 了 你 的 东西 你 有 责任 帮
我 把 它 修好 这个 心态 的 转变 很 重要 是 吧 要 以 一个 主人翁 的 意识 来 为 这个 社区 添砖加瓦 而 不是 说 以 一个 抱怨 者 的 心态 去 埋怨 别人
没有 把 东西 做好 对 没错 当 你 有 这个 心态 转变 之后 接下来 你 想要 去 参与 就是 很 自然 的 你 会 觉得 说 既然 我 都 明白 这个 问题 出 在 哪里 了 我 是不是 干脆 顺手 就 帮 他 把 这个 东西 给 修 了 或者说 这个 问题 可能 只是 因为 你 的 文档 没 写 清楚 有些 人 可能 就 抱怨 说 你 怎么 不 把 文档 写 清楚 但是 反过来 想 你 干脆 就 说 我 来 帮 你 把 文档 修改 一下 这样 写 清楚 后面 的 人 就 不会 踩 坑 了 对 吧 所以 心态 一 转变 你 就 会 发现 你 可以 做 的 事情 是 不 一样 的 没错 我 其实 也 有 不少 careercoaching 的 学生 想要 找 机会 贡献 给 开源 项目 那 这方面 Avon 有没有 什么 好 的 建议 呢 建议 的话 首先 github 上面 其实 开 poolrequest 教程 都 很多 了 具体 的 技术 方面 我 就 不 多 说 了 简单 的 来说 通常 最 容易 被 merge 的 这种 firstcontribution 就是 第一次 贡献 你 可以 是 帮 他 找 一些 小 的 typo 或者说 是 文档 里面 的 typo 或者说 文档 里面 哪里 有 语句 不吞顺 你 可以 帮 他 改 一下 这些 虽然 就 是从 维护者 的 角度 来说 其实 可能 会 觉得 哇 这 是 鸡毛蒜皮 的 小 事情 对 但是 就是 如果 你 真的 是 第一次 去 做 这个 事情 这是 最最 安全 的 就是 因为 他 没有 理由 reject 你 但是 我 的 建议 是 第一个 可以 这样 做 但是 不要 就是 去 找 所有 的 项目 一个 一个 都 做 这样 的 事情 这个 更 多 的 是 让 你 避免 那种 第一个 贡献 你 就要 去 真的 改 代码 的 那种 恐惧感 你 可以 先 做 一次 这样 的 事情 试试 手当 你 走 完整 个 流程 看到 你 的 第一个 poolrequest 被 merge 进去 之后 你 会 增强 你 的 信心 说 ok 我 做 过 这样 的 事情 了 你 可以 开始 试试 真的 改 代码 改 代码 的话 我 觉得 比较 好 的 就是说 你 可以 去 一些 项目 里面 有些 项目 它会 有 一些 issue 它会 标明 说 contributionwelcome 或者说 是 goodfirstissue 很 适合 初学者 的 第一个 的 然后 甚至 可能 在 讨论 的 过程 中 大家 已经 写 清楚 了 说 这个 我们 只要 把 这里 改 一下 就 ok 了 这个 实际上 它 就 等 于是 大家 是 故意 写 在 那边 鼓励 你 去 做 第一次 这样 的 这种 代码 改动 的 这样 的 机会 是 可能 也 是 有点 可遇 不可 求 但是 你 只要 就是说 多 看 多 找会 有 这样 的 机会 的 很多 时候 也就是说 这个 过程 也 是 需要 慢慢 的 去 去 重复 这个 过程 你 可以 从 最 简单 的 做起 小 的 一点一点 的 这种 小 改动 慢慢 的 你 会 对 整个 流程 更 熟悉 了 之后 对 你 一个 特定 的 项目 更 熟悉 的 时候 你 就 会 开始 知道 说 OK 这边 会 有 这样 的 改动 还有 就是 也 是 就是说 你 不要 害怕 去 在 发 PR 的 时候 去 跟 维护者 进行 交流 不 一定 要 立刻 就 去 修改 代码 你 可以 在 一个 已有 的 一个 issue 里面 你 可以 参与 讨论 你 可以 说 这个 bug 我 尝试 着 去 复现 了 一下 然后 我 发现 是不是 这里 有 问题 你 不 一定 要 完全 去 解决 这个 问题 但是 你 可以 去 尝试 解决 然后 把 你 尝试 的 过程 中 所 发现 的 东西 跟 大家 分享 一下 有 可能 维护者 看到 之后 就 好像 真的 是 这样 然后 他 就 会 告诉 你 说 对 然后 你 把 这里 改 一下 说不定 就 可以 解决 这个 问题 了 然后 维护者 他会 给 你 一些 反馈 然后 有 交流 的 过程 也 会 给 你 更 多 的 信心 很多 时候 其实 我们 维护者 对于 会 主动 来 帮 我们 去 分析 问题 的 人 其实 是 很 感激 的 因为 我们 的 精力 其实 也 是 很 有限 每 一个 问题 如果 我们 不能 立刻 直击 要害 找到 问题所在 的话 很 有 可能 我们 就 会 把 它 搁置 在 那边 先 去 解决 一些 更 简单 的 事情 这个 时候 你 如果 通过 你 的 分析 帮 我们 把 思路 给理 得 更 清楚 一点 那 也 是 一种 贡献 所以 很多 时候 学生 如果 想要 参与 的话 就 不要 一口气 吃 成 胖子 你 可以 从 最 简单 的 这些 东西 做起 你 也 可以 说 我 不 觉得 我 可以 完全 解决 这个 问题 但是 我 可以 去 帮助 你 看看 能 不能 给 你 提供 一些 线索 对 这 也 是 很 有 帮助 的 对
那 好 那 接下来 我们 是不是 可以 聊 一下 这个 开源 软件 它 对于 整个 呃 不仅仅 是 呃 软件 行业 对于 这个 世界 它 有 什么样 的
意义 呢 这个 啊 这个 其实 比较 大 了 我 是 个人 是 觉得 呃 我 往 大 了 来说 因为 大家 也 知道 现在 的 世界 是 离开 软件 就 没有 办法 运作 了 对 吧 我们 日常 的 生活 尤其 是 在 这种 越来越 依赖 线上 交流 的 这种 情况 下 所有 的 东西 都 通过 这些 虚拟 的 软件 来 运行 甚至 是 以后 人工智能 可能 生活 的 方方面面 都 要 依靠 软件 软件 这种 东西 还是 要 靠 程序员 去 写 程序员 要 写 的话 程序员 的 生产力 从 某种程度 上 来讲 就是 我们 在 整个 人类 在 这种 数据 领域 的 生产力 的 一个 体现 我 觉得 开源 软件 的 意义 就 在于 提升 我们 整个 人类 在 数据 世界 中 的 一种 生产力 就 有点像 怎么 说 呢 把 蒸汽机 的 这个 发明 这个 设计 给 它 公开出来 才能 形成 全世界 范围 的 工业革命 那 开源 软件 也就是说 你 把 一些 重大 的 计算机 方面 的 问题 做成 了 简单 易用 的 解决方案 并且 把 它 共享 出来 就 等于 说 你 贡献 了 这块 砖头 他 贡献 了 这块 砖头 当 我们 需要 解决 一个 更 复杂 的 问题 的 时候 我们 就 直接 用 现成 的 砖头 把 基础 搭 起来 然后 再 去 攻克 更难 的 问题 那 开源 就 在于 说 我们 把 这些 砖块 都 做成 可 复用 的 了 我们 每次 造 一个 新房子 的 时候 不 需要 再 从头做起 我们 现成 的 砖头 拿 过来 先 搭 好 然后 立刻 直接 去 解决 这个 最有 价值
的 问题 那 可不可以 这么 说 把 这个 问题 可以 说 得 更 大 一点 就是说 开源 在 一定 程度 上 它 改变 了 人们 的 相互协作 的 方式 就是 它 可能 是 会 成为 未来 人们 协作 的 新 的 一个 流行 趋势 我 可以 说 未来 大家 也许 共享 的 不仅仅 是 代码 就是 不仅仅 是 计算机 代码 也 可以 是 比如说 法律 文本 也 可以 是 电影 资料 音乐 乐谱 或者说 是 人类 任何 思考 的 结晶 思想 的 结晶 这个
其实 也 很难说 有意思 就是 虽然 我 自己 做 开源 但是 我 对于 除了 软件 领域 之外 的 所谓 的 这种 开源 不是 持 一个 非常 乐观 的 态度 吧 因为 首先 人 跟 人 的 就是说 人 的 这种 本性 就是说 你 一个 太过 开放 的 系统 是 很 容易 被 人 exploit 或者说 被 人 钻空子 吧 对 被 人 利用 在 软件 领域 也 已经 有 有些 人会 利用 这些 开源 软件 比较 开放 的 这些 许可证 去 做 一些 不太 道德 的 引力 的 事情 然后 另一方面 就是说 虽然 开源 是 一个 提高 了 人类 共同 生产力 的 这样 的 一种 行为 但是 呢 它 也 存在 一个 就是说 它 毕竟 也 是 由 这些 维护者 和 开发者 的 劳动所 形成 的 一种 劳动 的 成果 那 这种 成果 某种程度 上 你 还是 得 有 一个 更 良性 的 让 这些 开源 的 开发者 能够 得到 一个 与 他们 的 付出 的 劳动 相匹配 的 回馈 你 才能 让 整个 生态 去 正面 的 继续 的 壮大 下去 所以 就 像 我 之前 提到 的 这些 各种 围绕 开源 的 各种 不同 的 商业 生态 你 会 发现 就是说 没有 一个 相匹配 的 商业模式 这个 东西 它 是 玩不转 的 从 个人 开发者 的 角度 来讲 像 我 这样 能够 靠 全职 做 开源 然后 独立 的 然后 经济 上 还 过 得 还 不错 的 这样 的 例子 其实 非常少 可能 一 两只手 就 数得 过来 我 知道 的 例子 绝大部分 的 现在 的 个人 开源 者 尤其 是 在 javascript 这 一块 你 看 npm 上 那么 多 的 这些 模块 绝大部分 的 作者 都 从 他 的 这些 劳动 里面 收不到 一分钱 这样 的 一个 情况 下 就 会 存在 很多 的 所谓 的 burnout 就是 你 维护 了 一个 很 流行 的 开源 项目 但是 你 并 没有 从中 得到 一些 正面 的 这种 回馈 然后 时间 长 了 之后 你 就 会 开始 怀疑 我 为什么 要 做 这件 事情 对 吧 虽然 一 开始 可能 是 满足 了 你 一种 就是 把 我 的 这个 技术 的 结晶 跟 大家 分享 的 这样 满足感 但是 时间 长 了 之后 没有 人 可以 说 在 不停 的 有 这种 所谓 的 压倒性 的 负面 的 信号 反馈 的 这样 的 一种 情况 下 你 还 坚持 去 一直 做 这个 事情 我 个人 是因为 我 等于 说 有 一个 比较 好 的 一个 经济模型 在 支持 了 所以 我 觉得 说 OK 这 是 我 的 工作 没有 问题 但是 如果 是 一个 完全 没有 任何 经济 回报 的 人 去 持续 做 这样 的 事情 很难 想象 他 可以 长久 的 坚持下去 所以 这个 问题 其实 在 现在 开源 的 我们 这个 圈子 里面 也 被 拿 出来 讨论 就是 怎么样 避免 现在 的 这些 个人 开发者 的 burnout 因为 已经 有 例子 了 就是 一些 比较 大 的 一些 项目 像 前端 这边 有 Babel 有 Yarn 这些 很 常见 很 大家 都 觉得 是 哇 这个 都 是 人人 都 用 的 项目 实际上 他们 的 原作者 都 已经 弃坑 了 都 交给 后面 的 人来 打理 然后 后面 的 人 可能 坐 着 坐 着 也 觉得 说 我 吃不消 了 我 不 干 了 这种 情况 下 你 没有 一个 很 好 的 机制 能够 保证 说 一定 会 有人 来 接坑 你 就 等于 说 不停 地 在 靠着 下 一个 还 处在 新鲜期 的 这样 的 一个 人 说 OK 我 觉得 这 事情 很 有意思 我来 做 但 如果 你 不能 良性 地 持续 下去 很快 这个 人 也 会 觉得 说 我 得不到 任何 正面 反馈 我 不 干 了 这 是 一个 我 不 希望 看到 的 现象 但是 事实上 它 在 发生 所以 就是说 在 共享 经济 这 一块 其实 是 有 很多 关于 我们 人类 的 incentive 是 如何 运作 的 我 觉得 这个 问题 还 没有 解决 所以 说 开源 能够 多 慢慢 的 壮大 有 今天 的 这样 的 影响力 我 觉得 是 一个 很 奇迹 的 事情 但是 这 里面 最终 不同 人 的 这种 动机 和 怎么样 能够 让 大家 的 动机 全部 良性 的 最终 共同 推动 这个 东西 我 觉得 还 没有 一个 很 明确 的 答案 所以 对于 说 这样 的 这种 模式 怎么样 去 你 说 把 它 放到 软件 之外 的 这些 智力 劳动 上 我 觉得 其实 是 一个 很 有 挑战性 的 问题
所以 总结 一下 你 刚才 说 的 就是 这个 热情 它 也 可能 会 消耗 殆尽 的, 所以 需要 找到 一个 合适 的 商业模式 去 去 和 这个 开源 这样 的 一个 事业 去 进行 很 好 的 这样 一个 结合, 才能 保持 这个 热情 会 可 持续 的 去 去 燃烧 下去, 而 不是 总有一天 被 烧 完 了, 没错, 那 最后 就 想来 问 您 一下, 你 觉得 这个 开源 软件 我们 展望 一下 未来, 你 觉得 这个 开源 软件 的 未来 会 是 什么 样子 的 呢?
我 其实 是 很 希望 能 看到 以后 开源 会 慢慢 变成 一个 就是说 任何 一个 开发者 你 只要 有 实力 有 想法 你 就 可以 靠 做 开源 养活 自己 我 是 个人 很 希望 看到 这样 的 一天 一些 比较 好 的 探索 就 比如说 githubsponsors 任何 一个 github 用户 你 都 可以 说 我 在 做 开源 你 来 赞助 我 对 我 觉得 这是 一个 好 的 开头 这个 可能 需要 一些 时间 去 慢慢 的 尤其 是 让 一些 商业化 的 公司 他们 对于 他们 使用 开源 怎么 获得 开源 的 利益 怎么 获得 价值 他们 的 思维 模式 也 需要 有 慢慢 的 去 改变 就 简单 的 例子 就 说 用 RedHatLinux 跟 用 NPM 上 的 一个包 同样 是 在 使用 开源 但是 一个 公司 他 可能 愿意 花 好多好多 钱 去 请 RedHat 的 人来 帮 他 做 一些 服务 但是 他 可能 不 愿意 为 NPM 包 的 作者 去 捐 一个月 5 块钱 他 也 不 愿意 做 这样 的 事情 根本 的 原因 还是 说 他 从 思维 模式 上 他 不 觉得 说 他 不 觉得 说 他 这个 五块 钱 跟 他 从 这个 包子 里 获得 的 价值 是 对 等 的 但 实际上 事实上 可能 他 真的 是 值 这么 多 甚至 是 这个 包 可能 帮 他 省 了 不止 一个月 五块 钱 事实上 那 怎么样 让 这个 中间 的 这种 利益 交换 变得 更 顺畅 从而 使得 就是说 我 觉得 现在 的 一个 大 的 问题 就 在于 像 redhat 是因为 他 这个 组织 足够 大 了 它 其实 做 的 本质 上 是 差不多 的 事情 但是 它 因为 组织 足够 大 它 有 足够 的 溢价 能力 它 有 足够 大 的 这种 话语权 和 这种 影响力 去 让 大 公司 觉得 付 这个 钱 值得 本质 上 那 对于 个人 开发者 来说 我们 现在 并 没有 这样 的 很 好 的 这样 的 渠道 我要 把 View 做到 有 这么 多 的 用户 才 会 让 这些 公司 觉得 有 价值 会 去 来 捐 那么 一点点 钱 那 怎么样 让 一个 开发者 只要 当 你 的 一个包 有 足够 多 的 价值 你 就 可以 获得 相应 的 经济 上 的 回报 我 觉得 谁 能 解决 这个 问题 的话 可以 把 开源
向前 推动 一大步 了解 非常感谢 今天 Evan 能够 走过 我们 的 节目 和 我们 聊一聊 开源 软件 的 方方面面 感谢 各位 的 收听 欢迎 各位 听众 在 各大 翻译 型 模块 平台 订阅 我们 的 节目 我们 这 期 节目 就 到 这里 了 我们 后会有期 拜拜 拜拜 拜拜










