מהי תוכנת קוד פתוח? קוד פתוח ו- FOSS הסבירו

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

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

מהי תוכנת קוד פתוח, מהי תוכנה חופשית - והאם הן שונות?

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

במובנים מסוימים, המונח "תוכנת קוד פתוח" הוא ראשי תיבות: בעשורים הראשונים של מדעי המחשב, קוד המקור של התוכנה היה זמין כמובן מאליו והוחלף באופן חופשי בין חוקרים ומדעני התעשייה. מחשבים היו מעטים והיו צפויים להשתנות בהרחבה על ידי המשתמשים שלהם, כך שאנשים נזקקו לגישה לקוד. במובנים רבים תוכנה נתפסה כתוספת לחומרת המחשב; רק בשנת 1974 אף נקבע באופן חוקי כי תוכנה כפופה לזכויות יוצרים. אך כאשר עידן המיקרו-מחשבים החל בשלהי שנות השבעים, התעשייה החלה לעבור לעמדה שתוכנה היא דבר בעל ערך כספי בפני עצמו, וכי ניתן וצריך להגביל את הגישה לקוד הבסיס על מנת להגן על יוצרי התוכנה. זכויות.המכתב הפתוח המפורסם של ביל גייטס בשנת 1976 לתחביבים המתלוננים על הפיראטיות הנרחבת של המוצר הראשון של מיקרוסופט, המתורגמן Altair BASIC, הוא מסמך קו פרשת מים של שינוי זה.

בעוד שרעיונות חדשים אלה נלקחו במהירות על ידי תעשיית התוכנה הצומחת במהירות, יש אנשים שדחקו נגדם. אחד המתנגדים הראשונים היה ריצ'רד סטולמן, שהקים את קרן התוכנה החופשית (FSF) בשנת 1985. ה"חינם "בתוכנה חופשית נועד לציין את חופש המשתמשים לשנות ולהפיץ קוד כרצונם; אין כלל נגד חיוב כסף עבור תוכנה חופשית במובן זה. ההבחנה מופנית לעתים קרובות בין "חופשי כמו בבירה חופשית" לבין "חופשי כמו בחופש הביטוי", כאשר התוכנה החופשית נמצאת במחנה האחרון.

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

המושג תוכנת קוד חופשי ופתוח הוליד הגדרה נוספת של רטרונם: "תוכנה קניינית ", כל תוכנה שאינה קוד פתוח.

רישיונות תוכנת קוד פתוח

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

במקור היו קיימים רישיונות תוכנה להגבלת התנהגות המשתמשים ולהגנה על זכויות יצרן התוכנה. אך תומכי תוכנה חופשית הבינו שהם יכולים להפוך את מטרתם המקורית של הרישיונות: רישיון של חבילת תוכנה יכול במקום זאת לדרוש שהקוד הבסיסי יהיה זמין לכל מי שמשתמש בתוכנה, ולמשתמשים הזכות לערוך ולהפיץ קוד זה. רישיון התוכנה הקוד הפתוח הראשון (למרות שהוא מקדים את המונח) הוא ככל הנראה הודעת ההעתקה של GNU Emacs, שפורסמה בשנת 1985 לגרסת עורך הטקסט Emacs שנכתב על ידי סטאלמן של FSF.

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

  • רישיונות מתירים מאפשרים לך להפיץ מחדש כל קוד מקור ככל שתרצה לנכון. אתה יכול, למשל, לקחת קוד מקור ששוחרר ברישיון מותר, לשלב אותו בתוכנה שלך, ואז לשחרר את התוכנה ברישיון קנייני. רישיון BSD הוא אחד הרישיונות המתירניים המפורסמים ביותר.
  • רישיונות Copyleft דורשים שחרור כל קוד המחולק מחדש המשלב את הקוד המורשה, ברישיון דומה. הגרסאות השונות של הרישיון הציבורי GNU (GPL) מה- FSF הן רישיונות copyleft, ומטרתן היא לחייב את היזמים לשלם אותו קדימה על ידי שיתוף היתרונות שקיבלו משילוב קוד קוד פתוח בפרויקט שלהם.

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

הגדרת הקוד הפתוח ויוזמת הקוד הפתוח

קוד פתוח מטבעו אינו נשלט על ידי ישות או ארגון אחד. בשנת 1998, קבוצה של מפתחים בולטים ובהם ברוס פרנס ואריק ס 'ריימונד ייסדה את יוזמת הקוד הפתוח (OSI), עמותה המוקדשת לתמיכה בקוד פתוח בתעשיית התוכנה הגדולה יותר. OSI ניסה ולא הצליח לסמן את המונח קוד פתוח בשנת 1999; עם זאת, הגדרת הקוד הפתוח הרשמי שלהם היא, על פי הסכמה, המסגרת שכל הרישיונות המכנים עצמם קוד פתוח עוקבים אחריהם. בנוסף לחופש לבחון, לשנות ולהפיץ קוד שכבר דנו בו, הגדרת קוד פתוח אוסרת על רישיונות המפלים קבוצות או אנשים ספציפיים המונעים את השימוש בקוד למטרה או תחום עשייה ספציפי, או מריצה במכשיר או סוג מכשיר ספציפי.

פיתוח קוד פתוח ופרויקטים של קוד פתוח

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

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

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

דוגמאות קוד פתוח

תוכנת קוד פתוח היא למעשה בכל מקום ויוצרת חלק ניכר מהבסיס של האינטרנט המודרני. אולי פרויקט הקוד הפתוח המפורסם ביותר הוא Linux, גרסת הקוד הפתוחה של יוניקס שמפעילה מיליוני שרתים. פרויקטים בולטים וחשובים ביותר כוללים את שרת האינטרנט Apache, מסד הנתונים MySQL ו- WordPress. מסגרות פיתוח רבות מתפרסמות כמקור פתוח, החל מ- Ruby on Rails וכלה ב- .Net Core של מיקרוסופט.

קוד פתוח הצליח פחות בייצור תוכנות מחשב ביתיות המיועדות למשתמשים רגילים. למרות העלות הגבוהה של חבילות תוכנה קנייניות כמו מיקרוסופט וורד ואדובי פוטושופ, מקבילות קוד פתוח כמו OpenOffice ו- GIMP מעולם לא הצליחו למצוא נישה מעבר לחובבי הקשיחים, בעיקר משום שקהילת הקוד הפתוח העדיפה באופן מסורתי תכונות וגמישות על פני קלות. להשתמש. (נעילת פורמט הקובץ מספקים קנייניים לא עזרה.) אפילו לינוקס, שתומכיה טוענים מאז סוף שנות התשעים כי מערכת ההפעלה עם קוד פתוח רחוקה רק שנה משליטה בשולחן העבודה, מעולם לא הצליחה לקפוץ באמת מרחב צרכני. באופן כללי, קוד פתוח משמש לתשתיות הרבה יותר מאשר לתוכנות למשתמשי קצה.אך התנועה מתוכנות מונוליטיות שאתה מפעיל באופן מקומי לאפליקציות SaaS הייתה מועיל למקור פתוח, שכן תשתיות מבוססות ענן מבוססות בעיקר על ערימות הנשלטות על ידי קוד פתוח.

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

קהילת הקוד הפתוח ותנועת הקוד הפתוח

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

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

הורדת תוכנת קוד פתוח

רוצה להתחיל לגלוש ולהתעסק בפרויקטים של קוד פתוח? עיין בדף הפרויקטים והיישומים של opensource.com, בכרטיסייה Explore של GitHub או במפת התוכנה של רשת הפיתוח של קוד פתוח. יש הרבה אנשים סקרנים בכל רמת מיומנות.