这份宣言阐述了 Prisma 对未来的愿景:解决关键挑战,设定明确优先事项,并赋能协作,为我们的社区构建更好的体验。
重新聚焦未来
Prisma 已经取得了长足的进步,我们为共同取得的成就感到自豪。从 Accelerate 到 TypedSQL 和 Prisma Postgres,我们构建的工具与每天依赖 Prisma 的杰出开发者社区共同成长。
但随着 Prisma ORM 范围的扩大,我们在治理、问题管理和沟通方面面临挑战。优先事项并不总是清晰的,截止日期也未能持续遵守,随着时间推移,我们积累了 3.2 千个未解决的问题和长达数年的预览功能积压。
我们希望做得更好——所以这就是我们正在改变的地方。
这份宣言表明了我们将如何以不同的方式行事——我们将如何设定明确的优先事项,更有效地管理我们的工作,并在每一步都让您(我们的社区)参与进来。如果您觉得这里没有包含重要内容,请展开讨论——我们正在倾听。
我们今日的现状
Prisma 为 GitHub 上的 547,000 个仓库提供支持,服务超过 400,000 名月活跃开发者,并且每月 NPM 下载量超过 900 万次。多年来,我们取得了许多成就
- 200 次发布
- 合并了 5537 个拉取请求
- 关闭了 7511 个问题
这些数字突显了我们的进步,但我们知道还有更多工作要做,以确保我们的社区感受到重视和支持。由于如此多的开发者和组织依赖 Prisma ORM,开发工作与社区密切协作至关重要,同时 Prisma 团队也需要遵循一套清晰明确的原则。
我们如何改变
我们正在设定一条清晰的未来道路,以便您了解对我们的期望,重点关注产品方向、问题管理、功能开发以及与 Prisma 社区建立更牢固的关系。我们前进的道路如下
1. 定义一级数据库
我们将重点关注对我们的社区、客户和合作伙伴最重要的数据库(基于迄今为止的使用数据和社区参与度)。未来,Prisma Postgres、PostgreSQL、MySQL、SQLite、MongoDB 和 MariaDB 将成为我们的一级数据库 (FCDBs)。
这意味着什么
- 优先顺序:这些数据库将优先获得错误修复、性能改进和新功能的支持。
- 创新:未来的产品开发将考虑到 FCDBs,确保无缝集成和兼容性。
- 社区贡献:对于此组之外的数据库,我们提供清晰的扩展点,以便社区满足自身需求。开发者可以通过创建自定义数据库适配器来扩展 Prisma 的能力,添加对其他数据库的支持。关于构建和使用这些适配器的指导可在我们的文档中找到。
- 企业支持:需要非 FCDBs 官方支持的组织可以了解我们的企业支持计划。
通过专注于这组核心数据库,我们希望确保您依赖的工具具有最高的质量和可靠性,同时也赋能我们的社区扩展 Prisma 的覆盖范围。随着使用情况和需求的改变,我们将重新评估我们的一级数据库,以确保它们反映社区、客户和合作伙伴的需求。
2. 更清晰的问题管理、社区优先顺序和参与
我们的 GitHub 仓库上有超过 3000 个未解决的问题,快速有效地响应一直充满挑战。为了解决这个问题,我们正在采用一种更结构化的方法,以确保您的反馈塑造我们的优先事项并推动有意义的进展。
为何这很重要
一套组织良好的问题有助于我们专注于最重要和最具影响力的内容。我们非常珍视您在提出和讨论问题上付出的时间和精力——这正是推动 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 新闻通讯