• 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
  • [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
  • 授業中の生徒や住民が弾道ミサイル飛来を想定した避難訓練 福島・須賀川桐陽高
    2024-05-31

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

    エリザベートコンクールで吉田さん6位入賞
    2024-06-01

    富士山麓のダイナミックな食材を味わう“奥・山梨”のガストロノミー〈Restaurant SAI 燊〉。
    2024-06-01

    <今週の本棚・次回の予定>6月8日の毎日新聞書評欄は『新装版 ペルーからきた私の娘』ほか
    2024-06-03

    フジコ・ヘミングさん偲ぶ魂のピアノ旋律
    2024-06-03

    映画「ゴジラ‐1.0」の震電は「コックピットだけ復元」のはずだった…山崎貴監督がエピソード披露
    2024-06-04

    アルテミス計画&天の川銀河! 大人も学んで楽しめる「大人レゴ」最新ラインナップは”宇宙”がテーマ!
    2024-06-03

    レイモンド・ローウィの名言「優れたインダストリアルデザインは、…」【本と名言365】
    2024-06-04

    稀代のピアニスト、マルタ・アルゲリッチの伝説の始まりはこの1曲から【クラシック今日は何の日?】
    2024-06-04

    特別展 「工芸的美しさの行方―うつわ・包み・装飾」が東京と京都で開催。日本の美術工芸を世界へ 
    2024-06-04

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

    「梅津庸一 エキシビションメーカー」(ワタリウム美術館)開幕レポート。きっとあなたも展覧会をつくりたくなる
    2024-06-04

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

    謎多き家形埴輪 「考古学の空白」に挑む橿考研ベテラン研究員、念願の特別展開催中
    2024-06-04

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

    ユージーン・スタジオが東南アジアに美術館を建設予定。新法人YES__pte.ltdを設立し、インドネシア・ジャカルタに美術館準備室を開設
    2024-06-04

    フィギュアスケートにもぴったり! ハチャトゥリアン作曲の『仮面舞踏会』【クラシック今日は何の日?】
    2024-06-06

    美しくて“かわいい”結びの技  1400年の歴史を誇る「水引」の可能性を探って
    2024-06-06

    青森で来年夏に音楽祭 沖澤のどかさんが総監督
    2024-06-06

    ©  Dopu Box
    💛