גנו (מערכת הפעלה)

היסטוריה

יוניקס הייתה (ועדיין) מערכת הפעלה קניינית  בשימוש נרחב; כיוון שהארכיטקטורה שלה הייתה מוכחת היטב, מערכת GNU תוכננה להיות תואמת לה. הארכיטקטורה של יוניקס אפשרה ל-GNU להיות מתוכנתת כרכיבי תוכנה נפרדים: רכיבים שכבר היו זמינים באופן חופשי, כמו מערכת סידור הדפוס TeX והמערכת הגרפית X11, אומצו ונעשה בהם שימוש חוזר, אחרות נכתבו מהבסיס. 
הפרויקט הוכרז לציבור ב-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 שולבה לינוקס עם מערכת גנו, ושתיהן יחד יצרו מערכת הפעלה חופשית פועלת ומלאה. לרוב זו הצורה שבה מערכת גנו נראית, והיא מכונה בדרך-כלל "מערכת גנו/לינוקס" או "הפצת לינוקס". נכון לשנת 2009, Hurd עדיין בפיתוח פעיל, וקיימת גרסה ניסיונית של מערכת גנו שמשתמשת ב-Hurd ולא בלינוקס. ישנו גם פרויקט אשר עובד על הסבת מערכת גנו לליבה של FreeBSD.
לא נדיר למצוא רכיבים של גנו מותקנים על מערכות יוניקס קנייניות, במקום תוכנות יוניקס המקוריות. זאת כיוון שהוכח שתוכנות רבות שנכתבו בשביל פרויקט גנו הן מאיכות טובה יותר מאשר תוכנות המקור של יוניקס. לעיתים קרובות, רכיבים אלה מכונים בצוותא "כלי גנו". תוכנות גנו רבות הוסבו גם ל־Windows של מיקרוסופט ול־Mac OS X.