我在Azavea工作,但这是我的个人博客。这里写的是我的个人观点,仅此而已。亚达,亚达,亚达。
昨天有消息称,新版本的Mapbox GL JS将是专有软件。¹
我不是狂热者。即使别人过去曾放弃过自己的想法,我也没有获得他人知识产权的权利。我从经验中知道创建和维护开源软件的工作是多么的疲惫,无助和剥削。
直到昨天,我仍然对开源软件业务抱有几丝浪漫的乐观情绪。 Mapbox是我无数次告诉自己和其他人的故事的主角。这是一个诱人的故事,涉及软件公司“开放核心”业务模型的令人难以置信的,违反直觉的概念。我去年写的一篇文章中没有人读过,因此我定义了开放核心策略:²
“开放核心”企业提供其软件的免费,开放源版本和具有附加专有功能的付费版本,这将很难复制[…]
为了对我遇到的“开放式核心”业务模型的概念进行最佳的深入分析,我强烈建议阅读Joseph Jacks的博客文章“开放式核心—定义,示例和内容”。权衡。
整个想法很疯狂。没有人相信,当他们第一次了解它的时候可能就行得通,但是像Elastic,D2iQ(以前称为Mesosphere),MongoDB和Cloudera这样的数十家公司都通过追求这种疯狂的,颠覆性的反向投资而成功实现了数十亿美元的估值。心理,全力以赴的策略。或者,至少在某些时候,它们是开放式核心业务……今天可能还不那么多。以后再说。
今天,我们聚集在互联网上,哀悼开放核心业务模式的消亡。我们在这里讲述以前的故事,让我们想起我们以前的聪明。我们违反了共识,这是错误的。因为,开放核心已死。
就Mapbox GL JS而言,Mapbox先前已决定公开许可其基于浏览器的地图渲染器的前两个版本(为Snap Maps,《纽约时报》和CNN等提供支持的同一个版本)。自2014年首次发布以来,它在网络开发人员中已广受欢迎。一旦知道要查找的内容,便可以在任何地方看到它。
当我在Azavea的团队开始构建用于标记卫星图像的工具GroundWork时,我亲自体验了Mapbox GL JS的强大功能。使用该库中的功能,GroundWork支持复杂几何形状的自由图形。由此产生的形状是制图的-它们被投影到地球上的真实位置,而不仅仅是悬浮在虚构的2D空间中。这种功能显而易见,但实际上很难从头开始设计。
即使使用徒手绘制的技术绘制的简单形状也可以包含成千上万个单独的顶点。很快,您就在屏幕上充满了价值成千上万个形状的顶点,……哦,便便和一半。³您的浏览器崩溃了。
Mapbox GL JS通过从计算机上的图形卡中寻求帮助来帮助解决该问题。如果没有在Mapbox数万小时的艰苦,低级的工程工作中piggy带,我们将无法在预算和时间限制内构建该功能。
Mapbox本周决定发布全新版本的Mapbox GL JS,并保留其专有权令我震惊。 v1不仅已经是一个广受欢迎的开源库,而且Mapbox作为开源软件多产的创造者的声誉是其整体形象的基石。在不提及“开源”的情况下描述使Mapbox与众不同的原因就像试图在不使用“液体”一词的情况下向外星人描述巧克力牛奶。
Mapbox仍然拥有800多个开放源代码项目,就Github在公共存储库上的活动而言,它一直名列全球前40名组织。他们雇用(并且以前雇用过)世界上一些知名度最高的开源软件贡献者,而不仅仅是制图业。
Mapbox选择保留第2版的Mapbox GL JS专有权是一个有力的信号。但是信号确切指示的是……不清楚。但是,我会咬。⁴
我认为这意味着我们已经走到了时代的尽头。我认为这预示着“开放核心”作为可行的商业模式的消亡。我的怀疑不是从Mapbox开始的,而是以他们为结论。
为了了解像Mapbox这样的公司如何决定对其最流行的开源库之一发布专有更新,我认为这有助于研究Mongo DB和Redis Labs这两种精神的警示故事。
本汤普森(Ben Thompson)在大约两年前的一篇文章《 AWS,MongoDB和开放源代码的经济现实》中写了精彩的摘要。总结一下他的总结:如果您免费提供秘密的调味料,并且这种调味料足够受欢迎,云提供商将不可避免地使用您自己的代码为您提供竞争性服务。他们会毫不留情地用自己喜欢的橡皮鸡无情地鞭打您。他们将在您的前院倾倒垃圾,而您的律师则站在您耳边低语,“什么也做不了。”
自从Ben撰写了AWS发布与MongoDB和Redis的付费产品直接竞争的服务以来,AWS并未完全压制竞争……事实上,MongoDB的股价自那时以来已经上涨了275%以上,Redis刚刚筹集了1亿美元以正式跨过几个月前魔术$ 1B的估值门槛。
更大的故事不仅是Mongo和Redis因应AWS的失败而蓬勃发展,而是他们如何做到这一点。两家公司都以公司始终反击的方式进行了反击:与一群知识产权律师一起。 Redis采取了一种在其现有开放源代码工具的更新版本中添加严格限制的“常见条款”的策略,促使一些著名的开放源代码评论员感到他们把婴儿扔进了洗澡水:
Redis后来转而使用了一种全新的,特质的许可证,这不会比commons条款的惨败更糟,但几乎可以肯定,它并没有更好。在AWS推出具有竞争力的“ DocumentDB”服务后不久,MongoDB还采取了“毒丸”法律策略,将其软件转换为新的,同样组成的许可证,即“服务器端公共许可证(SSPL)”。在这两种情况下,这些举措都是专门针对使公有云提供商更难将其束之高阁。⁵
也许更准确地说,他们使开源产品对任何规模足以拥有一个名为“合规”部门的公司都具有放射性。
这些变化使Redis和Mongo从根本上不那么开放。自那以来,两家公司的表现相当不错,尽管也许是以牺牲其最初的理想和早期采用者的一些善意为代价的。开源的福音传播者和贡献者社区认为,他们被骗了,被当作垫脚石。我倾向于同意他们的观点,尽管我并不认为Redis或Mongo是理性的经济参与者。
至少有一个云提供商已将复制和粘贴的Mapbox代码公开并粘贴到他们要收费的服务中:Microsoft的云服务Azure。去年,Azure宣布了由Mapbox GL JS支持的地图样式,它仍然是其“ Azure Maps”服务的关键功能。 Mapbox甚至在其公司博客上发布了有关此消息的公告。
虽然Mapbox宣布Azure宣布是一件好事,但我怀疑这是Mapbox GL JS保持开源的末日的开始。毕竟,在公共云计算竞争激烈的世界中,一旦一个云提供商开始提供服务,其余的肯定很快就会接follow而至。 Mapbox发现自己的位置与Mongo和Redis类似:他们为少数几万亿美元的科技巨头提供研发资助。
与Mongo和Redis不同,Mapbox抵制了尝试吃蛋糕和吃蛋糕的冲动。他们没有改变其产品“开放”部分的基本许可,而是做出了明确的选择。旧版本仍然是一个成熟且非常有用的库,它将保留其原始的许可许可证。我们已经在努力分叉它,并召集社区成员无限期维护它,我希望它能够成功。
新版本将保持公开状态(所有代码均在此处发布在Github上)。只是不再被许可。对我来说,这比通过创造性的,完全未经验证的许可证或某些“陷阱”条款来针刺自己,这是一种更诚实的方法。⁶
有人可能会认为这是一场悲剧,因为这意味着社区贡献可能会下降。的确,尽管贡献者人数众多,但Mapbox的现任和前任员工仍贡献了图书馆最大的投资份额。但是该项目吸引了庞大的全球工程师社区,他们用它来构建事物,进行技术交流并无数次地进行分叉/重新混合。昨天对于那些热心的用户来说是一个悲伤的日子,毫无疑问。它们可以生存,但我不能怪他们感到失落。
关于此选择是否偏离了Mapbox的使命或文化的问题,我认为这是来自自公司成立以来一直在公司工作的现任员工的推文,总结如下:
曾几何时,我真的以为您可以放弃您的商业秘密并仍然成功。我以为互联网的规模使一种新的公司类型变得蓬勃发展,尽管它只获得了他们创造的价值的很小一部分。我相信围绕开源软件建立公司的行为是道德和道德的。我将其视为目的。
我仍然相信开源软件是造福世界的强大力量。我仍然认为,公司可以战略性地,认真地为开源软件做出贡献,以服务于自己的使命和集体利益。
但是,我不再相信由风险投资支持的公司可以负责任地奉行以软件作为其价值主张核心的策略。我不再认为这对于有志于发展壮大的公司或积极避免咨询工作的公司是可行的。最终,如果他们成功了,他们将被迫在背叛忠实的早期采用者和死于橡胶鸡大屠杀的长而缓慢的死亡之间做出选择。
昨天确实是令人难过的一天。但这不是因为Mapbox做错了什么或令人失望。因为昨天,我终于对自己承认: