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