本文探讨了开发者工具领域的商业化困境,以VS Code和Obsidian为例,尽管部分开源工具存在,但商业许可和闭源模式对于企业和个人用户带来了一系列限制和挑战。文章分析了开源与闭源之间的技术排他性、格式通用性以及开发者与托管方利益之间的冲突,揭示了科技巨头在技术层面构建的垄断竞争格局。
工作为了检查软件正版化,逐一查看了常用软件的许可证,其中发现VS code采用双重许可证,源代码开源但二进制文件是闭源和专有的,Obsidian不开源且商业收费高昂,对个人用户免费是科技巨头长期的产品营销策略,培养用户和开发者习惯,在商业许可证上收取高昂费用。
在微软用户许可条款中,Visual Studio Community限制了企业商用:
如果您是企业,则您的员工和承包商不得使用该软件开发或测试您的应用程序,但以下应用程序/情况除外:(i) 开放源代码;(ii) Visual Studio 扩展;(iii) 适用于 Windows 操作系统的设备驱动程序;以及 (iv) 用于上文中允许的教育目的。“企业”是指总计拥有 (a) 超过 250 台电脑或 250 位用户或者年收入超过 100 万美元(或等额其他货币)的任何组织及其关联公司;“关联公司”是指控制(通过拥有多数所有权)某一组织或者被某一组织控制抑或与某一组织处于同一控制之下的那些实体。
而VS code Code的源代码托管在Github,用的MIT license,不论对个人还是企业,都可免费使用和分发,数字广电开发的“CEC-IDE”软件对VS code进行二次修改分发,只要在其发行版中包含原许可协议的声明,也是合规的,但是VS code的二进制可执行文件并不用一样的license,是用专有license,可免费使用却不开源,所以是无法通过编译源代码获得一样的软件版本,而“CEC-IDE”套壳二进制文件,是存在被微软起诉的风险。
那么回头看Microsoft软件许可条款添加了什么专有功能:
数据收集。 该软件可能收集有关您和您对该软件的使用的信息,并将其发送给 Microsoft 。Microsoft 可能使用此信息提供服务和改进我们的产品和服务。您可以选择停用其中许多的方案,但不能全部停用,该软件中的某些功能还可能会允许您和 Microsoft 从您的应用程序用户处收集数据。如果您使用这些功能,则必须遵守适用的法律,包括向您的应用程序的用户提供相应通知以及 Microsoft 隐私声明副本...一旦使用该软件,即表示您同意这些做法。 个人数据的处理。 当微软是与该软件相关的个人数据处理方或子处理方时,微软会于在线服务条款中就欧盟《通用数据保护条例》向所有客户做出承诺,此项承诺自 2018 年 5 月 25 日起生效。
出口限制。 您必须遵守适用于该软件的所有国内和国际出口法律和法规,其中包括对目的地、最终用户和最终用途的各种限制。
出口限制是根据 Export Administration Regulations (EAR)的约束以及美国商务部的约束,明确规定:
未经美国政府许可,一方不得将软件或服务转让给 (a) 美国财政部特别指定国民名单上的任何人(包括伊朗政府、古巴政府、被禁止的古巴共产党成员)(目前还新增了克里米亚),或美国商务部的拒绝人员名单、实体名单或未经核实的名单,或者美国国务院的禁止名单或防扩散名单(请参阅 要检查的商务名单); (b) 与化学或生物武器、敏感核最终用途或运载这些武器的导弹一起使用。
VScode为了遵守GDRP(欧盟的《通用数据保护条例》),用户有权在设置中关闭数据搜集。好在的是微软托管在Github上的VSCode仓库是没有专有源代码的,但是和二级制可执行版本少了产品信息、VS拓展市场、拓展建议、远程开发、专有的拓展和API、崩溃报告和信息收集。VScodium是社区驱动在源代码基础上编译而来的二进制文件,一定程度上能减少微软夹的“私货”。
Obsidian并不是开源软件,但对“个人使用和其他免费许可类型”免费,免费许可证适用于:
Obsidian的商业许可证是50美元每人每年,且限制使用人数:
当 Obsidian 用于为拥有两名或更多员工的组织工作时,就需要商业使用许可证。政府部门和机构被视为商业用途。独资企业或其他个人组织不需要商业使用许可证。用于教育目的的作品不需要商业使用许可证。
商业使用许可证必须按年度和每个用户购买。商业用户必须购买至少与使用 Obsidian 的人数一样多的许可证。
然而Obsidian背后的Markdown文件是开放的,用户完全可以通过使用免费的IDE进行编译,用拓展实时渲染,而Obsidian是劝企业用户花钱买体验,这和Next.js(Vercel团队)非常相似,包括主流开发者用不上的功能,然后将开发体验当作卖点。
文件优于应用程序是一种哲学:如果您想创建持久的数字工件,它们必须是您可以控制的文件,并且格式必须易于检索和阅读。使用可以给您这种自由的工具。File over app对工具制造商具有吸引力:接受所有软件都是短暂的,并赋予人们对其数据的所有权。随着时间的推移,您创建的文件比用于创建它们的工具更重要。应用程序是短暂的,但您的文件有机会持久。
Obsidian的首席执行官Kepano认为文件先于软件是对比notion的一大优势,解决了数据迁移的痛点,以被遗弃的Atom编辑器作为反面教材,认为闭源更有利于代码审计和安全性,可持续的商业化模式保障产品迭代更新。
开源或免费是抢占市场形式。科技企业之所以选择部分开源或提供个人用户免费使用的许可证,是因为想开发者学习他们的由大厂推动的技术栈,特别是在大学期间使用全家桶级别的技术栈(如Microsoft365),或是学习主流的前端框架,由于技术的市场份额足够大,足以要求雇主使用其配套增值服务并为商业许可证付费。
不完全通用的格式。技术栈往往不能直接创收,而是凭借SaaS、PaaS商业模式,其专有的后端对这些工具进行优化;又或者其工具的格式经常变动,常有Breaking Change,例如微软开放了office的兼容性格式,而其他office软件纷纷效仿,而WPS常被吐槽不如MS office,其实是微软主导了文件格式,一旦有格式变动,很难会没有细节差异,所以Office软件商业化最好有自家的格式规范;但也不尽然,Excel VBA这一古老的技术在WPS作为增值服务,不对个人用户免费。
开发者和托管方不是同一利益集团。AWS提供Amazon Elasticsearch服务,而Elastic开源社区一直给AWS打工,AWS还将其分叉出来,做成一个更有竞争力的产品,所以云数据库开发商只能自己推出SaaS服务,改变授权模式和商用许可证,并打造自家托管服务以获得专有优势。
云服务和开源技术自带耦合性。云服务厂商能白嫖开源项目,并向企业提供托管服务,开发项目付出的成本远超托管,开源项目只能修改商业许可证避免被白嫖,云服务厂商会因自身的规模经济优势,推自家主导开发的开源工具,因为厂商知道开发者迟早会用自家的服务。
科技巨头已经在各自领域构成了技术层面的垄断性竞争,这看起来像是自然垄断的过程,人为的资源稀缺性和规模经济效益。
参考资料:
Differences between the repository and Visual Studio Code.https://github.com/microsoft/vscode/wiki/Differences-between-the-repository-and-Visual-Studio-Code
Why isn’t Obsidian Open Source? https://obsidian.rocks/why-isnt-obsidian-open-source/
对当下的反思和批判
作者槐序
2024 April 27th发布