开源商业化:满足各方底层需求
健康的开源项目是满足使用者、贡献者、商业公司各方「名利双收」的商业化利益。 是的,开源越来越向大众化和专业化前进。
开源已经是一种越来越清晰且可以走下去的商业模式了,大家对于“开源商业化”这个话题也已经慢慢接受了。抽象来看开源里面只有两类人,一种是开源产品/服务的使用者(消费者)更多的是企事业单位,一种是开源产品/服务的贡献者(生产者)多是代码文档等编辑维护者、社区治理与运营者。这两大参与者之间目前都有一些痛点,而且这些痛点我认为是很重要的,甚至可能会影响开源的健康发展。
使用者端,需要“物美价廉”的开源产品为其解决工作生产中的问题,降本增效。基于这样的出发点,使用者在使用一个开源产品是可能会担心在使用过程中遇到问题 Bug 我该找谁,尤其是我上线到生产环境如果出现问题呢,我可以把问题反馈到开源项目社区,但是由于各种原因社区人员不可能像企业内部员工那样快速的去解决问题,也有可能永远都没有人解决这个问题,那这样的话企业的损失可能就会很大;那企业能不能雇佣专门的人员来维护使用的开源产品呢,初步看好像可以,但是现在是“软件正在吞噬整个世界”,每个企业至少使用了不止一款开源软件,难道都要请专门的人员来维护?显然是不行。那么使用者的痛点就是“使用了开源软件可能会带来不可控的风险和高昂的成本”,需求应该是“物美价廉”的开源产品,包括可靠的售后支持与保障。
贡献者端,很久以来很多人一提到开源都会闪现出“极客”、“情怀”、“热情”及“无私奉献”等等的光环词语,确实也创造出了很多的好玩有价值的开源产品,但是随着近年来开源被更多人认识,有更多的人想去参与开源。根据Stack Overflow的调查,真正能参与到开源贡献里面的人并不多,调查显示很多的受访者表示他们将编码作为业余爱好,但是没有选择为开源项目做贡献。大致原因是「开源思想无限制,但开源贡献有很多限制,没有时间,基本免费贡献」,这样就导致很多人只是很业余的提交一些贡献,这些贡献不一定会被开源项目的维护者所采纳,随着快节奏的生活,很多人除了要高效的完成正常的工作之外,只能抽出空闲时间才做点开源贡献,而且很多开源贡献者没有从开源中获得经济收益,当然过程中真的是有“情怀”的爱好者极客会不在乎挤压自己的时间精力和没有经济回报,最起码他们这样投入之后可以在开源界收获到“名声”人脉也可以增强技术能力,然大多数人长此以往参与开发贡献的美好愿望可能会事与愿违。所以他们的痛点是“不能保证最大精力投入,长期免费产出没有经济回报”,需求是“名利双收”。
我认为开源项目中的两端痛点能否被解决,需求能否被满足,是决定一个开源项目能否长远健康发展的核心点。若不能满足使用者的需求开源产品就是个Toy,不能满足贡献者开源软件就没法向前发展。
那么如何满足双方需求呢,我认为是更好的“开源商业化”,其实之前对于开源商业化我的理解是狭隘的,我简单粗暴的认为,商业化就是让开源背后的商业公司获得商业回报,才能让开源软件走的更好,现在看来我的理解是狭隘的甚至错误。我现在认为商业化或者回报是通过专业化方式让开源软件的两端都能得到回报。
首先为了满足使用者的需求,出现了开源软件背后专业的商业公司,这些商业公司可以为使用者提供专业专业的「技术咨询」、「技术支持」、「源码解析」、「高效的 Bug 修复」、「个性化的定制开发」等等,让使用者售后无忧。当然使用者要为商业公司支付专业的服务费用,这无可厚非,根据以往经验软件用的好,服务费用基本可以忽略不计。
其次为了满足贡献者的需求,会有两种解决方案, 第一种,还是类似上面的商业公司出现,“收编”开源贡献者,让其全心全意的为开源项目做更多的贡献,商业公司满足他们的「名利双收」,比如,名,商业公司可以为贡献者提供发表、分享以及展示观点的机会与平台,使得贡献者被更多的人认识到,也会拓宽贡献者的职业范围;利,可以为贡献者支付比之前工作中相当甚至更多的薪水,还有不受限制的办公文化,Remote、不打卡等等,后不一定都会这样,在这样「名利双收」做着自己喜欢的工作,产出会更高、开源项目会更加的活跃有保障。 第二种,即使有商业公司,有些贡献者可能出于种种原因不会加入商业公司,那么怎么保障他们的「名利双收」呢?根据经验我认为,比如,名,基本和第一种差不多,除了商业公司为了宣传开源项目更好的发挥他们的商业服务,可以让更多的贡献者也参与到宣传中,贡献者自己也可以主动的为自己的“名”发声。 利,我目前推荐如下:商业公司做好商业生态,牵头做「开发者认证」,基于开源项目的特点推出商业的「Marketplace」或「AppStore」或「众包」或「分包」的单个或者组合的模式,即贡献者可以自己决定除了自己开源贡献之外的产出是否要变现,比如 Plugins、Apps 等是要免费提供给使用者,还是明码标价付费才能使用。这样如果跑顺,我认为「名利双收」也是指日可待。
通过上面可以看出目前是出现了专业的商业公司好像就能完美的解决开源项目中的双方痛点与需求了,但是我们想一想为什么要出现一个商业公司才能解决呢,从长远来看这个商业公司还有其他的什么目的或者影响吗?比如可以猜测一下,他们会不会完全控制了这套开源软件?开源软件的走向完全由其掌舵?甚至是让开源不再开源等等?我觉得可以这样思考。正是基于这样的思考,在开源软件与商业公司之间又出现「Open Source Foundation(开源基金会)」,也不一定说商业公司一定是先于开源基金会出现。开源基金会的最基本的属性是“中立”,职能之一是通过法律等手段让开源项目不受某个商业公司的控制,让使用者和贡献者可以放心的参与,不要担心自己的利益受损失。关于开源基金会内容很多这里不详述了,可以参考其他的资料,我认为如果有的开源项目能长久很好的解决上面问题开源基金会不是必须要有的。
目前基本上通过「使用者」+「参与者(开源贡献者、商业公司、开源基金会)」+ 类似与“开发者社区专委会” 就能帮助开源项目以及开源文化向前进。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JVM学习第二篇思考:一个Java代码是怎么运行起来的-下篇
JVM学习第二篇思考:一个Java代码是怎么运行起来的-下篇 在上一篇《JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇》中咱们知道类一个Java类的生命周期需要经历以下七个阶段:类加载、验证、准备、解析、初始化、使用、卸载。同时,我们对每个阶段都做了简单介绍。于是我们就得到了如下的: 编辑 今日目标: jvm在什么时候会去加载一个类? 类加载器和双亲委派机制是什么? 上一篇问题思路解析 jvm在什么时候会去加载一个类? 我们既然知道了一个Java类的生命周期。那么一个类在什么时候被加载呢?类加载的时机是什么?什么是主动引用?什么是被动引用呢? 在Java的虚拟机规范中,没有对加载阶段作出明确约束。但是在初始化阶段,Java虚拟机严格规定了有且只有在以下几种情况下,类必须立即进行初始化的(注意初始化阶段在类生命周期中哪个阶段) 1.1:使用new关键字实例化对象的时候 当我们使用new关键字来创建(实例化)对象的时候,读取和设置类的静态的变量(static int = 1;)、静态非字面值常量(静态字面值常量除外。如:static Person )的时候,调用静态方法的时候...
- 下一篇
cachego v0.2.3-alpha 发布,轻量级内存缓存
cachego v0.2.3-alpha 已经发布,一个轻量级内存缓存。 此版本更新内容包括: 2021-07-01: 祝贺成立一百周年! 新增 AutoSet 方法定时加载数据到缓存,以实现超高热点数据不穿透到数据库的极速访问 AutoGc 方法退出时会调用 Ticker.Stop 终止计时器,防止泄露 详情查看:https://gitee.com/FishGoddess/cachego/releases/v0.2.3-alpha
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题