日本語
貢献する
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 の手順
- リポジトリをフォークして、ブランチを作ります。
npm ciの後、新しいモデルならnpm run new-model -- <サブジェクト> <型名>でひな形を作ります(Smart Data Models と同じ構成:schema.json,catalog.yaml,examples/,notes.yaml)。TODO の箇所を埋めます。npm run validate:modelsが、足りない箇所を一覧にします。最後にnpm run checkとnpm testが通ることを確認します。- すべてのコミットに
git commit -sで署名(Signed-off-by)を付けて、Pull Request を送ります。 - 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 に書いてください。