Close
שליחת קורות חיים

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

15/04/2015

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

מאת: יורם בכלר, מנכ"ל Manageware ודירקטור DevOps & ALM ב-8300

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


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

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

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

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

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