קוד פתוח

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
צילום מסך של מנדריבה לינוקס - דוגמה לתוכנת קוד פתוח

קוד פתוח משמש בעולם התוכנה לציון תוכנה שקוד המקור שלה פתוח ונגיש לכל מי שחפץ בו והוא חופשי לשימוש, לצפייה, לעריכת שינויים ולהפצה מחודשת לכל אחד ואחת. שיטת פיתוח כזו מאפשרת בעצם לכל מי שחפץ בכך לקחת חלק בפיתוח התוכנה ולתרום לשיפורה. מושג קרוב במשמעותו (ויש אומרים שזהה במשמעותו) הוא "תוכנה חופשית". לעתים כוללים את שניהם ביחד כ"תוכנה חופשית וקוד פתוח" (ר"ת FOSS או FLOSS באנגלית: Free/Libre and Open Source Software).

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

אידאולוגיית הקוד הפתוח[עריכת קוד מקור | עריכה]

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

המונחים קוד פתוח ותוכנה חופשית הם מונחים קרובים במשמעותם המעשית, ומשמשים לעתים קרובות לציון משמעות זהה, אך נבדלים באידאולוגיה שמאחוריהם. את המונח תוכנה חופשית טבע ריצ'רד סטולמן אשר ייסד את פרויקט GNU ואת המוסד לתוכנה חופשית (Free Software Foundation), והוא מתרכז בחופש המוענק למשתמש בתוכנה כערך חברתי. המונח קוד פתוח מגיע מארגון יוזמת הקוד הפתוח (Open Source Initiative), והשיקולים העומדים מאחוריו הם של כדאיות כלכלית וטכנולוגית.

המקור, עמותה ישראלית לתוכנה חופשית וקוד מקור פתוח (ע"ר), פועלת לקידום תוכנה חופשית וקוד מקור פתוח בישראל.

גורמי הנעה לתרומה למיזמי קוד פתוח[עריכת קוד מקור | עריכה]

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

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

גורמי מוטיבציה בתחום הקוד הפתוח[עריכת קוד מקור | עריכה]

באופן כללי, מחלקים המחקרים את גורמי ההנעה לשלושה סוגים: צרכים פנימיים, צרכים חיצוניים וצרכים משולבים (Internalized Extrinsic).

בתחום תוכנות הקוד הפתוח באים גורמים אלה לידי ביטוי באופן הבא:

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

מחקר והמלצות‏‏[עריכת קוד מקור | עריכה]

מחקר אמפירי בנושא סקר שלושה פרויקטי קוד פתוח בקהילת אפאצ'י (Apache). מהמחקר עלו הממצאים הבאים:[1]

  1. ישנם קשרים שונים בין גורמי המוטיבציה השונים – בפרט אין סתירה בין מוטיבציה פנימית וחיצונית, מוטיבציית מעמד מגבירה מוטיבציה פנימית ומוטיבציה חיצונית תורמת למוטיבציית מעמד (לפירוט הקשרים ראו איור 2 במאמר).
  2. ישנם גורמי מוטיבציה משמעותיים יותר ופחות – מוטיבציה חיצונית ומוטיבציית מעמד קשורות להשתתפות מעל הממוצע, בעוד מוטיבציית ערך שימושי קשורה להשתתפות מתחת לממוצע.

המלצות המחקר הן מעשיות, ומופנות בעיקר כלפי מנהלי קהילות קוד פתוח המעוניינים לשפר את השתתפות וביצועי המפתחים בקהילותיהם:

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

מחקר נוסף[2] חקר את הסיבות והיתרונות שבעטיים מפתחים אנשים בשיטת קוד פתוח ולא בשיטות מסחריות. המחקר העלה מספר סיבות:

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

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

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

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ Jeffrey Roberts, IL-Horn Hann, Sandra Slaughter (2006), Understanding the Motivations, Participation and Performance of Open Source Software Developers: A Longitudinal Study of the Apache Projects, Management science
  2. ^ Josh Lerner & Jean Tirole (2005), ‏The Economics Of Technology Sharing: Open Source and Beyond, Journal of Economic Perspectives ‏