より多くのコンピューティング・プロジェクトに適したオープン・ハードウェア

「オープン・ハードウェア」という言葉は、オープン・ソース・ソフトウェアの数年後に使われるようになった。 私が知る限り、フリーソフトウェアの最初の包括的かつ原則的な擁護は、1983年のGNU宣言である。 対照的に、”オープン・ハードウェア “という言葉は、2005年のArduinoの最初のリリースで広まり、最初のRISC-Vチップはさらに後の2011年に登場した。 フリー・ソフトウェア」や「オープン・ハードウェア」と銘打たれたプロジェクトは、コンピューター・ソフトウェアの始まりから、そしてハードウェアの遥か昔から続く共有の伝統を認識するための名称に過ぎない。

これはLPIのオープン記念シリーズの一環として発表された2021年6月の記事の更新版です。 この記事では、オープン・ハードウェアに関する歴史的な詳細と、なぜ多くの人々がその使用を急いだのかについて取り上げている。

オープン・ハードウェアを使う理由

オープンハードウェアの有用な定義は、オープンソースハードウェア協会(OSHWA)によるものである。 この定義は、オープンソース・ソフトウェアやオープンカルチャーの定義と類似している。

EET Asiaに掲載された記事では、オープン・ハードウェアを使用する一般的な理由が述べられている。 フリーソフトウェアやオープンソースソフトウェアを調査したことのある人なら、これらの点に気づくだろう:

  • オープン・ハードウェアは標準的なもので、ハードウェアの定義に透明性があるため、どの適合製品も期待通りに動作すると信頼できる。
  • ベンダーのロックインを避けることができる。ベンダーのロックインは、望まない技術的変更、突然のコスト上昇やライセンス変更、そしてハードウェアのソースへのアクセスを完全に失うという最終的な脅威といったリスクを常にもたらす。
  • オープンなハードウェアは、法的拘束力を伴わずに提供される。

しかし、なぜ今オープン・ハードウェアが人気なのか? おそらくそれは、開発者がますます多くの機能をソフトウェアからハードウェアに移行させているからだろう。 ネットワークのルーティングや暗号化は、以前はオペレーティング・システムやユーティリティが行っていたが、今では物理プロセッサ内部で行われることが多い。 機械学習でも同じ変化が起きている。 基本的に、最新のアプリケーションは、以前の世代のアプリケーションよりも多くのコンピューティングと高速な応答時間を必要とする。 そして、このようなニーズに応えるために、洗練されたハードウェアが開発されている。 開発者は、ハードウェアに信頼を置くために、オープン・ハードウェアが与えてくれる保証を望んでいる。

また、プロ・アマを問わず、自分でハードウェアを設計したいと考えるプログラマーも増えている。 結果をスクリーンに吐き出すプログラムを書くことの報酬は、ドアを保護したり、庭に水を撒いたり、ドローンを飛ばしたりできるデバイスを作ることの興奮に比べれば、淡いものだ。 開発者は、オープン・ハードウェアがもたらす保証のある安価なデバイスを求めている。

パソコンが先例だった

1970年代には誰も “オープン・ハードウェア “という言葉を使っていなかったが、有名なホームブリュー・コンピュータ・クラブは基本的にこの言葉を用いていた。 企業秘密やその他の知的財産を意識することなく、そのクラブのメンバーはあらゆる種類のハードウェアの設計図を交換した。 彼らの理想主義は、個人がコンピューターを持つことができるようになった時代の初めに生まれた。 10万ドルもするマシンの図面を共有しても、買い手はあまりつかないだろう。 しかし、あなたのデザインを誰でも10ドルで実装できるのであれば、共有することに意味がある。 この記事を読んでくれたLinuxとオープンソースの長年の推進者であるJon “maddog” Hall氏によると、歴史的なAltairCOSMAC ELFはどちらもオープン設計だったという。

パーソナル・コンピューターの時代は、オープン・ハードウェアのもうひとつの例を示している。 そのようなコンピュータの新市場を瞬く間に席巻したPCを発表したとき、彼らはオープン・アーキテクチャを採用し、競合他社がクローンを製造できるようにした。 PCMag UKの記事によれば、IBMがこのような大胆な道を選んだのは、ユーザーがPCに求めるものすべてを自社で生産することは不可能であり、オープン・アーキテクチャが周辺機器やソフトウェアのアフターマーケットを生み出すことになると気づいたからだという。 今日、私たちはこの原則を、第三者が構築できる「プラットフォーム」を提供することと呼んでいる。

研究プロジェクトとして始まった現在のオープン・ハードウェア

この記事で取り上げた2つの主要な現代プロジェクト、ArduinoとRISC-Vプロセッサーが研究者によって発表されたことは理解できる。 Arduinoの前身であるWiringの発明者たちは、デザインプロジェクトで使うツールを探していたデザイナーだった。 RISC-Vは、U.C.バークレー校をはじめとする研究機関の電気技術者たちの長年の努力の結晶である。 U.C.バークレーは、Unixの重要な進歩やネットワーキング・ソフトウェアを含むバークレー・ソフトウェア・ディストリビューション(BSD)に限らず、コンピューティングに対する多くの重要な貢献の源である。 他の優れたオープン・プロジェクトと同様、ArduinoとRISC-Vは、当初の製作者をはるかに超えて広がっている。

ArduinoとDIYボード

元々はプロトタイピングや教育、アマチュアのスクラッチ・プロジェクトに人気があったが、Arduinoは多くの商用製品に使われるようになった。 Arduinoの強みの一つは、オープン・ハードウェアが提供する典型的な利点である。非常に多くのボードがArduino仕様に基づいているため、開発者はさまざまなフォームファクター(ボードサイズ)やチップサイズ(8ビットと32ビット)で同じコードやライブラリを使うことができる。 Arduinoは、プログラマーがPythonのような親和性の高い言語と、便利な機能を満載した豊富なライブラリで素早くプログラムを作成し、ベアメタル上でプログラムを実行できる、低コストで柔軟な環境を提供する。 LuaForthなど、組み込みプログラマーに支持されている他の言語もサポートしています。

市販の製品は、BeagleBone(オープン・ハードウェア)とRaspberry Piオープン・ハードウェアではない)という2つの人気のある低価格ボードをベースにしていることが多い。 この2つのボードの人気の主な理由は以下の通りだ:

  • これらの製品は、ターゲットとする市場にとって有用な様々なポートや通信デバイスを備えて設計されている。
  • GNU/Linuxと、そのために書かれた、あるいは移植されたすべてのソフトウェアを活用して、豊富なアプリケーションとライブラリのセットを提供する。
  • 開発者は、PythonやLuaといった一般的な言語や、より高性能なC++を使ってデバイスを制御することができる。

PiSCSIソフトウェア・プロジェクトは、Raspberry Pi上でSCSIデバイスをエミュレートします。

多くの企業が、いじりやプロトタイピング用の低価格ボード市場に参入している。 多くはRaspberry Piのフォームファクターをエミュレートし、ある程度の互換性を実現している。

ハードウェアの実験者は、NvidiaのJetsonシリーズのボードも気に入っている。 現在、価格は約150ドルから2,000ドルで、一般的にLinuxが動作する。Nvidiaは、AIに焦点を当てたものを含め、これらのボード用にいくつかの開発キットを提供している。

「オープン」という概念は、重層的に考えなければならない。 例えば、レンブラントの絵画はパブリックドメインだが、その写真をウェブから入手したい場合は、撮影者の権利を確認しなければならない。 同様に、フリーOS上でプロプライエタリ・ソフトウェアを動かすこともできるし、その逆もしかりだ。 BeagleBoneやArduinoの場合、ボード自体はオープンハードウェアだが、組み込みプロセッサはそうではない。

RISC-V

RISC-Vは、チップレベルでの主要なオープン・ハードウェア・プロジェクトである。 プロジェクトが指摘するように、RISC-Vはそれ自体、プロプライエタリな実装にもオープンな実装にも使える規格に過ぎない。 オープンソースソフトウェアと組み込みシステムの開発者で、オープンハードウェアとRISC-Vの研究に10年を費やしてきたKarim Yaghmour氏によると、RISC-Vをベースにしたオープンプロセッサとしては、チューリッヒ工科大学のPULPプラットフォーム、RISC-V設計を最初にリリースしたU.C.バークレー校のチームによるチップであるRocket Chip、RTL合成ツールYosysの作者であるClaire Wolf氏によるpicorv32、ハードウェア設計言語SpinalHDLの作者であるCharles Papon氏によるVexRiscvなどが有名だという。

縮小命令セットコンピュータ(RISC)のアイデアは1980年代にさかのぼる。 当時の一般的なプロセッサーは、より複雑な命令を追加することで市場シェアを争っており、結果的に性能を低下させ、コストを引き上げていたからだ。 RISCは、この傾向を大胆に否定するものとして発明された。 RISCは、より多くの作業をコンパイラに移し、命令セットをできるだけシンプルにした。 理論的には、RISCアプローチは有効であった。それは、より小さく高速なチップを意味し、より少ない電力で済み、テストも容易であった。 しかし、さまざまなデザインがその地位を確立しようと奮闘している間に数十年が経過した。

初期のRISCベンダーのひとつがMIPSで、同社はシリコングラフィックスにチップを提供していた。 シリコン・グラフィックスは、シリコンバレーの中心部に3棟からなる巨大なキャンパス(現在のグーグル・プレックス)を建設するほど裕福だった。 デジタル・イクイップメントのAlpha、サン・マイクロシステムズのSPARC、そして現在のIBMのPOWERチップは、それぞれの時代のデータセンターを含むコンピューター業界で重要な役割を果たしてきた。 SPARCの設計は最終的にオープンになった

初期のRISCシステムはニッチな成功にとどまったが、そのコンセプトは徐々に主流になっていった。 初期のRISC設計者の多くの革新は、インテルのような複雑なチップに採用された。
maddog氏が説明したように、デジタルのアルファはLinuxの進化に重要な役割を果たした。 トーバルズが書いたオリジナルの32ビットのインテル・アーキテクチャと64ビットのアルファ・アーキテクチャの両方をサポートするために、コードに深い変更を加える必要があった。 Digitalとmaddogのサポートを受け、トーバルズがカーネルの設計を一般化し、両方のチップをサポートするようになると、他のアーキテクチャへの移植は非常に容易になった。

ほとんどのモバイル機器はARMのRISCチップを搭載しており、世界で最も一般的なプロセッサ・アーキテクチャとなっている。 RISCはノートパソコンデータセンターにも進出している。

そして今、RISC-V規格が誕生した。 この設計とそれをベースにした最初のチップは2011年に発表されたが、10周年記念式典は2010年のプロジェクト立ち上げまで遡る。
他のRISC設計は生まれては消えていくが、RISC-V設計はこれからも残るだろう。 インドでは特に重要な存在となっており、政府からの資金援助も受け、研究・産業両分野で大きく採用されている。 推進派は、RISC-VがRISCのコンセプトを高みへと導き、モノのインターネットからデータセンターまでのコンピューター環境を支配すると期待している。

BeagleVは、SiFive社のRISC-Vチップをベースにしたオープン・ハードウェア・ボードである。

オープンな「基本」仕様に加え、RISC-Vプロジェクトには、ビット操作や単一命令複数データ(SIMD)並列処理などの拡張を定義するメカニズムがあるため、開発者はオープンな標準を新たなニーズや機会に対応させるプロジェクトに個別に取り組むことができる。

オープン・マニュファクチャリングとツーリング

開発者がプログラムをビルドする際にコンパイラやライブラリを信頼できるように、チップ設計者もメーカーを信頼したい。 ソフトウェアでは、オープンソースのコンパイラやライブラリが信頼を提供している。 maddogによれば、メーカーが使用しているプロセス・デザイン・キット(PDK)を公開することで、製造プロセスがより透明化されるという。 オープンPDKへの一歩を踏み出したのはグーグルであり、同社はチップサプライヤーであるスカイウォーターにオープンPDKの公開を要請した。

オープンPDKにはいくつかの利点がある:

  • そのため、メーカーがエラーや悪意のあるバックドアを忍び込ませることは難しい。 チップ設計者は、メーカーが作成したシートと自分の設計を比較することで、自分のやっていることを実証し、両者が一致していることを確認することができる。
  • 供給が途絶えているユーザー(一例として次のセクションを参照)は、現地での製造をより容易に立ち上げることができる。
  • 新しい設備は、先進メーカーのPDKから学ぶことで、より早くスピードアップすることができる。

また、世界的にコンピューター・チップが不足している現在、新たな製造能力があればありがたい。

ヤグムールによれば、チップ製造用のマスクを製造するツールも進化する必要があるという。 彼は、オープンソースツール化への一歩として、スカイウォーターベースのオープンレーンを挙げた。 ヤグモアは、オープンソースのツールによってチップ設計の革新が促進されることを期待している。 数十年の間にソフトウェア開発のスピードは加速している。パンチカードの山を提出して翌日まで結果を待つ必要がなくなり、数分でプログラムをコンパイルして実行できるようになったからだ。 しかし、チップの設計から製造までにはまだ何年もかかる。オープンソースのツールは、サイクルを大幅に短縮し、設計の最適化に役立つ可能性がある。

注目すべきオープン・ハードウェア・プロジェクト

キューバのオープン・ハードウェア・ハッカー、パベル・ミラネスプロジェクト用に2つ目のGitHubサイトを持っている)は、Arduinoプラットフォーム上で無線ソリューションやハム無線ツールを作ってきた:

これらのプロジェクトは2年以上前に開発を中止している。

この記事のためのメール交換でミラネスは、Arduinoや関連するシールドや部品はキューバでは簡単に買えないし、ハッカーは高価格の闇市場か、配送方法が不確かな海外からの購入でしか入手できないと教えてくれた。 さらに、彼は八重洲無線を入手することができなかったので、彼のコードはすべてメーカーのデータシートに基づいていたが、それらの無線機を所有する他の無線アマチュアによって検証された。

ミラネスはまた、Chirpプロジェクトの開発者のひとりにもなった。これは、異なるベンダーの多くの無線機をたったひとつのアプリでコントロールし、プログラムするための統一ソフトウェアシステムである。

その他のオープン・ハードウェア

オープン・ハードウェアが長い間人気を博してきた分野のひとつに、3Dプリンターがある。 3Dプリンターの中には、他の3Dプリンターを印刷できるものもあり、シンギュラリティの実現に近づいている。 また、本物のオープンハードウェアを求めるなら、ハンマークランプエクステンションさらに危険なアイテムなど、あらゆる種類のツールを3Dプリントすることができる。

オープンソース・ハードウェア・アソシエーションは、オープンプロジェクトを認定し、オープンハードウェアへの取り組みを支援している。 また、オープンソースFPGA財団もあり、ハードウェア設計の重要な一面にオープンハードウェアの動きをもたらしている。

このように、オープン・ハードウェアは、多くの優れたアイディアが歩んできた道のりを歩んできた。最初は名前のない実践であり、次に散在する実装に特徴づけられる理想であり、そして今では認証を持つ確立された組織である。 ソフトウェアと同様、ハードウェアもプロプライエタリな製品とオープンソースが重なり合い、その恩恵を受ける複雑な環境になっている。

<<このシリーズの前の記事を読む | このシリーズの次の記事を読む>>

About Andrew Oram:

Andy is a writer and editor in the computer field. His editorial projects at O'Reilly Media ranged from a legal guide covering intellectual property to a graphic novel about teenage hackers. Andy also writes often on health IT, on policy issues related to the Internet, and on trends affecting technical innovation and its effects on society. Print publications where his work has appeared include The Economist, Communications of the ACM, Copyright World, the Journal of Information Technology & Politics, Vanguardia Dossier, and Internet Law and Business. Conferences where he has presented talks include O'Reilly's Open Source Convention, FISL (Brazil), FOSDEM (Brussels), DebConf, and LibrePlanet. Andy participates in the Association for Computing Machinery's policy organization, USTPC.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です