对程序员圈子来说,Mapbox是一家专注于地图绘制的卓越软件公司。从Mapbox GL JS(他们的2D地图渲染器)到自动驾驶和导航库,再到增强现实、3D可视化,甚至视频游戏技术,Mapbox在这一领域做到非常棒,其创新成果占有巨大的市场份额。而且这些内容都是开源的,也是让众多程序员喜欢他们的原因之一。
但是昨天看到了一个让我震惊的新闻:最新版本的Mapbox GL JS将不再是开源的!!!
作为个人来说,我并非是一个完美的热衷于开源的粉丝,因为我知道,创建和维护开源代码是多么一件吃力不讨好的事情,真的是非常累人,所以我一直很尊敬那些愿意开源的程序员,并且哪怕是开源,哪怕是对方过去已经丢弃不用的想法,我都觉得自己没有权力肆意使用对方的想法和知识产物。
但是同样的,直到昨天看到那个新闻之前,我仍然对商业开源软件抱着些许的客观、浪漫、自欺欺人的想法。在我的想法中,这是一个在当下重名利的世界中,保持着那颗开源的心,一直以开源做为自己的商业模式,持续走下去的童话故事,而Mapbox就是故事的主角,
去年的时候我也写过关于Mapbox商业模式的文章,就是他即提供了一种免费开源的版本,也提供了一种收费的版本,这些收费版本当然有一些独到的免费版本没有的功能。 听起来,有点像王者荣耀中有皮肤和没皮肤的概念。
如果对开源的商业模式有进一步了解兴趣的,建议可以看下Joseph Jacks的博文,链接地址如下:https://medium.com/open-consensus/2-open-core-definition-examples-tradeoffs-e4d0c044da7c
在最初的时候,没有人相信这种模式管用,但是随后发生的一切让人大跌眼睛,像Elastic、D2iQ(以前的Mesosphere)、MongoDB和Cloudera这样的几十家公司,都通过这种过往没出现过的方式,成功赚取了数十亿美元的投资。当然和现在相比,那个时候他们开放的开源版本可是开放好多。
直到今天,看了那个新闻之后,我们不由得感慨,开源模式即将死去!
那是什么让他从一时兴旺到如今的一命呜呼呢?
云服务商!
我们先回到Mapbox的例子,在Mapbox GL JS使用的案例中,Mapbox最早的决定是,开源其基于浏览器的地图渲染器的最早的两个版本(像我们熟知的Snap-Maps、纽约时报和CNN都用过)。自2014年首次发布以来,它在web开发人员中一直非常流行。一旦你知道你在找什么,你就会开始到处看到它。
而对于我自己来说,当我的团队开始构建一个标记卫星图像的项目时,我才亲身体验了Mapbox GL JS的功能是有多么强大。使用Mapbox GL JS的功能,支持复杂几何图形的自由形式绘图,最终的成品是可以在地图上形成形状,也就是说是我的标记是被投影到地球上的一个真实位置,而不是简单的仅仅是悬浮在想象中的二维空间。这种效果让人感觉明显和直截了当,非常好用。
但事实上如果我不用Mapbox GL JS,从零开始设计就会非常非常困难。因为即使是用徒手画的简单形状也可以包含数千个单独的点。这样的话很快,我的屏幕上就会被数十万个顶点的形状填满,然后很显然,我的浏览器就会崩溃。而Mapbox GL JS是通过调用计算机上图形卡来帮助解决这个问题,如果不依靠Mapbox那几万小时的艰苦的工程工作,我们不可能在预算和时间有限的情况下完成该功能。
Image for post
而这周Mapbox决定公布一个Mapbox GL JS的新版本,这个新版本不再开源瞬间震撼到了我!不仅仅是因为之前的V1版本是一个广受欢迎的开源版本,而是因为Mapbox作为一个开源代码的代名词给予我的那种崇高的敬意。在我的看法里,如果你要描述Mapbox是一家怎么样的公司而不提到开源,就像你和一个从未喝过的人谈到巧克力牛奶时不说这是一种液体一样!
Mapbox迄今为止,仍拥有超过800个开源项目,并在Github公共存储库活动方面一直名列全球前40名。并且Mapbox一直在给世界上知名度最高的开源软件贡献者提供各种工作机会,不仅仅是地图行业。
所以说,到底突然发生了什么?
其实,一切都源头还都是因为开源不再是一个在当下这个时代能站得住脚的商业模式!
Mapbox选择保持Mapbox GL JS的V2版本的专有权而不再开源就是一个强烈的信号。虽然这信号背后到底代表着什么还不是很清楚,但是已经让我咬牙切齿。。。
在我看来,这已经意味着我们要迎接一个时代的结束,这预示着代表着开源这种商业模式的寿命的终结!
其实我的潜意识里一直有着这个想法,早在Mapbox的新闻之前,但是Mapbox的新闻是真正为我心中猜想敲上实锤的那最后一击。
为了了解即使像Mapbox这样的公司也决定从开源转变的原因,我觉得可以先看下Mongo DB和Redis Labs这两个行业同行之前已经发生过的故事。
就在两年前,知名科技博主Ben Thompson写过一份文章,文章中阐述了一份总结关于AWS(Amazon Web Services——Amazon云服务), MongoDB和开源代码的经济回报。按他的说法就是:如果你提供了你的独家代码作为开源代码,并且让它变得流行起来,那么那些云服务商必然将用这些代码来为他们自己所用,为他们制造一些竞争性的服务,就好比用你制作的武器来攻击你一般,并且他们的心中没有丝毫歉意和犹豫,他们的眼中只有利益,对于这种行为,你的律师最后只会对你说一句无能为力,因为你曾经自己将这些内容开源了!
Ben在文中提到AWS推出了一项与MongoDB和Redis的付费产品直接竞争的对手服务,但也没有完全击败对手。事实上,自从那个时候起,MongoDB的股价从那时起已经上涨了275%,Redis在几个月前刚刚筹集了1亿美元,正式跨过了10亿美元的神奇估值门槛。
但我想表述的更重要的不仅仅是Mongo和Redis在受到AWS的攻击后依旧蓬勃发展,而是他们是如何做到的?
这两家公司都以公司一贯的方式反击:一支知识产权的律师大军。
Redis采取了一种策略,在现有开源工具的更新版本中加入了一个有着严格限制性条件的commons条款,不过这让一些著名的开源代码的支持者非常不满:
鉴于此,Redis后来用了另外一种方法,申请了一个完全新颖和独特的许可证,虽然这不会比commons条款更糟,但几乎可以肯定的是也不会更好。
另一家公司MongoDB呢?它也采取了俗称poison pill(毒丸) 的法律策略,在AWS推出竞争性的服务后不久,它就为自己的软件申请了一个新的、同样是虚构的许可证Server-Side Public License (SSPL)。
这些动作都是为了对抗云服务商的一系列举措。
更准确的说,他们的开源产品对任何有规模的公司都会起到使用时是否合规这个问题。
当然,这么做的代价就是Redis和Mongo从根本上减少了开源的开放性。从结果看,他们做的很好,虽然这是以牺牲了它们最初的理想为代价的,但毕竟活着是最重要的。
但是很多开源作者觉得自己被出卖了一样,我能理解他们的感受,但是我也理解Redis或MongoDB这么做是理性的生意行为。
回到Mapbox上,至少已经有一家云服务商公开的将Mapbox的代码复制并粘贴到他们的收费服务中: Azure,微软的云服务
去年,Azure发布了由Mapbox GL JS支持的地图样式,它是Azure地图服务的一个关键特性。为此,Mapbox甚至在他们公司的博客上写了一个声明。
虽然我们可以理解为Mapbox写这个声明是件好事,但我严重怀疑这是导致了Mapbox GL JS不再开源的开始。毕竟,在竞争无比激烈的公共云世界里,一旦一个云服务商开始提供服务,其他服务商肯定很快就照猫画虎一样开始提供类似服务。Mapbox终于发现自己的处境与MongoDB和Redis是如此的相似:它们在为那些万亿美元的科技巨头免费提供研发基础!
与Mongo和Redis不同,Mapbox最终还是抵抗了一些冲动。他们没有改变产品开源部分的基本许可证,而是彻底打破了这一局面。旧版本仍然是一个成熟且非常有用的版本,将保留其原始的许可证。同时Mapbox召集社区成员无限期地维护这个版本,我希望这会有用。
而新版本将保持一定程度的公开(例如代码都发布在Github上)。但是它不再是开源那样的了。对我来说,这感觉是一个更诚实的方法,而不是试图用一个没见过的、完全未经证实的许可证或一些“看似明白”的条款来穿针引线制造一种假象。
有些人可能会觉得这是一场悲剧,因为这意味着社区捐献可能会减少。诚然,尽管贡献者名单很长,但Mapbox的现任和前任员工还是贡献了最大的份额。但是这个项目已经吸引了一个庞大的、全球性的工程师群体,他们用它来建造东西,对它进行技术讲座。毫无疑问,昨天对于那些充满创作热情的用户来说的确是一个悲伤的日子。他们会继续过下去,但肯定有一种莫名的失落感。
至于这么做是否偏离了Mapbox最初的使命或公司文化?我想这条来自一位自公司成立以来一直在公司工作的现任员工的微博很好的总结了这一点:
现实中很多事情都是很无奈的,毕竟我们要吃饭要生存下去。
很久以前我天真的以为围绕开源建立一家公司是很容易的,并且其他人都会很道德的使用这些开源的信息,但是现在我不再敢肯定这些。
我仍然相信开源是世界上一股强大的向善力量。我仍然认为,有的公司可以战略性地、认真地为开源做出贡献,不仅为自己的使命服务,也为集体利益服务。
但是,相对的,我再也不相信那些靠着风投存活下去的公司能够负责任地推行这种策略,将软件作为其价值主张的核心。我不再认为这是一个可行的模式,因为或快或慢,他们都会被他们的野心所吞噬,因为如果不这么做,他们最终只能在被自己的武器干掉和背叛最初的理念中间二选一。
昨天真是令人难过的一天。不仅仅因为Mapbox的宣布令人失望,而且就在昨天,我终于不得不向自己承认一点:
云服务商真的杀死了开源!
参考文献:https://joemorrison.medium.com/death-of-an-open-source-business-model-62bc227a7e9b
往期推荐
Java 项目权威排名:Spring生态抢镜,Gradle战胜Maven排第2,点击查看更多...
当会打王者荣耀的AI学会踢足球,一不小心拿下世界冠军!
GitHub上的开源复刻:暗黑破坏神2 !
放假看片时,一定要检查域名是不是 HTTPS ,不然……
微信年末最后一发新功能!对生活很有帮助,必须了解一下!
2021年假期怎么放?都给你安排得明明白白!
扫一扫,关注我
知晓前沿科技,领略技术魅力
加入 Spring 技术学习群
DD自研的沪牌代拍业务