"חלודה עושה קידוד שוב כיף": מדוע לינוקס מתרחקת מ-C, על פי גרג קרוה-הארטמן
מתחזק הגרעין היציב של לינוקס, גרג קרואה-הארטמן: "ניסוי Rust הסתיים. זה אמיתי."
צילום מסך מאת Elyse Betters Picaro / ZDNET
עקוב אחר ZDNET: הוסף אותנו כמקור מועדף בגוגל.
נקודות המפתח של ZDNET
- בעתיד, חלק מתתי מערכות לינוקס ייכתבו רק ב- Rust.
- חלודה הרבה יותר בטוחה מ-C, אבל זה לא כדור כסף להיגיון רע.
- ליבת לינוקס לא תיכתב מחדש ב- Rust. טוב, בכל מקרה עדיין לא.
בְּ פסגת הקוד הפתוח בהודו 2026 במומבאי, מתחזק הליבה היציבה של לינוקס, גרג קרואה-הארטמן, אמר בהרצאתו כי "ה [Linux] הקרנל נע לכיוון חלודה. Git נע לכיוון Rust. הרבה פרויקטים מתחילים לנוע לכיוון Rust."
כמו כן: Red Hat יתמוך ב-RHEL שלך לנצח עכשיו – במחיר
הוא לא תמיד הרגיש כך. קרוה-הרטמן הוסיפה, "לפני מספר שנים, כשחבר שלי אמר, 'אה, אתה חייב לנסות את השפה החדשה הזו. קוראים לה Rust.' הייתי כמו, 'מה? לא, ג' מעולה'. חברו המשיך, "'לא, לא, לא! זה שוב הופך את התכנות למהנה״. אני כמו, 'לא, תכנות זה כיף ב-C'. הוא צדק. הייתי צריך לעשות את זה אז. חלודה זה בעצם כיף. זה הופך את התכנות למהנה. זה מרחיק הרבה דברים מהצורך לדאוג לגבי המהדר, שיכול לתקן הרבה מהבעיות שלך עבורך, וזה הופך את הקוד לקצת טוב יותר."
מדוע חלודה הופכת את החיים להרבה יותר קלים
אז קרואה-הרטמן עבר מלהיות ספקן Rust לאחד האלופים החזקים ביותר שלו בתוך הגרעין. כעת הוא רואה ב-Rust חלק קבוע בלינוקס, לא כניסוי. המקרה שלו פשוט: מערכת הבעלות והסוג של Rust יכולה לחסל את רוב "הדברים הקטנטנים והטיפשים" השולטים בפגיעויות וחשיפות נפוצות של הליבה (CVEs), תוך שמירה על חיים קלים יותר עבור מתחזקות שעובדות יתר על המידה. "חלודה", בקיצור, "עושה לי את החיים הרבה יותר קלים".
קרואה-הרטמן אמור לדעת. הוא מפקח על תהליך CVE ליבת לינוקסויש לו נקודת תצפית ייחודית כמתחזק הגרעין היציב. בהודו, הוא אמר כי לינוקס רואה "בערך 13 CVEs ביום" ופועלת ב"כמעט תשעה שינויים בשעה" כבר עשור או יותר. רוב נקודות התורפה הללו, הוא טען, אינן התקפות אקזוטיות אלא טעויות פשוטות של C – מצביעים לא מסומנים, פתיחת נעילה נשכחת ונתיבי ניקוי מרושלים: "זה מה שאנחנו מתקנים 13 פעמים ביום. באגים קטנים, טריוויאליים, כאלה כל הזמן".
וגם: 'אני לא מתכנת' יותר: לינוס טורוואלדס על שני הכלים היחידים שהוא משתמש בו עכשיו
איך חלודה יכולה לעזור בבעיה זו? קַל. קרואה-הרטמן המשיכה: "הנה ההצהרה שלי, לגמרי לא מדעית. ראיתי כל CVE שהקרנל עשה ב-25 השנים האחרונות. אני חושב ש-80% ייעלמו, רק בגלל שהם ייתפסו על ידי Rust." 20% הנותרים הם באגי ההיגיון שהוא מעדיף להתמקד בהם: "חלודה עדיין תקרוס בסדר גמור. אתה יכול לעשות דברים מטופשים באמת ב-Rust, אבל כל הדברים הזעירים, המטופשים והטריוויאליים ש-Rust תטפל עבורנו."
Kroah-Hartman סידרה באופן עקבי את בחירות השפה במונחים של עומס עבודה של הבודקים ולא בנוחות המפתחים. ללינוקס יש "מעל 5,000 מפתחים" אבל "כ-150 מתחזקי ליבה שבודקים את רוב הקוד", הטיה שמניעה את סדר העדיפויות שלו. "אנחנו מבצעים אופטימיזציה עבור סוקרים. אנחנו לא מבצעים אופטימיזציה עבור מפתחים כי יש לנו הרבה מפתחים", הוא אמר, והציע שהיכולת של Rust לאכוף כללי נעילה וחוקי חיים בזמן הבנייה פירושה שהבודקים יכולים לבזבז את רוחב הפס המוגבל שלהם על לוגיקה ולא על הנהלת חשבונות: "אם זה נבנה כמבקר, אני יודע שזה בסדר. אני יכול להסתכל על ההיגיון".
כמו כן: אבטחת קוד פתוח היא בלגן – יבמ ורד האט הימרו על 5 מיליארד דולר ו-20,000 מהנדסים יכולים לתקן את זה
מאמץ Rust כבר עיצב מחדש את C בקרנל. כדי להפוך את כריכות החלודה לבטוחות, המתחזקים בקרו מחדש בממשקי API ותיקים של C, והוסיפו מנגנוני הגנה והקצאה בהיקף המשקפים את הניקוי האוטומטי של Rust. "יש לנו את השומרים, ספירת ההתייחסות בהיקף, ל-C כי רוסט הראתה לנו שאנחנו יכולים", אמר.
"הוספנו הרבה יותר חומרי בטיחות זיכרון לקרנל ולממשקי API אחרים כי הבנו ש- Rust הראה לנו שאנחנו יכולים לעשות את זה, והפכנו את קוד ה-C ליותר אמין וטוב יותר. אז אם Rust תיעלם מחר, עדיף לליבה".
ברירת המחדל עבור עבודה חדשה בתתי מערכות מפתח
השינוי הזה מגיע כבר זמן מה. כפי שכתבה קרואה-הרטמן עוד בשנת 2025 על רשימת דיוור של ליבת לינוקס (LKML)"גם חלודה נותן לנו את היכולת להגדיר את ממשקי ה-API שלנו בתוך הליבה בדרכים שהופכות אותם לכמעט בלתי אפשרי לטעות בעת השימוש בהם. יש לנו יותר מדי ממשקי API קשים/מסובכים שדורשים יותר מדי סקירת מתחזק כדי "לוודא שהבנתם את זה נכון", זה שילוב של האופן שבו ממשקי API שלנו התפתחו במהלך השנים (בכמה דרכים שונות אפשר להשתמש ב-'struct cdev' בצורה בטוחה?) וגם איך C לא מאפשר לנו לבטא ממשקי API בצורה שתקל/בטוחה יותר לשימוש. לאלץ את המתחזקים של ממשקי ה-API הללו לחשוב עליהם מחדש זה דבר טוב, מכיוון שהוא גורם לנו לנקות אותם עבור כולם, כולל משתמשי C כבר, מה שהופך את לינוקס לטוב יותר באופן כללי."
יתר על כן, Rust הופך להיות ברירת המחדל עבור עבודה חדשה בתתי מערכות מפתח. "דרייברים חדשים לתתי-מערכות מסוימות יתקבלו רק ב-Rust. תראו את תת-המערכת הגרפית, הדרייברים המורכבים ביותר שיש כיום; החבר'ה האלה יהיו ב-Rust בלבד", אמר. ל-Binder, מנגנון ה-IPC של אנדרואיד בלב של מיליארדי מכשירים, יש כעת יישומי C ו-Rust מקבילים בקרנל. גרסת ה-C "תיעלם בקרוב", ותותיר את גרסת Rust "כסלע של כל מכשירי האנדרואיד בעתיד".
רשמית, הנהגת הגרעין כבר ברכה את Rust כשפה ממדרגה ראשונה. "הניסוי הזה הוא עכשיו כבר לא ניסוי", אמר קרואה-הרטמן. "מנהלי קהילת הגרעין התכנסו בשנה שעברה… ואמרנו ניסוי החלודה הסתיים. זה אמיתי. אנחנו הולכים לקבל את הדבר הזה קדימה".
כמו כן: IBM ו-Red Hat משיקים את Lightwell כדי להגן על קוד קוד פתוח מפני התקפות AI
עכשיו, השינוי הזה לא אומר שליבת לינוקס ישכתב מחדש ב-Rust. כפי שהוא אמר ב כנס שבוע החלודה מוקדם יותר השנה באוטרכט, הולנד, "אנחנו לא רוצים שכתובים, אז אלא אם כן אתה המנהל והבעלים של הקובץ הזה, פשוט עשה את זה בשביל דברים חדשים. השאר את קוד ה-C הקיים לבד, ובואו נתפתח קדימה אחרי זה."
עם זאת, לאחר שראיתי את לינוקס צומחת מההתחלה, אני מבין שייתכן שיגיע היום שבו ליבת הלינוקס תישכתב מחדש ב-Rust. זה לא יהיה בקרוב, אבל אני יכול לראות את זה קורה. זה הרבה יותר בטוח בעיצובו. אם מישהו ישאל אותי היום איזו שפה הם צריכים ללמוד כדי להפוך לתורם ליבה, הייתי אומר להם להרים את Rust.
כמו כן: בדקתי הרבה הפצות לינוקס ניידות, אבל PorteuX הוא זה שאני שומר על כונן ה-USB שלי
בינתיים, קראה-הרטמן הודה ש"שינוי הוא קשה" לקהילה ספוגה ב-C, כולל את עצמו: "אני אוהב את C. אני עושה את C כבר הרבה מאוד הרבה שנים". ואכן, הוא עסק בזה כבר "יותר ממה שאנשים רבים כאן בכלל היו בחיים. זה קשה". אבל הוא חזר לאותו נושא שמכר אותו לראשונה ב-Rust: "חלודה עושה קידוד שוב כיף. גיליתי שזה עושה את זה כך שאתה לא צריך לדאוג איפה ההפניות שלי, איפה אני תופס את המנעולים שלי כמו שצריך, האם עשיתי את הדברים האלה, האם עשיתי את זה? אני יכול להתמקד בלוגיקה, וזה היופי שבדבר".
Kroah-Hartman המשיך, "חלודה יכולה להיות מהנה יותר עבור מתחזקים ולינוקס מאובטחת יותר עבור המשתמשים, וזה הדבר הכי חשוב בסך הכל." הוא סיים עם הפאנץ' המוכר הזה של לינוקס: "וכמובן, השליטה בעולם ממשיכה כמתוכנן."