大家好,我是Kason。很多开源作者都经历过这样的过程:一个好的开源想法挽起袖子努力工作,最终获得社区对一个开源项目的认可。星星的数量是他们的动力。看不懂。。。)心灰意冷,渐渐不再维护了。今天要介绍的主角TannerLinsley是ReactTable和ReactQuery的作者。与其他开源作者在热情消退后项目逐渐被放弃不同,TannerLinsley不仅不断迭代项目,而且随着维护的项目越来越多,形成了一个项目矩阵。上面提到的ReactTable、ReactQuery,再加上其他四个项目已经合并到TanStack项目中,形成一个统一的品牌(TanStack):他是怎么做到的?这篇文章就是要说说TannerLinsley的开源之路。欢迎加入人类优质前端框架群,带来开源飞扬的福利。说到开源,大家会想到很多标签——免费、用爱发电、贡献……但实际上,如果任何一个作品没有稳定的物质利益(没错,我们说的是钱),它就是很难维持。传统上,开源作者主要依赖赞助(例如GithubSponsor)。与开源的工作量相比,赞助通常是九牛一毛。因此,开源作者很难扩大其维护项目的规模。Tanner在GithubSponsor上已经有180个赞助商,这已经很不错了。但从扩大维修工程规模来看,还不够。那么是什么让坦纳有稳定的收入,从而维持更多的项目呢?答案是:课程。TanStack矩阵中的TanStackQuery(即ReactQuery)官方课程已售出8万册。按照目前折现价156计算,这部分收入税前为1200万。虽然实际收入肯定达不到这个数字,但是百万的收入还是有的。因此,只要我们不断产出优秀的开源项目,就能获得稳定的课程收入,形成正反馈。那么,一个优秀的开源项目是如何诞生的呢?接下来说说ReactTable的发展历程。ReactTable的发展历程2015年,Tanner是一家创业公司nozzle的联合创始人。Nozzle的主要业务是:从谷歌搜索结果页面反向抓取数据,整合分析这些数据,提供给有SEO需求的广告商。这需要大量与数据可视化相关的工作。当时,nozzle的技术栈是Angular,用ag-grid来实现form。为了项目的后续发展,Tanner决定将项目整体迁移到React技术栈。但是当时React技术栈还没有优秀的表格组件,所以他决定自己实现一个。自用与开源的冲突ReactTable最初的版本完全是自用的,开源只是为了方便。ReactTable作为一个开源组件,最初的用法是这样的:
