לינוקס ופרוייקט גנו

מאת ריצ'ארד סטולמן

[תמונה של גנו תינוק] [ קטלונית | סינית (מפושטת) | סינית (מסורתית) | צ'כית | אנגלית | צרפתית | גרמנית | איטלקית | יפנית | קוריאנית | פולנית | פורטוגזית | רומנית | רוסית | סרבו-קרואטית | סלובנית ]

משתמשי מחשב רבים מריצים גרסאות שונות של מערכת גנו (18k תוים) כל יום, מבלי שידעו זאת. עקב מהלך מאורעות מוזר הגירסה הנפוצה ביותר של גנו כיום ידועה יותר כ"לינוקס", ומשתמשים רבים אינם מודעים למידת הקשר שלה עם פרוייקט גנו.

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

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

מתכנתים בדרך כלל יודעים שלינוקס הוא קרנל. אך מאחר שגם הם שמעו פעמים רבות שלמערכת קוראים "לינוקס", הם לעיתים קרובות משערים שישנה הסטוריה שמצדיקה כינוי של המערכת על פי הקרנל שלה. לדוגמה, רבים מאמינים שכשלינוס טורבאלדס סיים לכתוב את לינוקס, הקרנל, המשתמשים שלו חיפשו תוכנה חופשית נוספת שתצורף אליו, וגילו (ללא סיבה מיוחדת) שכמעט כל מה שצריך כדי ליצור מערכת דמויית יוניקס כבר קיים ונגיש.

מה שהם מצאו לא היה מקרה-- זו ניתה מערכת גנו. התוכנה החופשית שהיתה קיימת הסתכמה לכדי מערכת שלמה בגלל שפרוייקט גנו עבד מאז 1984 כדי ליצור אותה. גילוי הדעת של גנו (31k תוים) הציב את המטרה של פיתוח מערכת חופשית דמויית יוניקס, שנקראת גנו. ההודעה הראשונית של פרוייקט גנו מדגישה גם היא כמה מהתכניות המקוריות של מערכת גנו. בתקופה שלינוקס נכתב, המערכת היתה כמעט גמורה.

רוב הפרוייקטים של תוכנה חופשית מציבים לעצמם כמטרה פיתוח תוכנה מסויימת לביצוע עבודה מסויימת. לדוגמה, לינוס טורוואלדס כתב קרנל דמוי-יוניקס (לינוקס); דונלד נות' כתב מעצב טקסט (TeX); בוב שייפלר פיתח מערכת חלונאית (מערכת X Window). יהיה זה אך טבעי למדוד את התרומה של פרוייקט מסוג זה באמצעות התוכנות המסויימות שהגיעו מאותו פרוייקט.

אם היינו מנסים למדוד את התרומה של פרוייקט גנו בדרך זו, למה היינו מגיעים? יצרן CD-ROMs אחד גילה שבהפצת הלינוקס שלו תוכנות גנו היוו את הקבוצה המייצגת הגדולה ביותר, בערך 28% מכל קוד המקור, וזה כלל כמה מהמרכיבים החשובים הבסיסיים שבלעדיהם לא יכלה המערכת להתקיים. לינוקס עצמה היוותה בערך 3%. כך שאם אתם מתכוונים לקבוע שם למערכת בהתבסס על מי שכתב את התוכנות בה, השם האחד שיתאים ביותר הוא "גנו".

אך אנו איננו חושבים שזאת הדרך הנכונה לשקול את הדברים. פרוייקט גנו לא היה ואיננו פרוייקט לפיתוח חבילות תוכנה יחידות. זה לא היה פרוייקט לפיתוח קומפיילר C, למרות שעשינו זאת. זה לא היה פרוייקט לפיתוח עורך טקסט, למרות שפיתחנו אחד. מטרתו של פרוייקט גנו היתה לפתח מערכת הפעלה דמויית יוניקס מלאה וחופשית: גנו.

אנשים רבים אחראים לתרומות גדולות לתוכנה שחופשית במערכת, ולכולם מגיע קרדיט. אך הסיבה שזו מערכת משולבת -- ולא רק אוסף של תוכנות מועילות -- היא שפרוייקט גנו הציב לעצמו למטרה להפוך אותה לכזאת. עשינן רשימה של תוכנות שדרושות כדי ליצור מערכת חופשית מלאה, ובשיטתיות ייסדנו, כתבנו או מצאנו אנשים שיכתבו כל מה שברשימה. כתבנו מרכיבים חיוניים אך לא מעניינים (1) משום שהמערכת לא יכולה להתקיים בלעדיהם. חלק ממרכיבי המערכת שלנו, כלי התכנות, הפכו לפופולריים בפני עצמם בקרב מתכנתים, אך כתבנו מרכיבים רבים שאינם כלים (2). אפילו פיתחנו משחק שח, GNU chess, כי מערכת שלמה צריכה גם משחקים טובים.

בתחילת שנות ה90 הרכבנו את המערכת כולה, למעט הקרנל (ואנו גם עובדים על קרנל, ה GNU Hurd, שרץ על גבי Mach). פיתוח הקרנל היה הרבה יותר קשה משציפינו; הGNU Hurd התחיל לעבוד כראוי ב2001. אנו מתחילים עכשיו להכין את השחרור של מערכת גנו, עם GNU Hurd.

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

השילוב הזה נשמע פשוט, אך הוא לא היה פשוט כלל. מספר מרכיבים (3) של גנו דרשו שינוי מהותי כדי לעבוד עם לינוקס. גם גיבוש מערכת שלמה כהפצה שתעבוד "ישר מהקופסה" דרש לא מעט עבודה. זה דרש תשובות בנושא ההתקנה והאתחול של המערכת -- בעיה שלא טיפלנו בה, כי לא הגענו לנקודה הזו. האנשים שפיתחו את הפצות המערכת השונות תרמו משמעותית.

פרוייקט גנו תומך במערכות גנו\לוניקס כמו גם במערכת GNU עצמה -- גם באמצעות מימון. אנחנו מימנו את הכתיבה מחדש של הרחבות שנוגעות ללינוקס בספריית הC של גנו, כך שעכשיו הם משולבים היטב, ומערכות גנו\לינוקס החדשות ביותר משתמשות בגרסת הספריה הנוכחית ללא שינויים. אנו גם מימנו שלב ראשוני בפיתוח דביאן גנו\לינוקס.

כיום אנחנו משתמשים במערכות גנו מבוססות לינוקס בשביל רוב העבודה שלנו, ואנו מקווים שגם אתם משתמשים בהן. אך אנא, אל תבלבלו את הציבור על ידי שימוש בשם "לינוקס" בצורה דו-משמעית. לינוקס הוא הקרנל, אחד מהמרכיבים החשובים החיוניים למערכת. המערכת בכללותה היא פחות או יותר מערכת גנו, בתוספת לינוקס. כשאתם מדברים על השילוב, אנא כנו אותו "גנו\לינוקס".

אם אתם רוצים ליצור לינק על "גנו\לינוקס" לפרטים נוספים, הדף הזה ו http://www.gnu.org/gnu/the-gnu-project.html הם בחירה טובה. אם אתם מאזכרים את לינוקס, הקרנל, ורוצים להוסיף לינק לפרטים נוספים, היא כתובת http://www.kernel.org/ מתאימה.

נספח: חוץ מגנו, ישנו פרוייקט אחר שיצר בצורה עצמאית מערכת הפעלה דמויית יוניקס. מערכת זו ידועה בשם BSD, והיא פותחה באוניברסיטת ברקלי בקליפורניה. היא היתה לא-חופשית בשנות ה80, אך הפכה לחופשית בתחילת שנות ה90. כמעט כל מערכת הפעלה חופשית שקיימת כיום היא גרסה של מערכת גנו או סוג של מערכת BSD.

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

אם ברצונכם ללמוד עוד על נושא זה, אתם יכולים לקרוא את שו"ת גנו\לינוקס]

הערות:

  1. המרכיבים החיוניים אבל לא מעניינים כוללים את האסמבלר של גנו, GAS ואת הלינקר, GLD, שניהם כיום חלק מחבילת GNU Binutils, GNU tar ועוד.

  2. לדוגמה, הBourne Again SHell (BASH), מפענח הPostScript Ghostscript, וספריית הC של גנו אינם כלי תכנות. כך גם GNUCash, GNOME ו GNU Chess.

  3. לדוגמה, ספריית הC של גנו.


חזור לדף הבית של גנו.

Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.

Please send comments on these web pages to webmasters@www.gnu.org, send other questions to gnu@gnu.org.

זכויות יוצרים 1997, 1998, 1999, 2000, 2001, 2002, 2003 ריצ'ארד מ. סטולמן

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

Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Richard M. Stallman

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: $Date: 2002/12/14 08:34:26 $ $Author: rps $

תורגם: 31 במאי 2003, 00:23:00 שעון ישראל, על ידי the duke (נערך: ? ב? ? על ידי ?), במסגרת תרגנום