Wine の歴史
Wine の始まりは1993年にさかのぼります。当時の複数の勢力は、魅力的な Windows アプリケーションが動作させるということに焦点を当てていました。Microsoft は Windows プログラムをパソコンの重要な部分にすることに成功したのです。IBM は OS/2 に Windows プログラムを起動させる機能を搭載されることを望ましたが、 but even they admitted that support of Windows programs was necessary and built the ability into their product.1980年代、フリーソフトウェア運動は急速に拡大し、PC上のオペレーティングシステムで、マルチユーザー、マルチタスクを可能にするといった、基礎的な部分も構築されてきていました。
1992年9月に Sun が買収した Praxsys Technologies 社はWabiと呼ばれる製品の開発をめざしました。 Sun は初め1993年に Solaris 開発者会議でこのソフトウェアを提示しました。 これは SPARC 用の Solaris x86 および Solaris 2.2 のユーザーは箱から出して、Windowsアプリケーションを実行することができるというものでした。そのころの他の製品は Windows プログラムを起動させるのに、マシンレベルのエミュレーションと DOS と Windows のインストールが必要でした。Wabi では Windows のウィンドウを呼び出すのに翻訳し直接 X windows を呼ぶという独自のシステムでした。残りの x86 コードのエミュレートによって、RICS ワークステーション上で Windows プログラムを実際、速く動かすことを可能にしたのです! Wabi の高度な機能であるビットストリームのフォントを処理する技術は、TrueType フォントを処理する仕組みのきっかけとなりました。
1993年6月、出来初めの Linux オペレーティングシステムのユーザー達は同様の可能性について議論を始めました。この時点では、 Wabi が Linux に移植される可能性はほとんどありませんでした。メーリングリストでは議論を促進するように決定がなされ、名前は "Wine" に迅速に決まりました。 初期の Wine の開発者には、Eric Youngdale と David Metcalfe を含む初期の Linux カーネルハッカーの名前も含まれていました。他に有名な開発者に Alexandre Julliard も含まれています。彼は現在の Wine プロジェクトのリーダーです。他にも GNOME で有名な Miguel de Icaza 、Bob Amstadt も開発を行っていました。
最初の作業は、Windows の16ビットバイナリを実行することができる、プログラムローダを構築することから始まりました。その作業については主に Bob が先頭に立って行っていました。Alexandre は Peter MacDonald によって書かれた Tcl/Tk のウィンドウ関数のマージについて中心で関与していました。急速な進歩によって、最初の6ヶ月以内にソリティアを実行することが可能になりました。1993年11月はまた別のアーキテクチャに始めて Wine を実行できる環境を構築できるようになりました、John Brezak は Wine を NetBSD で実効できるようにするパッチを提出したのです。Bob は当時の開発チームの進度ではリリースに6ヶ月から1年遅れるだろうと推定していました。皮肉な事に、Wine は引き続き、次の10年のリリースからその6ヶ月から1年になるとされています。
初期の開発者間の伝達には、Linux-kernel メーリングリストを含む多くの方法をとりました。最初期の Wine メーリングリストは Robert によって運営されており、開発者間で議論が出来るようになりました。1年後、多くの成功とプロジェクトの関心の高まりから、彼らは、ニュースグループ "comp.emulators.ms-windows.wine" の作成を求めました。 この投票には Wine の創造性が圧倒的に支持されて、1994年7月19日、ユースネットの階層の一部となりました。 現在、もっとも開発に関する議論を行っているメーリングリストは1998年10月に Doug Ridgway が作ったものです。
近年、Wine の開発では多くの変化が訪れました。1994年に Robert は開発から手を引き、Alexandre が Wine の開発を引き継ぎました。また、ウィンドウを純粋な Xlib から呼び出せるようにコードを書き直しました。おそらく最も変わった点としては、Microsoft が 32bit オペレーティングシステム用の新しい関数を追加しリリースしたことでしょう。 It was no longer enough to just load code and run it, a tighter integration was needed with the underlying operating systems (primarily Linux.) Mechanisms needed to be added that supported network connections and registry files.Wine のアーキテクチャは、アプリケーション空間で共有するアドレス空間に依存していました。徐々にそのアドレス空間を分離、セキュリティを強化し、同じ空間へアクセスすることのサポートが必要なことが分かりました。2000年初めにその作業が開始され、現在でも作業は進められています。
Alexandre が初めての Wineconf で行った基調講演で Wine について、近年起こった、次のような重要な出来事を語りました。
- 1995年 5月:Win32のサポートを開始
- 1995年 7月:autoconfに転換
- 1996年 1月:Word、Excelが実行できたことが報告された
- 1997年 11月:Wine公式サイト「winehq.com」を創設
また、ボランティアによるプログラミング以外の貢献活動も始まりました。John Sheets と Susan Farley はオリジナルのドキュメントの制作を、 Doug Ridgway は1997年に WineHQ ウェブサイトの設定を行いました. Ridgway は1997年にWineウェブサイトの設定を行いました。このサイトは Corel が数年間維持し、2002年からは CodeWeavers がサイトを引き継いでいます。Jeremy Newman は現在ウェブマスターになっています。1999年には Wine ウィークリーニュース が始めてウェブサイト上に登場しました。最初期は Eric Pouech によって記事は書かれていましたが、2001年から Brian Vincent がその地位を受け継ぐことになりました。 今日に至るまでにいろいろな機能がこのウェブサイトに追加されています。A redesign in early 2003 added several pages to help new users get acquainted with Wine, project lists for developers to think about, and a large list of Frequently Asked Questions.
1998年、Corel は戦略上の理由から積極的な Linux へのサポートをすることが決定されました。そこで重要な要素になったのが、Linux をベースとしたシステム周りでインストールが簡単にでき、そして容易に使用できる環境を提供することでした。その目的のため, 彼らは Linux ベースのディストリビューションと Corel のアプリケーションをサポートすることができる事を求めました。 Corelのオフィスプログラムは、よりハイレベルな Wine の機能を必要としました。 Wine の歴史上始めて、商業開発の資金調達が Corel より行われました。内部的には、Corel は2つの Linux 部門のチームを持っており、1つのグループはサーバーについての開発に集中し、もう1つのグループはアプリケーションのサポートを行っていました。Corel は Wine と良好な関係を維持し、CodeWeavers のように作業を部分的に別の会社が関与していたところもありました。
そんな良好な状態もすぐに弾け、2000年の終わりには Corel が Linux のサポートを中止すると言う噂が流れ始めました。2001年初頭、Corleは正式に Linux のサポートを中止する事を決めました。具体的には Linux 部門を分離独立させ、仕事を分配させるというものでした。Corel から Wine へ支援は潰えたのです。その後、知的財産権と一部の開発者は新しい Linux 関係の会社、Xandrous の形成につながりました。
この空白を埋めるために他の所に所属するのは時間はかかりませんでした。その頃、既に Alexandre は Wine に関する低レベルな仕事の多くを CodeWeavers と共に行う立場でした。CodeWeavers は既に1999年に Wine と関わっており、Corel のアプリケーションの利益になる Wine の一部を改善するために Corel と契約をしていました。CodeWeavers は自社製品の開発と Wine の完成度を向上させることを始めました。彼らが開発した Wine の独自バージョンには、グラフィカルな管理ツールと容易なセットアップが含まれました。複数のディストリビューションからそのダウンロードを可能にしました。 彼らの最初の製品である CrossOver Plugin は Linux ユーザーに Windows 用に設計された NetScape プラグインの実行をすることができるようになりました。この製品の新しいバージョンではさらに多くのプラグインのサポートが追加されました。2002年3月、彼らは Excel や Lotus Notes のようなオフィスアプリケーションのサポートを提供するために「CrossOver Office」をリリースしました。
Gavriel State は Corel に所属していましたが退職し、2001年8月、TransGaming を設立しました。最近の PC ゲームでは入力デバイスから 3D アクセラレーションまで Microsoft の DirectX がインターフェイスの中心になっていました。 By tying it to their operating systems it made porting games to different platforms very difficult. Wine での DirectX のサポートは1997年に Marcus Meissner によって追加されていましたが、非常に限られていました。Gav はゲーマーのために設計された Wine の商品開発をすることを決め、たくさんあるDirectXの技術をサポートするよりも、初期作品のコピー保護対策のためのサポートに焦点をあてました。2001年10月に、WineX 1.0 は6つのゲームをサポートしリリースされました。
また、2001年には別の会社が Wine を使用する意向を表しました。Lindows.com はユーザーが簡単に Windows プログラムを実行でき、使える Linux ディストリビューションを作成したいと考えていました。 It wasn't long before they abandoned the idea in favor of native Linux applications. Before that happened they sponsored Wineconf - 世界から開発者が一同に集まる、2002年3月に3日間わたって行われた Wineconf の前に、Wine コミュニティではライセンスに関する問題が活発的に罵倒協議されました.
Wine's storied history of licensing has sparked many debates. The issue of licensing surrounds itself with two primary areas - the license of the Wine code itself and the license of applications produced using Winelib. The Wine developers' goal is to give people the ability to both implement and add to the Wine project in such a way it doesn't hinder others from doing the same. At the same time they want to give other developers the chance to port their application without the fear of being bound to a software license that prevents them from doing what they want with their creation.
In the beginning, Wine adopted a BSD-style license. At the end of 1999 discussion began about changing the license. Richard Stallman had pointed out that it was incompatible with the GPL which potentially causes problems with any open source project wishing to use Wine code. Most developers didn't see a need to craft a new license and the X11 license, a derivative of the BSD license, had the most support. A vote was called for and in January of 2000 Alexandre announced that it would become the new license of Wine.
In March of 2002 a poll was conducted among both the free and commercial developers of Wine to see if there was interest in moving to a different license. Most developers did not want their code to be appropriated by a commercial entity and there were concerns that might happen. After much debate they chose the Lesser General Public License and on March 9th, 2002 the Wine source code became bound to those terms. The LGPL, often referred to as a "copyleft" license, required the Wine developers to abide by some guidelines:
- Source code (including all changes from the original Wine sources) must be made available to people who receive a binary of Wine. This also applies if Wine is used as a library, in which case only the source of Wine (including all changes) must be made available.
- Simply linking with Wine does not mean you need to make the source code available for your program.
The immediate effect was the creation of the ReWind project to further the X11-licensed codebase. Many key developers agreed to allow their additions to be used by both the X11 and LGPL Wine code. Most have decided to focus their efforts on synchronizing with the LGPL'ed Wine and the vast majority of development and new features appear there first. Picking a favorite software license is left as an exercise for the reader.
Shortly after changing the license development began to pick up at a greater pace. More patches began to appear, Alexandre made more CVS commits, and more applications were reported to work. By the end of 2003 DLL separation achieved a milestone with the split of the kernel32/ntdll combination. Most of the architectural changes to support a beta release were in place. Another developer's conference was held in January, 2004 in St. Paul Minnesota sponsored by CodeWeavers. Once again, a roadmap was laid out for tasks that needed to be completed.
2005年、Wine 0.9.0 は"ベータ品質"だと宣言されました(多くのプログラムが動かないのでなく、動くようになったのです)、そして2008年中盤、Wine 1.0 がついにリリースされました。次の Wine 1.2 は … WineReleasePlan をご覧ください。
開発はたちまち続けられました。新しい開発版は2週間ごとにリリースされています。Wine のC言語で記述されたコードは過去10年間で140万行まで膨れ上がりました。また、700人近くの人が何らかの方法で Wine に貢献をしてきました。いつも通り、今年か、もしかしたら来年の速い段階で Wine のリリースが行われることが想像出来るでしょう。Or perhaps we'll just wait for you to become involved and finish those important user interfaces and documentation bits.
