Ubuntu Proが利用可能に 11
一般提供 部門より
アナウンス:スラドとOSDNは受け入れ先を募集中です。
広く使われていたとされるMozc用辞書「Mozc-UT」について、Twitter上でライセンス上の不透明感について疑問を投げかける投稿が何度かあり、作者本人は問題とは思っていないものの生活への影響への懸念から公開を停止、このことが波紋を呼んでいるとのこと。
リンク先には
・主にLinuxにおける日本語変換環境に関する困難な状況
・オープンソースプロジェクトを継続する困難さ、特にモチベーション維持
などについて書かれている。
kawakazuさんの日記
https://srad.jp/~kawakazu/journal/659581/
で知りました。
Linuxに実装されているMotorola MC68000(m68k)アーキテクチャ向けに最適化された文字列比較に使用される「strcmp」関数の手書きのアセンブリコードが、2010年10月の実装時から2022年12月まで12年間の間、正常に動作していなかったことが判明した。Linus Torvalds氏はこの件に関して「常に壊れていた」と発言している(Phoronix、Linus Torvalds氏による説明)。
この問題についての詳細をツイートしているFadis氏の説明を引用すると、
Linuxのm68kサポートには2010年にアセンブリで書かれた高速なstrcmpの実装が追加された。しかしこの実装は2つの文字を8bit整数のまま減算して結果が0でなければそれを返り値とするという実装だった為、非ASCII文字を含む場合に正しくない結果を返す不具合があった
とのこと。
GNU Libc(glibc)にDT_HASHを含めるか,DT_GNU_HASHのみにするかはビルド時に選択できたが、おおくのdistroはDT_HASHを含めて出荷していた(IVYL'S BLOG)。
elfのシンボルハッシュを使うプログラム(libstrangle)などはDT_HASHに依存していた。DT_GNU_HASHのみになったのでそれを前提としていたプログラムから見ると、後方互換性がなくなったように見える(ただ、DT_HASHはABIの一部ではなかったので,glibcから見ると後方互換性の約束を一応守っている,ちなみに、glibcは前方互換性は保証してないので、リリースサイクルの遅いdistroだとバイナリが動かなかったりするよね)
少し前(8月くらい)にlinuxコミュニティで話題になっていたことだが、
まだsradで書かれてなかったのでかいてみる
60代の男性(自称:会社役員)が、80代の男性を、秋葉の駅でエスカレータの使いかたで揉めてキレちゃって投げとばすだー蹴りを入れるだーして捕まったそうです。なんで揉めちゃうかな。
駅の客同士のトラブルなんてべつに珍しかないんで、へえニュースになるんだー、ってくらいですけど、ニュースで「秋葉原駅で」って見出しが載るとなんか胸がどきどきするようになっちゃったのは僕だけでしょうかねー。あーやだやだ。
2014年のMaxwell-v2(第2世代Maxwell)以降、NvidiaはGPUの周波数変更などの電源管理機能にアクセスするため署名付きのFirmwareを必要とするようになった。しかし、Nvidiaのクローズドなドライバから暗号化鍵やFirmwareを抽出することは、技術的にも、それを配布することはライセンス的にも困難となり、オープンソースカーネルドライバでの周波数変更ができなくなり、起動時の低い周波数に固定されることで、性能を出すことが不可能になった(Phoronix、Phoronixその2、True DMABUF support、Clarification on GPU support for Maxwell/Pascal archs and binary/OS relationship)。
その他のAMD製GPUやIntelのGPUは、Firmwareを再配布可能なライセンスにし、また両者とも(AMDは2015年以降、Intelはもっと前から)カーネルドライバをオープン(GPL)にしているため、そのような問題はない。カーネルドライバがクローズドなことの問題点はセキュリティや、バグを直すことができないことの他にも、DmabufなどのカーネルのAPIはGPLでライセンスされているため、クローズドなカーネルドライバでは提供することができないという点もある。
Nvidiaは2022年、カーネルドライバのオープンソースバージョンを並行して提供するようになった。それは、GPUのメモリや電源管理機能の多くを、カーネルドライバから、GPUの内部Firmware(NvidiaはGSP(GPU System Processor)と呼ぶ内部CPU)に移したことで、可能になった(秘密にしておきたい内部を切り離した)。これにより、オープンソースカーネルドライバで周波数変更ができるようになり、また、DmabufなどのGPLライセンスされたAPIを実装しサポートすることを妨げるライセンス上の問題はなくなった。
しかし、GSPはTuring-architecture以降に導入されたものであり、NvidiaのオープンカーネルドライバではPascal以前はサポートできない。したがって、PascalとMaxwell-v2はオープンソースドライバでは周波数変更できず、クローズドソースドライバでは、Dmabufなどがサポートされていないという現状にある。さらに、それらの制約は技術的なハードの問題ではなく、ライセンスとNvidiaの反オープンソース的経営方針によるものだ。
この間、Intelはオープンソースカーネルドライバを提供し続け、またユーザースペースでも(Mesaでのi965, Iris, ANV)などオープンソースに貢献し続けた。また、AMDも2015年からカーネルドライバをオープンにし、ユーザースペースドライバを作るための情報を提供し、コミュニティベースのMesaでのRADVなどが販売中 - Steam Deなどにも使われている。このまま、PascalやMaxwell-v2は数年後Nvidiaのサポート対象から外れ、オープンソースカーネルドライバでの周波数変更もできないまま、死んだハードウェアになっていくのだろうか?
Microsoft Store 版の Windows Subsystem for Linux (WSL) がバージョン 1.0.0 に到達した (リリースノート、 BetaNews の記事)。
前のバージョン 0.70.8 がリリースされたのは 11 月 5 日だが、それから 10 日ほどで一気にバージョン 1.0.0 まで進んだ。「Preview」のラベルも外れ、非 Insider 環境の Windows 10 / 11 (ビルド 19041 以降) での利用も可能になっている。
多数の修正点や改善点が列挙されていたバージョン 0.70.8 のリリースノートとは異なり、バージョン 1.0.0 の変更内容は「Preview」ラベルが外れたことのほか、以下の 2 点のみ。
- ブート中に /tmp/.X11-unix ソケットが削除されないよう generator.early のオーバーライドを使用
- ブート中に systemd がタイムアウトする問題を修正するため、systemd 用の pty を作成しない
RHEL 9互換 10年の長期サポート
Linux では i386 のサポートを 2012 年に終了しているが、2022 年は i486 のサポートを終了する時ではないかと Linus Torvalds 氏が提案している (Torvalds 氏のメーリングリスト投稿 [1]、 [2]、 Phoronix の記事、 Neowin の記事)。
提案は現在ほとんど使われていない古い CPU をサポートするため cmpxchg の処理が複雑になっていることへの対策であり、x86-32 では「cmpxchg8b」インストラクションをサポートする CPU (Pentium以降) のみをサポートすることにしてはどうか、というものだ。これにより、CONFIG_MATH_EMULATION もついに消すことが可能になるとのこと。
Torvalds 氏はほとんど (全部?) のディストロが既に (X86_CMPXCHG64 を基本要件に含む) X86_PAE を有効化していると考えており、ほとんどのディストロが 32 ビットの開発をしていないと確信しているという。また、486 関連の開発をしている人がいないわけではないことを認識しつつ、新規出荷されている 486 クラスのハードウェアがほぼないことを指摘。カーネル開発の観点で i486 サポートの重要性はないとのこと。
i486 ハードウェアはそのうち博物館の収蔵品となり、博物館のカーネルで動作することになるとし、要件を cmpxchg8b に引き上げることが不合理だとは思えないという。Torvalds 氏は i486 をサポートするカーネルが必要なら LTS を使えばいいとも述べている。Phoronix では Linux 6.1 が今年の LTS カーネルになると予想しており、Linux 6.2 で i486 サポートが削除されることを期待している。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常