本宣言阐述了 Prisma 对未来的愿景:应对关键挑战,设定明确优先级,并赋能协作,为我们的社区构建更优质的体验。
重新聚焦未来
Prisma 已走过漫漫长路,我们为共同取得的成就感到自豪。从 Accelerate 到 TypedSQL 和 Prisma Postgres,我们构建的工具与一个庞大的开发者社区共同成长,他们每天都在依赖 Prisma。
但随着 Prisma ORM 范围的扩大,我们在治理、问题管理和沟通方面面临挑战。优先级有时不够明确,截止日期未能始终如一地遵守,而且随着时间的推移,我们已经累积了 3.2k 个未解决问题和多年来积压的预览功能。
我们想做得更好——所以我们正在改变。
这份宣言是我们声明我们将如何做得不同——我们将如何设定明确的优先级,更有效地管理我们的工作,并让您,我们的社区,每一步都参与进来。如果您认为这里没有体现出重要的事情,请开启讨论——我们正在倾听。
我们今天的立场
Prisma 驱动着 GitHub 上的 547,000 个仓库,服务着 超过 400,000 名月活跃开发者,并提供超过 900 万次每月 NPM 下载。多年来,我们取得了许多成就:
- 200 次发布
- 5537 个拉取请求合并
- 7511 个问题关闭
这些数字突显了我们的进步,但我们知道还有更多工作要做,以确保我们的社区感受到被重视和支持。有如此多的开发者和组织依赖 Prisma ORM,因此开发必须与社区紧密协作,并且 Prisma 团队必须按照一套清晰明确的原则开展工作。
我们正在如何改变
我们正在为未来设定一条清晰的道路,让您知道能从我们这里获得什么,重点关注产品方向、问题管理、功能开发以及与 Prisma 社区建立更牢固的关系。以下是我们的前进方式:
1. 定义一流数据库
我们将重点关注对我们的社区、客户和合作伙伴(根据现有使用数据和社区参与度得出)最重要的数据库。未来,Prisma Postgres、PostgreSQL、MySQL、SQLite、MongoDB 和 MariaDB 将成为我们一流数据库 (FCDBs)。
这意味着什么
- 优先级:这些数据库将获得我们对错误修复、性能改进和新功能的首要关注。
- 创新:未来的产品开发将以 FCDBs 为核心,确保无缝集成和兼容性。
- 社区贡献:对于此组之外的数据库,我们提供清晰的扩展点,使社区能够满足自身需求。开发者可以通过创建自定义数据库适配器来扩展 Prisma 的功能,增加对其他数据库的支持。有关构建和使用这些适配器的指南可在我们的文档中找到。
- 企业支持:需要非 FCDB 官方支持的组织可以探索我们的企业支持计划。
通过专注于这组核心数据库,我们希望确保您所依赖的工具具有最高质量和可靠性,同时赋能我们的社区扩大 Prisma 的影响力。随着使用和需求的变化,我们将重新评估我们的一流数据库,以确保它们反映我们社区、客户和合作伙伴的需求。
2. 更清晰的问题管理、社区优先级和参与度
我们的 GitHub 仓库中有超过 3,000 个未解决问题,这使得快速有效地响应变得具有挑战性。为了解决这个问题,我们正在采用一种更结构化的方法,以确保您的反馈塑造我们的优先级并推动有意义的进展。
为什么这很重要
一套组织良好的问题有助于我们专注于最重要和最有影响力的事项。我们深切重视您在提出和讨论问题上所付出的时间和精力——正是这些推动着 Prisma 前进。为了确保清晰度和可持续性,我们致力于组织我们的积压工作,关闭过时问题,并利用自动化来扩大我们与您互动的能力。
您能期待什么
- 审查、组织和关闭
- 在接下来的几周里,您会在 GitHub 上看到更多活动,因为我们正在审查、更新和组织现有问题。
- 一些问题如果过时、已经解决或不再符合我们的路线图,将被关闭。这对于确保剩余问题具有相关性和可操作性至关重要。
- 我们将提供时间表、标签和优先级,以阐明我们计划如何以及何时处理特定事项。
- 如果我们关闭了一个与您的团队/组织相关且没有足够社区支持的问题,那么您始终可以通过我们的企业支持计划探索与我们建立直接关系的选择。
- 社区驱动的优先级
- 获得最多赞和评论的问题将优先处理,确保您的声音塑造我们的路线图。自 2024 年 1 月采用此政策以来,我们已发布了备受追捧的功能,如更好的 RAW SQL 支持、全局省略和多个 schema 文件。
- 一流数据库的错误和功能将优先处理,而其他将取决于社区贡献或企业赞助。
- 与 Dosu 合作进行问题自动化
通过简化问题管理并专注于最重要的事情,我们正在为更快的响应和更有意义的进展奠定基础。
3. 可预测的预览功能生命周期
我们正在对预览功能处理方式做出重大改变。从现在开始,如果我们本季度发布一个预览功能,您可以期待它在下个季度达到普遍可用性 (GA)。我们完成的工作应该尽快交付到您手中,而不是无限期地停留在预览阶段。
正在改变什么
- 交付承诺
- 只有当我们确信某个功能将达到 GA 时,它才会进入预览。
- 我们不再将预览作为测试功能本身是否可行的场所。如果一个功能处于预览阶段,我们正在测试的是实现,而不是概念。如果我们的方法不起作用,我们将发布更新并尝试不同的方法。
- 清理积压工作
- 我们将审查所有现有的预览功能,并承诺在明确的时间表内完成它们,或者将其弃用。
通过承诺从预览到普遍可用性的可预测时间表,我们确保功能不会停滞不前,并且我们所做的工作能尽快让您受益。预览现在意味着进展,而不是不确定性。
4. 赋能社区扩展与协作
Prisma 的架构在历史上限制了社区贡献。核心功能——例如查询解析、验证和执行——一直由我们的 Rust 引擎管理,这对于我们专注于 TypeScript 的社区来说是不透明的。扩展功能或修复核心问题通常完全由我们的团队承担。
我们正在通过将Prisma的核心逻辑从Rust迁移到TypeScript,并重新设计ORM,使其更易于定制和扩展来解决这个问题。
这意味着什么
- TypeScript 核心:为 TypeScript 开发者提供更易访问和开放的架构
- 设计上的可扩展性:为最终用户定制和社区扩展提供清晰的路径
- 协作式增长:易于理解的代码库赋能社区直接解决问题和添加功能
通过使 Prisma 更加开放和可扩展,我们正在确保项目通过协作发展——不仅由我们的团队,而且通过整个社区的贡献。
我们将如何保持参与
开源在协作中蓬勃发展,我们正在做出改变,以确保我们与社区的联系保持紧密和透明
- GitHub 作为核心:GitHub Issues 将成为我们功能请求、bug 报告和社区反馈的主要平台。如需帮助或疑问,请前往 GitHub Discussions,我们的支持团队将在那里回复。
- Discord:Discord 将继续是实时讨论的场所,社区成员可以在那里连接并互相帮助。
- 每月 AMA:从 2025 年开始,我们将每月举办“问我任何事”会议(在 Discord 上,现在就加入我们!),以回答您的问题,分享更新,并获取您的反馈。
指导原则
随着我们前进,这些原则将塑造我们的工作方式,并为社区提供价值
- 开发者优先:我们以开发者为中心设计工具,优先考虑可用性、生产力,并赋能团队轻松构建卓越产品。
- 关注质量:我们通过严格测试工具并优先考虑每次发布的可靠性,保持性能、稳定性和可维护性的高标准。
- 开放和透明:我们致力于清晰的沟通——通过 GitHub、路线图和社区讨论公开分享我们的优先级、决策和进展。
- 协作:我们积极寻求社区的意见,将反馈整合到我们的路线图中,并通过清晰的扩展点和贡献路径创造协作机会。
- 持续改进:我们接受反馈,站在技术进步的最前沿,并迅速迭代,以确保 Prisma 能够满足当今和未来开发者的需求。
共同前进:我们对您的承诺
这些不是空头承诺——我们致力于实现。在接下来的几周和几个月里,您会看到我们正在整理仓库中的问题,修复错误,并交付预览功能。如果我们有任何不足,请指出。
我们将优先处理对您最重要的事项。提出问题,贡献代码,或分享您的想法——我们希望您参与其中。加入我们的 Discord,在 GitHub 上继续推动我们,让我们共同构建一个更好的 Prisma。
—
Will Madden Prisma 工程经理,核心团队
不要错过下一篇文章!
订阅 Prisma 新闻通讯