לינוקס (ליבה)

ליבת לינוקס (באנגלית: Linux kernel) היא ליבה בה נעשה שימוש במערכות הפעלה ממשפחת לינוקס. זו אחת הדוגמאות הבולטות והנפוצות ביותר של תוכנות קוד פתוח וחופשי. ליבת לינוקס מופצת תחת הרישיון הציבורי הכללי של גנו מגרסה 2 (בתוספת מספר יוצאי דופן), אשר מפותחת על ידי מספר מפתחים מרחבי העולם. דיונים בנושא הפיתוח מתרחשים באופן יום-יומי ברשימת התפוצה של הקרנל (linux kernel mailing list). ליבת לינוקס נוצרה על ידי הסטודנט הפיני לינוס טורבאלדס בשנת 1991 מתוך שאיפה לאפשר שימוש במערכת ההפעלה יוניקס גם על מחשבים אישיים. לינוקס זכתה לקהל מפתחים ומשתמשים אשר אימצו קוד מקור ממיזמי תוכנה חופשית אחרים לצורך שימוש עם הליבה החדשה. אלפי מפתחי תוכנה תרמו קוד לליבת לינוקס. ליבת לינוקס נמצאת בבסיסן של הפצות לינוקס. ליבת לינוקס יכולה לרוץ על מגוון רחב של מעבדים, תומכת במגוון רחב של פלטפורמות והתקנים, ומשמשת במגוון של מערכות, החל מטלפוני אנדרואיד וכלה במחשבי ענק. באפריל 1991, לינוס טורבאלדס, סטודנט בן 21 באוניברסיטת הלסינקי בפינלנד, החל לעבוד על מספר רעיונות פשוטים למערכת הפעלה. טורבאלדס רצה לאפשר שימוש ביוניקס גם על מחשבים אישיים, והחל בכתיבת סדרן תוכניות ומדמה מסוף מחשב עבור מעבדי אינטל 386 באסמבלר. ב-25 באוגוסט טורבאלדס פרסם בקבוצת דיון comp.os.minix הודעה על כך שסיים לפתח ליבת מערכת הפעלה המבוססת על מערכת המיניקס. במקור, פותחה מערכת מיניקס על ידי אנדרו טננבאום, מרצה באוניברסיטה החופשית של אמסטרדם שפיתח את מיניקס כחלק מקורס אקדמי בנושא פיתוח מערכות הפעלה. טורבאלדס התאכזב מחוסר הנכונות של טננבאום לפתוח את קוד המקור של מיניקס ולאפשר לבצע בה שינויים ושיפורים נדרשים. הרכיבים שטורבאלדס פיתח היו חלק מניסיונו לייצר מערכת הפעלה התואמת את תקן POSIX. מכיוון שהקוד שכתב טורבאלדס היה זמין לכל דורש, קבוצה גדולה של מפתחי תוכנה החלה לתרום פיסות קוד ורעיונות לפרויקט, ובמיוחד אנשי קהילת המיניקס. באותה עת, פרויקט גנו כבר ייצר אוסף תוכנות ורכיבי תוכנה חופשים אשר דרושים למערכת הפעלה חופשית, אך הליבה החופשית Hurd טרם הבשילה לידי שימוש. כמו כן, מערכת ההפעלה BSD טרם הבהירה את מצבה החוקי. מכיוון שלא הייתה חלופה אחרת, למרות היכולות המעטות בימיה הראשונים, זכתה לינוקס למספר רב של מפתחים ומשתמשים. בספטמבר 1991, גרסה 0.01 של הליבה יצאה לשרת ה-FTP של אוניברסיטת הלסינקי. גרסה זו כללה כ-10,239 שורות קוד. באוקטובר 1991, יצאה גרסה 0.02. מספר גרסאות נוספות יצאו עד שגרסה 0.11 יצאה בדצמבר 1991. גרסה זו הייתה הגרסה הבשלה-דיה הראשונה שאפשרה להדר אותה על מערכת שבעצמה מריצה לינוקס. בעת יציאת גרסה 0.12 בפברואר 1992, בחר טורבאלדס ברישיון GPL על פני הרישיון הקודם שבו השתמש (אשר אסר על שימושים מסחריים בקוד). קבוצת הדיון alt.os.linux הוקמה, וב-19 בינואר 1992 נשלחה אליה ההודעה הראשונה. ב-31 במרץ, הוחלף שם קבוצת הדיון ל-comp.os.linux (מעין אישור שמדובר במערכת הפעלה "אמיתית" ולא "תחביב"). מערכת החלונות X הותאמה ללינוקס, וליבה גרסה 0.95 ממרץ 1992 הייתה הראשונה שיכלה להריץ את מערכת החלונות X. הקפיצה מגרסה 0.1x לגרסה 0.9x (אך לא סדרת 1.0) נבעה מהתחושה שלינוקס מתייצבת לכיוון מערכת יציבה ומוגמרת יחסית, אך טרם הגיעה לנקודה שבה היא עומדת ברשות עצמה. למרות האופטימיות הרבה, עד תחילת 1994, המשיכו להתפרסם גרסאות ליבה מ"סדרת" 0.99. לבסוף, ב-14 במרץ 1994, התפרסמה גרסת ליבה 1.0.0 ובה 176,250 שורות קוד. העבודה על סדרת הגרסאות 2 החלה ב-9 ביוני 1996. נקודות ציון עיקריות: 25 בינואר 1999 - גרסה 2.2.0 יצאה (1,800,847 שורות קוד). 18 בדצמבר 1999 - גרסה 2.2.13 יצאה עם תמיכה בגרסאות מחשב מרכזי של IBM. גרסה זו מסמנת את הנקודה בה לינוקס הגיעה לבשלות לשימוש כמערכת ארגונית. 4 בינואר 2001 - גרסה 2.4.0 יצאה (עם כ-3,377,902 שורות קוד). 17 בדצמבר 2003 - גרסה 2.6.0 יצאה (5,929,913 שורות קוד). ב-21 ביולי 2011, הודיע טורבאלדס על מעבר לגרסאות ה-3. המעבר לא לווה בקפיצת דרך טכנולוגית אלא היווה נקודת ציון לנוכח 20 שנות פיתוח. ב-12 באפריל 2015 יצאה לאור גרסה 4.0 של לינוקס, וב-3 במרץ 2019 יצאה לאורגרסה 5.0. גרסה 6.0 יצאנ לאור באוקטובר 2022. גרסאות הליבה הנתמכות כיום על ידי קבוצת המפתחים של לינוקס הן: גרסה 4.9, שעליה מבוססת גרסה 9 של דביאן. גרסה 4.14 גרסה 4.19, שעליה מבוססת גרסה 10 של דביאן. זוהי הגרסה הראשונה התומכת במעבדי ARM64. גרסה 5.4, שעליה מבוססת גרסה 20.04 של אובונטו. גרסה 5.10, שעליה מבוססת גרסה 11 של דביאן. גרסה 5.15, שעליה מבוססות גרסה 22.04 של אובונטו, גרסה 15 של סלאקוור, וגרסה 7 של UEK. גרסה 6.3, שהיא כיום הגרסה העדכנית ביותר. עם זאת, קיימות הסתעפויות רבות של לינוקס שפותחו על ידי גורמים אחרים, תוך התבססות על מגוון גרסאות ליבה אחרות של לינוקס. במקור יצאה הליבה של לינוקס תחת רישיון שימוש שאסר כל שימוש מסחרי בקוד. המצב השתנה במהרה, כאשר בגרסה 0.12, שונה רישיון השימוש לרישיון GPL מגרסה 2. רישיון זה מאפשר הפצה מחדש, ואפילו מכירה, של גרסאות לינוקס (בין אם הקוד הרשמי של לינוקס ובין אם גרסאות מותאמות), כל עוד הקוד מופץ תחת רישיון דומה, ולקונה יש גישה לקוד המקור. טורבאלדס צוטט כי המעבר לשימוש ברישיון ה-GPL, היה המעשה הטוב ביותר שביצע אי פעם. נכון להיום, לינוקס זמינה תחת רישיון GPL מגרסה 2, כאשר (בשונה ממרבית התוכנה ברישיון זה) אין הרשאה לפתיחת קוד המקור תחת רישיון זה מגרסה חדשה יותר. החלטה (יוצאת דופן) זו היא בבסיסו של דיון מתמשך בנוגע לקלות המעבר לגרסאות מתקדמות יותר של GPL (דוגמת רישיון 3), והאם בכלל יש טעם במעבר שכזה. טורבאלדס בעצמו ציין ביציאת גרסה 2.4.0 של הליבה שהקוד שלו יוצא רק תחת רישיון GPL 2. עם זאת, רישיון GPL מציין כי אם לא מצוינת במפורש גרסת הרישיון, כל גרסה שהיא יכול להיות בשימוש, ו-אלאן קוקס ציין כי רק מעטים ממפתחי הליבה ציינו את מספר הגרסה המדויק. בספטמבר 2006, סקר שנערך בקרב 29 ממפתחי הליבה העיקרים, הראה כי 28 מעדיפים את גרסה 2 של רישיון ה-GPL על פני ההצעה של רישיון 3 (שהיה בתהליך כתיבה באותה העת). טורבאלדס התייחס לסוגיה וציין שלדעת מספר הדיוטות, דווקא הוא היה היוצא דופן כמתנגד לרישיון 3. קיים דיון עקרוני האם מודולי הליבה הנטענים נחשבים כיצירות נגזרות בהתאם לחוקי זכויות יוצרים, ולפיכך הם בעצמם נמצאים תחת רישיון ה-GPL. טורבאלדס בעצמו טוען כי ישנם מודולי ליבה אשר משתמשים בממשקי הליבה, אבל הם בעצמם אינן נגזרת של הליבה, מה שמאפשר לדעתו את השימוש במודולים שכאלה אשר אינם נמצאים תחת רישיון ה-GPL (מרבית המודולים הללו הם מודולים סגורים אשר ניתנים רק בגרסה הבינארית של הקובץ). יש רבים החולקים על דעה זו, ואפילו טורבאלדס מסכים כי רבים ממודולי הליבה הנטענים הם יצירות נגזרות, ואף מציין כי ברירת המחדל היא שמודולים אלה הם יצירה נגזרת. עם זאת, טורבאלדס מציין כי קיים תחום אפור בהקשר להתקני תוכנה אשר נכתבו במקור עבור מערכות הפעלה אחרות (ולכן בהכרח אינם יצירה נגזרת). אחד הגורמים העיקריים לדיון זה הם מנהלי התקנים של כרטיסים גרפיים. בסופו של דבר, נראה כי הפתרון לסוגיה יקבע על ידי בית משפט. נושא נוסף אשר מצוי בליבת הדיון בכללי הרישיון בלינוקס הוא הנושא של שימוש ברכיבי קוד סגור הקשורים לרכיב קושחה מסוים מתוך מטרה לתמוך בו. קבצים אלה נמצאים תחת מספר רב של רישיונות תוכנה, וחלקם הגדול מופצים תחת רישיון קוד נוקשים, וקוד המקור שלהם לרוב סגור. ריצ'רד סטולמן טוען כי שימוש ברכיבי קוד שכאלה הופכים את לינוקס למערכת קוד סגור; וייתכן שאפילו גורמים ללינוקס להיות בסתירה עם רישיון ה-GPL (הדורש גישה מלאה לקוד המקור). כתגובה לכך, החל ארגון ה-FSFLA (קבוצת ה-FSF של אמריקה הלטינית) את פרויקט ה-Linux-libre, כדי להפוך את ליבת לינוקס לליבה ללא רכיבי תוכנה סגורים, כדי שתוכל להיות בשימוש של הפצות לינוקס חופשיות לחלוטין. הדבר הביא לכך שפרויקט דביאן הודיע שגרסה 6.0 של ההפצה מבוססת על ליבה "חופשית מכל רכיב שאיננו חופשי". ערך מורחב – מכון סימן לינוקס לינוקס היא סימן מסחרי רשום של לינוס טורבאלדס בארצות הברית ובמספר מדינות נוספות. הדבר נובע מתקרית עם ויליאם דלה קורס ג'וניור, אשר אף על פי שלא היה מעורב בפיתוח לינוקס, רשם סימן מסחרי על לינוקס ולאחר מכן דרש זכויות שימוש בלינוקס . לאחר מכן, מספר תומכי לינוקס פנו לרשויות המשפטיות הרלוונטיות ותבעו את דלה קרוס. העניין יושב באוגוסט 1997, כאשר הסימן הרשום הועבר לרשות לינוס . במרץ 2003 חברת SCO הגישה תביעה כנגד חברת IBM בטענה כי IBM הפרה את זכויות היוצרים של SCO בנוגע לקוד המקור של מערכת Unix על ידי תרומה של חלק מקטעי הקוד של מערכת Unix המקורית לליבה של לינוקס. בנוסף, שלחה SCO מכתבים למספר חברות המזהירים אותן משימוש בלינוקס ללא בקשת רישיון מ-SCO עקב הפרת זכויות היוצרים, ובמקביל אף הודיעה לעיתונות על כוונתה לתבוע משתמשי לינוקס. IBM התחייבה להגן על לקוחות מערכות הלינוקס שלה על חשבונה. הפרשה הביאה למספר תביעות של חברת SCO כנגד חברות כגון נובל, דיימר-קרייזלר (אשר בוטלה בחלקה ביולי 2004) ו-Autozone, וכן לתביעות נגדיות של חברות כגון Red Hat כנגד SCO. בתחילת 2007, SCO הגישה לבית המשפט את התביעה המדויקת בנוגע להפרת זכויות היוצרים. למרות טענותיה המקוריות של שימוש לא חוקי במעל מיליון שורות קוד, החברה הציגה לבית המשפט 326 שורות קוד, מרביתן בלתי ניתנות להגנת זכויות יוצרים. באוגוסט 2007 קבע בית המשפט בתביעה של SCO כנגד נובל כי SCO לא הייתה בעלת זכויות הקניין על UNIX אם כי בית המשפט לערעורים קבע באוגוסט 2009 כי שאלת בעלות זכויות היוצרים תקבע על ידי חבר מושבעים . ואכן ב-30 במרץ 2010 קבע חבר המושבעים לטובת חברת נובל. ביולי 2009 חברת מיקרוסופט הגישה את התקני התוכנה של Hyper-V (רכיב תוכנה שמיועד לשיפור יכולת ההרצה של מערכות לינוקס וירטואליות במערכות חלונות) לפרויקט הליבה של לינוקס. מיקרוסופט נאלצה לבצע צעד זה לאחר שהסתבר ש-Hyper-V הכיל בתוכו התקן תוכנה לרשתות אשר מופץ ברישיון ה-GPL . השם לינוקס מתייחס אל הליבה של מערכת ההפעלה, על אף שמקובל כיום להשתמש בשם כדי להתייחס למשפחה שלמה של מערכות הפעלה תואמות יוניקס, המוכרות גם בשם גנו/לינוקס, אשר נוצרו על ידי שילוב ליבת לינוקס עם ספריות וכלים מפרויקט גנו. המושג "לינוקס" מתייחס אפילו להפצות לינוקס שלמות, אשר מספקות בדרך כלל כמויות גדולות של תוכנה החל משרתי אינטרנט כדוגמת Apache ועד לסביבות עבודה גרפיות כמו GNOME וחבילות יישומים משרדיים כמו OpenOffice.org בנוסף לבסיס של מערכת ההפעלה עצמה. טורבאלדס לא תכנן להתחיל מהפכה כאשר הכריז לראשונה על זמינות הליבה בגרסה 0.1. ההכרזה המאוד צנועה שלו התייחסה למעשה למגבלות של לינוקס והביעה ספק לגבי האפשרות שהיא תהפוך למשהו רציני אי פעם. טורבאלדס התייחס במיוחד לעובדה שקוד המקור לא נייד בין פלטפורמות חומרה (non portable) מאחר שהוא עושה שימוש נרחב הוראות מכונה במעבדי 386 (המחשב האישי שהיה ברשותו ובאמצעותו פותחה לינוקס). עבור טורבאלדס, לינוקס הייתה תחביב לכל היותר. אבל ההתלהבות הייתה גדולה. מפתחים רבים ברחבי העולם התחילו לסייע לו ולאט לאט הפכה לינוקס, יחד עם תוכניות המערכת הזמינות כחלק מפרויקט גנו, למערכת הפעלה לכל דבר. במשך תקופה ארוכה נוספו למערכת ההפעלה גנו/לינוקס יישומים נוספים כמו שרת התצוגה X, מנהלי התקן להתקני חומרה שונים והיא אף הוסבה לפלטפורמות חומרה רבות מלבד אינטל. לינוקס מדיה וקבצים בנושא לינוקס בוויקישיתוף אתר האינטרנט הרשמי של לינוקס (באנגלית) ההכרזה המקורית של טורבאלדס ברשימת הדיוור של מיניקס Linux.org Kernel.org Linux.com לינוקס מגזין (אנגלית) לינוקס, הבלוג הרשמי קובץ ה-README של הגרעין לינוס טורבאלדס, "Re: GPLv3 Position Statement" רישיון התוכנה Linux Kernel Development: How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It ההכרזה על זמינות לינוקס להורדה ושיפור הערות לגרסה 0.12 של לינוקס ההודעה הראשונה לרשימת התפוצה alt.os.linux מיום 19 בינואר המעבר לגרסת ליבה 3, ריאיון עם טורבאלדס מידע אודות הליבה PC Magazine The Pragmatist of Free Software GPLv3 and the kernel הודעתו של לינוס טורבאלדס בנוגע לרישיון השימוש בקוד שכתב Re: GPL V3 and Linux Top Linux programmers pan GPL 3 הצהרתו של טורבאלדס בנוגע לרישיון ברירת המחדל של מודולי ליבה הסברו של טורבאלדס בנוגע לרישיון התקני תוכנה שנכתבו במקור עבור מערכות הפעלה אחרות עמדת ריצ'רד סטולמן ביחס למנהלי התקנים בקוד סגור בליבת לינוקס אתר הבית של פרויקט linux-libre באתר של FSFLA הכרזת פרויקט דביאן על גרסת ליבה 6.0 יו פיל, "Linux Trademark Dispute" יו פיל, "Action Taken on Linux Trademark" טניה ג'יסלברג, "The Trademark History of Linux, the Operating System" "Report from the Courthouse 7 March" "Court Rules: Novell owns the UNIX and UnixWare copyrights" "SCO Will Try Again" "Jury says Novell owns Unix copyrights" "Microsoft aims at VM market with Linux kernel code offering" "Microsoft's Linux Kernel Code Drop Result of GPL Violation" "Microsoft Contributes Linux Drivers to Linux Community"