Supabase 从第一天起就是开源的。这是我们做出的最正确的决定之一。当时并不觉得这是一个困难的决定,因为我和 kiwicopple 都是 PostgreSQL、Python、比特币、React、[......长长的清单]等优秀开放项目的长期用户和倡导者。开源 Supabase 在很多方面都给我们带来了惊喜。很多人认为,公开维护业务可能会带来负担,但事实恰恰相反。有很多意想不到的好处让我们更轻松地创建了Supabase--产品和公司。

虽然其中一些建议来自于我们作为开发工具或 PaaS 公司的视角,但大部分都适用于任何软件公司。

当我们与其他创始人讨论开源商业模式时,有三点抱怨会反复出现。它们是

人们可能会批评我的代码凌乱/糟糕/未完成

黑客会发现并利用安全漏洞

竞争对手会窃取我的知识产权

我们将详细介绍其中的每一个问题,并介绍我们在创建 Supabase 时发现的一些令人惊喜的好处,即开源是如何解决以下问题的:

解决开发人才问题

极大地改进你的产品

将我们带入乌托邦

让我们深入探讨。

但我的代码很糟糕

这只是自负。花最多时间为你考虑的人是你自己,花最多时间为你的糟糕代码紧张的人也是你自己。如果别人在你的糟糕或混乱的代码上花费时间,那么很可能是你发现了值得追求的东西。石汤的民间故事也适用于此。如果你与社区分享好的想法,他们就会采纳并与你一起改进。社区会帮助重构和替换任何糟糕的代码,他们甚至可能为你的项目引入新的代码质量准则,从而改善后来者的工作流程。无论如何,那些抱怨糟糕代码而不是提出改进建议的有毒社区成员都不是你想要的社区成员。

所有开源贡献者都有一个旧项目墓地。这样做的好处在于,那些想要构建类似项目的人有了一个可供学习的想法和方法库。他们可能会从你解决某些问题的方法中获得灵感。至少,他们不会浪费时间犯同样的错误。不要担心旧项目会毁了你的名声。充其量,人们会觉得它们有用。更坏的情况是,它们无论如何都不会引起人们的注意。

确保安全

在运行托管解决方案时,人们最担心的问题之一就是恶意行为者会读取你的代码、发现漏洞并入侵你的服务。根据我们的经验,莱纳斯定律 "只要有足够的眼球,所有的漏洞都是肤浅的 "同样适用于安全问题。自 Supabase 创立之初,我们的代码和平台中就活跃着(通常是匿名的)安全研究人员,他们帮助我们发现潜在的问题。如果您提供的是软件服务,请在 /.well-known/security.txt 中提供简单的说明,让好人知道如何向您披露潜在的问题。

比特币是开源项目比专有代码库更安全的首要例子。安德烈亚斯-M-安东纳普洛斯(Andreas M. Antonopoulos)在其 2015 年的演讲中描述了闭源银行系统的软件相当于免疫力低下的系统,因为巨大的安全漏洞会被长期混淆,最终被利用时会产生巨大的有害影响。与之相反的是像比特币这样的开源协议,任何安全漏洞都是有目共睹的。漏洞很早就会被发现,然后被修补。请记住,成功的软件公司可能需要十几年的时间才能建立起来。在很长一段时间内,开源系统会比保密的专有系统更安全,尤其是在招聘优秀安全工程师竞争异常激烈的今天。

击败竞争对手

在软件领域,创意是廉价的。价值几乎总是在创意的执行过程中创造出来的。当你与世界分享你的想法时,你的大脑就能腾出时间专注于最重要的事情。你不必再花时间担心哪些承包商或合作伙伴可以访问你的代码库,而是可以集中精力加快迭代速度。你可能会惊讶于开源社区对你的开放性的反应。

发展专家社区