如果你是一名前端工程师,那么你一定对 fullPage.js 这个开源项目不会感到陌生。这是前端社区中非常著名的 JavaScript 组件,能快速给网站加上全屏幻灯片的展示效果。
https://github.com/alvarotrigo/fullpage.js
不久前,国外一家专注于报道独立开发者的媒体 Indie Hackers 对 fullPage.js 的作者进行了专访。在本次专访中,作者透露,目前 fullPage.js 能给他带来每个月 15000 美元的收入,换算成当前人民币汇率,便是 10 万多块钱。
一个开源项目,竟能给开发者带来如此丰富的收入,作者是如何做到的呢?
我怀着好奇心,将整篇专访文章从头到尾看了一遍。
看完后我觉得,文章里面提到的一些建议,对开发者来说还是挺有帮助的。因此我决定,对这篇文章做下整理与翻译,把作者通过开源项目获利的整个过程分享给大家看看。希望各位在看完这篇文章后能有所启发。
下面进入正文。
作者是何许人也?
作者叫 Alvaro Trigo,来自英国,是一名前端开发者,现在英国区 JavaScript 开发者榜上排名第 5,世界排名 84(来自 git-awards 统计)。几年前由于其开源了 JavaScript 组件 fullPage.js 而受到业界广泛关注。
目前该项目累积 GitHub Star 27000+,被 Google、eBay、麦当劳、可口可乐等多家国际大企采用。
fullPage.js 的诞生过程早期作者要做拥有一个全屏幻灯片效果的网站,但是在网上搜索一番后,发现找不到相关代码示例,于是便打算自己动手实现。
没多久,网站完成了,作者又将这个功能从网站中抽离出来,做成了 jQuery 插件,以方便其他开发者集成使用。
极具戏剧性的是,在他推出这个插件没多久之前,Apple 发布了 iPhone 5C 的展示网站,这个网站上面的交互与 fullPage.js 的交互非常相似。
尽管作者说这一切只是巧合,但不可否认的是,许多人通过 Apple 的网站交互而间接了解到 fullPage.js(我便是其中一员🤓)。
当他将 jQuery 插件抽离出来之后,又将这份代码发布到了 GitHub,并简单做了下推广宣传。一周后,这个插件便在 GitHub 上累积数百个 Star,同时有许多开发者开始接入使用,并提交多个 issue,以帮助作者改进项目。
随着代码的迭代更新,插件功能也愈加完善,起初的 jQuery 插件也被重构成独立的 JavaScript 组件,并支持 Vue.js, React.js 和 Anugular 框架扩展,目前 WordPress 插件也已制作完成。
值得一提的是,项目开源的前 3 年, 作者没有收取过一份钱。因为他觉得,当看到别人在使用他所创造出来的产品时,那种感觉不是钱所能衡量的,这也是作者更新项目的动力所在。
作为一个创作者,做出来的产品被人认可,这是对他最大的肯定。
fullPage.js 的增长过程
项目发布出来后,作者并不是守株待兔式的蹲在电脑前,干等着项目被人发现、挖掘,而是做了以下一系列宣传营销工作,向其他人传达这个项目的存在:
为项目创建了 Demo 展示页;
写了博客文章,讲解技术原理;
给各大 Web 社区站点发邮件推广产品;
将项目提交给某些 Web 资源集合站点;
在 Stack Overflow 回答问题,顺带推广产品;
GitHub Trending 的借势传播;
在 YouTube 上发布指导视频;
参加各类技术媒体的节目专访;
Google 和 Facebook 广告投放(效果不好)。
完成这些工作后,作者仍不满足于现状,会不定时到 Google 上搜索自己的产品,看看是否还有其它地方可以为项目带来新用户。
由于这个项目在 GitHub 上的知名度非常高,因此也受到了 Google 搜索的眷顾,当用户在搜索全屏幻灯片的时候,这个项目往往能拿到较高排名权重。
fullPage.js 如何开展商业化运作?
一开始,作者主要是通过插件定制开发来收费的,后面随着上门询问的人越来越多,导致浪费在沟通上面的时间过多,作者便把一些定制功能打包放在网站上,让其他人可以直接购买使用。
后面,随着产品功能趋于完善,稳定性也越来越高,作者便直接在网站上卖授权。
目前,这个项目主要通过以下几方面给作者带来收入:
扩展销售(Gumroad 平台);
授权销售;
WordPress 主题的 Affiliate 分销提成(佣金 40%)。
在过去几个月,以上渠道平均每个月能给作者带来 15000 美元左右的收入:
从上图可以看到,大概在 2018 年的时候,收入翻了一倍,那是因为作者将项目从免费模式切换到授权模式(GPLv3 依旧免费)。
虽然目前收入颇丰,但他还是留有点小遗憾,即没有从一开始就创建 WordPress 插件,因为 WordPress 上面的市场也非常大。
而平时项目的支出,则主要包括服务器托管、网络代理、税务助理、通信、广告、社会保障税等费用。
"产品最好在一开始就考虑未来的收费问题,早期为了快速获取用户以及避免竞争对手的打压,可以先免费提供产品的使用,等市场占有率足够高,在业界建立下不错的口碑后,再开始正式收费",这是作者给出的另一建议。
如何给产品制定一个合理的定价套餐,这也是一门学问,在此作者推荐大家阅读 Stripe 的这篇文章来获取灵感:
https://stripe.com/atlas/guides/saas-pricing
未来计划
作者希望,在项目收入方面,能在今年年底前达到 $20K/月。
为了达到这个目标,他需要做好以下几件事:
给产品添加新扩展;
售卖基于产品的 HTML 模板;
给产品添加编辑器;
通过某种方式实现订阅付费,让未来有稳定收入;
尝试一些新项目/产品(脑中已有初步想法)。
在产品方面,需要避免陷入过于繁琐的工作,应该多思考产品的创新及增长(Patrick Bet-David 演讲视频中也有所提及:https://www.youtube.com/watch?v=2jG6lJLcToA)。
在个人方面,享受生活,不要让工作成为负担,不要为了过分追求收入而浪费自己休闲的时间。
给独立开发者的一些建议
无论是从技术、产品还是营销方面,fullPage.js 作者都做得非常出色,这也是优秀的独立开发者需要掌握的基本技能之一。
如何成为一名优秀的独立开发者,作者给出了以下几点建议:
做一些你喜欢做的东西;
快速构建好产品,并及早放到市场上验证(精益创业);
不要在技术上浪费太多时间,定好发布日期便执行;
不懂技术也可以打造一款好产品;
如果你打算开始单干,记得打造好你的个人品牌;
亲自为客户提供邮件支持,至少在一开始时要这么做;
顾客至上;
仔细思考并设定合理的目标,先实现产品再谈其他。
写在最后
近几年,越来越多的程序员选择成为独立开发者,他们都希望自己能像 fullPage.js 的作者一样,构建出一款真正解决他人特定需求的产品,为自己带来更多被动收入,进而达成财务自由的目标。
Vue.js 作者尤小右也曾在微博上说过:"被动收入是最能带来自由的东西,这个时代的程序员其实在创造被动收入上有天然优势"。
但是,独立开发者这条路对开发者的要求还是比较高的,在你早期无法找到团队或搭档的时候,就需要你身兼数职,技术、设计、产品、营销等工作一样不落,非常考虑人的学习能力与自控力。
如果你不满足于现有的工作状况,那么最好从今天起开始做好规划,为将来成为独立开发者提前做好准备。这样在机会到来的时候,你才有把握抓住他。
今后,我会在公众号上分享一些除技术之外的东西,希望能对你学习其他技能有所帮助。
以上,便是今天的分享,本次翻译整理比较耗时费力,如果觉得内容尚可,还请点个「在看」支持,谢谢各位。