2022年7月3日(日曜日) 5約○分

Postmanへの参加

ここ数週間、PostmanがJSON Schemaの将来に多大な投資を行い、主要な貢献者数名をフルタイムで雇用し、JSON Schemaの仕様とツールエコシステムの改善に専念する機会を与えていることに気づかれたかもしれません。私がそのチームの次のメンバーとなることを嬉しく発表いたします。

JSON Schemaはこれまで、ボランティアの少人数グループが自分の自由時間で、資金援助なしで活動していました。Postmanのおかげで、現在は4名からなるチームとなり、財政的な支援と創造的な自由を得て、過去には時間的に取り組めなかったプロジェクトや目標に集中できるようになりました。今後数年間で、このチームがどのような成果を上げるのか、とても楽しみにしています。

昨年PostmanがBen HuttonをフルタイムでJSON Schemaの仕事に雇用した際、コミュニティ内には、Postmanが今日の多くの大手企業がウェブ標準に不当な影響力を行使するような形で、JSON Schemaの発展を所有または左右しようとするのではないかと懸念する声がありました。幸いなことに、Postmanはそうではなく、過去1ヶ月にチームに加わった私たち全員が、もしそうであれば参加していませんでした。Postmanは、私たちが長年行ってきたことにより多くの時間と労力を費やすことを可能にしているだけです。

背景

私がJSON Schemaを発見したのは2013年頃で、draft-04が新しい頃でした。当時、APIを設計しており、RESTとハイパーメディアを深く掘り下げていました。JSON Hyper-Schemaを発見し、そのハイパーメディアへの独特のアプローチにより、APIに目立たない方法でハイパーメディアを導入し、他のアプローチでは不可能だった関係性を表現することができました。しかし、最大の利点は、Jsonaryと呼ばれるJSON Hyper-Schemaの実装と、いくつかの基本的な手作りのツールを使用することで、インタラクティブな方法でAPIを設計できたことです。何かを構築することに投資する前に、リンクをクリックしてフォームに記入することでワークフローを試すことができました。名前がつく前に、APIファースト設計を実践していました。

2015年頃には、仕様に関する議論に参加し、Stack Overflowを通じてコミュニティを支援し始めました。そこでは、JSON Schemaに関する質問の回答者として、歴代トップの回答者となっています。しばらくの間、光熱費の支払いに必要な他の義務に忙殺され、自分が望むほど関与することができませんでした。しかし、数年前に、必要に応じて光熱費を支払う仕事をし、JSON Schemaに取り組むなど、自分が喜びを感じることにできるだけ多くの時間を費やすことを目標に、パートタイムでコンサルティングを行うように移行することができました。

その間、JSON Hyper-Schemaの実装に取り組むことにしました。既存の検証ライブラリを利用して、その上にJSON Hyper-Schemaクライアントを構築することを期待していましたが、そのようなことができるものは存在しませんでした。最終的に独自の検証実装を作成することになり、それは2019年9月実装の最初のものの1つとなりました。この実装の目標は、JSON Schema関連のライブラリを作成するためのツールセットとすることでした。検証実装は、これらのツールで作成できるものの概念実証にすぎませんでした。最終的には、そのJSON Hyper-Schemaクライアントの実装に戻ります。

目標

JSON Schemaにフルタイムで専念できるようになった今、多くの目標があります。現時点での私の上位3つの目標を以下に示しますが、時間の経過とともに風が変わり、優先順位が変わる可能性があります。

私の最初の優先事項は、application/schema+jsonメディアタイプをIANAに登録することです。これは長年にわたって多くのアプリケーションで使用されてきており、公式に認識され、定義される時期が来ています。これは、JSON Schemaが長年にわたってどのように進化し、今後どのように進化していくかという点で、独自の課題です。最終的にどのようなものになるにしても、過去のJSON Schemaと将来のJSON Schemaの両方を包含する必要があります。

もう1つの目標は、「JSON Schemaの理解」ドキュメントの更新を完了することです。JSON Schemaコミュニティは資金がなく、自由時間で貢献するしかありませんでした。そのため、ドキュメントなどは通常、必要なだけの注意を払うことができませんでした。昨年、ドキュメントを更新して、ドキュメント化されていなかった最新の2つの(!)ドラフトを網羅する取り組みを始めました。ほとんどの部分は完了しましたが、コンサルティングの仕事をして収入を得なければならなくなったため、動的な参照や語彙システムなど、いくつか対応できなかった部分が残っています。

前述のように、私はJSON Hyper-Schemaの大ファンです。リソースの不足と採用率の低さのため、JSON Hyper-Schema仕様の作業は一時停止されていました。JSON Schemaにフルタイムで取り組めるようになった今、JSON Hyper-Schema(または同様のもの)を復活させたいと考えています。これは大きな仕事であり、何よりも人々がその威力を理解できるようにツールを開発する必要があります。

個人的なこと

これは自己紹介のような投稿なので、個人的な雑学も入れるべきでしょう。私はカリフォルニア州サンルイスオビスポに住んでいます。キーボードから離れているときは、おそらく山奥でハイキングやキャンプ、ロッククライミング、または体操のコーチをしているところです。この投稿の表紙画像は、南カリフォルニアのMt Baldyの頂上で逆立ちをしている私です。