如何让应用商店对开源友好

微软最近似乎提出开源软件不应该出现在 Windows 应用商店中。 恕我直言?

新闻爆出后,微软商店总经理 Giorgio Sardo 在 Twitter 上辩称这不是微软的本意。“我们绝对希望支持开发者分发成功的 OSS 应用。 事实上,商店中已经有很棒的 OSS 应用! 此政策的目标是保护客户免受误导性列表的侵害。”

可预见的是,混乱随之而来。 而今年早些时候 FairEmail 和 Google Play 商店的纠纷 很好地例证了这种混乱并非完全是新鲜事,从而引发了关于意图的质疑。

我曾与开发者和业务经理讨论过他们在为商业应用商店准备软件包方面的经验。 普遍而言,每个人都报告说在应用商店的打包方面存在问题。 这些包括

  • 这是超出平台正常交付范围的专门工作;
  • 它需要管理和繁琐的步骤,这对于开源项目或开发者来说是不正常的;以及
  • 受到需要专业建议审查的法律条款的约束,并且可能会使开发者及其社区面临风险。

所有这些工作对于开源开发者来说都不正常。 这都是为了商店而付出的额外工作。 具体来说,要求开源开发者不断地跳过不断变化的障碍是不可行的。 这对于开源开发者和企业来说是不可持续的要求。

幸运的是,微软撤回了其阻止社区收回成本的提议,但这引发了在“围墙花园”应用商店中维护应用的整个问题。 以下是我对在应用商店中放置应用所需的工作及其对开源社区的影响的一些想法。

日益必要

应用商店是一把双刃剑。 它们复制了二十年前彻底改变开源软件的简单软件包选择和安装体验。 但是,它们也使用对软件包存储库的访问作为控制点。 这既对用户有利,也对用户不利。 有益的影响包括排除恶意软件、限制软件提供商的黑暗模式以及允许轻松支付费用。 不利影响包括阻止开源软件进入应用商店、侵犯用户隐私以及审查应用程序及其内容。

随着桌面平台所有者逐渐转向桌面软件的“围墙花园”方法,开源项目越来越有必要提供不仅仅是下载。

如果他们不这样做,用户将面临安装纯粹下载的越来越多的障碍。 多年来,这一直是 Mac 上开源桌面应用程序的重大障碍。 现在,它也威胁要成为 Windows 上的障碍。 用户可能会面临开源下载存在风险或包含恶意软件的警告,甚至面临拒绝安装,除非采取复杂的技术步骤。 这些复杂的步骤可能会通过向来自其他来源的恶意软件开放系统来降低系统的安全性。

如果要更广泛地提供开源软件的软件自由优势,社区别无选择,只能参与应用商店。 一些人已经这样做并取得了巨大成效(例如,Krita); 其他人继续受到这个问题的挑战。

额外的努力层层叠加

在所有商业应用商店中发布可用的桌面软件包所需的额外工作量非常大,因为除了发布工作流程之外,它们还有特定的初始沙箱要求。 在 Windows 上,一旦您熟悉了限制和框架,这相对简单,但在 Apple 的商店中,用户应用和商店应用之间的差异很大且不断变化。 在 Google 上,您无论如何都是为 Play 商店编写代码,因此只有流程/SEO 挑战真正适用——但它们仍然很重要。

除此之外,还有法律审查费用。 应用商店的许可条款很不寻常,因为它们被严格执行。 由于它们旨在规范与商业实体的关系,其中许多商业实体可能被假定为产生大量收入,从而证明 SEO 和其他形式的市场操纵是合理的,因此社区对这些协议持谨慎态度,并且经常感到需要就此获得昂贵的法律建议。 由于协议经常更改,因此这是一项巨大的持续成本,没有任何回报。

除了这些商业律师费用外,具有着作权许可的社区可能会面临来自对著作权许可的极端解释的压力,这导致应用商店收到社区成员关于许可和/或合同侵权的指控或投诉。 无论是在社区内部解决还是在问题出现时处理,这样做在财务和情感方面的成本都是不小的。

所有商店都受到针对每个新版本的繁琐的迭代接受流程以及应用商店管理部门反复无常的下架的影响。 这些对于社区来说都很难进行分类,无论是在参与公司流程(假设商业开发者愿意分配员工来跟踪合同变更、争吵和 SEO)方面,还是在执行迭代上传和发布以解决问题方面。

可持续发展

由于所涉及的工作特定于正在上传的软件包,因此通常的开源项目经验(即贡献与雇佣工作并行进行)不适用,因此让员工贡献这项工作对于雇主来说是直接成本——这可能会与他们自己的应用商店产品竞争,从而降低贡献的吸引力。

桌面开源项目与服务器软件、组件和堆栈层具有不同的经济性。 桌面的衰落意味着专有桌面软件大多已转向订阅模式,采用广泛的多功能平台,而不是销售单个程序的增值版本。 这意味着,作为销售桌面产品的辅助手段,参与桌面开源项目的可行性降低了。

桌面开源项目通常的盈利方式——捐赠和支持性购买——与商业软件一样受到重税。 一些适用于捐赠的排列方式存在额外的限制,这些限制与阻止诈骗和空壳公司使用某些支付方式有关。

毫无疑问,虚假上传是一个问题,它将贡献从开源社区吸走,流向个人寄生虫。 拥有足够员工的社区通常会使用商标投诉来删除它们(如果它们使用为官方上传保留的项目商标变体),但应用商店流程并非特别平易近人,并且该过程在时间和人力方面成本高昂(因为它不太适合志愿者工作)。

结论

禁止为在其他地方免费的开源项目付费对于社区来说将是一场悲剧,很高兴它尚未发生。 即使应用商店不是额外的技术工作,它们仍然是额外的管理工作。

但是,即使不改变盈利模式,将应用程序放入应用商店实际上也是社区对应用商店的补贴,因为没有开发者需要为了自己的使用而做所有这些额外的工作。 应用商店所有者应采取措施,为所有 善意 开源社区提供简化甚至补贴的访问。

对开源友好的应用商店将

  • 为慈善机构提供免费处理,尤其是小额付款。
  • 提供轻量级且稳定的法律安排,该安排没有与最常用的开源许可证相冲突的条款,并提供对红色标记更改的独立法律评估。
  • 为社区拥有的商标管理提供一个简单的入口点,仅将注册商标的使用权保留给社区批准者。
  • 提供快速解决渠道,以处理版权和商标下架,包括虚假上传以及合法上传被错误指控的情况。

开源社区需要制定一套最佳实践,然后与应用商店所有者合作实施它们。 OSI 及其庞大的 联盟 社区已准备好为此提供便利。 OSI 邀请应用商店所有者联系,以便我们共同构建开源项目在商业应用商店中运作的最佳实践。 如果您还不是 OSI 赞助商,请通过您的赞助商联系人或使用联系表格 与我们联系。