マーク・ルシノビッチ曰く、Windowsのオープンソース化は間違いなく可能 107
ストーリー by headless
主張 部門より
主張 部門より
Microsoftのテクニカルフェローを務めるマーク・ルシノビッチ氏がChefConf 2015で講演し、Windowsをオープンソース化することも可能との考えを示したそうだ(WIREDの記事、
本家/.)。
ルシノビッチ氏はMicrosoftの顧客である非常に多くの企業がオープンソースコードに依存しており、このことをMicrosoftも受け入れる必要があると述べ、クラウドサービスでオープンソースソフトウェアを実行できるようにするだけでなく、Windowsもオープンソース化する必要があるという。ただし、「天才エンジニアがセットアップに3か月かかるようなビルドシステムが付属したソフトウェアをオープンソース化することに何の意味があるのか」とルシノビッチ氏が述べるように、今すぐWindowsがオープンソース化されるわけではない。それでもルシノビッチ氏はWindowsのオープンソース化が間違いなく可能であり、これが新しいMicrosoftなのだからと主張したとのこと。
WindowsはMicrosoftの大きな収入源となっているが、オープンソース化しても多くの企業はベンダーを必要とするため、引き続きMicrosoftの収入源であり続けるとWIREDの記事は予想する。オープンソースは無料か無料でないかというだけでなく、コードを共有することで無数の結果を生むとのことだ。皆さんはどう思われるだろうか。
ルシノビッチ氏はMicrosoftの顧客である非常に多くの企業がオープンソースコードに依存しており、このことをMicrosoftも受け入れる必要があると述べ、クラウドサービスでオープンソースソフトウェアを実行できるようにするだけでなく、Windowsもオープンソース化する必要があるという。ただし、「天才エンジニアがセットアップに3か月かかるようなビルドシステムが付属したソフトウェアをオープンソース化することに何の意味があるのか」とルシノビッチ氏が述べるように、今すぐWindowsがオープンソース化されるわけではない。それでもルシノビッチ氏はWindowsのオープンソース化が間違いなく可能であり、これが新しいMicrosoftなのだからと主張したとのこと。
WindowsはMicrosoftの大きな収入源となっているが、オープンソース化しても多くの企業はベンダーを必要とするため、引き続きMicrosoftの収入源であり続けるとWIREDの記事は予想する。オープンソースは無料か無料でないかというだけでなく、コードを共有することで無数の結果を生むとのことだ。皆さんはどう思われるだろうか。
非常に複雑なソフトウェアはソース公開しても無意味 (スコア:5, 参考になる)
「オープンソース」というのが、単に無料にしろ! という意味ならそれは可能かもしれないけど
派生、改善、バグフィクスとかは、ごく小規模のものしかできないと思う
n百人年投資しているだろう、MS自身が積極的に関与するなら別だけど
Joel On Software私訳
http://anond.hatelabo.jp/20080227113835 [hatelabo.jp]
青木さんの本にも同文の翻訳あります
Re:非常に複雑なソフトウェアはソース公開しても無意味 (スコア:1)
Windowsアプリのデバッグ時に、デバッガに噛ませてWindows搭載ライブラリ内の該当行を表示するとか。
ライブラリのコードが読めても役立たないかもしれませんし、私は(Gtk/Qtばかりで)VisualStudioでのWindowsアプリの開発経験がないので、それが役立つのかどうかわかりませんが。
少なくとも、リードオンリで使う(コードを参照する)分には、役に立つ場合もありそうかな、という気はします。
もし、レイモンド・チェンのブログに書かれているような互換性Fixや、Joel on SoftwareのBillGレビューの時のような内容が、コード中コメントやドキュメント化されているなら、それはとても面白い読み物かもと思う。
(でもきっとそうなってはいない)
Re: (スコア:0)
VisualStudioだとCRTとかプログラミング言語に近い領域のライブラリはソースが提供されてて、
特定の操作がWinAPIレベルでどう動作するのかとかは調べられるようになってますね。
VC6とかの頃はOSのデバッグシンボルも付いてきてインストールすれば使えたらしいですが、
こっちは触ってないのでよく分からず。今でもSDKとかDDKにはついてるんだろうか?
あとマイクロソフトと契約することでソースコードを得られるって話も聞きますね。
デバッグ向けのリードオンリなソース開示は意外とやってる方といえるかもしんない。
Re:非常に複雑なソフトウェアはソース公開しても無意味 (スコア:3, 参考になる)
デバグシンボルは Microsoftのシンボルサーバからダウンロードできるようになってます.
以前は設定が必要でしたけど今の Visual Studio だとメニューで選ぶだけでダウンロードしてきてくれますよ.
Re:非常に複雑なソフトウェアはソース公開しても無意味 (スコア:1)
ソースコードの公開は、オープンソースコミュニティへの丸投げと同義ではありませんよ。
ソースコードは公開して自由に使っていい(修正して使ってもいい)けど、従来どおりメーカー(マイクロソフト)が一義的に開発を行なうというスタンスでも、十分に「オープンソース」が成り立ちます。
Re: (スコア:0)
やるとすればスリム化
過去の遺産とかごっそり削ってやる
Re:非常に複雑なソフトウェアはソース公開しても無意味 (スコア:1)
過去の遺産を削ってしまうのであればWindowsである理由がないような…
Re: (スコア:0)
うん??全くそんなことないと思うけど
どんな状況を想像してる???
Re:非常に複雑なソフトウェアはソース公開しても無意味 (スコア:1)
nLiteとかvLiteとか思い出します。
OSASK/ReactOS/Linuxと並んで、私がこの業界にハマり込んだ、きっかけのひとつでした。
誰かがビルドシステムを整理して、カスタム項目一覧を付けたアプリを出したら、nLiteみたいな感じになるかも。
Re: (スコア:0)
Windowsが重いのは巨大な互換ライブラリが原因ですからねぇ。
それでいてWindowsのライブラリは流行の取り込みが遅く、柔軟性も低い(機能の拡張に制限がある)ので、
結局は独自実装するか、オープンソースのライブラリが好まれている現状。
Re: (スコア:0)
windowsは8年前のハードウェア、core2duo 2GHzにメモリ4GBでべつに重くはないですが、いったい何と比較しているんでしょう
Re: (スコア:0)
あ、メモリは3GBしか認識してないのかな、アップルが捨てたmacbook 2006 lateですが
Re: (スコア:0)
Re: (スコア:0)
linuxと比べて、何やるにしても妙にディスクアクセスが多いせいか、待ち時間がすごくかかります。
もちろん、同じハードウェア上での話です。
Re: (スコア:0)
どっちもメモリへのキャッシュでごまかしているのでメモリが余っていればサクサクでふー。
//空きメモリが減った時のことは考えないようにしております
Re: (スコア:0)
プロセス起動のことでは。Windowsはプロセスの起動が遅いですね。理由はわかりませんが。
Unix系ツールのような、小さなプロセスを多数起動するようなスタイルだと、遅さを感じます。
Re:非常に複雑なソフトウェアはソース公開しても無意味 (スコア:1)
それは設計思想の違いによる物ですね。
Windows はスレッド指向なので、そもそもプロセスを軽くすると言う考え方は少なかったんだと思います。
UNIXのエミュレーションをやろうとすると辛いのは仕方の無い部分もあります。
Re: (スコア:0)
シェイプアップならMicrosoftが頑張っていて成果も出ています。
互換性の維持を目的として記述された部分とそうでない部分を読み分けるのは骨が折れるので止めて方が良いのでは?
何処までオープンに出来るやら (スコア:3, 興味深い)
Windows が Microsoft の技術・知的所有権だけで出来ているわけではあるまい。
クローズである事を前提に、提供された或いは強奪してきた他社技術・知的所有権が、無数に含まれている由側聞する。
これ等を処理・解決して公開に持って行くのは、壮絶な工数・時間を要するのでは?
Microsoft のビジネスモデルを別にしても。
Re:何処までオープンに出来るやら (スコア:2, 参考になる)
Solarisという前例がありますね
Re:何処までオープンに出来るやら (スコア:2)
Re: (スコア:0)
Sunは会社ごとソフトを買ってはオープンソース化する暇そうな会社でしたね。
Re: (スコア:0)
ほとんどタダ同然で売ってたSolaris media kit買って遊んでました。
あの頃のSunは好きだった。
#商売は二流だったけど。
#あぁJavaという問題児もいたか。
Re: (スコア:0)
OS/2がオープンにできない理由ですな
想像するに (スコア:2)
もしたしたら後方互換のための機能だけプロプライエタリな追加パッケージにして有償提供し、そうし゜ゃない部分はオープンソース化してしまうという方法もあるかも。あるいは基本機能はオープンソースで無償提供し、追加機能とサポートを『プレミアム サブスクリプション』として有償提供するとか。
今の Microsoft のスタンスからすると、現実的にありそうなシナリオですね。
Re:想像するに (スコア:1)
以前からコードのリファクタリングを進めているそうだから、外野が思うよりそんな未来は近いかも。
VC++ の CRT をリファクタリングする前は、printfだけで 142 種類 [infoq.com]あったとか。
Re:想像するに (スコア:3)
その記事の元になっている Visual C++ Team Blog の記事 [msdn.com]には「CRT は変種を含めて printf を 142 種類提供している」 (The CRT provides 142 different variations of printf) とあるので、リファクタリングでその個数は変わらないんじゃないかな。
なお、 CRT のソースコードのほとんどは Visual C++ に付属していて (Express でも)、 printf のコードもそこに含まれている。見てみると、ブログ記事にある通り条件コンパイルの嵐で、恐ろしいものの片鱗を味わえるよ。
とりあえず (スコア:1)
「天才エンジニアがセットアップに3か月かかるようなビルドシステム」をなんとかするだけで劇的な改革になると思うのですが。
Re: (スコア:0)
別にMS社内で困ってないならいいんじゃね?
ビルドシステムが優秀だからってそのOSが優秀とは限らない
Re: (スコア:0)
社内向けには天才エンジニアが三ヶ月かけてビルドアップシステムをセットアップしたwindowsのイメージがあるのでそれを使うのでは?
Re: (スコア:0)
ビルドアップシステムなんて、一度構築してしまえば、使いまわすだけですからね。正常運転されている限り、通常は再構築なんてしないものですよ。
Re: (スコア:0)
Androidでさえ個人が持つのはためらうようなリソースないとビルドできないわけですが。
Windows一式だといったいどんなことになるのか想像さえつかない。
なんともならないから(新規にセットアップすれば)3か月かかるビルドシステムなんだよ。
Re:とりあえず (スコア:1)
Core 2 DuoでAndroidビルドをしている私が通りますよっと…
# ソースコードのダウンロードには時間がかかるけど、それを除けばビルド環境の構築なんて一発ですよ。
# Androidと比べるよりはデスクトップ向けLinuxディストリビューションと比べたほうがいいのでは?
Re:とりあえず (スコア:2)
#2790952 でも #2791055 でも、 Android の複数のバージョンをビルドするなんて話は出ていないと思うんだけど。
Re: (スコア:0)
どういう文脈で言っているのは知らないが、ビルドシステムって言っても
ここで言っているのはC.I.まで含めたもっと複雑なシステムなんじゃないかなぁ
(あくまで想像だが)
そうであれば、C.Iのシステム全体をオープンにするのも、あるいは逆に純粋にビルドに
必要な部分だけを切り出してオープンにするのも、そりゃ結構な手間だろう。
もっともそうでなくたって、あんな大量の配布物を含んでる代物なんだから、
そりゃ1からセットアップするのは大変だろうし、MSの判断でオープンに出来るものと
そうでないものを切り分けてビルドできるようにするのだって、考えただけでもぞっとする。
Wineを忘れないで (スコア:1)
Windowsオープンソース化したら影響を受けるだろうソフトとして、真っ先にWineを思い出したんですけど。
forkしたら (スコア:0)
悪夢だな
Re:forkしたら (スコア:2)
たとえソースを公開したところで、fork可能なライセンスにはしないでしょうけどね。
Re:forkしたら (スコア:1)
forkできないのに、オープンソース?
Re:forkしたら (スコア:1)
Re: (スコア:0)
複数形だと Windowses かな
Re: (スコア:0)
中国がforkしそうで怖いです。
Kingsoft Windowsとか。
Re:forkしたら (スコア:1)
Kingsoft って、和訳するとすごい名前。
王者のソフトウェアか。王者か……。(そういう意味ではないのだろうけど)
ふと、ぷにえの「打撃系など花拳繍腿(かけんしゅうたい*1)、関節技(サブミッション)こそ王者の技よ」という台詞が思い浮かんだ。
*1 華やかだが見かけだけの技
脆弱性 (スコア:0)
OSSにするってことは脆弱性が見つかりやすくなる
OSS化した直後は大規模な攻撃が起きるだろうからなかなか踏み切れないと思う
Re: (スコア:0)
既に研究や組込用途で限定した人々は公開してるし秘匿によるセキュリティはやってないんじゃないか?
Re: (スコア:0)
まーだOSSにそんな幻想抱いているおバカさんがいるのか。昨今のOSSの大失態でいい加減目を覚ませよ。
Re:脆弱性 (スコア:1)
ならなおさらだね。元コメをよく読め。
「脆弱性が見つけやすくなる」のは善意の協力者ではなく悪意の攻撃者だ。
OSSの目玉数理論は「善意の協力者による発見」が「悪意の攻撃者による発見」を上回ることでリスクをコントロールするって理論。
それが破綻するということは「善意の協力者による発見」が思うように伸びないという話であって、
報酬や動機、(おそらくは専門化による)技術もある「悪意の攻撃者による発見」が減ることを意味しない。
OSSの目玉数理論という幻想から目がさめた場合、元コメの言うリスクはより深刻に意識せざるを得ないだろう。
ビルド用AIってのは出来ないかしら (スコア:0)
天才エンジニアがセットアップに3か月かかるようなビルドシステム
「良きに計らえ」というだけで、ソースを調べて必要な環境を集めてきたり、セットアップしたり、
パッチを当てたりしてくれて、コンパイルを通すところまでやってくれるの。ああ、夢のよう。
(で、勝手にコンパイラやライブラリのバージョンを変えられて、他のビルドが通らなくなるんだ)
あるいはmakeスクリプトの中に環境のセットアップやソースのダウンロードも記述できるようにするとか。
環境をそろえる手順がマニュアル化できるなら、自動化もできると思うんだ。
そもそも (スコア:0)
オープンソースにするってのは、ライセンスフリーにすることではないですよね?
本気でオープンソースなら、Microsoft以外が勝手に
Windowsをリビルドして適当な名前で売ってもいいことになるが、
そこまでは言わないでしょ?
言ってるのかな。それならさすが「新しいMS」といえるけど。
あなたの見解がずれてると思う (スコア:1)
えー
OSS(≒無料)なんてありえない。Excel の。
現状、MSのOSや開発環境は、OEMとかなんちゃらライセンスとかで、かなりディスカウント、もしくはほぼ無料なわけです。
なのに、Excel(Office、といってもいい)すら無料になったら、MSはどうやってお金を手に入れるの?
MSの生き残り戦略は、Office で小銭を集めて会社をまわして、
クラウド方面で覇権を握ってサブスクリプションで勝負、
と、私は認識している。だから Office は最後の大事な手駒。
なんか間違ってる? まぁ10年後のビジョン、と言われるとよくわかんないけど