פרויקט גנו
GNU הוא מיזם לפיתוח תוכנה חופשית שמטרתו היא ליצור מערכת הפעלה חופשית ותוכנות נלוות בשביל לאפשר למתכנתים לבנות קהילה לשיתוף פעולה. הפרויקט הושק בתחילת שנות ה-80 על ידי ריצ'רד סטולמן. השם GNU מוגדר באופן היתולי כראשי תיבות רקורסיביים של "GNU's Not Unix" (גנו אינו יוניקס). מיזם זה היה חלוץ רעיון התוכנה החופשית והקוד הפתוח. המיזם התחיל בכתיבת מערכת ההפעלה GNU והוא כולל היום עשרות רבות של תוכנות וכלי פיתוח.
היסטוריה
[עריכת קוד מקור | עריכה]יוניקס הייתה (ועודנה) מערכת הפעלה קניינית בשימוש נרחב; כיוון שהארכיטקטורה שלה הייתה מוכחת היטב, מערכת 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).
המיזם החל לכתוב ליבה בשם Hurd אולם פיתוחה של זו נתקל בקשיים, ובמקביל ליבת לינוקס נכתבה ובראשית שנות התשעים של המאה העשרים החלו לצוץ הפצות של ליבת לינוקס בשילוב עם שאר הכלים מבית פרויקט גנו ובכך, למעשה, המערכת החדשה נקראה כבר "גנו/לינוקס".
תוכנות של גנו
[עריכת קוד מקור | עריכה]חלק מהתוכנות שמפותחות בשביל פרויקט גנו הן:
- Bison - יוצר תוכניות ניתוח במטרה להחליף את yacc.
- Bash - מעטפת פקודה.
- BFD - ספרייה של קובצי אובייקט.
- Classpath - ספריות ל־Java.
- DotGNU - חלופה עבור .NET של Microsoft.
- Emacs - עורך טקסט בר הרחבה.
- GIMP - תוכנת עיבוד תמונות.
- glibc - ספרית POSIX C סטנדרטית, בתוספת תפקודיות נוספת.
- GMP - ספרייה לתכנות חישובים מספריים עם דיוק שרירותי.
- GNOME - סביבת עבודה גרפית.
- GNU Binutils - GNU Assembler, GNU Linker, וכלים קשורים.
- GNU build system - Automake, Autoconf, Libtool.
- GCC - מהדר מייעל קוד לשפות תכנות רבות, כולל שפת C ,C++, Ada וFortran.
- מנפה השגיאות של גנו - תוכנה לניפוי שגיאות.
- GNU MDK - ערכת פיתוח לתכנות ב-MIX.
- GNU Octave - תוכנה לחישובים מספריים דומה ל-MATLAB.
- GNU Robots - משחק קטן למתכנתים.
- GNUnet - רשת תקשורת עמית לעמית (P2P) מבוזרת, מתוכננת להיות חסינה לצנזורה.
- GNUstep - מימוש של סטנדרט OpenStep עבור מערכת של ספריות וכלי פיתוח ליישומים גרפיים.
- GSL - הספרייה המדעית של גנו.
- Gzip - ספרייה ותוכנה לדחיסת נתונים.
- Hurd - מערכת של שרתים מבוססי מיקרו-ליבה אשר מתפקדים כמו ליבה של יוניקס.
- Maxima - מערכת למתמטיקה סימבולית.
- R - תוכנה לחישובים מספריים וסטטיסטיים.
- Texinfo - מערכת תיעוד ליצירת מדריכים מקוונים ומודפסים.
פרויקט גנו מפיץ ועוזר בפיתוח של חבילות אחרות אשר נוצרו במקום אחר, למשל:
- CVS - בקרה על קוד מקור.
- DDD - ממשק גרפי לתוכנות ניפוי שגיאות (Debugging).
- eCos - מערכת הפעלה קטנה להתקנים קבועים.