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

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

[תמונה של גנו תינוק] [Català | 简体中文 | 繁體中文 | Česky | English | Français | Deutsch | עברית | Italiano | 日本語 | 한국어 | Polski | Português | Românã | Русский | Српски | Español | Slovenščina ]

משתמשי מחשב רבים מריצים גירסה כלשהי של מערכת גנו (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) של גנו היו טעונים שינוי מהותי כדי שיוכלו לעבוד עם לינוקס. גם גיבושה של מערכת שלמה כהפצה שתעבוד "ישר מהקופסה" לא היה פשוט. זה הצריך טיפול בסוגיית ההתקנה והאתחול של המערכת -- בעיה שלא טיפלנו בה עד אז, כי טרם הגענו לשלב הזה. האנשים שפיתחו את הפצות המערכת השונות הרימו תרומה משמעותית.

פרוייקט גנו תומך במערכות גנו/לינוקס כמו גם במערכת גנו עצמה -- גם באמצעות מימון. אנחנו מימנו את שכתובן של ההרחבות הקשורות ללינוקס בספריית ה-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. לדוגמה, BASH, ה-Bourne Again SHell של גנו; Ghostscript, מפענח ה-PostScript של גנו; ספריית ה-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: the_duke $

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