このマニフェストは、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)となります。
これが意味するもの
- 優先順位付け: これらのデータベースは、バグ修正、パフォーマンス改善、新機能において私たちの主な注意を払われます。
- 革新: 将来の製品開発はFCDBsを念頭に設計され、シームレスな統合と互換性を保証します。
- コミュニティの貢献: このグループ以外のデータベースについては、コミュニティが独自のニーズを満たせるように、明確な拡張ポイントを提供します。開発者は、カスタムデータベースアダプターを作成することでPrismaの機能を拡張し、追加のデータベースをサポートできます。これらのアダプターの構築と使用に関するガイダンスは、私たちのドキュメントで入手できます。
- エンタープライズサポート: FCDBs以外の公式サポートが必要な組織は、私たちのエンタープライズサポートプランを検討できます。
この中核となるデータベースセットに焦点を当てることで、皆様が依存するツールの最高品質と信頼性を確保し、同時にコミュニティがPrismaの範囲を広げられるようにしたいと考えています。使用状況と需要の変化に応じて、コミュニティ、顧客、パートナーのニーズを反映していることを確認するために、ファーストクラスデータベースを再評価します。
2. より明確な課題管理、コミュニティ優先順位付け、およびエンゲージメント
GitHubリポジトリに3,000件以上の未解決の課題があるため、迅速かつ効果的に対応することが困難でした。これに対処するため、私たちはより構造化されたアプローチを採用し、皆様のフィードバックが私たちの優先順位を形成し、有意義な進歩を推進するようにします。
これが重要である理由
適切に整理された課題は、最も重要で影響力のあるものに集中するのに役立ちます。課題を提起し、議論するために皆様が費やしてくださった時間と労力を深く評価しています。それがPrismaを前進させる原動力です。明確さと持続可能性を確保するため、私たちはバックログの整理、古い課題のクローズ、そして皆様とのエンゲージメント能力を拡大するための自動化の使用に取り組んでいます。
期待できること
- レビュー、整理、およびクローズ
- 今後数週間で、既存の課題のレビュー、更新、整理を行うため、GitHubでの活動が増えるでしょう。
- 古くなっている、既に対処済みである、または私たちのロードマップと一致しなくなった課題はクローズされます。これは、残りの課題が関連性があり、実行可能であることを保証するために不可欠です。
- 特定の項目にいつどのように対処するかを明確にするために、タイムライン、ラベル、優先順位を提供します。
- あなたのチーム/組織に関連する課題をクローズし、それが十分なコミュニティサポートを得ていない場合でも、私たちのエンタープライズサポートプランを通じて、私たちとの直接的な関係を常に検討することができます。
- コミュニティ主導の優先順位付け
- 最も多くの賛成票とコメントがある課題が優先され、皆様の声が私たちのロードマップを形成するようにします。2024年1月にこのポリシーを採用して以来、より優れたRAW SQLサポート、グローバルオミット、複数のスキーマファイルなど、多くの要望が寄せられた機能をリリースしてきました。
- ファーストクラスデータベースのバグや機能は優先されますが、その他のものはコミュニティの貢献またはエンタープライズスポンサーシップに依存します。
- 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年から、皆様の質問に答え、最新情報を共有し、フィードバックを得るために、毎月「AMA(Ask Me Anything)」セッション(Discordで実施しますので、今すぐご参加ください!)を開催します。
指導原則
今後、これらの原則が私たちの仕事の仕方やコミュニティへの価値提供を形作っていきます。
- 開発者第一: 私たちは開発者を念頭に置いてツールを設計し、使いやすさ、生産性を優先し、チームが優れた製品を簡単に構築できるように支援します。
- 品質重視: ツールを厳密にテストし、すべてのリリースで信頼性を優先することで、パフォーマンス、安定性、保守性において高い基準を維持します。
- オープンかつ透明性: 私たちは、GitHub、ロードマップ、コミュニティディスカッションを通じて、優先順位、決定、進捗状況をオープンに共有する明確なコミュニケーションにコミットします。
- 協力性: 私たちはコミュニティからの意見を積極的に求め、フィードバックをロードマップに組み込み、明確な拡張ポイントと貢献パスを通じてコラボレーションの機会を創出します。
- 継続的改善: 私たちはフィードバックを受け入れ、技術の最先端を維持し、迅速に反復することで、Prismaが今日そして明日の開発者のニーズを満たすように進化し続けることを保証します。
共に前進:皆様への私たちのコミットメント
これらは空約束ではありません。私たちは実行するためにここにいます。今後数週間から数ヶ月で、私たちのリポジトリで課題を整理し、バグを修正し、プレビュー機能を提供していくのをご覧いただけるでしょう。もし私たちが不十分な点があれば、遠慮なく指摘してください。
私たちは皆様にとって最も重要なことを優先します。課題を提起したり、コードを貢献したり、ご意見を共有したりしてください。皆様のご参加を求めています。Discordでご参加いただき、GitHubで私たちを後押しし続け、共に、より良いPrismaを構築しましょう。
—
Will Madden Prisma エンジニアリングマネージャー、コアチーム
次の投稿をお見逃しなく!
Prismaニュースレターに登録