Ubuntuの作成方法



Community Manager Ubuntuは、人気のあるディストリビューションの作成方法を説明しています。
Ubuntuは利用可能な最も洗練されたLinuxディストリビューションの1つであり、多数の人々と彼らのスキルを提供して現在のUbuntuを実現するスポンサーのグローバルコミュニティの仕事を利用しています。

私たちは全員、6か月ごとに新しいUbuntuリリースの成果を楽しんでいますが、多くの人々が長年にわたって、この多数の「ボランティア」がUbuntuの新しいリリースを作成するためにどのように動いているのかをチームに尋ねてきました。

この記事では、Ubuntuの新しいリリースの作成方法、使用されるスキルと才能、およびこの貢献のセットを1つの関連モジュールに結合するために使用する組織構造について説明します。

定期的な問題


Ubuntuプロジェクトの中心にあるのは、6か月ごとに新しいリリースを提供することです。 一部の機能が準備できるまでリリースを遅らせる準備ができている多くのソフトウェアプロジェクトとは異なり、Ubuntuはリリースに遅れることはありません。 一部の機能がリリースに間に合わない場合、次のリリースを遅らせることなく、この機能の実装に積極的に取り組み始めます。

このリリースの6か月の開発および準備期間はリリースサイクルと呼ばれ、新しいサイクルの開始時に公開されます。 例として、現在の開発リリース(Ubuntu 10.10)がこのページに公開されています。

サイクルはいくつかの重要なコンポーネントに分割されます。

凍結

凍結とは、特定のタイプの開発を停止する必要がある場合で、通常はリリースの準備ができています。 UIの凍結(ユーザーインターフェイス要素の変更)や凍結機能など、さまざまな種類の凍結があります。

アルファ

リリースサイクル全体を通して、リリースの開発中に多くのスナップショットリリースを作成します。 これらのアルファ版は不完全な場合があり、エラーが発生する場合があります(開発プロセスにあるため)が、リリースの機能を理解する良い機会を提供します。

ベータ版

ベータ-多くのテストが必要な機能が完了したリリース。 たとえば、ストレステスターなどにベータアップデートを推奨することがよくあります。

プレリリース版(リリース候補)

プレリリースバージョンは、最終バージョンの直前に表示され、最終テストユニットのユーザーを励ますためにリリースされます。

すべてDebianで始まります

Ubuntuパッケージを作成するには、オープンソースプロジェクト(アップストリーム)からソースコードを取得し、プロジェクト内のビルドマシンにアップロードする必要があります。これにより、Ubuntuシステムにすぐにインストールできるパッケージが作成されます。 これらのパッケージは、マシンをロードするカーネルから実行中のアプリケーションに至るまで、完全なディストリビューションを形成するためにリンクされています。

リリースサイクルの最初のフェーズには、Ubuntuでの新しいアップストリームリリースの導入が含まれます。 これを行うには、Debianパッケージの完全なアーカイブをインポートし、Ubuntu用に作成します。

Debianを使用するのは、それがアップストリームコードでアップグレードする唯一の最も効率的な方法であり、DebianとUbuntuが非常に似ているためです。たとえば、Debianのバグ修正はUbuntuの同じバグ修正です。

UbuntuにインポートされたDebianの基本的なパッケージセットを使用して、DebianパッケージをUbuntuに似たパッケージに変換する多くのパッケージ(パッチと呼ばれる)に多くの変更を加えます。

例として、GnomeのDebianパッケージには、デフォルトのソフトウェアオプション、デフォルトのテーマ、追加のパネル機能など、私たちが行う変更の多くは含まれていません。 DebianパッケージをUbuntuパッケージに変換するこれらのパッチはすべて、 patch.ubuntu.comから無料で入手できます。

次のステップは、新しい開発または機能を決定し、これらの開発をUbuntuの新しいリリースに統合することです。 主要な決定は、Ubuntu Developers Summitで行われます。UbuntuDevelopers Summitは、米国とヨーロッパで異なります。

Ubuntu Developers Summit(UDS)は、Ubuntu開発チ​​ーム全体を派遣し、開発の進捗状況を追跡するためにかなりの数のコミュニティメンバーを後援するイベントです。

毎週のイベントは9つのステージ(デスクトップバージョン、サーバーバージョン、コミュニティ、モバイル、プロジェクト、基礎、QA、セキュリティ、ARM上のUbuntu)に分けられ、各ステージには週の各ステージのセッションを示すスケジュールがあります。 これらのセッションは、Canonicalのコミュニティメンバーによって求められており、新しいリリースのコンテキストを定義する機能の一部を議論および計画する場所を提供するために組織されています。

1週間の間に、サミットは膨大な数のトピックについて議論し、決定を下し、すべてを詳細に説明し、最終的にはこの結論をすべて文書化します。

特定の機能が議論されたサミットでのこのセッションの後、この機能は特別な場所に登録されます。Launchpadでは、Launchpadの記録が機能の概要と仕様へのリンクを示します。 仕様はwiki.ubuntu.comのwikiページでwiki.ubuntu.com 、関数が解決する問題の計画と実装方法を完全に概説しています。

ほとんどの仕様には次の情報が含まれています。

要約 -機能(機能)の機能。
説明 -なぜ機能が必要なのか。
ユースケース-一般的に機能の概要を説明する典型的な例。
コンテキスト -関数のどの要素がループ内で完了するか。
プロジェクト -プロジェクト自体がこの機能で動作します。
実装計画 -実装の仕組みと実行された作業。
未解決の問題 -未解決の問題。

機能の本質を説明する仕様を指すこの登録済みプロジェクトにより、コミュニティの誰もが、Ubuntuの次のリリースで議論されている機能の全範囲を簡単に見ることができます。

画像

Source: https://habr.com/ru/post/J105065/


All Articles