アカウント名:
パスワード:
福岡県が「組み込み向けRuby」の開発を行うと発表 [srad.jp]という話がありましたが、今このタイミングでのBSDLへの変更というのは、これを見越したことかなと思いました。組み込みに使うとかの産業用とだと、GPLは使い勝手が悪いというかBSDLの使い勝手がすごく良い。
GPLベースで考えた場合、「GPLでライセンスされているRuby処理系の一部をハードウェアで実装しなおしたもの」であるRubyチップコアの設計内にGPLなものが入ることになります
GPLベースで考えた場合、「GPLでライセンスされているRuby処理系の一部をハードウェアで実装しなおしたもの」であるRubyチップコアの設計内にGPLなものが入ることになります。
ハードウェアで再実装したのなら別物なのでは?#でなければライセンスに問題のあるコードを書き直してクリーンに。って作業が出来なくなる。
今ならRubySpecあるから出来ると思う
Rubyはソースが仕様だからソース見ないで再実装することはできないし。
Ruby のソースから仕様だけを起こす人と、その仕様を見て実装する人を完全に分けてしまえば再実装できますよ。
# それをやっちゃったのが Microsoft の IronRuby だし。元々 BSDL だったらこんな必要なかったんだろうなー(笑)
> ハードウェアで再実装したのなら別物なのでは?
ハードウェアかどうかは問題ではなくて、クリーンな再実装ができるかどうかの問題だと思います。ただでさえ、Rubyは長らく「仕様書はMatz氏の頭の中」もしくは「ソースが仕様書」という状態が続いてきてますし、
Rubyチップの設計は「Rubyバイトコードコンパイラ」+「バイトコード実行ハードウェア」すなわち、「Rubyチップ」≒「YARVチップ」みたいな実装になるかと思いますが、
このバイトコードコンパイラ部分を含めて全てを一から作るのではなく、既存のRuby処理系をベースに、コアの部分を抽出してハードウェア化する、という形態が実現性が高いと思います。(この場合、ソフトウェアからハードウェアへの翻案であり、ハードウェアでの再実装に対しソフトウェアの著作権が影響する)
そうならないように、内部的な仕様を抽出してまでクリーンルーム方式で開発するのは無駄が多いし、ライセンス変更で解決するなら、そうすることを選ばない理由はないかな、と。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
組み込みrubyに向けての下準備? (スコア:3, 興味深い)
福岡県が「組み込み向けRuby」の開発を行うと発表 [srad.jp]という話がありましたが、今このタイミングでのBSDLへの変更というのは、これを見越したことかなと思いました。
組み込みに使うとかの産業用とだと、GPLは使い勝手が悪いというかBSDLの使い勝手がすごく良い。
GPLベースで考えた場合、「GPLでライセンスされているRuby処理系の一部をハードウェアで実装しなおしたもの」であるRubyチップコアの設計内にGPLなものが入ることになります
Re:組み込みrubyに向けての下準備? (スコア:0)
ハードウェアで再実装したのなら別物なのでは?
#でなければライセンスに問題のあるコードを書き直してクリーンに。って作業が出来なくなる。
Re:組み込みrubyに向けての下準備? (スコア:1, 興味深い)
Rubyはソースが仕様だからソース見ないで再実装することはできないし。
Re:組み込みrubyに向けての下準備? (スコア:1)
今ならRubySpecあるから出来ると思う
Re:組み込みrubyに向けての下準備? (スコア:1)
Ruby のソースから仕様だけを起こす人と、その仕様を見て実装する人を完全に分けてしまえば再実装できますよ。
# それをやっちゃったのが Microsoft の IronRuby だし。元々 BSDL だったらこんな必要なかったんだろうなー(笑)
Re:組み込みrubyに向けての下準備? (スコア:1)
> ハードウェアで再実装したのなら別物なのでは?
ハードウェアかどうかは問題ではなくて、クリーンな再実装ができるかどうかの問題だと思います。
ただでさえ、Rubyは長らく「仕様書はMatz氏の頭の中」もしくは「ソースが仕様書」という状態が続いてきてますし、
Rubyチップの設計は「Rubyバイトコードコンパイラ」+「バイトコード実行ハードウェア」すなわち、
「Rubyチップ」≒「YARVチップ」みたいな実装になるかと思いますが、
このバイトコードコンパイラ部分を含めて全てを一から作るのではなく、
既存のRuby処理系をベースに、コアの部分を抽出してハードウェア化する、
という形態が実現性が高いと思います。
(この場合、ソフトウェアからハードウェアへの翻案であり、ハードウェアでの再実装に対しソフトウェアの著作権が影響する)
そうならないように、内部的な仕様を抽出してまでクリーンルーム方式で開発するのは無駄が多いし、
ライセンス変更で解決するなら、そうすることを選ばない理由はないかな、と。