个人开源项目商业化经验分享

大家好!我是一名前端开源项目的作者。今年五一假期过后,我辞去了北京的工作,当下正全身心投入到开源图片编辑器项目和商业产品的全职迭代中。

起初,我一边承接图片编辑器的定制开发工作,一边完善产品。随着产品日渐成熟,其价格与我的收入也在逐步提升。作为有幸将个人开源项目推向商业化道路的开发者,将自的经历分享出来,与诸位一同交流。

开源图片编辑器

阶段一:兴趣使然

我主导过低代码平台、同屏互动、外呼系统的开发,这些都属于复杂度较高的前端项目。我一直对架构和开源颇感兴趣,也一直在学习和积累设计模式、架构设计、开源相关的经验。虽然一直对开源有着强烈的兴趣,但从未参与过

我帮朋友实现了一个图片生成工具,在对开源的强烈兴趣驱动下发起了这个开源项目,将核心功能抽离并开源到了 Github 上,投稿到了阮一峰老师的博客,获得了一些关注,体验到开源的新鲜感。

这使我理解到,曾经觉得遥不可及的开源项目,只要具备执行力,积极行动起来,其实也并非那么难以企及

vue3图片编辑

阶段二:初尝开源成就

我将自己的开发过程整理成文章发表在各大技术社区,没想到项目反响很不错。很多开发者都在做类似的项目。

vue图片编辑器

在和众多的开发者交流后,发现大家都在做同一件事情:开发图片编辑器;对于大多数开发者来说,大家更期望的是在不做太多基础工作的情况下,快速构建一个功能完整的图片编辑器,并且拥有良好的扩展性。

于是我对项目进行了较大的重构,除了丰富更多功能外,还增加了插件化的机制,让编辑器可以通过插件的方式进行扩展开发,对开发者来说更加便捷。

开源是很有魅力的一件事情。我在 Github 上结识了很多志同道合的贡献者,他们是一个个富有热情且有执行力的有趣灵魂,是他们在深夜付出自己的时间与热爱为项目贡献代码,让不相识的后来人受益,让项目越来越好。我也从一个开源门外汉,和大家一起变成了开源参与人

开源vue图片编辑器

在实践开源以及进行技术社区写作的进程中,我深刻领会了利他思维。唯有产出对他人有用的内容或产品,方能获得更多的关注

阶段三:收集需求

随着开源项目的应用日益增多,关注该项目的人也在逐步递增。于是,我组建了开源项目交流群,与每一位入群的开发者进行交流,询问其正在从事什么样的项目、有哪些需求以及项目的应用场景是什么。而后,依据利他的思维,将大部分开发者的需求逐步丰富到开源项目之中,同时开启了后端功能的开发,项目也越来越趋近于一个完整的商业产品。

开源在线PS源码

众多开发者询问能否购买整套源码,基于现有版本开发,以避免重复造轮子,并且提出了一些定制功能的要求。由此,我踏上了付费定制开发的道路,积累了诸如电商场景、商品定制场景等更多应用场景的经验。这些经验和知识在我后续提供商业解决方案时起到了极其重要的作用

开源海报编辑

与公司稳定的月薪相较,开源所带来的收入简直微乎其微。每当目睹群里有人抱怨开发设计工具,为了一个复杂的功能而痛苦、无助地在群里询问求助时,我便思考:大家都在做重复的事,为何不单独做出一个产品?倘若我们提供通用产品,便能节省大量重复的劳动,对于整个社会而言,这就是在提高效率。正因如此,在今年的五一劳动节,我毅然决然地离职,投身于在线设计工具的解决方案之中。

阶段四:用商业化产品提供价值

研发团队和开发者期望的是:能够快速接入一款好用的设计工具以满足业务需求,而非把大量的时间与精力投入到设计工具的研发当中而无法脱身

倘若研发团队要独立开发一款好用的设计工具,至少需要投入 2 名经验丰富的研发人员 2 个月以上的时间。在实际应用中,还会有更多的基础功能需要开发,而且还要进行对比调研、学习图片编辑器的相关知识,偶尔还会遇到卡点问题,这些都会消耗更多的时间和精力。

我深切地感受到,我们积累的行业经验极其宝贵,而其中最为关键的是,我们能通过产品和解决方案为研发团队节省大量时间和人力投入。正因如此,我们更有决心扎根在这个领域,持续创造更多价值。

开源图片编辑器

总结:

回顾我的开源商业化之旅,兴趣是最初的动力源泉。怀着利他思维,凭借技术文章和开源项目赢得了更多关注。在与更多开发者接触后,我看到大家都在劳神费力地重复造轮子,故而下定决心提供解决方案,使企业、开发者受益,我们从中获取些许辛苦费,让项目更健康可持续,坚定把这件事情做下去

以上就是我的开源故事,仅供参考,期待与大家一起交流。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

Elasticsearch和Kibana变更开源许可协议;Facebook利用AI增强为视障人士描述照片能力

\_开发者社区技术周刊\_又和大家见面了,快来看看这周有哪些值得我们开发者关注的重要新闻吧。!(https://static001.geekbang.org/infoq/0e/0ef0749d6a02848951b542a9d8828656.webp)京东科技主导的开源项目ShardingSphere荣登国人主导开源项目活跃度第五

FLV文件格式

1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  

mysql设置时区

mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0