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

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
לינוקס
Tux
Linux-x86-under-qemu.png
ליבת לינוקס 2.6.25.17 בהרצה
מפתח לינוס טורבאלדס ורבים אחרים
משפחה דמוית UNIX
מודל קוד קוד פתוח, תוכנה חופשית
גרסה אחרונה 3.6.7 ב־17 בנובמבר 2012
סוג ליבה מונוליתית
סוג רישיון הרישיון הציבורי הכללי של גנו גרסה 2 (בלבד)
מצב עבודה פעיל
דף בית www.kernel.org
L'ubiquité de Noyau Linux
Tux הפינגווין - הדמותג של מערכת ההפעלה לינוקס

ליבת לינוקס (באנגלית: Linux kernel) היא ליבה בה נעשה שימוש במערכות הפעלה ממשפחת לינוקס[1]. זו אחת הדוגמאות הבולטות והנפוצות ביותר של תוכנות קוד פתוח וחופשי[2].

ליבת לינוקס מופצת תחת הרישיון הציבורי הכללי של גנו מגרסה 2‏[3] (בתוספת מספר יוצאי דופן), אשר מפותחת על ידי מספר מפתחים מרחבי העולם. דיונים בנושא הפיתוח מתרחשים באופן יום-יומי ברשימת התפוצה של הקרנל (linux kernel mailing list).

ליבת הלינוקס נוצרה על ידי הסטודנט הפיני לינוס טורבאלדס בשנת 1991 מתוך שאיפה לאפשר שימוש במערכת ההפעלה יוניקס גם על מחשבים אישיים. לינוקס זכתה לקהל מפתחים ומשתמשים אשר אימצו קוד מקור מפרויקטי תוכנה חופשית אחרים לצורך שימוש עם הליבה החדשה. אלפי מפתחי תוכנה תרמו קוד לליבת לינוקס‏[4]. ליבת לינוקס נמצאת בבסיסן של מרבית הפצת גנו/לינוקס הקיימות.

ליבת לינוקס יכולה לרוץ על מגוון רחב של מעבדים, תומכת במגוון רחב של פלטפורמות והתקנים, ומשמשת במגוון של מערכות, החל ממערכות משובצות קטנות וכלה במחשבי ענק.

היסטוריה[עריכת קוד מקור | עריכה]

באפריל 1991, לינוס טורבאלדס, סטודנט בן 21 באוניברסיטה של הלסינקי בפינלנד, החל לעבוד על מספר רעיונות פשוטים למערכת הפעלה. טורבאלדס רצה לאפשר שימוש ביוניקס גם על מחשבים אישיים, והחל בכתיבת סדרן תוכניות ומדמה מסוף מחשב עבור מעבדי אינטל 386 באסמבלר. ב-25 באוגוסט טורבאלדס פרסם בקבוצת דיון comp.os.minix הודעה על כך שסיים לפתח ליבת מערכת הפעלה המבוססת על מערכת המיניקס[5].

במקור, פותחה מערכת מיניקס על ידי אנדרו טננבאום, מרצה באוניברסיטה הולנדית שפיתח את מיניקס כחלק מקורס אקדמי בנושא פיתוח מערכות הפעלה. טורבאלדס התאכזב מחוסר הנכונות של טננבאום לפתוח את קוד המקור של מיניקס ולאפשר לבצע בה שינויים ושיפורים נדרשים. הרכיבים שטורבאלדס פיתח היו חלק מניסיונו לייצר מערכת הפעלה התואמת את תקן POSIX.

מכיוון שהקוד שכתב טורבלאדס היה זמין לכל דורש, קבוצה גדולה של מפתחי תוכנה החלה לתרום פיסות קוד ורעיונות לפרויקט, ובמיוחד אנשי קהילת המיניקס. באותה עת, פרויקט גנו כבר ייצר אוסף תוכנות ורכיבי תוכנה חופשים אשר דרושים למערכת הפעלה חופשית, אך הליבה החופשית Hurd טרם הבשילה לידי שימוש. כמו כן, מערכת ההפעלה BSD טרם הבהירה את מצבה החוקי. מכיוון שלא הייתה חלופה אחרת, למרות היכולות המעטות בימיה הראשונים, זכתה לינוקס למספר רב של מפתחים ומשתמשים.

בספטמבר 1991, גרסה 0.01 של הליבה יצאה לשרת ה-FTP של האוניברסיטה של הלסינקי. גרסה זו כללה כ-10,239 שורות קוד. באוקטובר 1991, יצאה גרסה 0.02. מספר גרסאות נוספות יצאו עד שגרסה 0.11 יצאה בדצמבר 1991. גרסה זו הייתה הגרסה הבשלה-דיה הראשונה שאפשרה להדר אותה על מערכת שבעצמה מריצה לינוקס. בעת יציאת גרסה 0.12 בפברואר 1992, בחר טורבאלדס ברישיון GPL על פני הרישיון הקודם שבו השתמש (אשר אסר על שימושים מסחריים בקוד)‏[6].

קבוצת הדיון alt.os.linux הוקמה, וב-19 בינואר 1992 נשלחה אליה ההודעה הראשונה‏[7]. ב-31 במרץ, הוחלף שם קבוצת הדיון ל-comp.os.linux (מעין אישור שמדובר במערכת הפעלה "אמיתית" ולא "תחביב").

מערכת החלונאות X11 הותאמה ללינוקס, וליבה גרסה 0.95 ממרץ 1992 הייתה הראשונה שיכלה להריץ את מערכת החלונאות. הקפיצה מגרסה 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‏[8]. המעבר לא לווה בקפיצת דרך טכנולוגית‏[9] אלא היווה נקודת ציון לנוכח 20 שנות פיתוח‏[10].

מצב חוקי[עריכת קוד מקור | עריכה]

רישיונות שימוש[עריכת קוד מקור | עריכה]

במקור יצאה הליבה של לינוקס תחת רישיון שימוש שאסר כל שימוש מסחרי בקוד. המצב השתנה במהרה, כאשר בגרסה 0.12, שונה רישיון השימוש לרישיון GPL מגרסה 2. רישיון זה מאפשר הפצה מחדש, ואפילו מכירה, של גרסאות לינוקס (בין אם הקוד הרשמי של לינוקס ובין אם גרסאות מותאמות), כל עוד הקוד מופץ תחת רישיון דומה, ולקונה יש גישה לקוד המקור. טורבאלדס צוטט כי המעבר לשימוש ברישיון ה-GPL, היה המעשה הטוב ביותר שביצע אי פעם‏[11].

רישיון GPL (גרסה 3)[עריכת קוד מקור | עריכה]

נכון להיום, לינוקס זמינה תחת רישיון GPL מגרסה 2, כאשר (בשונה ממרבית התוכנה ברישיון זה) אין הרשאה לפתיחת קוד המקור תחת רישיון זה מגרסה חדשה יותר. החלטה (יוצאת דופן) זו היא בבסיסו של דיון מתמשך בנוגע לקלות המעבר לגרסאות מתקדמות יותר של GPL (דוגמת רישיון 3), והאם בכלל יש טעם במעבר שכזה‏[12]. טורבאלדס בעצמו ציין ביציאת גרסה 2.4.0 של הליבה שהקוד שלו יוצא רק תחת רישיון GPL 2‏[13]. עם זאת, רישיון GPL מציין כי אם לא מצוינת במפורש גרסת הרישיון, כל גרסה שהיא יכול להיות בשימוש, ו-אלאן קוקס ציין כי רק מעטים ממפתחי הליבה ציינו את מספר הגרסה המדויק‏[14]. בספטמבר 2006, סקר שנערך בקרב 29 ממפתחי הליבה העיקרים, הראה כי 28 מעדיפים את גרסה 2 של רישיון ה-GPL על פני ההצעה של רישיון 3 (שהיה בתהליך כתיבה באותה העת). טורבאלדס התייחס לסוגיה וציין שלדעת מספר הדיוטות, דווקא הוא היה היוצא דופן כמתנגד לרישיון 3‏[15].

מודולי ליבה נטענים וקושחה[עריכת קוד מקור | עריכה]

קיים דיון עקרוני האם מודולי הליבה הנטענים נחשבים כיצירות נגזרות בהתאם לחוקי זכויות יוצרים, ולפיכך הם בעצמם נמצאים תחת רישיון ה-GPL. טורבאלדס בעצמו טוען כי ישנם מודולי ליבה אשר משתמשים בממשקי הליבה, אבל הם בעצמם אינן נגזרת של הליבה, מה שמאפשר לדעתו את השימוש במודולים שכאלה אשר אינם נמצאים תחת רישיון ה-GPL (מרבית המודולים הללו הם מודולים סגורים אשר ניתנים רק בגרסה הבינארית של הקובץ). יש רבים החולקים על דעה זו, ואפילו טורבאלדס מסכים כי רבים ממודולי הליבה הנטענים הם יצירות נגזרות, ואף מציין כי ברירת המחדל היא שמודולים אלה הם יצירה נגזרת‏[16]. עם זאת, טורבאלדס מציין כי קיים תחום אפור בהקשר להתקני תוכנה אשר נכתבו במקור עבור מערכות הפעלה אחרות (ולכן בהכרח אינם יצירה נגזרת)‏[17]. אחד הגורמים העיקריים לדיון זה הינם מנהלי התקנים של כרטיסים גרפיים. בסופו של דבר, נראה כי הפתרון לסוגיה יקבע על ידי בית משפט.

נושא נוסף אשר מצוי בליבת הדיון בכללי הרישיון בלינוקס הוא הנושא של שימוש ברכיבי קוד סגור הקשורים לרכיב קושחה מסוים מתוך מטרה לתמוך בו. קבצים אלה נמצאים תחת מספר רב של רישיונות תוכנה, וחלקם הגדול מופצים תחת רישיון קוד נוקשים, וקוד המקור שלהם לרוב סגור. ריצ'רד סטולמן טוען כי שימוש ברכיבי קוד שכאלה הופכים את לינוקס למערכת קוד סגור; וייתכן שאפילו גורמים ללינוקס להיות בסתירה עם רישיון ה-GPL (הדורש גישה מלאה לקוד המקור)‏[18]. כתגובה לכך, החל ארגון ה-FSFLA (קבוצת ה-FSF של אמריקה הלטינית) את פרויקט ה-Linux-libre, כדי להפוך את ליבת לינוקס לליבה ללא רכיבי תוכנה סגורים, כדי שתוכל להיות בשימוש של הפצות לינוקס חופשיות לחלוטין‏[19]. הדבר הביא לכך שפרויקט דביאן הודיע שגרסה 6.0 של ההפצה מבוססת על ליבה "חופשית מכל רכיב שאיננו חופשי"‏[20].

סימן מסחרי[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – מכון סימן לינוקס

לינוקס היא סימן מסחרי רשום של לינוס טורבאלדס בארצות הברית ובמספר מדינות נוספות. הדבר נובע מתקרית עם ויליאם דלה קורס ג'וניור, אשר למרות שלא היה מעורב בפיתוח לינוקס, רשם סימן מסחרי על לינוקס ולאחר מכן דרש זכויות שימוש בלינוקס ‏[21]. לאחר מכן, מספר תומכי לינוקס פנו לרשויות המשפטיות הרלוונטיות ותבעו את דלה קרוס. העניין יושב באוגוסט 1997, כאשר הסימן הרשום הועבר לרשות לינוס‏[22][23].

סאגת SCO[עריכת קוד מקור | עריכה]

במרץ 2003 חברת SCO הגישה תביעה כנגד חברת IBM בטענה כי IBM הפרה את זכויות היוצרים של SCO בנוגע לקוד המקור של מערכת Unix על ידי תרומה של חלק מקטעי הקוד של מערכת Unix המקורית לליבה של לינוקס. בנוסף, שלחה SCO מכתבים למספר חברות המזהירים אותן משימוש בלינוקס ללא בקשת רישיון מ-SCO עקב הפרת זכויות היוצרים, ובמקביל אף הודיעה לעיתונות על כוונתה לתבוע משתמשי לינוקס. IBM התחייבה להגן על לקוחות מערכות הלינוקס שלה על חשבונה. הפרשה הביאה למספר תביעות של חברת SCO כנגד חברות כגון נובל, דיימר-קרייזלר (אשר בוטלה בחלקה ביולי 2004) ו-Autozone, וכן לתביעות נגדיות של חברות כגון Red Hat כנגד SCO.

בתחילת 2007, SCO הגישה לבית המשפט את התביעה המדויקת בנוגע להפרת זכויות היוצרים. למרות טענותיה המקוריות של שימוש לא חוקי במעל מיליון שורות קוד, החברה הציגה לבית המשפט 326 שורות קוד, מרביתן בלתי ניתנות להגנת זכויות יוצרים‏[24]. באוגוסט 2007 קבע בית המשפט בתביעה של SCO כנגד נובל כי SCO לא הייתה בעלת זכויות הקניין על UNIX‏[25] אם כי בית המשפט לערעורים קבע באוגוסט 2009 כי שאלת בעלות זכויות היוצרים תקבע על ידי חבר מושבעים ‏[26]. ואכן ב-30 במרץ 2010 קבע חבר המושבעים לטובת חברת נובל‏[27].

התקני תוכנה Hyper-V של מיקרוסופט[עריכת קוד מקור | עריכה]

ביולי 2009 חברת מיקרוסופט הגישה את התקני התוכנה של Hyper-V (רכיב תוכנה שמיועד לשיפור יכולת ההרצה של מערכות לינוקס וירטואליות במערכות חלונות) לפרויקט הליבה של לינוקס. מיקרוסופט נאלצה לבצע צעד זה לאחר שהסתבר ש-Hyper-V הכיל בתוכו התקן תוכנה לרשתות אשר מופץ ברישיון ה-GPL‏[28][29][30].

התרחבות השימוש[עריכת קוד מקור | עריכה]

השם לינוקס מתייחס אל הליבה של מערכת ההפעלה, על אף שמקובל כיום להשתמש בשם כדי להתייחס למשפחה שלמה של מערכות הפעלה תואמות יוניקס, המוכרות גם בשם גנו/לינוקס, אשר נוצרו על ידי שילוב ליבת לינוקס עם ספריות וכלים מפרויקט גנו. המושג "לינוקס" מתייחס אפילו להפצות לינוקס שלמות, אשר מספקות בדרך כלל כמויות גדולות של תוכנה החל משרתי אינטרנט כדוגמת Apache ועד לסביבות עבודה גרפיות כמו GNOME וחבילות יישומים משרדיים כמו OpenOffice.org בנוסף לבסיס של מערכת ההפעלה עצמה.

טורבאלדס לא תכנן להתחיל מהפכה כאשר הכריז לראשונה על זמינות הליבה בגרסה 0.1. ההכרזה המאוד צנועה שלו התייחסה למעשה למגבלות של לינוקס והביעה ספק לגבי האפשרות שהיא תהפוך למשהו רציני אי פעם. טורבאלדס התייחס במיוחד לעובדה שקוד המקור לא נייד בין פלטפורמות חומרה (non portable) מאחר שהוא עושה שימוש נרחב בפקודות מכונה במעבדי 386 (המחשב האישי שהיה ברשותו ובאמצעותו פותחה לינוקס). עבור טורבאלדס, לינוקס הייתה תחביב לכל היותר. אבל ההתלהבות הייתה גדולה. מפתחים רבים ברחבי העולם התחילו לסייע לו ולאט לאט הפכה לינוקס, יחד עם תוכניות המערכת הזמינות כחלק מפרויקט גנו, למערכת הפעלה לכל דבר. במשך תקופה ארוכה נוספו למערכת ההפעלה גנו/לינוקס יישומים נוספים כמו שרת התצוגה X, מנהלי התקן להתקני חומרה שונים והיא אף הוסבה לפלטפורמות חומרה רבות מלבד אינטל.

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ קובץ ה-README של הליבה
  2. ^ לינוס טורבאלדס, "Re: GPLv3 Position Statement"
  3. ^ רישיון התוכנה
  4. ^ Linux Kernel Development: How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It
  5. ^ ההכרזה על זמינות לינוקס להורדה ושיפור
  6. ^ הערות לגרסה 0.12 של לינוקס
  7. ^ ההודעה הראשונה לרשימת התפוצה alt.os.linux מיום 19 בינואר
  8. ^ המעבר לגרסת ליבה 3, ראיון עם טורבאלדס
  9. ^ מידע אודות הליבה
  10. ^ PC Magazine
  11. ^ The Pragmatist of Free Software
  12. ^ GPLv3 and the kernel
  13. ^ הודעתו של לינוס טורבאלדס בנוגע לרישיון השימוש בקוד שכתב
  14. ^ Re: GPL V3 and Linux
  15. ^ Top Linux programmers pan GPL 3
  16. ^ הצהרתו של טורבאלדס בנוגע לרישיון ברירת המחדל של מודולי ליבה
  17. ^ הסברו של טורבאלדס בנוגע לרישיון התקני תוכנה שנכתבו במקור עבור מערכות הפעלה אחרות
  18. ^ עמדת ריצ'רד סטולמן ביחס למנהלי התקנים בקוד סגור בליבת לינוקס
  19. ^ אתר הבית של פרויקט linux-libre באתר של FSFLA
  20. ^ הכרזת פרויקט דביאן על גרסת ליבה 6.0
  21. ^ יו פיל, "Linux Trademark Dispute"
  22. ^ יו פיל, "Action Taken on Linux Trademark"
  23. ^ טניה ג'יסלברג, "The Trademark History of Linux, the Operating System"
  24. ^ "Report from the Courthouse 7 March"
  25. ^ "Court Rules: Novell owns the UNIX and UnixWare copyrights"
  26. ^ "SCO Will Try Again"
  27. ^ "Jury says Novell owns Unix copyrights"
  28. ^ "Microsoft aims at VM market with Linux kernel code offering"
  29. ^ "Microsoft's Linux Kernel Code Drop Result of GPL Violation"
  30. ^ "Microsoft Contributes Linux Drivers to Linux Community"