プレリリース版です。正式公開までは、公開済みのファイルも含めて内容が変わることがあります。
Skip to content

出典: https://datamodels.jp/guide/contribute · 文章は CC BY 4.0

貢献する ​

datamodels.jp は、日本で使えるデータモデルを共有の資産として公開するカタログです。企業、自治体、個人を問わず、誰でも提案・修正できます。ルールは全員同じです。日本語でも英語でも構いません。

参加の方法 ​

  • 質問・不具合・アイデア: Issue を開いてください。「この属性の意味が分からない」も歓迎です。
  • 新しいモデルや属性の提案: モデルの提案フォームを使ってください。まだスキーマを書く必要はありません。
  • モデルの追加・修正: Pull Request を送ってください(下の手順)。
  • 上流への提案: 日本以外でも使えるモデルになったら、Smart Data Models の incubated に提案します。フォルダ構成を Smart Data Models と揃えているのはこのためです。

モデルのルール ​

  • 既存の標準に基づく: 国や自治体のガイドライン、Smart Data Models、GIF、RFC などに基づくモデルだけを公開します。検討した上流の型と、採用しなかった理由は notes.yaml に書きます。
  • 実際のデータがある: 架空のユースケースではなく、いま存在するデータを表すこと。
  • 製品に依存しない: 特定の製品向けの注釈や型名は入れません(製品向けのファイルは adapters/ が作ります)。
  • 書き方の詳細は拡張するにあります(名前空間、予約語、エイリアスとサブクラス、状態の属性、例の書き方)。

段階と決め方 ​

  • 提案(Issue)→ draft(マージされたモデル)→ stable → deprecated。deprecated になったモデルも公開をやめず、URL は変わりません。
  • stable になるには、ADOPTERS.yaml に別々の組織による 2 つの実装が必要です。各項目に name、organization、url(公開リポジトリ、ドキュメント、連絡先)を書きます。CI は組織が 2 つあるかを検査し、stable にする Pull Request のレビュアーが、実在し独立しているかを確認します。
  • 通常の Pull Request はメンテナーがレビューしてマージします。新しいサブジェクト、メジャーバージョン、stable への昇格は、小さなグループ(Hal、宮内さん、大橋さん、Daniel)がその Pull Request や Issue の上で決めます。

Pull Request の手順 ​

  1. リポジトリをフォークして、ブランチを作ります。
  2. npm ci の後、新しいモデルなら npm run new-model -- <サブジェクト> <型名> でひな形を作ります(Smart Data Models と同じ構成: schema.json, catalog.yaml, examples/, notes.yaml)。TODO の箇所を埋めます。
  3. npm run validate:models が、足りない箇所を一覧にします。最後に npm run check と npm test が通ることを確認します。
  4. すべてのコミットに git commit -s で署名(Signed-off-by)を付けて、Pull Request を送ります。
  5. CI(スキーマ、例、@context の展開、予約語、バージョンの検証と自動レビュー。このリポジトリ内のブランチならプレビュー URL も)の結果を見て、レビューに答えます。

公開済みのバージョンの記録(スナップショットとマニフェスト)はメンテナーが行います。正式公開前(プレリリース)は、現行バージョンをその場で修正できます。

署名(DCO) ​

コミットの Signed-off-by: 名前 <メールアドレス> は、Developer Certificate of Origin に同意することを表します。つまり、その変更を自分で作ったか、公開する権利があり、このリポジトリのライセンスで公開してよいことを示します。別の同意書はありません。

  • 付け方: git commit -s(名前とメールアドレスはコミットの作者と同じにします)
  • 付け忘れたとき: git rebase --signoff origin/main の後、git push --force-with-lease。履歴を書き換えたくなければ、DCO チェックの詳細に表示される文面で、前のコミットに署名を追加するコミットを 1 つ足すこともできます。

DCO アプリが、Pull Request のすべてのコミット(ボットとマージコミットを除く)に作者の署名があるかを検査します。

ライセンス ​

機械が読むファイル(スキーマ、@context、語彙、例、catalog.yaml、対応表、公開する catalog.json とアダプターのファイル)は CC0 1.0、文章(注記、モデルの README、サイトのページ)は CC BY 4.0、ツールのコードは Apache-2.0 です。CC BY の出典(Smart Data Models、GIF のコアスキーマなど)から内容を写したファイルは CC BY 4.0 のままです。そのファイルと出典を、モデルのフォルダの LICENSE.md に書いてください。