本宣言概述了 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 将成为我们的一流数据库 (FCDB)。
这意味着什么
- 优先级排序:这些数据库将成为我们修复错误、改进性能和开发新功能的主要关注点。
- 创新:未来的产品开发将以 FCDB 为中心进行设计,确保无缝集成和兼容性。
- 社区贡献:对于此组之外的数据库,我们提供明确的扩展点,使社区能够满足自身需求。开发者可以通过创建自定义数据库适配器来扩展 Prisma 的功能,从而增加对其他数据库的支持。有关构建和使用这些适配器的指南,请参阅我们的文档。
- 企业支持:需要对非 FCDB 进行官方支持的组织可以了解我们的企业支持计划。
通过专注于这一核心数据库集,我们希望确保您所依赖的工具具有最高的质量和可靠性,同时还使我们的社区能够扩展 Prisma 的覆盖范围。随着使用情况和需求的变化,我们将重新评估我们的一流数据库,以确保它们反映我们的社区、客户和合作伙伴的需求。
2. 更清晰的问题管理、社区优先级排序和参与
我们的 GitHub 存储库中有超过 3,000 个未解决问题,因此快速有效地响应一直具有挑战性。为了解决这个问题,我们正在采取更结构化的方法,以确保您的反馈能够塑造我们的优先级并推动有意义的进展。
为什么这很重要
一套组织良好的问题有助于我们专注于最重要和最具影响力的事项。我们非常重视您投入时间和精力来提出和讨论问题——这正是推动 Prisma 前进的动力。为了确保清晰度和可持续性,我们承诺组织我们的积压工作、关闭过时的问题,并使用自动化来扩展我们与您互动的能力。
您可以期待什么
- 审查、组织和关闭
- 在接下来的几周内,您将在 GitHub 上看到更多活动,因为我们将审查、更新和组织现有问题。
- 如果某些问题已过时、已解决或不再符合我们的路线图,则这些问题将被关闭。这对于确保剩余问题具有相关性和可操作性至关重要。
- 我们将提供时间表、标签和优先级,以明确说明我们计划如何以及何时解决特定事项。
- 如果我们关闭了一个与您的团队/组织相关的问题,并且该问题没有获得足够的社区支持,那么您始终可以考虑通过我们的企业支持计划与我们建立直接关系。
- 社区驱动的优先级排序
- 获得最多赞成票和评论的问题将优先处理,确保您的声音能够塑造我们的路线图。自从 2024 年 1 月采用此政策以来,我们已经发布了备受追捧的功能,例如更好的 RAW SQL 支持、全局 omit 和多架构文件。
- 一流数据库的错误和功能将优先考虑,而其他数据库的错误和功能将取决于社区贡献或企业赞助。
- 与 Dosu 合作进行问题自动化
通过简化问题管理并专注于最重要的事情,我们正在为更快的响应和更有意义的进展奠定基础。
3. 可预测的预览功能生命周期
我们正在对处理预览功能的方式进行重大更改。从现在开始,如果我们在本季度发布一个 预览版功能,您可以期望它在下个季度达到 正式发布 (GA) 状态。我们所做的工作应该尽快交付到您手中,而不是无限期地停留在预览版中。
正在发生的变化
- 交付承诺
- 只有当我们确信某个功能能够达到 GA 状态时,它才会进入预览版。
- 我们不再将预览版用作测试功能本身是否可行的场所。如果某个功能处于预览版状态,我们正在测试的是实现,而不是概念。如果我们的方法不起作用,我们将发布更新并尝试不同的方法。
- 清理积压工作
- 我们将审查所有现有的预览功能,并承诺按照明确的时间表交付它们,或者弃用它们。
通过承诺从预览版到 GA 的可预测时间表,我们确保功能不会停滞不前,并且我们所做的工作能够尽快让您受益。现在,预览版将意味着进步,而不是不确定性。
4. 支持社区扩展和协作
从历史上看,Prisma 的架构限制了社区贡献。诸如查询解析、验证和执行之类的核心功能一直由我们的 Rust 引擎管理,这对我们以 TypeScript 为中心的社区来说是不透明的。扩展功能或修复核心问题通常完全落在我们的团队身上。
我们正在通过将 Prisma 的核心逻辑从 Rust 迁移到 TypeScript 并重新设计 ORM,使其更易于自定义和扩展来解决这个问题。
这意味着什么
- TypeScript 中的核心:为 TypeScript 开发者提供更易于访问和开放的架构
- 设计上的可扩展性:为最终用户自定义和社区扩展提供清晰的路径
- 协作增长:一个平易近人的代码库使社区能够直接解决问题并添加功能
通过使 Prisma 更加开放和可扩展,我们确保项目通过协作发展——不仅通过我们的团队,而且通过整个社区的贡献。
我们将如何保持互动
开源在协作中蓬勃发展,我们正在进行更改以确保我们与社区的联系保持牢固和透明
- GitHub 作为核心:GitHub Issues 将成为我们处理功能请求、错误报告和社区反馈的主要平台。如需帮助或提问,请前往 GitHub Discussions,我们的支持团队将在那里回复。
- Discord:Discord 仍然是进行实时讨论的地方,社区成员可以在那里联系并互相帮助。
- 每月 AMA:从 2025 年开始,我们将每月举办“Ask Me Anything”(随便问)环节(在 Discord 上,立即加入我们!)来回答您的问题、分享更新并获取您的反馈。
指导原则
当我们向前迈进时,这些原则将塑造我们的工作方式以及如何为社区交付价值
- 开发者优先:我们在设计工具时以开发者为中心,优先考虑可用性、生产力,并使团队能够轻松构建出色的产品。
- 专注于质量:我们通过严格测试我们的工具并在每个版本中优先考虑可靠性,来保持性能、稳定性和可维护性的高标准。
- 开放和透明:我们承诺进行清晰的沟通——通过 GitHub、路线图和社区讨论公开分享我们的优先级、决策和进展。
- 协作:我们积极征求社区的意见,将反馈纳入我们的路线图,并通过清晰的扩展点和贡献路径创造协作机会。
- 持续改进:我们接受反馈,站在技术进步的最前沿,并快速迭代以确保 Prisma 不断发展,以满足当今和未来开发者的需求。
携手前进:我们对您的承诺
这些不是空洞的承诺——我们致力于交付。在未来的几周和几个月里,您将看到我们在我们的存储库中组织问题、修复错误并交付预览功能。如果我们有任何不足之处,请指出我们。
我们将优先考虑对您最重要的事项。提出问题、贡献代码或分享您的想法——我们希望您参与其中。在 Discord 上加入我们,在 GitHub 上不断鞭策我们,让我们一起构建更好的 Prisma。
—
Will Madden Prisma 核心团队工程经理
不要错过下一篇文章!
注册 Prisma 新闻通讯