rrweb 社区新的征程

English Version

距离我将 rrweb 作为开源项目发布已经有将近两年的时间了。在这两年里,作为项目的创作者和主要维护者,我也学到了很多。

2019

回顾 2019 年,代码仓库中的变更大多是在修正 observers 的实现。代码之外,我也收到许多定制化开发的需求,其中绝大部分都是用户行为分析类的应用。

由于我的日常工作(作为一名研发经理)需要投入大量的时间和精力,所以我拒绝了所有这些定制化开发的需求,并且只能在周末的时间里进行 rrweb 的开发和维护工作。

在此尤其要感谢 rrweb 的社区,他们不仅没有抱怨新功能的开发速度,反而总是在 issue/PR 里表达对项目的喜爱和我工作的认可,这给我的开源工作带来了很大的动力。

2020

时间来到 2020 年,rrweb 在这一年中有了更多新的机遇。

在这一年里,我们看到一些公司和开发者基于 rrweb 做出了非常有趣、有价值的商业化产品。对我而言最让人兴奋的是开发者们已经不仅仅将视野局限在用户行为分析类的应用中,而是把 rrweb 作为更为通用的 web 序列化工具使用。

因为疫情的到来,一些行业类的需求也变得更为显著。例如国内许多保险公司因为监管审计的要求,需要把线上销售的过程也录制存档,据我所知许多厂商都开始使用 rrweb 来实现这一需求。

我个人也在今年参加了两次 Hackathon 比赛,两个基于 rrweb 开发的作品都获得了一等奖,不仅让我比较振奋,也让更多人看到了这类 web 序列化技术所蕴含的广阔前景。

在支持这些使用场景的过程中,rrweb 也变得更健壮、功能更丰富、性能更好。

而最重要的是越来越多的开发者开始参与到 rrweb 的社区中来。其中一些非常活跃且有创造力的贡献者帮助项目更快地向前演进。同时,一些慷慨的公司也在通过赞助的形式帮助项目可持续发展。

新的征程

在接下来的日子里,我们会尝试扩大社区的影响力来为使用者们提供更好的服务。为此,我们准备了 3 项计划。

rrweb 合作伙伴

首先我们会启动 rrweb 合作伙伴(rrweb partners) 的计划,这是一个面向企业用户的方案。我们希望邀请一些有意愿基于 rrweb 进行长期开发的企业加入到合作伙伴计划中来,你们将获得:

  1. rrweb 核心团队提供的免费咨询服务。
  2. 与核心团队一起讨论未来路线图和 rrweb 的新功能优先级。
  3. 获得定期的培训。
  4. 所有 rrweb pro 计划中的内容(rrweb pro 是我稍后会介绍的第三项计划)。

参与 rrweb 合作伙伴的公司需要支付年费,用于激励核心团队和社区活跃开发者。

rrweb 联合实验室

其次,我们已经开始建立 rrweb 联合实验室。联合实验室将用于孵化一些基于 rrweb 开发的应用,以探索 rrweb 的最佳使用场景。

如果对联合实验室和合作伙伴计划之间的差异还不太明确,可以从以下的例子中进一步理解:

假设我们使用 rrweb 开发了一个协同应用,我们就需要一个健壮的网络传输层用于数据传输。如果有 IaaS 厂商能够提供这样一个健壮的网络传输层,并且与这个试验性的应用进行集成,那么它就可以成为联合实验室的一员。

联合实验室的成员无需支付年费,但需要为联合实验室中至少一个项目提供持续的技术支持。

rrweb pro

最后,我们还会提供 rrweb pro 计划。

与很多商业化项目不同,rrweb 会始终开源。我个人甚至不推荐使用者选择 rrweb pro。

在过去,我为 rrweb 写过不少详细的设计文档,因为我希望使用者们可以理解它是如何实现的。但是在近两年的维护过程中,我发现还是有两类使用者需要更多的帮助:

为此,我们准备基于 rrweb pro 计划提供一些咨询服务,并提供一些特定场景的解决方案。

目前,rrweb pro 计划中包含的内容有:

这类工作我们将按小时收取费用,并且在这些功能足够稳定和通用时将其开源。因此,如果你不是非常急需这些功能,我们仍然建议你关注并使用完全开源的版本,或者选择成为我们的合作伙伴更加深度地参与到整个流程当中。

所有这些计划仍处于早期阶段,之后将会发布进一步的细则。但是如果你现在已经对这些计划感兴趣,请随时给我的邮箱(aryu0112@gmail.com)发邮件。

结论

在过去的两年中很多事情都发生了变化,但 rrweb 的目标始终如一。我仍然希望更多的人能够通过这个项目了解到现代浏览器 API 的强大之处,并且基于此开发出更多有创造性的应用。

因此,以上所有的计划都不会对目前的 rrweb 开源社区带来任何的负面影响。并且我相信这些计划的加入能够让社区的未来有更多的可能性。