גנו (מערכת הפעלה)
מתוך ויקיפדיה, האנציקלופדיה החופשית
GNU הוא ראשי תיבות רקורסיביים של "GNU's Not Unix" (גנו אינו יוניקס). את פרויקט גנו השיק ריצ'רד סטולמן במטרה ליצור מערכת הפעלה שלמה וחופשית - מערכת גנו. סטולמן מבקש שגנו יבוטא עם ה-G (גימל), בכדי "למנוע בלבול איום" עם המילה "new" באנגלית. בעברית מבטאים גְּנוּ.
יוניקס הייתה (ועדיין) מערכת הפעלה קניינית בשימוש נרחב; כיוון שהארכיטקטורה שלה הייתה מוכחת היטב, מערכת GNU תוכננה להיות תואמת לה. הארכיטקטורה של יוניקס אפשרה ל-GNU להיות מתוכנתת כרכיבי תוכנה נפרדים: רכיבים שכבר היו זמינים באופן חופשי, כמו מערכת סידור הדפוס TeX והמערכת הגרפית X Windows, אומצו ונעשה בהם שימוש חוזר, אחרות נכתבו מהבסיס.
תוכן עניינים |
[עריכה] היסטוריה
הפרויקט הוכרז לציבור ב-27 בספטמבר, 1983 בקבוצות הדיון net.unix-wizards ו ו-net.usoft. העבודה על הפרויקט החלה באופן רציני ב-5 בינואר, 1984, כאשר סטולמן התפטר מעבודתו ב-MIT, כך שהוא יכל להשקיע את זמנו ב-GNU. ההודעה המקורית לוותה במנשר של גנו (GNU Manifesto) ומאמרים אחרים של סטולמן אשר פרשו את המניעים שלו בנוגע לפרויקט גנו. אחד מהם היה "להחזיר את תחושת השיתוף-פעולה אשר שלטה בקהילת המחשוב בימים עברו".
כדי להבטיח שהתוכנה של GNU תישאר חופשית לכל משתמשיה "להרצה, העתקה, שינוי והפצה", שוחרר הפרויקט תחת רשיון אשר מיועד לתת לכל אחד את ההיתרים הנ"ל, בעת שהוא גם מונע מכולם להוסיף הגבלות משל עצמם לרשיון המקורי. רעיון זה, אשר מוזכר כ-copyleft (משחק מילים באנגלית עם הביטוי "copyright", אשר מתורגם כ"זכויות יוצרים"), הפך מאוחר יותר לבסיס ה-GPL, הוא "הרשיון הציבורי הכללי של GNU".
ב-1985 ייסד סטולמן את "המוסד לתוכנה חופשית" (FSF), מוסד הפטור ממס, כדי לספק תמיכה לוגיסטית, חוקית ופיננסית לפרויקט גנו. כמו כן, המוסד העסיק מתכנתים אשר תרמו ל-GNU, אם כי את החלק העיקרי של הפיתוח ביצעו (וממשיכים לבצע) מתנדבים. כאשר גנו החלה לצבור פרסום, חברות מגלות עניין החלו לתרום לפיתוח או למכירה של תוכנה של GNU ושל עזרה טכנית. הבולטת והמוצלחת מבין החברות הללו הייתה Cygnus Solutions, כעת חלק מ-Red Hat.
ב-1990 היה למערכת גנו כבר עורך תמלילים בר-הרחבה בשם Emacs, מהדר יעיל ומצליח בשם GCC, ומרבית ספריות הגרעין והכלים של הפצת יוניקס סטנדרטית. המרכיב העיקרי שעדיין היה חסר היה הליבה (Kernel).
במנשר של גנו הזכיר סטולמן ש-"ליבה ראשונית קיימת אך תכונות רבות עדיין נדרשות כדי לחקות את יוניקס". הוא התייחס ל-TRIX, ליבת RPC (קריאה להליכים מרחוק) שפותחה ב־MIT, שעורכיה החליטו להפיצה בחינם והייתה תואמת עם גרסה 7 של יוניקס. בדצמבר 1986 התחילה עבודה לשינוי ליבה זו, אך מפתחיה החליטו לבסוף שהיא לא מתאימה כנקודת התחלה, בעיקר בגלל שהיא רצה רק על "ארכיטקטורת 68000 היקרה והאלמונית" והיה צורך להתאים אותה לארכיטקטורות אחרות לפני שאפשר היה להשתמש בה. ב־1988 נשקלה במקומה ליבת "מאך", אשר פותחה ב-CMU (אוניברסיטת קרנג'י מלון), על אף שתחילה נדחה פיתוחה בגלל שמפתחיה נדרשו להוריד קוד שהיה שייך לחברת AT&T.
בתחילה הוחלט לקרוא לליבה Alix, אך המפתח מייקל בושנל העדיף מאוחר יותר את השם Hurd, כאשר השם הקודם נדחק לתת-מערכת ובסופו של דבר נעלם לחלוטין. גם הפיתוח של Hurd נעצר בסופו של דבר בעקבות בעיות טכניות ועימותים מתמשכים בין המפתחים.
ב־1991 כתב לינוס טורבאלדס את הליבה תואמת-היוניקס שלו - לינוקס. על אף שבתחילה היא לא הייתה תוכנה חופשית, ב־1992 שינה טורבאלדס את רשיון ההפצה ל־GPL של גנו. את לינוקס פיתחו הלאה מתכנתים שונים ברחבי האינטרנט. ב־1992 שולבה לינוקס עם מערכת גנו, ושתיהן יחד יצרו מערכת הפעלה חופשית פועלת ומלאה. לרוב זו הצורה שבה מערכת גנו נראית, והיא מכונה בדרך-כלל "מערכת גנו/לינוקס" או "הפצת לינוקס". נכון לשנת 2004, Hurd עדיין בפיתוח פעיל, וקיימת גרסה ניסיונית של מערכת גנו שמשתמשת ב-Hurd ולא בלינוקס. ישנו גם פרויקט אשר עובד על הסבת מערכת גנו לליבה של FreeBSD.
לא נדיר למצוא רכיבים של גנו מותקנים על מערכות יוניקס קנייניות, במקום תוכנות יוניקס המקוריות. זאת כיוון שהוכח שתוכנות רבות שנכתבו בשביל פרויקט גנו הן מאיכות טובה יותר מאשר תוכנות המקור של יוניקס. לעיתים קרובות, רכיבים אלה מכונים בצוותא "כלי גנו". תוכנות גנו רבות הוסבו גם ל־Windows של מיקרוסופט ול־Mac OS X.
[עריכה] תוכנה של גנו
כמה מהתוכנות שמפותחות בשביל פרויקט גנו הן:
- Bison - יוצר תוכניות ניתוח במטרה להחליף את yacc.
- Bash - מעטפת פקודה.
- BFD - ספריה של קובצי אובייקט.
- Classpath - ספריות לג'אווה.
- DotGNU - תחליף ל־.NET של מיקרוסופט.
- Emacs - עורך טקסטים בר הרחבה.
- GIMP - תוכנה לעריכת תמונות.
- glibc - ספרית POSIX C סטנדרטית, בתוספת תפקודיות נוספת.
- GMP - ספריה לתכנות חישובים מספריים עם דיוק שרירותי.
- GNOME - סביבת עבודה גראפית.
- GNU Binutils - GNU Assembler, GNU Linker, וכלים קשורים.
- GNU build system - Automake, Autoconf, Libtool
- GCC - מהדר מייעל קוד לשפות תכנות רבות, כולל שפת C ,C++, שפת Fortran, Ada, וג'אווה.
- מנפה השגיאות של גנו - תוכנה לניפוי שגיאות
- GNU MDK - ערכת פיתוח לתכנות ב-MIX
- GNU Octave - תוכנה לחישובים מספריים דומה ל-MATLAB.
- GNU Robots - משחק קטן אך ממכר למתכנתים.
- GNUnet - רשת תקשורת חבר-אל-חבר (P2P) מבוזרת, מתוכננת להיות חסינה לצנזורה.
- GNUstep - מימוש של סטנדרט ה-OpenStep עבור מערכת של ספריות וכלי פיתוח ליישומים גרפיים.
- GSL - הספרייה המדעית של גנו.
- Gzip - ספריה ותוכנה לדחיסת נתונים.
- Hurd - מערכת של שרתים מבוססי מיקרו-ליבה אשר מתפקדים כמו ליבה של יוניקס.
- Maxima - מערכת למתמטיקה סימבולית.
- Texinfo - מערכת תיעוד ליצירת מדריכים מקוונים ומודפסים.
פרויקט גנו מפיץ ועוזר בפיתוח של חבילות אחרות אשר נוצרו במקום אחר, למשל:
- CVS - בקרה על קוד מקור.
- DDD - ממשק גרפי לתוכנות ניפוי שגיאות (Debugging).
- eCos - מערכת הפעלה קטנה להתקנים קבועים.
נכון לינואר 2004, ישנם 260 תת-פרויקטים תחת פרויקט גנו [1].
[עריכה] ראו גם
- המוסד לתוכנה חופשית
- קרן התנועה החופשית
- תנועת התוכנה החופשית
- תוכן חופשי
- גנו/לינוקס
[עריכה] קישורים חיצוניים
- האתר הרשמי
- ההכרזה מ-1983 של סטולמן על פרויקט גנו
- דו"ח אישי ארוך של סטולמן על הפרויקט וההיסטוריה שלו
- The Free Universal Encyclopedia and Learning Resource, מאמרו של סטולמן בנוגע לאנציקלופדיה של GNU
- GNU-friends, פורום
- הסבה של עזרי גנו לסביבת חלונות