前言
其实很早以前,我就想写一篇文章,聊聊我之前的开源历程,我不是什么大牛,只是github上千万项目中一名普通owner,但是我热爱开源,热爱分享,热爱编程,正因为如此,我打算借着teamlinker开源之际,从一名普通开源从业者的角度和大家聊聊我开源生涯中的种种过往,对自己对别人也算是一种借鉴和启发吧。
我不是计算机科班出身,只是秉持着从小对编程的热爱,通过自学走上了软件开发的道路,这一路上有风雨有彩虹,受到过质疑,但也受到过更多的鼓励和支持,也正因为如此,我格外能感受到所谓的自我学习和提升是一件多么不容易的事情,所以当我接触到开源的时候,自然而然的就有种说不出的亲切感,看着那些工整的源码,就仿佛像一个老师,循循善诱的给我们讲解着它的结构和功能,只要你愿意探索,就可以在其中发现无穷的乐趣。
从开源走向创业
还记得在2016年的时候,我当时在一家软件公司担任技术总监的职务,其中遇到的一个令人头疼的问题就是前后端总是为接口文档的同步问题争执不下,我当时就想如何有一个产品可以管理并且自动的同步接口文档,让前后端都有一个唯一的参照物的话,这个问题就可以得到很大的缓解,在网上找了一遍后并没有发现满意的产品,于是我决定自力更生,利用业余时间,完成了这个接口文档管理软件的开发,取名为:DOClever(老粉应该还记得这个产品一开始的名字叫SBDoc ~)。
其实在一开始的时候,我并没有想太多,当时只是试探性的放到github上,并且给我的一些朋友试用,却出乎意料的大受好评。看见大家的积极的反馈以及github上star数目的与日俱增,我获得了作为程序员生涯以来第一次无与伦比的满足感。真正感受到原来开源是一件这么美妙的事情。
随着DOClever业务的加剧以及用户的扩大,在2017年的时候,我决定将DOClever做大做强,找了一些朋友,我们决定出来创业,当时也正值创业风口,我们的这个项目也很快受到了不少关注。我们当时主要的宣传窗口就是开源中国,在这里我们认识了很多志同道合的朋友,也得到了编辑们对我们项目的各种肯定与支持,在此我还是要好好感谢下开源中国,感谢你们对中国开源事业所做的贡献。
商业化的探索与反思
创业后很快我面临的便是广大开源软件共同遇到的一个问题:盈利。当时我试过很多方案,比如开源版本与收费版本分开,打造收费插件,产品免费服务收费等,但最后都发现很难真正落地,而我当时的想法也很单纯,觉得只要产品好,用户爱用就一定会有办法挣钱,所以我当时的精力全部扎进了产品研发中,开发了接口自动化测试模块,还大胆做出了一个决定:利用electron打造了桌面端,在当时的竞品中,敢做桌面端的我们算是第一个了,桌面端出来后用户的反馈很好,但是我们还是陷入无法盈利的恶性循环。也就是说你的产品不错,大家爱用,给你捐点小钱也ok,但是一旦触及商业化,那么对不起在下告辞了~
后来我们也接过一些企业的定制化服务,周期长,任务重,有的甚至要驻点,但是为了团队的发展我们又不得不做,我内心知道这个不是长久之计,也实在不想把我们做成一个外包公司,我更希望大家能认可我们统一化的产品,如果你有什么需求,可以给我们一点时间,我们可以把它打造成模块化的功能。但是往往甲方爸爸告诉我:不行,你需要专门为我定制一个VVVVVVIP至尊特供版。
其实我事后有认真反思过商业化的问题,觉得主要有两点,接口管理平台本身市场就那么大,竞品也不少,而且软件的门槛也低,我之所以能脱颖而出无非是我免费开源,功能也不差,但用户不是非我不可,很多用户都是因为postman的协作功能需要收费而转向了我们,这些人的需求也很明确,就是要用免费的。第二点就是对于稍微大一点公司,他们内部都有自己的api接口管理,不会轻易的去使用外面的平台,就算去使用,也会对你原来的平台改的面目全非,有点公司良心点的还会请你去做个宣讲啥的,感谢你下。有的就直接copy你的代码把它变成他们内部开发的一个平台,这对于我们开源创业者可谓是竹篮打水一场空。
创业失败
在2018年年中的时候,我向现实做出了屈服,我解散了我们团队,我也去了一家大厂面试。我记得当时那个面试官问我做过哪些项目的时候,我把我的github给他看了下,他满意的笑了笑,于是我很快就被录取了。DOClever自此也停止了更新,我把精力都投入了新的工作中,日子就这样一天天波澜不惊的过去,直到有一天群里的一个小伙伴给我发了一个链接,我点进去一看直接无语了,也是一个接口管理平台,但是里面的功能,业务逻辑甚至页面的布局和按钮的摆放都和DOClever一摸一样,霎那间我明白我们被抄袭了。可是我又能做些什么呢,DOClever很久没有更新了,我当时的公司也注销了,软件著作权也失效了,我能做的就是祝福他们做的比我更好吧!
时光荏苒,如今,我也从那个大厂离开了,庆幸的是我在此期间积累了一些资本,至少可以做几年自己想做的事情,回顾过往,你问我开源后悔嘛,我不后悔,却又五味杂陈,因为开源我可以让更多人认识我,了解我,实现自我价值,也能找到满意的工作,五味杂陈是因为开源只是一个商业化的手段,不是目的,开源不光是源码的公开,更是一种价值的传递,内心的坚持,精神的坦诚,它对于创业者的要求更高,而我还远远不够。
感悟
我个人认为,开源创业需要满足两个条件:
1.你的产品所在市场潜力够大,而你的产品的业务和功能又有一定的不可替代性。
2.必须要有一套清晰的盈利模式,哪些东西可以通过开源来吸引流量,哪些东西是你的压箱底的宝贝,真正能让用户掏钱买单,这些我们自己是必须清楚的。很多人会吐槽国内的开源氛围太差,全是伸手党,你辛辛苦苦写的东西,别人给你一包装就是他自己的了。其实很多时候我们自己又何尝不是呢,我们的产品几乎没有哪个不用开源框架或者开源库的,但是不代表我们不尊重开源,国外的很多商用软件都会把用到的开源包列举出来一一感谢,这就是一个很好的例子,国内最近关于开源协议的几起民事诉讼的胜诉我相信也将成为一个很好的典范。
新的征程
回到我现在在做的事情Teamlinker,这是一个基于人工智能的团队协作平台,融入了项目管理,视频会议,文件共享等功能,可以最大程度的让团队成员协同办公。很多人劝我teamlinker不要开源,但是我觉得作为一个技术从业者,我的骨子里有一种自由分享的精神,我也非常期望能和别人的交流来让我的产品变得更好,我想再试一试,失败并不可怕,可怕是在同样的地方跌倒却再也不敢站起来了~
开源,想说爱你不容易,但是我却甘之如饴。
后记:欢迎大家给我们的teamlinker提出一点建议和批评,如果能有一点小小的鼓励那就更好啦。