• Online Tools
  • - Calculators
    • Character Count
  • - Download
    • TikTok Download
    • DouYin Download
  • - Web Tools
    • BASE64
    • Base64 to Image
    • Image to Base64
    • URL Encoding
    • JavaScript
    • Timestamp
    • Unicode Converter
    • JSON Format
    • Modify Extension
    • Make List
    • CSS Optimizer
  • - Encryption Tools
    • MD5 Encryption
    • Random Generator
  • - Image Tools
    • Image Compression
    • QR Code Generator
    • QR Code Reader
    • Wallpaper Preview
  • - Info Sheets
    • Blood Type Heredity
    • Clothing Sizes
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
25年間のLinuxカーネル開発経験をまとめた9つの経験を簡単に述べる。
2022-01-05

原文:9 lessons from 25 years of Linux kernel development

作者:Greg Kroah-Hartman

雁が寒さに驚く

Linuxカーネルコミュニティは2016年に設立25周年を記念し、多くの人が私たちにこのプロジェクトが衰えず成功した秘訣を聞いた。私は普通先に笑って、それから冗談を言って、私は本当に25年を経験したことを知りません。このプロジェクトはずっと分岐と挑戦に直面している。しかし、厳粛に言えば、私たちがこれを行うことができるのは、コミュニティの反省と変化の能力と大きな関係があります。

約16年前、多くのカーネル開発者がお互いに会ったことがなく、私たちは電子メールで連絡しただけなので、Ted T'soはカーネルサミットの考えを提出しました。現在、カーネル開発者は毎年集まって技術問題を解決しています。さらに重要なのは、過去1年間で私たちがどのような正しいことをしたのか、またどのような間違いを犯したのかを振り返ることです。開発者は、相互にどのように交流するか、開発プロセスがどのように動作するかを率直に議論することができます。そして、プロセスを改善し、Gitのような新しいツールを開発し、協力方法を絶えず変えます。

Linuxカーネルの成功のすべての重要な原因はまだ完全に認識されていませんが、共有する価値のある経験があります。

1.より短いリリースサイクルが重要

Linuxプロジェクトの初期段階では、カーネルの各プライマリ・バージョンが何年もリリースされる必要があります。これは、ユーザーが新しい機能を享受するのに長い時間を待つ必要があることを意味します。これは、ユーザーとディーラーにとってかなりがっかりしています。さらに、このような長い周期は、大量のコードを一気に統合する必要があることを意味します。こんなに多くのコードを1つのバージョンに統合するのは、プレッシャーも大きい。

より短いサイクルでこれらの問題をすべて解決できます。新しいコードは、より短い時間で安定版に組み込むことができます。新しいコードをほぼ安定したベースラインバージョンに統合することで、システムに最小限の影響を及ぼす場合に根本的な変化を導入できます。開発者は、このリリースサイクルを逃した場合、2ヶ月以内にもう1つあることを知っています。そのため、コードを早期に組み込むことはめったにありません。

2.プロセスの拡張には分散型の階層開発モデルが必要である

以前は、すべての変更要件がLinus Torvaldsに直接移行していましたが、オペレーティングシステムのカーネルのような複雑なプロジェクトを全面的に把握できる人はいなかったため、すぐに不適切であることが証明されました。早くから、カーネルの異なる分野のメンテナンス者たちは、カーネルの一部をその分野に詳しい人に割り当てるという考えを提出した。例えば、ネットワーク、無線、PCIまたはUSBのようなドライバサブシステム、またはext 2またはvfatのようなファイルシステムである。その後、数百人の保守担当者がコードの審査と統合を担当するように拡張し、製品の品質を犠牲にすることなく、各リリースのバージョンに何千もの変更を含めることができます。

3.ツールの重要性

カーネル開発はBitKeeperというソースコード管理システムが登場するまで、開発者の範囲を拡大しようとしていたが、ほぼ一夜にしてコミュニティのやり方が変わり、Gitの出現は再び飛躍をもたらした。適切なツールがなければ、カーネルのような項目は正常に動作せず、自身の重量に押しつぶされます。

4.強力な世論誘導モデルが重要

一般的に、ある開発カレーが提出した変更を拒否した場合、この変更は統合されません。開発者が数ヶ月前に提出したコードがメールリストで拒否されたことに気づいたら、それは非常にがっかりします。しかし、これはカーネル開発が多くのユーザーと問題に適応できることを保証しています。他のグループを犠牲にして変更できるユーザーコミュニティはありません。マイクロシステムからスーパーコンピュータまでサポートできるコードライブラリがあり、多くのシーンに適用できます。

5.強力な「回帰なし」ルールも重要

約10年前、カーネル開発コミュニティは、指定されたカーネルが特定の環境で正常に動作すれば、後続のすべてのカーネルバージョンもこの環境で正常に動作することを約束しました。コミュニティが変更が他の問題を引き起こしたことを発見した場合、彼らはすぐにこの問題を解決します。このルールは、システムのアップグレードが元のシステムを破壊しないことを約束します。したがって、メンテナンス者は、新しい機能を開発するときにこのカーネルを継続したいと考えています。

6.企業が開発プロセスに参加することは重要ですが、カーネル開発を主導できる企業はありません。

2014年12月のバージョン番号3.18のカーネルリリース以来、500社近くの個人開発者約5062人がLinuxカーネルに貢献しています。多くの開発者は、彼らの仕事のために報酬を得ていますが、彼らの変更は彼らの会社のためにサービスされています。しかし、どの会社も具体的なニーズに応じてカーネルを改善することができますが、他人を傷つけたり、カーネル機能を制限したりすることを主導する会社はありません。

7.プロジェクトに内部境界があるべきではない

カーネル開発者は、カーネルの特定の部分に集中する必要がありますが、修正が合理的であれば、どの開発者もカーネルの任意の部分を修正することができます。したがって,問題は回避ではなく発生時に解決される.開発者は、カーネル全体について様々な見方を持っており、最も頑固なメンテナンス者であっても、指定されたサブシステムに必要な改善を無期限に棚上げすることはできません。

8.重要な機能は少しずつ始まる

元の0.01版カーネルは10000行のコードしかありません。現在では2日ごとに10000行以上増加しています。開発者が現在追加している基本的な、微小な機能は、将来的に重要なサブシステムに発展する可能性があります。

9.以上のように、25年間のカーネルの発展の歴史は、持続的な協力が共通の資源をもたらすことを示しており、これはあるグループだけで開発できるものではない。

2005年以来、1300社以上の企業から約14000人の個人開発者がカーネルに貢献してきた。そのため、Linuxカーネルは互いに激しい競争関係を持つ多くの会社の努力の下で、規模の大きい公共資源に発展した。


ソース元URL:https://dopubox.com/article/p/ad18f775e6d0295a

Other Tools
  • Character Count TikTok Download DouYin Download BASE64 Base64 to Image Image to Base64 URL Encoding JavaScript Timestamp Unicode Converter JSON Format Modify Extension Make List CSS Optimizer MD5 Encryption Random Generator Image Compression QR Code Generator QR Code Reader Wallpaper Preview Blood Type Heredity Clothing Sizes
  • <司書のコレ絶対読んで>「王さまと九人のきょうだい」君島久子訳、赤羽末吉絵
    2024-05-29

    民藝・イズ・ビューティフル。 日本文化と黒人文化が融合する「アフロ民藝」とは?
    2024-05-30

    ブームなぜ起きた? 東京国立近代美術館で「ハニワと土偶の近代」展
    2024-05-30

    「韓国版純烈」K4の「アダルトKポップ」 日本デビュー曲USEN1位も獲得 コアな追っかけも
    2024-05-30

    将棋叡王戦、藤井が勝ち最終局へ
    2024-05-30

    小学館も来週に報告書公表
    2024-05-31

    あらゆる知識に精通した「天才」が教えてくれた、頭を良くするための新書の読み方と「究極のインプット・アウトプット」の方法
    2024-06-02

    「警察密着24時」担当者ら懲戒 テレビ東京、石川社長は3割返上
    2024-06-03

    河合隼雄物語賞に八木詠美さん 学芸賞は湯沢規子さん
    2024-06-03

    “20世紀音楽”の発展に貢献した指揮者、クーセヴィツキー。その偉業とは【クラシック今日は何の日?】
    2024-06-03

    アートフェア東京、次回は2025年3月に開催決定
    2024-06-04

    「UESHIMA MUSEUM」が開館。屈指の現代美術コレクションを一般公開
    2024-06-05

    PARCELで「Not Quite」開催。「~でなくもない」作家が集結
    2024-06-04

    クールべ《世界の起源》はなぜ攻撃されたのか? ポンピドゥー・センター・メッスで破壊・盗難事件
    2024-06-04

    今年の「アートウィーク東京」は11月に開催。「AWT FOCUS」の監修には片岡真実
    2024-06-04

    スマイル社が性犯罪被害者支援の法人設立
    2024-06-04

    安藤忠雄さん設計の美術館名称決まる…香川・直島に2025年オープン
    2024-06-05

    「Osaka Art & Design 2024」(大阪市内)開幕レポート。何気ない日常のなかで多様なカルチャーに触れる
    2024-06-06

    藤井、棋聖戦5連覇へ白星発進
    2024-06-06

    佐渡金山「情報照会」と勧告 世界遺産登録に可能性残す
    2024-06-06

    ©  Dopu Box
    💛