<?xml version="1.0" encoding="euc-jp"?> <!-- The FreeBSD Documentation Project The FreeBSD Japanese Documentation Project Original revision: r42186 $FreeBSD$ --> <chapter id="introduction"> <chapterinfo> <authorgroup> <author> <firstname>Jim</firstname> <surname>Mock</surname> <contrib>改訂: </contrib> </author> </authorgroup> </chapterinfo> <title>はじめに</title> <sect1> <title>この章では</title> <para>&os; に興味を持っていただきありがとうございます! この章では &os; の歴史、目標、開発モデルなど、 &os; プロジェクトに関するさまざまな事柄を扱います。</para> <para>この章に書かれている話題は、次のようなものです。</para> <itemizedlist> <listitem> <para>&os; とその他のオペレーティングシステムとの違い</para> </listitem> <listitem> <para>&os; プロジェクトの歴史</para> </listitem> <listitem> <para>&os; プロジェクトの目標</para> </listitem> <listitem> <para>&os; オープンソース開発モデルの基本的な考え方</para> </listitem> <listitem> <para>そして、<quote>&os;</quote> という名前の由来について</para> </listitem> </itemizedlist> </sect1> <sect1 id="nutshell"> <title>&os; へようこそ!</title> <indexterm><primary>4.4BSD-Lite</primary></indexterm> <para>&os; は、4.4BSD-Lite から派生したオペレーティングシステムで、 Intel (x86 および &itanium;), AMD64, Sun &ultrasparc; コンピュータに対応しています。 他のアーキテクチャに対する移植も進行中です。 <link linkend="history">&os; の歴史</link>や、 <link linkend="relnotes">現在のリリースについて</link>も読むことができます。 プロジェクトへの何らかの貢献 (ソースコード、ハードウェア、 資金の提供など) について興味があれば、 <ulink url="&url.articles.contributing;/index.html">&os; への貢献</ulink>をご覧ください。</para> <sect2 id="os-overview"> <title>&os; で何ができるの?</title> <para>&os; には多くの注目すべき機能があります。 例を挙げれば以下のようになります:</para> <itemizedlist> <listitem> <indexterm><primary>プリエンプティブマルチタスキング</primary></indexterm> <para> 優先度を動的に調節する機能を備えることで アプリケーションとユーザとの間で円滑かつ公平な コンピュータ資源共有を実現し、 特に高い負荷にも耐えることができる堅牢さを備えた <emphasis>プリエンプティブマルチタスキング</emphasis>。</para> </listitem> <listitem> <para>多くの人々が 1 つの &os; システムをさまざまな目的で同時に使うことを可能にする <emphasis>マルチユーザ機能</emphasis>。 これは例えば、プリンタやテープデバイスといったシステムの周辺機器が、 そのシステムを利用する全てのユーザだけでなく ネットワーク経由においても自然な形で共有され、 さらに重要なシステム資源の使い過ぎを防ぐために 個々の資源に対する制限がユーザ単位、 グループ単位で設定できる、というようなことを意味しています。 </para> </listitem> <listitem> <para>SCTP や DHCP, NFS, NIS, PPP, SLIP, IPsec, IPv6 といった業界標準規格のサポートを含んだ堅固な <emphasis>TCP/IP ネットワーキング</emphasis>。 これによって、&os; マシンが商用サーバと同じように相互に運用でき、 NFS (リモートファイルアクセス) や、 電子メールサービスのような極めて重要な機能を提供します。 また、WWW や FTP, ルーティング、ファイアウォール (セキュリティ) サービスを用いてインターネットと接続できます。</para> </listitem> <listitem> <indexterm><primary>メモリ保護</primary></indexterm> <para>アプリケーション (あるいはユーザ) がお互いに干渉できない ようにする<emphasis>メモリ保護</emphasis>機能。 アプリケーションがクラッシュしても、 どのような場合でも他のアプリケーションには影響を与えません。</para> </listitem> <listitem> <indexterm> <primary>X Window System</primary> </indexterm> <para>業界標準である <emphasis>X Window システム</emphasis> (X11R7) は、普通の VGA カードやモニタでグラフィカルユーザインタフェース (GUI) を提供し、すべてのソースコードも一緒に提供されます。</para> </listitem> <listitem> <indexterm> <primary>バイナリ互換性</primary> <secondary>Linux</secondary> </indexterm> <indexterm> <primary>バイナリ互換性</primary> <secondary>SCO</secondary> </indexterm> <indexterm> <primary>バイナリ互換性</primary> <secondary>SVR4</secondary> </indexterm> <indexterm> <primary>バイナリ互換性</primary> <secondary>BSD/OS</secondary> </indexterm> <indexterm> <primary>バイナリ互換性</primary> <secondary>NetBSD</secondary> </indexterm> <para>Linux や SCO, SVR4, BSDI, NetBSD 用に作られた多くのプログラムとの <emphasis>バイナリ互換性</emphasis>。</para> </listitem> <listitem> <para>何千もの<emphasis>すぐに実行可能な</emphasis> アプリケーションが &os; の <emphasis>ports</emphasis> や <emphasis>packages</emphasis> コレクションで利用可能です。 ここに用意されているものはネットを探し回る必要がありません</para> </listitem> <listitem> <para>インターネット上で入手可能な、 <emphasis>移植が容易な</emphasis> 何千ものアプリケーションを追加できます。&os; は最も評判のよい商用の &unix; システムとソースコードレベルで互換性があります。 このため、ほとんどのアプリケーションは、 もしあったとしてもほんの少しの変更でコンパイルすることができます。</para> </listitem> <listitem> <indexterm><primary>仮想メモリ</primary></indexterm> <para>デマンドページング<emphasis>仮想メモリ</emphasis> とそれに <quote>付随の VM/buffer キャッシュ</quote> の設計は、 多くのメモリを要求するアプリケーションに対して 効率よくメモリを与えるようにする一方で、 他のユーザに対しても対話的な応答を維持します。</para> </listitem> <listitem> <indexterm> <primary>対称型マルチプロセッシング (SMP)</primary> </indexterm> <para>複数の CPU を搭載したマシンにおける <emphasis>SMP 機能</emphasis>のサポート。 </para> </listitem> <listitem> <indexterm> <primary>コンパイラ</primary> <secondary>C</secondary> </indexterm> <indexterm> <primary>コンパイラ</primary> <secondary>C++</secondary> </indexterm> <para>完全な <emphasis>C</emphasis> や <emphasis>C++</emphasis> の開発ツール。進んだ研究や開発のための多くの他の言語も ports や packages コレクションで提供されています。</para> </listitem> <listitem> <indexterm><primary>ソースコード</primary></indexterm> <para>システム全体の<emphasis>ソースコード</emphasis> が提供されているので、 要求に合わせて環境を最大限に適合させることができます。 真のオープンシステムが利用できるのですから、 所有権のある解決方法に締めつけられ、 ベンダのなすがままになる必要はありません。</para> </listitem> <listitem> <para>膨大な量の <emphasis>オンラインドキュメント</emphasis>。</para> </listitem> <listitem> <para><emphasis>もう書ききれません!</emphasis></para> </listitem> </itemizedlist> <indexterm><primary>4.4BSD-Lite</primary></indexterm> <indexterm> <primary>Computer Systems Research Group (CSRG)</primary> </indexterm> <indexterm><primary>U.C. Berkeley</primary></indexterm> <para>&os; はカリフォルニア大学バークレイ校の Computer Systems Research Group (CSRG) による 4.4BSD-Lite リリースを基にしており、 BSD システムの開発の優れた伝統を守り続けています。 CSRG による素晴らしい活動に加えて、 &os; プロジェクトは何千時間もの時間を注ぎ込んで、 実際の使用の場において最大の性能と信頼性を 発揮するためにシステムのチューニングをおこなっています。 多くの大企業が PC オペレーティングシステムの分野で 実現しようと奮闘しているそのような機能や性能、信頼性を &os; は<emphasis>今すぐ</emphasis>提供できます!</para> <para>あなたの思いつく限りのアプリケーションは、何でも &os; で実行できます。ソフトウェア開発からファクトリオートメーション、 在庫制御から遠く離れた人工衛星のアンテナの方向調整まで; 商用 &unix; 製品でできることは、&os; でも十分にできるのです! また、&os; は世界中の研究センターや大学によって開発される 文字通り何千もの高品質で、たいていはほとんど無料で利用できる アプリケーションによる恩恵を得ることができます。 商用のアプリケーションも提供されており、 日々増え続けています。</para> <para>&os; のソースコードは広く提供されているので、 システムも特別なアプリケーションやプロジェクトに合わせて、 いくらでもカスタマイズすることができます。 これは有名な商業ベンダから出ているほとんどのオペレーティング システムでは不可能なことです。以下に現在 &os; を 使っている人々のアプリケーションの例をいくつか上げます:</para> <itemizedlist> <listitem> <para><emphasis>インターネットサービス:</emphasis> &os; に組み込まれている 頑強な TCP/IP ネットワーキング機能は次のようなさまざまな インターネットサービスの理想的なプラットフォームになります:</para> <itemizedlist> <listitem> <indexterm><primary>FTP サーバ</primary></indexterm> <para>FTP サーバ</para> </listitem> <listitem> <indexterm><primary>web サーバ</primary></indexterm> <para>World Wide Web サーバ (標準、もしくは安全な [SSL])</para> </listitem> <listitem> <para>IPv4 および IPv6 ルーティング</para> </listitem> <listitem> <indexterm><primary>ファイアウォール</primary></indexterm> <indexterm><primary>NAT</primary></indexterm> <para>ファイアウォールと NAT (<quote>IP マスカレード</quote>) ゲートウェイ</para> </listitem> <listitem> <indexterm> <primary>電子メール</primary> </indexterm> <indexterm> <primary>email</primary> </indexterm> <para>電子メールサーバ </para> </listitem> <listitem> <indexterm><primary>USENET</primary></indexterm> <para>USENET ニュースおよび電子掲示板システム </para> </listitem> <listitem> <para>さらにいろいろ…</para> </listitem> </itemizedlist> <para>&os; を利用すれば、小規模で安価な 386 クラスの PC でも気軽に導入することができますし、 事業の成長に合わせてアップグレードした 4 つの Xeon プロセッサと RAID ストレージデバイスを備えたシステムでも、 全くそのまま使うことができるのです。</para> </listitem> <listitem> <para><emphasis>教育:</emphasis> あなたは、計算機科学または関連分野の工学を専攻する学生さんですか? オペレーティングシステムやコンピュータアーキテクチャ、 ネットワークについて学習するなら、 実際に &os; のソースコードを読んで、 それがどのように動作するのかを学ぶのが一番よい方法です。 また、無料で利用できる CAD や数学、 グラフィックデザインのパッケージがいくつもあるので、 コンピュータに関わる主要な目的が、 <emphasis>他</emphasis>のことをすることにある方にも、 大いに役立ちます。</para> </listitem> <listitem> <para><emphasis>研究:</emphasis> システム全体のソースコードが利用できるため、 &os; はオペレーティングシステムの研究だけでなく、 計算機科学の他の部門においても優れたプラットフォームです。 自由に利用できる &os; の特長は、オープンフォーラムで 議論される特別なライセンスの同意や制限について心配することなく、 離れたグループでもアイディアや開発の共有による共同研究を可能にします。</para> </listitem> <listitem> <indexterm><primary>ルータ</primary></indexterm> <indexterm><primary>DNS サーバ</primary></indexterm> <para><emphasis>ネットワーキング:</emphasis> 新しいルータが必要? ネームサーバ (DNS) は? 内部のネットワークを人々から守るファイアウォールは? &os; はすみに眠っている使われていない 386 や 486 の PC を簡単に 洗練されたパケットフィルタリング機能を持つ高級なルータに 変えることができます。</para> </listitem> <listitem> <indexterm> <primary>X Window System</primary> </indexterm> <indexterm> <primary>X Window System</primary> <secondary>Accelerated-X</secondary> </indexterm> <para><emphasis>X Window ワークステーション:</emphasis> 自由に利用できる X11 サーバを使うことによって、 安価な X 端末として &os; を使うこともできます。 X 端末とは違って &os; は多くのアプリケーションをローカルに走らせることもでき、 中心のサーバの負荷を軽減することも可能です。 &os; は<quote>ディスクレス</quote>でもブート可能であり、 個々のワークステーションを安価で、 容易に管理することさえ可能にします。</para> </listitem> <listitem> <indexterm><primary>GNU Compiler Collection</primary></indexterm> <para><emphasis>ソフトウェア開発:</emphasis> 基本的な &os; システムには、有名な GNU の C/C++ コンパイラやデバッガを含んだ完全な開発ツールがついてきます。</para> </listitem> </itemizedlist> <para>&os; は、ソースとバイナリの両方とも、CD-ROM または anonymous FTP で入手可能です。 詳しくは <xref linkend="mirrors"/> をご覧ください。</para> </sect2> <sect2 id="introduction-nutshell-users"> <title>&os; はどこに使われていますか?</title> <indexterm> <primary>ユーザ</primary> <secondary>&os; を利用している大規模サイト</secondary> </indexterm> <para>&os; は、以下に代表されるような世界最大クラスの IT 会社のデバイスおよび製品のプラットフォームとして利用されています。</para> <itemizedlist> <listitem> <indexterm><primary>Apple</primary></indexterm> <para><ulink url="http://www.apple.com/">Apple</ulink></para> </listitem> <listitem> <indexterm><primary>Cisco</primary></indexterm> <para><ulink url="http://www.cisco.com/">Cisco</ulink></para> </listitem> <listitem> <indexterm><primary>Juniper</primary></indexterm> <para><ulink url="http://www.juniper.net/">Juniper</ulink></para> </listitem> <listitem> <indexterm><primary>NetApp</primary></indexterm> <para><ulink url="http://www.netapp.com/">NetApp</ulink></para> </listitem> </itemizedlist> <para>&os; は、以下のサイトに代表されるような、 インターネット上で最大クラスのサイトでも利用されています。</para> <itemizedlist> <listitem> <indexterm><primary>Yahoo!</primary></indexterm> <para><ulink url="http://www.yahoo.com/">Yahoo!</ulink></para> </listitem> <listitem> <indexterm><primary>Yandex</primary></indexterm> <para><ulink url="http://www.yandex.ru/">Yandex</ulink></para> </listitem> <listitem> <indexterm><primary>Apache</primary></indexterm> <para><ulink url="http://www.apache.org/">Apache</ulink></para> </listitem> <listitem> <indexterm><primary>Rambler</primary></indexterm> <para><ulink url="http://www.rambler.ru/">Rambler</ulink></para> </listitem> <listitem> <indexterm><primary>Sina</primary></indexterm> <para><ulink url="http://www.sina.com/">Sina</ulink></para> </listitem> <listitem> <para><ulink url="http://www.pair.com/">Pair Networks</ulink></para> </listitem> <listitem> <para><ulink url="http://www.sony.co.jp/">Sony Japan</ulink></para> </listitem> <listitem> <indexterm><primary>Netcraft</primary></indexterm> <para><ulink url="http://www.netcraft.com/">Netcraft</ulink></para> </listitem> <listitem> <indexterm><primary>NetEase</primary></indexterm> <para><ulink url="http://www.163.com/">NetEase</ulink></para> </listitem> <listitem> <indexterm><primary>Weathernews</primary></indexterm> <para><ulink url="http://www.weathernews.com/">Weathernews</ulink></para> </listitem> <listitem> <indexterm><primary>TELEHOUSE America</primary></indexterm> <para><ulink url="http://www.telehouse.com/">TELEHOUSE America</ulink></para> </listitem> <listitem> <indexterm><primary>Experts Exchange</primary></indexterm> <para><ulink url="http://www.experts-exchange.com/">Experts Exchange</ulink></para> </listitem> </itemizedlist> <para>また、この他にもあります。</para> </sect2> </sect1> <sect1 id="history"> <title>&os; プロジェクトについて</title> <para>以下の節では簡単な歴史やプロジェクトの目標、 開発モデルなど、普段は表にでない話題を提供しています。</para> <sect2 id="intro-history"> <title>&os; 小史</title> <!-- <para><emphasis>訳: &a.jp.masaki;, &a.jp.hino;. 19 December 1996.</emphasis></para> --> <indexterm><primary>386BSD Patchkit</primary></indexterm> <indexterm><primary>Hubbard, Jordan</primary></indexterm> <indexterm><primary>Williams, Nate</primary></indexterm> <indexterm><primary>Grimes, Rod</primary></indexterm> <indexterm> <primary>FreeBSD プロジェクト</primary> <secondary>history</secondary> </indexterm> <para>&os; プロジェクトは 1993 年の始めに Unofficial 386BSD Patchkit の最後の 3 人のまとめ役によって、部分的に patchkit から派生する形で開始されました。ここでの 3 人のまとめ役というのは、Nate Williams, Rod Grimes と、 Jordan Hubbard です。</para> <indexterm><primary>386BSD</primary></indexterm> <para>このプロジェクトのもともとの目標は、patchkit という仕組みではもう十分に解決できなくなってしまった 386BSD の数多くの問題を修正するための、386BSD の暫定的なスナップショットを作成することでした。 こういった経緯を経ているので、 このプロジェクトの初期の頃の名前は 386BSD 0.5 や 386BSD 暫定版 (Interim) でした。</para> <indexterm><primary>Jolitz, Bill</primary></indexterm> <para>386BSD は、Bill Jolitz が (訳注: バークレイ Net/2 テープを基に) 作成したオペレーティングシステムです。当時の 386BSD は、ほぼ一年にわたって放っておかれていた (訳注: 作者がバグの報告を受けても何もしなかった) というひどい状況に苦しんでいました。 作者の代わりに問題を修正し続けていた patchkit は日を追うごとに不快なまでに膨張してしまっていました。 このような状況に対して、彼らは暫定的な <quote>クリーンアップ</quote> スナップショットを作成することで Bill を手助けしようと決めました。しかし、 この計画は唐突に終了してしまいました。Bill Jolitz が、 このプロジェクトに対する受け入れ支持を取り下げることを突然決意し、 なおかつこのプロジェクトの代わりに何をするのかを一切言明しなかったのです。</para> <indexterm><primary>Greenman, David</primary></indexterm> <indexterm><primary>Walnut Creek CDROM</primary></indexterm> <para>たとえ Bill が支持してくれないとしても、 彼ら 3 人の目標には依然としてやる価値があると考えていたため、 David Greenman が考案した名称 <quote>&os;</quote> をプロジェクトの名前に採用し、新たなスタートを切りました。 この時点でのプロジェクトの初期目標は、すでにこのシステム (訳注: 386BSD + Patchkit) を使っていた利用者たちと相談して決められました。 プロジェクトが実現に向けて軌道に乗ってきたことが明確になった時点で、 Jordan は Walnut Creek CDROM 社に連絡してみました。CD-ROM を使って &os; を配布することによって、 インターネットに容易に接続できない多くの人々が &os; を簡単に入手できるようになると考えたからです。Walnut Creek CDROM 社は &os; を CD で配布するというアイデアを採用してくれたばかりか、 作業するためのマシンと高速なインターネット回線をプロジェクトに提供してくれました。 当時は海のものとも山のものともわからなかったこのプロジェクトに対して、Walnut Creek CDROM 社が信じられないほどの信頼を寄せてくれたおかげで、 &os; は短期間のうちにここまで大きく成長したのです。</para> <indexterm><primary>4.3BSD-Lite</primary></indexterm> <indexterm><primary>Net/2</primary></indexterm> <indexterm><primary>U.C. Berkeley</primary></indexterm> <indexterm><primary>386BSD</primary></indexterm> <indexterm><primary>Free Software Foundation</primary></indexterm> <para>CD-ROM による最初の配布 (そしてネットでの、 ベータ版ではない最初の一般向け配布) は &os; 1.0 で、1993 年 12 月に公開されました。これはカリフォルニア大学バークレイ校の 4.3BSD-Lite (<quote>Net/2</quote>) を基とし、386BSD や Free Software Foundation からも多くの部分を取り入れたものです。 これは初めて公開したものとしては十分に成功しました。続けて 1994 年 5 月に &os; 1.1 を公開し、 非常に大きな成功を収めました。</para> <indexterm><primary>Novell</primary></indexterm> <indexterm><primary>U.C. Berkeley</primary></indexterm> <indexterm><primary>Net/2</primary></indexterm> <indexterm><primary>AT&T</primary></indexterm> <para>この時期、 あまり予想していなかった嵐が遠くから接近してきていました。 バークレイ Net/2 テープの法的な位置づけについて、Novell 社とカリフォルニア大学バークレイ校との間の長期にわたる 法廷論争において和解が成立したのです。和解の内容は、Net/2 のかなりの部分が <quote>権利つき (encumbered)</quote> コードであり、それは Novell 社の所有物である、 というバークレイ校側が譲歩したものでした。なお、Novell 社はこれらの権利を裁判が始まる少し前に AT&T 社から買収していました。 和解における譲歩の見返りにバークレイ校が得たのは、 4.4BSD-Lite が最終的に発表された時点で、 4.4BSD-Lite は権利つきではないと公式に宣言されること、 そしてすべての既存の Net/2 の利用者が 4.4BSD-Lite の利用へと移行することが強く奨励されること、という Novell 社からの <quote>ありがたき天からの恵み</quote> でした (訳注: 4.4BSD-Lite はその後 Novell 社のチェックを受けてから公開された)。&os; も Net/2 を利用していましたから、1994 年の 7 月の終わりまでに Net/2 ベースの &os; の出荷を停止するように言われました。ただし、 このときの合意によって、 私たちは締め切りまでに一回だけ最後の公開をすることを許されました。 そしてそれは &os; 1.1.5.1 となりました。</para> <para>それから &os; プロジェクトは、まっさらでかなり不完全な 4.4BSD-Lite を基に、文字どおり一から再度作り直すという、 難しくて大変な作業の準備を始めました。<quote>Lite</quote> バージョンは、部分的には本当に軽くて、中身がなかったのです。 起動し、 動作できるシステムを実際に作り上げるために必要となるプログラムコードのかなりの部分がバークレイ校の CSRG (訳注: BSDを作っているグループ) によって (いろいろな法的要求のせいで) 削除されてしまっていたということと、4.4BSD の Intel アーキテクチャ対応が元々かなり不完全であったということがその理由です。 この移行作業は結局 1994 年の 11 月までかかりました。 そしてその時点で &os; 2.0 をネットと CD-ROM (12 月末ごろ) を通じて公開しました。これは、 かなり粗削りなところが残っていたにもかかわらず、 かなりの成功を収めました。そしてその後に、より信頼性が高く、 そしてインストールが簡単になった &os; 2.0.5 が 1995 年の 6 月に公開されました。</para> <para>これ以降、&os; の安定性、速さや機能は改善され、 リリースが行われてきました。</para> <para>長期的な開発プロジェクトは 10.X-CURRENT 開発ブランチ (トランク) で続けられ、 10.X のスナップショットリリースは、開発の進行状況に応じて <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots">スナップショットサーバ</ulink> より継続して入手できます。</para> </sect2> <sect2 id="goals"> <sect2info> <authorgroup> <author> <firstname>Jordan</firstname> <surname>Hubbard</surname> <contrib>寄稿: </contrib> </author> </authorgroup> </sect2info> <title>&os; プロジェクトの目標</title> <!-- <para><emphasis>訳: &a.jp.kiroh; 1996 年 9 月 24 日.</emphasis></para> --> <indexterm> <primary>FreeBSD プロジェクト</primary> <secondary>目標</secondary> </indexterm> <para>&os; プロジェクトの目的は、いかなる用途にも使用でき、 何ら制限のないソフトウェアを供給することです。 私たちの多くは、 コード (そしてプロジェクト) に対してかなりの投資をしてきており、 これからも多少の無駄はあっても投資を続けて行くつもりです。ただ、 他の人達にも同じような負担をするように主張しているわけではありません。 &os; に興味を持っている一人の残らず全ての人々に、 目的を限定しないでコードを提供すること。これが、 私たちの最初のそして最大の <quote>任務</quote> であると信じています。そうすれば、コードは可能な限り広く使われ、 最大の恩恵をもたらすことができるでしょう。これが、 私たちが熱烈に支持しているフリーソフトウェアの最も基本的な目的であると、 私は信じています。</para> <indexterm> <primary>GNU General Public License (GPL)</primary> </indexterm> <indexterm> <primary>GNU Lesser General Public License (LGPL)</primary> </indexterm> <indexterm><primary>BSD Copyright</primary></indexterm> <para>私たちのソースツリーに含まれるソースのうち、 GNU 一般公有使用許諾 (GPL) または GNU ライブラリ一般公有使用許諾 (LGPL) に従っているものについては、多少制限が課せられています。ただし、 ソースコードへのアクセスの保証という、 一般の制限とはいわば逆の制限 (訳注1) です。 GPL ソフトウェアの商利用には、そのライセンスにある 複雑な側面が影響してくることがあります。 ですから私たちは、そうすることが合理的であると判断されたときには、 より制限の少ない、BSD 著作権表示を採用しているソフトウェアを選択するようにしています。</para> <para>(訳注1) GPL では、「ソースコードを実際に受け取るか、 あるいは、希望しさえすればそれを入手することが可能であること」 を求めています。</para> </sect2> <sect2 id="development"> <sect2info> <authorgroup> <author> <!-- hrs: needs to support Japanese author's name order --> <firstname>浅見</firstname> <surname>賢</surname> <contrib>寄稿: </contrib> </author> </authorgroup> </sect2info> <title>&os; の開発モデル</title> <!-- <para><emphasis>訳: &a.asami;. 1996 年 10 月 31 日.</emphasis></para> --> <indexterm> <primary>FreeBSD プロジェクト</primary> <secondary>開発モデル</secondary> </indexterm> <para>&os; の開発は非常に開かれた、柔軟性のあるプロセスです。 <ulink url="&url.articles.contributors;/article.html">貢献者リスト </ulink>を見ていただければわかるとおり、 &os; は文字通り世界中の何百という人々の努力によって開発されています。 &os; の開発環境は、 この何百という開発者がインターネット経由で共同作業できるようになっているのです。 新しい開発者はいつでも大歓迎ですので、&a.hackers; にメールを送ってください。 &a.announce; もありますので、他の &os; ユーザに自分のやっていることを宣伝したい時にはどうぞ使ってください。</para> <para>あと、&os; プロジェクトとその開発プロセスについて、 どなたにも知っていていただきたいのは以下のようなことです。</para> <variablelist> <varlistentry> <term>SVN リポジトリ<anchor id="development-cvs-repository"/></term> <listitem> <indexterm> <primary>CVS</primary> </indexterm> <indexterm> <primary>CVS リポジトリ</primary> </indexterm> <indexterm> <primary>Concurrent Version System</primary> <see>CVS</see> </indexterm> <indexterm> <primary>Subversion</primary> </indexterm> <indexterm> <primary>Subversion リポジトリ</primary> </indexterm> <indexterm> <primary>SVN</primary> <see>Subversion</see> </indexterm> <para>長年にわたり &os; のソースツリーは <ulink url="http://www.nongnu.org/cvs/">CVS</ulink> (Concurrent Versions System) によってメンテナンスされてきました。 CVS はソースコード管理用のフリーソフトウェアで、 &os; のリリースにも含まれています。 2008 年 6 月、プロジェクトはソースコード管理のシステムを <ulink url="http://subversion.tigris.org">SVN</ulink> (Subversion) に移行しました。 ソースツリーの急速な増加や、 これまでに蓄積された膨大な量の履歴によって、 <application>CVS</application> の持つ技術的な限界が明かになってきたためです。 ドキュメンテーションプロジェクトと Ports Collection リポジトリも、それぞれ 2012 年 5 月と 7 月に <application>CVS</application> から <application>SVN</application> へと移行しました。 &os; <literal>src/</literal> リポジトリを取得するための情報は <link linkend="synching"> ソースツリーの同期</link> の章を、&os; Ports Collection を取得するための詳細については <link linkend="ports-using">Ports Collection の利用</link> の章をご覧ください。</para> </listitem> </varlistentry> <varlistentry> <term>ソースツリー管理者 <anchor id="development-committers"/></term> <listitem> <indexterm><primary>コミッター</primary></indexterm> <para><firstterm>コミッター (committers)</firstterm> は Subversion ツリーへの<emphasis>書き込み権限</emphasis>を持っている人、 &os; のソースに変更を加えることができる人です (リポジトリに変更を加えるには、ソースをコントロールする <command>commit</command> というコマンドを使うので、 これらの人々は英語では <quote>committers</quote> と呼ばれます)。 開発者にコードを送って見てもらうのに一番いい方法は &man.send-pr.1; コマンドを使うことです。 もし、何か問題があって <command>send-pr</command> が使えないなら &a.committers; にメールを送っていただいても構いません。</para> </listitem> </varlistentry> <varlistentry> <term>FreeBSD コアチーム<anchor id="development-core"/></term> <listitem> <para><firstterm>&os; コアチーム</firstterm>は &os; プロジェクトが会社だとすると取締役会にあたるものです。 コアチームとして一番重要な役割は &os; プロジェクトが全体としてよい方向に向かっていることを確認することです。 責任感あふれる開発者を上記のソースツリー管理者として招くこと、 また仕事上の都合などでコアチームをやめた人たちの後任を見つけることもコアチームの役割です。 現在のコアチームは &os; 開発者 (committer) の中から 2012 年 7 月に選挙によって選出されました。 コアチームを選出するための選挙は、2 年ごとに行なわれています。</para> <para>コアチームのうち何人かは特定の担当分野を持っており、 システムのうち一部に特に重点をおいて面倒を見ています。 &os; 開発者と担当分野の完全なリストは<ulink url="&url.articles.contributors;/article.html"> コントリビュータのリスト</ulink>をご覧ください。</para> <note> <para>忘れてほしくないのは、 コアチームのほとんどは &os; に対してボランティアの立場であり、 &os; プロジェクトからは何ら金銭的な支援を受けていない、 ということです。ですから、 ここでの<quote>責任</quote>は <quote>保証されたサポート</quote>ではありません。 そういう意味で、上記の<quote>取締役会</quote> という例えはあまりよくないかもしれません。むしろ、&os; のために人生を棒に振ってしまった人の集まりといった方が正しいかも…。</para> </note> </listitem> </varlistentry> <varlistentry> <term>その他のコントリビュータ</term> <listitem> <indexterm><primary>コントリビュータ</primary></indexterm> <para>最後になりますが、 もっとも重要で多数をしめる開発者はフィードバックやバグフィクスをどんどん送ってくれるユーザ自身です。 &os; の開発に関わっていきたいという人は、 議論の場である &a.hackers; に参加するとよいでしょう。 &os; 関連メーリングリストに関する詳細は、 <xref linkend="eresources"/> をご覧ください。</para> <para> <citetitle><ulink url="&url.articles.contributors;/article.html"> &os; への貢献者リスト</ulink></citetitle> は日に日に長くなっています。 あなたも今日、何か送ることからはじめてみませんか?</para> <para>もちろん &os; に貢献するには、 コードを書くほかにもいろいろな方法があります。 助けが求められている分野については、 <ulink url="&url.base;/index.html"> &os; プロジェクトのウェブサイト</ulink>をご覧ください。</para> </listitem> </varlistentry> </variablelist> <para>ひとことで言うと、&os; の開発組織はゆるやかな同心円状になっています。 ともすると中央集権的に見えがちなこの組織は、 &os; の<emphasis>ユーザ</emphasis>がきちんと管理されたコードベースを 容易に追いかけられるようにデザインされているもので、 貢献したいという人を締め出す意図は全くありません! 私たちの目標は安定したオペレーティングシステムと 簡単にインストールして使うことのできる <link linkend="ports">アプリケーション</link>を提供することです。 この方法は、それを達成するために非常にうまくはたらきます。</para> <para>これから &os; の開発にたずさわろうという人に、 私たちが望むことはただ一つです。 &os; の成功を継続的なものにするために、 現在の開発者と同じような情熱を持って接してください!</para> </sect2> <sect2 id="relnotes"> <title>サードパーティ製プログラム</title> <para>&os; では基本配布セットに加え、 移植されたソフトウェア集として数千の人気の高いプログラムを提供しています。 この文書を書いている時点で &os.numports; 以上の ports (移植ソフトウェア) が存在します。 ports には http サーバから、ゲーム、言語、 エディタまでありとあらゆるものが含まれています。 ports はオリジナルソースに対する <quote>差分</quote>という形で表現されており、 Ports Collection 全体でも &ports.size; 程度にしかなりません。 ports をコンパイルするには、 インストールしたいと思っているプログラムのディレクトリに移動し、 <command>make install</command> とすると、 あとはすべてシステムがやってくれます。 どの ports もオリジナルの配布セットを動的に取ってくるので、 ディスクは構築したいと思っている ports の分だけを準備しておけば十分です。 ほとんどの ports は、すでにコンパイルされた状態で <quote>package</quote> として提供されており、 ソースコードからコンパイルしたくない場合、これを使うと (<command>pkg_add</command> というコマンドで) 簡単にインストールできます。 package と ports に関する詳細は、 <xref linkend="ports"/> をご覧ください。</para> </sect2> <sect2> <title>ドキュメント</title> <para>最近の &os; では、システムの最初のセットアップ時に、 インストーラ (&man.sysinstall.8; または &man.bsdinstall.8; のどちらでも) 上で、ドキュメントを <filename class="directory">/usr/local/share/doc/freebsd</filename> 以下にインストールすることを選択できます。 システムのインストール後でも、<xref linkend="doc-ports-install-package"/> に記述されている package を使うことで、いつでもドキュメントをインストールできます。 これらのローカルにインストールされたドキュメントは、HTML ブラウザを使って以下の URL から参照できます。</para> <variablelist> <varlistentry> <term>FreeBSD ハンドブック (英文オリジナル)</term> <listitem> <para><ulink type="html" url="file://localhost/usr/local/share/doc/freebsd/handbook/index.html"><filename>/usr/local/share/doc/freebsd/handbook/index.html</filename></ulink></para> </listitem> </varlistentry> <varlistentry> <term>FreeBSD に関する FAQ (英文オリジナル)</term> <listitem> <para><ulink type="html" url="file://localhost/usr/local/share/doc/freebsd/faq/index.html"><filename>/usr/local/share/doc/freebsd/faq/index.html</filename></ulink></para> </listitem> </varlistentry> </variablelist> <para>また、 <ulink url="http://www.FreeBSD.org/"></ulink> にはマスタ (かなり頻繁に更新されます) がありますので、 こちらも参照してください。</para> </sect2> </sect1> </chapter>