カテゴリー
お知らせ リリース

「hoscm コラボレーションプログラム」公開のお知らせ —— freeBox サードパーティ開発をオープンに

本日、hoscm はサードパーティとの協業形態を体系化した制度文書「hoscm コラボレーションプログラム Rev.1.0」を公開しました。初版(Rev.1.0)の対象は freeBox です。あわせて、freeBox Loader v1.0.2 として、サードパーティ Plugin 開発者向けドキュメント5本の大規模改訂もリリース済みです。

本記事では、コラボレーションプログラムの主要なポイントをご紹介します。詳細は記事末尾よりプログラム仕様書(PDF)をご参照ください。


公開の背景

freeBox はオープン仕様を基本とする freeBox Loader を中核とし、サードパーティによる Plugin 開発・連携機能の実装を歓迎してきました。一方で、これまでは協業形態や参加条件を制度として明文化しておらず、参加意思のある開発者・事業者に対して、参加方法や役割分担、知的財産の取扱いなどを十分に提示できていませんでした。

近年、海外を中心に hoscm への提携・売り込みの問い合わせが増加していること、また freeBox エコシステムの拡大を健全に進めていく必要があることから、参加者にとって透明かつ予見可能な参加条件を提供する制度として、本プログラムを整備しました。

本プログラムは初版において freeBox を対象としますが、将来的には hoscm が扱う他の製品およびサービスへも順次拡張する予定です。


プログラムの概要

5つのコラボレーションパターン

freeBox に関するコラボレーションは、hoscm の関与度に応じて次の5つのパターンに分類されます。

区分内容hoscm の関与費用
提供元単独実装公開仕様に基づき、参加者が単独で実装なし無料
技術情報提供個別の技術情報を提供し、参加者が実装情報提供有償サポート
技術支援設計・実装支援を提供し、参加者が実装設計・実装支援有償技術支援
共同開発双方向の機能強化を伴う開発双方向個別見積
受託開発個別仕様の hoscm による実装hoscm が実装業務委託

参加者は自社の体制や目的に応じて、いずれのパターンも選択できます。「受託開発」は厳密にはコラボレーションではなく業務委託に該当しますが、参加者からの問い合わせ範囲の明確化を目的として明示しています。

collaboration_matrix_diagram
collaboration_matrix_diagram

プラグイン公開ステータスは独立した軸

実装結果として公開されるプラグインの公開ステータス(public/restricted/private)は、いずれのコラボパターンであっても適用される独立した軸として扱います。これは freeBox Loader が現に認識する状態と一致します。

  • public:動作確認済みプラグイン(公開済み)
  • restricted:限定公開
  • private:非公開・ローカル

将来的には、hoscm 公式提供を示す official ステータスや、提供を終了した archived ステータスの追加も検討しています。


主要な方針

オープン仕様と GPLv3

freeBox プロジェクトで提供されるコードは、原則として GNU General Public License v3.0(GPLv3)の下で提供されます。参加者が公開するプラグインについても、原則として GPLv3 の採用を推奨します。

NDA は原則不要

freeBox はオープン仕様を基本としているため、原則として NDA(秘密保持契約)の締結は不要です。ただし、hsBox の内部情報や非公開仕様が含まれる場合、未公開の脆弱性情報を共有する場合などは、必要に応じて NDA を締結します。

参加費は無料

本プログラムへの参加自体は無料です。Web フォームによる申請、公開仕様の利用、GitHub リポジトリの参照、公式ドキュメントの利用、プラグインの公開申請までを無料の範囲とします。技術相談・実装支援・受託開発などの個別支援は、内容に応じた個別見積で対応します。

利用者ファースト・運用コスト最小化

審査プロセスは「利用者ファースト」と「運用コストの最小化」を両立する方針で設計しています。プラグインの公開ステータスに応じて必要な審査範囲を変え、private 利用は審査不要、restricted は書類審査+セルフテストログ提出、public はサンドボックス評価+実機検証+複数ユーザーによる評価結果に基づく総合判断とします。

ブランド・ロゴの利用についても、本ガイドラインに従う場合に限り事前申請なく使用できる「事後是正型」とすることで、参加者および hoscm 双方の運用負荷を軽減します。


あわせて:freeBox Loader v1.0.2 のドキュメント改訂

本プログラムの公開と並行して、サードパーティ Plugin 開発者の足場を整えるべく、freeBox Loader v1.0.2 でドキュメント5本(ビルドツールガイド/モジュール開発ガイド/Plugin 開発ガイド/保守ガイド/run.sh ガイド)の大規模改訂をリリース済みです。

主な改訂ポイントは以下の通りです。

  • 予約コンテキスト(/loader/api/status/manager など)の明文化
  • run.sh の役割・必須性をモジュール毎に整理
  • ビルドコマンド・API 仕様の精度向上
  • ドキュメント間の参照リンク整備
  • 開発内部用語の除去(公開ドキュメント化)

v1.0.2 はドキュメント更新のみのリリースで、実装に変更はありません。v1.0.1 と完全に後方互換のため、既存ユーザーは入れ替え不要です。これから freeBox Plugin の開発を検討される方には、最新ドキュメントが格段に読みやすくなっています。


参加方法と関連リンク

本プログラムへの参加申請は、既設の Web フォームよりお受けします。

技術的な詳細をご確認いただくには、以下をご参照ください。

ご質問・ご相談は hoscm 公式 Web サイトのお問い合わせフォームよりお寄せください。


今後について

本プログラムは初版(Rev.1.0)として freeBox を対象に開始しますが、市場動向および参加者からの要望に基づき、対象範囲・優先順位を順次見直していきます。本プログラムを通じて、freeBox エコシステムを参加者の皆様とともに育てていけることを楽しみにしています。

引き続き、freeBox および hoscm の各プロダクトをよろしくお願いいたします。


コラボプログラムPDFダウンロード

hoscm コラボレーションプログラム.pdf


freeBox / hsBox に関するお問い合わせ・ご意見は お問い合わせページ からお寄せください。

関連記事:

freeBox Loader 開発の舞台裏(4/22)
freeBox Loader で、スマートホーム連携はここが変わる(4/15)

Loading

カテゴリー
お知らせ システム リリース

スマートホームを、自由に。freeBox 1.0.0 リリース——ローカルファースト×プラグイン拡張のオープン基盤、始動。

スマートホームは進化している。でも、「自分が作ったデバイスを繋ぎたい」「このカメラに独自の処理を入れたい」「既存のシステムと連携するプラグインを作りたい」——そう思ったとき、既存のプラットフォームはどれも壁になる。

それらの仕様は非公開。APIは制限付き。クラウド経由でないと動かない。

freeBoxは、その壁をなくすために作りました。

プラグインを作れば、それがそのままスマートホームの新しい機能になる。あなたのアイデアが、基盤そのものを育てていく——そういう仕組みです。


freeBoxとは何か

freeBoxは、それ自体がオープンな、スマートホーム向けプラグイン基盤です。

特定メーカーのエコシステムに依存せず、クラウドに縛られず、仕様を公開した状態で誰でも実装・参加・拡張できる。各機能はローカル環境での動作を基本としており、用途に応じてクラウド連携も活用できる設計です。プラグインを追加するだけで機能を自由にデザインできます。

今回、そのコアとなる仕組みをfreeBox 1.0.0としてオープンソース公開しました。

👉 GitHub: https://github.com/hoscm/freebox


3つの設計コンセプト

① ローカルファースト——各機能はローカルで動く

freeBoxの各機能はローカル環境での動作を基本に設計されています。ローカルに閉じた運用も可能であり、必要に応じてクラウド連携も選択できます。クラウドへの依存を強制しない設計が、安定性とプライバシー保護の両方を支えています。

② オープン——仕様を公開、誰でも参加できる

仕様を公開し、実装を誰でも確認・改変・貢献できます。「使う側」だけでなく、「作る側」にも完全に開かれた基盤です。atomcam2対応モジュールをサンプルとして収録しており、すぐに動く実装例として参照できます。

③ プラグインエコシステム——1つの実装が、全体を豊かにする

freeBoxのLoaderは、プラグイン方式で機能を拡張する仕組みです。あなたが作ったプラグイン1つが、世界中のfreeBoxユーザーが使える機能になる。対応デバイスが増えるほど、エコシステム全体が育っていく——そういう構造を意図して設計しています。


AI×ハイスキルアーキテクトによる協働開発

freeBox 1.0.0の全実装は、Claude AI(Sonnet 4.6およびOpus 4.7)が担っています。設計・コーディング・ドキュメント整備にいたるまで、AIが実装の主体です。

そこに、10年以上にわたり大規模システム開発にテックリードマネージャーとして携わってきたハイスキルなシステムアーキテクトが監修・レビューを行いました。

AIの実装力と、人間の設計眼。その協働が、freeBox 1.0.0です。


freeBoxで実現できること

  • 監視カメラの映像をローカルで処理し、クラウドに依存せず通知・録画(atomcam2モジュールで実装済み)
  • 自作IoTデバイスをプラグインとして接続し、既存システムと柔軟に連携
  • 複数デバイスをまたいだ自動化ルールを、オープンな基盤の上で自由に設計
  • プラグインを公開・共有することで、コミュニティの共有資産として積み上げる

これはまだ1.0.0です。でも、基盤はできました。


コラボ募集について

現在、情報発信コラボを募集しています。freeBox・スマートホーム・OSS開発に関心のある方、一緒に発信していきませんか。

来週(5/13)は、プラグイン開発者・サードパーティ向けコラボ募集の詳細を公開予定です。「このデバイスに対応させたい」「プラグインを作ってビジネスに繋げたい」という方も、ぜひ次回の投稿をお待ちください。


さいごに

これまで、スマートホーム市場は各社の囲い込みによって分断されてきました。ローカル環境で動く、真にオープンな基盤は存在しなかった。

freeBoxは、それを初めて実現しようとしています。

コードを書ける開発者も、プラグインでビジネスを広げたいサードパーティも、発信で貢献したい方も——関わり方は一つじゃない。この基盤を、一緒に育てていきませんか。

👉 https://github.com/hoscm/freebox


関連記事:

AIはどこへ向かうのか(4/29)
freeBox Loader 開発の舞台裏(4/22)
freeBox Loader 開発進行状況(4/8)

Loading

カテゴリー
お知らせ

freeBox Loader 開発の舞台裏:ここまでの経緯と、AIと人が一緒に開発して見えてきたもの

これまで、freeBox Loader については 4月8日の進捗報告4月15日の活用イメージ紹介と、計画的な発信を続けてきました。

当初は、このタイミング(4月22日)で「サードパーティ向けコラボ・プラグイン参加募集」のご案内を予定していました。しかし、freeBox Loader v1 のリリースがもう少し時間を要する状況となり、その準備が整ってからご案内することとしました。

その代わりに今回は、「なぜ時間がかかっているのか」という舞台裏の話を、正直にお伝えしたいと思います。

ただ「遅れました」と報告するのではなく、その過程で見えてきた学びを共有することが、このOSSプロジェクトの価値につながると考えているからです。

特に今回は、AIと人が一緒に開発を進める中で見えてきた、これまでにない種類の気づきがありました。これは同じようにAIを活用して何かを作ろうとしている方々にとっても、参考になる内容ではないかと思います。


1. まず、率直な現状のご報告

リリース目標は「目標」であり、最優先は品質

freeBox Loader v1 のリリース見通しは、5月上旬〜中旬を射程に置いています。当初の想定からは後ろ倒しとなりましたが、ここで一つお伝えしておきたいことがあります。

このOSSプロジェクトでは、品質を最も大切にしています

リリース時期は大切な目標ではありますが、品質を犠牲にして急ぐものではありません。むしろ、「なぜ想定通りに進まなかったのか」を丁寧に振り返り、次の開発に活かせるのであれば、時間をかけることは健全なプロセスだと考えています。

今回の記事は、その振り返りの一部を皆さんに共有するものです。


2. 何が起きていたのか — 「暗黙の境界線」という落とし穴

テストの最終段階で見つかった作業漏れ

freeBox Loader v1 は、大小合わせて複数段階のテストを積み上げる計画で進めてきました。内部状態の確認から、APIの動作確認、UIの操作確認、そして本番環境での統合テストへと、徐々に粒度を上げていく構成です。

このうち最終段階である本番統合テストに入ったところで、ある事実に気づきました。

「この次に控えているシステムテストに進むためには、サンプルモジュール(atomcam2)も準備できていないといけない。でも、atomcam2 のパッケージはまだ完成していない」

具体的には、サンプルモジュールを組み立てるのに必要なファイルの一部が未作成で、公開用のパッケージがビルドできない状態だったのです。

なぜこれが見過ごされていたのか

振り返ると、原因ははっきりしています。

テスト計画と成果物計画の間に、「暗黙の境界線」があったのです。

  • 本体のテストは最初から「freeBox Loader 本体のテスト」として設計されていました
  • システムテストは「Loader + サンプルモジュール」で実施する前提でした
  • ところが、その間にあるべき 「サンプルモジュール側のテスト」というフェーズが、スケジュールに明記されていなかったのです
AIも人と同じ扱いで考える、という発想を象徴するイメージ図
AIも人と同じ扱いで考える、という発想を象徴するイメージ図

「Loader 本体の実装は進んでいる → テストも進んでいる → だからシステムテストも大丈夫」という感覚のまま、サンプル側の準備が手薄になっていました。

含める範囲だけを書いて、除外される範囲を書いていなかった — これが落とし穴でした。「何を作るか」のリストは丁寧に作っていたのに、「このリストに含まれていないものは、誰がいつ作るのか」が決まっていなかったわけです。

これは開発プロジェクトでは 「あるある」の失敗パターンです。でも、あるあるだからこそ、次に活かせる学びがたくさんあります。

気づけたのは、なぜか

救いだったのは、システムテストを逆算して準備を始めたタイミングで気づけたことです。

本番統合テストに入り、「次はシステムテスト。ではサンプルモジュールのパッケージはどこだ?」と問いを立てた瞬間に、空白が見えました。

もしこの問いを立てる機会がなければ、もっと後の段階で「動くはずなのに動かない」という形で発覚していたかもしれません。早めに気づけたこと自体は、プロセスが機能した結果でもあります。


3. AIと人が一緒に開発して見えてきたもの

ここからは、この開発を通じて気づいた、AIと人が一緒に開発を進める際の独特の視点をお話しします。

freeBox Loader の開発では、AIを開発のパートナーとして活用しています。仕様書の照合、コードの修正、テストの実施、そして引き継ぎメモの作成まで、人間とAIが分担しながら進めています。

そこで浮かび上がってきたのが、「AIも人と同じ扱いで考える」という発想の大切さです。

AIにも「勤務時間」がある

人に勤務時間があるように、AIにも使用量の上限があります。わかりやすく言えば、AIにも「残業制限」があるのです。

この制限に達すると、AIの作業セッションは終了します。人間であれば「続きは明日」と言えますが、AIは「明日のAI」は今日のAIの記憶を持っていません。毎回、ゼロから始まります。

このため、セッションの終わりに「次の担当者(次のAI、あるいは次の人)が困らないように引き継ぎメモを残す」という運用を取り入れてきました。人間同士の引き継ぎと同じ考え方です。

しかし、そこに新しい落とし穴があった

運用ルールは「使用量が一定水準に達した時点で引き継ぎメモを書き始める」というものでした。一見、理にかなっています。

ところが、今回の開発の振り返りの中で、特定のセッションの引き継ぎメモが残っていない事象が見つかりました。

原因として考えられるのは、引き継ぎメモを書く前に、何らかの理由でセッションが終了してしまったケースです。そうなると、引き継ぎメモを書く間もなくセッションが終わり、そのセッションで何をしたかの記録が、次のセッションに伝わらないことになります。

幸い、実際のコードは仕様通りに実装されていることを別途確認できたため、実害はありませんでした。けれども、「作業プロセスの記録」と「作業結果の記録」を同じファイルにまとめていた運用が、記録消失のリスクを構造的に高めていたことが明らかになりました。

そこから得た学び

人間同士の開発で、長年当たり前だった「セッション終わり(引継ぎ時)にまとめて議事録(引継ぎ資料)を書く」という習慣は、AIと一緒に働く場合には、むしろリスクになることがある。

これは、とても興味深い気づきでした。

AIとの協働では、「記録を1箇所にまとめるよりも、細かく分けて、そのつど残しておく」方が、セッション制限という構造に合っているのです。

この発想の転換は、freeBox Loader に限らず、AIを開発パートナーとして活用するあらゆるプロジェクトに応用できる考え方だと思います。
※プロダクトマネージャーコメント:振り返るとこの運用は人間にも言えます。 私は、作業をDB上で行い常に記録する手順を25年まえから運用しています。これにより引継ぎの作業が殆どいりません。


4. 次に活かす改善

以上の振り返りから、以下の改善を進めています。

① 成果物の定義を、プロセスまで含めて明確化する

「作ったファイルがあればOK」ではなく、「そのファイルを生成する仕組みまで含めてゴール」と定義します。

たとえばサンプルモジュールの場合、ソースコードだけでなく、それをパッケージ化して公開する仕組みまでが揃って初めて「完成」と見なす、というふうに基準を引き上げます。

② タスクを「機能名」ではなく「ファイル名」で管理する

「機能Aは実装完了」ではなく、「ファイルXは生成完了」で追跡します。

機能の名前だけを見ていると「進んでいるように見える」けれど、実際には必要なファイルが揃っていない、という状態を構造的に防ぎます。

③ フェーズ間の「除外範囲」も明記する

「このテストに含まれるもの」だけでなく、「このテストに含まれないもの」も明記する運用に変えます。

「本体テストには含めない、サンプルモジュールは別フェーズで対応する」のような、除外を最初に書く。これだけで、暗黙の境界線が可視化されます。

④ 引き継ぎの「ゼロ知識検証」

引き継ぎメモを作った後に、「これを初めて見る人が、これだけで作業を再開できるか」を検証するステップを入れます。

「書いた本人にはわかる」資料と、「誰にでもわかる」資料は別物です。後者を目指します。

⑤ 記録の連続性を確保する(AIと人が一緒に働く開発に特化した改善)

  • 引き継ぎメモは早めのタイミングで中間版を書く(ギリギリまで待たない)
  • テスト結果の記録は、引き継ぎメモとは別のファイルで管理する
  • 項目が1つ終わるたびに、即時に記録する(まとめて書かない)

この改善は、AIの動作特性(セッションが突然終わることがある)を前提にした運用設計です。


5. これからのこと

リリース見通し

freeBox Loader v1 のリリースは、5月上旬〜中旬を射程に置いています。サンプルモジュールの準備とシステムテストを経て、品質が確認できたタイミングで公開します。

hsBox との関係

freeBox Loader は、hsBox の次期バージョン(1.4 以降)での運用を想定して開発しています。hsBox 1.4 では、freeBox Loader を標準同梱する方向で検討中です(最終的な構成は、freeBox Loader のリリース時点で改めてご案内します)。

サードパーティ向けコラボ・プラグイン参加募集

当初このタイミングでご案内する予定だった「コラボ・プラグイン参加募集」は、freeBox Loader v1 の正式リリース後に、改めて詳しくご案内します。

モジュールの作り方、公開の手順、コラボの仕組みなど、参加していただくための情報を整えた上でお届けする予定です。


おわりに

今回は、freeBox Loader 開発の現状について、「遅れました」で終わらせずに、その背景と学びまで共有するスタイルでご報告しました。

開発プロジェクトにおいて、計画通りに進まない場面は必ず訪れます。大切なのは、なぜそうなったのかを振り返り、次に活かすことです。

そしてこれからの時代、AIと人が一緒に開発を進める場面がますます増えていきます。AIも人と同じ扱いで — 引き継ぎの大切さ、記録の取り方、勤務時間の配慮 — こうした視点が、新しい開発プロセスの基盤になっていくのではないかと感じています。

freeBox Loader の次のご報告は、リリース準備が整ったタイミング、または コラボ・プラグイン参加募集のご案内になる予定です。引き続き、ご期待ください。


freeBox Loader / hsBox に関するお問い合わせ・ご意見は お問い合わせページ からお寄せください。

過去の関連記事:freeBox Loader で、スマートホーム連携はここが変わる(4/15)freeBox Loader 開発進行状況|現在どこまで来ているか(4/8)

Loading