כיצד תנהלו נכון את הקוד פתוח של חברת ההזנק שלכם?

כיצד תנהלו נכון את הקוד פתוח של חברת ההזנק שלכם?

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

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

אז כיצד תשפרו את ניהול הקוד פתוח שלכם?

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

    (דרופ-בוקס (משמאל) ואנדרואיד)

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

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

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

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