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