• 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
    • Image EXIF
  • - Info Sheets
    • Blood Type Heredity
    • Clothing Sizes
    • app.tool_clock
  • [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 Image EXIF Blood Type Heredity Clothing Sizes app.tool_clock
  • 英国を代表する作曲家ブリテンが世界平和を願って作った『戦争レクイエム』【クラシック今日は何の日?】
    2024-05-29

    <司書のコレ絶対読んで>「王さまと九人のきょうだい」君島久子訳、赤羽末吉絵
    2024-05-29

    テレビ東京、不適切表現で謝罪 「激録・警察密着24時!!」
    2024-05-29

    『ボールアンドチェイン』南Q太著 評者:三木那由他【このマンガもすごい!】
    2024-05-30

    作曲家ビゼーの窮地を救った傑作オペラ『真珠採り』の聴きどころは?【クラシック今日は何の日?】
    2024-05-31

    入試問題は白黒です 「わかりやすさ」「カラフル」は逆効果、自分で図を書くべし 桜井信一の攻める中学受験
    2024-05-31

    デザインジャーナリストによる新しいデザイン誌の登場です!
    2024-06-01

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

    杉真理×和田唱がビートルズをとことん語る!NHK-FMの人気番組「ディスカバー・ビートルズ」がオンライン講座として復活!
    2024-06-02

    死後に再評価が進んだ作曲家の筆頭、ビゼー。その裏には友人の存在が【クラシック今日は何の日?】
    2024-06-02

    IT国家の最先端研究を知って 奈良・宇陀市がエストニアへの短期留学事業
    2024-06-04

    「企画展 歌と物語の絵 ―雅やかなやまと絵の世界」(泉屋博古館東京)開幕レポート。歌、物語、絵画が織りなす芸術世界へ
    2024-06-04

    美術評論家連盟が「ガザ戦争に対する意⾒表明」を公開
    2024-06-04

    akakilikeの新作ダンス公演『希望の家』が松本・東京の2都市で上演へ
    2024-06-04

    「台北當代2024」開幕レポート。「台湾マーケットのニーズに応えるプラットフォームに」
    2024-06-04

    【1971年の今日 : 6月5日】京王プラザホテル全面開業―今からは想像もできない着工前の巨大な貯水池だった頃の写真も
    2024-06-05

    週末見たい展覧会5選。今週はTRIO展、吉田克朗展、建築の構造デザインに焦点を当てた展覧会など。【2024年6月第2週】
    2024-06-05

    藤井八冠、5連覇へ白星発進 将棋棋聖戦、山崎八段破る
    2024-06-06

    京都・祇園祭の「長刀鉾」稚児決まる 記者会見で「頑張ります」
    2024-06-06

    長山智美 デザイン狩人|HAY DOGS♡
    2024-06-06

    ©  Dopu Box
    💛