ממש כשממשלת ארה"ב נסגרה ב-1 באוקטובר, בורסת הבריאות הלאומית החדשה עלתה לאוויר באתר healthcare.gov. האתר מיועד לאנשים שרוצים לקנות ביטוח בריאות לפי הוראות חוק טיפול משתלם, האתר נכשל מלכתחילה. זה לא היה שמיש למאות אלפי אמריקאים שרצו להירשם. מסכים לא נטען. אישה שמנסה לקבל עזרה באמצעות צ'אט אינטרנטאמרו לו"נא להתאזר בסבלנות" ומקומם 40 פעמים. למרות הבטחות של בכירי ממשל אובמה שה"תקלות" יתוקנו במהירות, רשימת הבאגים והבעיות המשיכה לגדול.
Healthcare.gov הוא לא רק אתר אינטרנט; זה יותר כמו פלטפורמה לבניית שווקים בתחום הבריאות. ביקור באתר הוא כמו ביקור במסעדה. אתה יושב בחדר האוכל, קורא את התפריט ואומר למלצר מה אתה רוצה, והוא הולך למטבח עם ההזמנה שלך. חדר האוכל הוא הקצה הקדמי, עם כל הכפתורים ללחיצה וטפסים למילוי. המטבח הוא הקצה האחורי, עם כל מאגרי המידע והשירותים. הקבלן האחראי ביותר לחלק האחורי הוא CGI Federal. ככל הנראה, זה החלק של החברה הזו במערכת שנשרף תחת עומסם של אלפי משתמשים בו-זמנית.
אבל זה לא רק שהמטבח בוער. גם מערכת האזעקה לא עובדת. המלצרים לא שומעים את צרחות הטבחים. קשה לאנשים מבחוץ לדעת בדיוק מה קורה, כי הקוד של CGI Federal נעול מחוץ לטווח הראייה, והחברה לא השיבה לפניות העיתונות (כולל אלה של בלומברג ביזנסוויק). אתה לא יכול למשוך תשומת לב של מלצר כדי להציל את חייך.
ניסוח צדקה, השקת healthcare.gov הייתה בלגן. Millward Brown Digital, חברת ייעוץ, מדווחת כי רק 1% מ-3.7 מיליון האנשים שניסו להירשם לבורסה הפדרלית בשבוע הראשון הצליחו להירשם. גם אם הבעיות יתוקנו, התקלה מבהירה שהגיע הזמן שהממשלה תשנה את הדרך בה היא שולחת קוד - כלומר, על ידי אימוץ הגישה לפיתוח תוכנה שחולל מהפכה בתעשיית הטכנולוגיה.
חברות כגוןגוגל,Amazon.com, טוויטר ופייסבוקכולם חושבים במונחים של פלטפורמות המדברות עם יישומים. הם פורסים המון צוותים קטנים שצפויים לשלוח תכונות ותיקונים חדשים כל הזמן - לפעמים מדי יום. כמו כל דבר שמעורב בני אדם, קוד משלוח יכול להתפתח למריבות, מועדים שהוחמצו ושחרורים פגומים. ההבנה המרכזית של קהילת המתכנתים היא שהפתרון לבעיות הללו הוא ליצור יותר שקיפות, לא פחות: ביקורות קוד, טונות של "בדיקות יחידה" לאיתור אוטומטי של פגמים, פגישות סטנד-אפ מתוזמנות ודחיפה מתמדת של קוד חדש לשטח הפתוח. , שם משתמשים בו אנשים אמיתיים. כדי לציין רק דוגמה אחת, מפתחים בשוק המקוון הענק Etsy מוזמנים לשחרר קוד לעולם ביום הראשון לעבודתם.
IT ממשלתי לא יכול לעבוד בצורה כל כך שקופה. או יכול להיות? יש סט שלם של כלים, שיטות ותהליכים שכבר הוגדרו ומוכנים לשימוש, כולם מגולמים בתרבות של פיתוח תוכנה בקוד פתוח. הממשלה הפדרלית בארה"ב, בראשות הרשות המבצעת, צריכה להפוך את כל פיתוח התוכנה הממומן על ידי משלמי המסים למקור פתוח כברירת מחדל. בטווח הקצר, זה יעזור למנוע הישנות של בעיות כמו אלה שמטרידות את healthcare.gov. לטווח ארוך יותר, זה יוביל לתוכנה טובה יותר ומאובטחת יותר ויכול לאפשר לממשלה לספק מגוון שירותים בצורה יעילה יותר. וזה יעשיר את הדמוקרטיה לאתחל.
המטרה הבסיסית של תנועת התוכנה החופשית היא להפוך קוד תוכנה שימושי לזמין לכל מי שרוצה בו. לפני 30 שנה זה נשמע כמו קומוניזם, כי הקוד נתפס כסוג של רכוש. אבל בעשורים האחרונים אנשים רבים החלו להאמין שקוד תוכנה הוא יותר כמו שיחה. (כְּמוֹספר לימוד תכנות מפורסם אחדניסוח זאת, "יש לכתוב תוכניות כדי שאנשים יוכלו לקרוא, ורק במקרה כדי שמכונות יבצעו.") זו הסיבה שאנשים אומרים שתוכנה חופשית היא חופשית כמו בחופש דיבור, לא כמו בבירה.
רוצה קוד פתוח? בחר ארישיון תוכנה חופשיתושחרר את הקוד שלך באינטרנט עם הטקסט של הרישיון המצורף. זה כל מה שצריך. ההיסטוריה מלמדת, עם זאת, שרק רישוי קוד והפיכתו לזמין אינם מספיקים. אתה צריך ליצור תרבות סביב הפרויקט שלך וליצור קשר עם אנשים אחרים שעושים עבודה קשורה. אם אתה עושה עבודה טובה, אתה ושותפי הפעולה שלך יכולים ליצור תוכנה מעולה, מהשורה הראשונה, מאובטחת במיוחד. דפדפני אינטרנט כגון Mozilla Firefox ו- Google Chrome נבנו כך. סביר מאוד שהסמארטפון שבכיס שלך בנוי על גבי גרעין קוד פתוח.
לממשלה יש יתרון על פני פרויקטים טיפוסיים של קוד פתוח. אנשים, כולל מתכנתים, מתעניינים באופן מהותי במה שהוא עושה, לעתים קרובות בגלל שחייהם מושפעים ישירות. אם היא תרצה, ארה"ב תוכל להקיש על צבא של קודנים מעוניינים שמוכנים לתמוך במאמצים רשמיים.
מעניין שהגרסה הראשונה שפורסמה של healthcare.gov הייתה בקוד פתוח. כשהיא הושקה ביוני, חזית האינטרנט הראשונית (חדר האוכל, לא המטבח).זוכה לשבחים רביםכאתר מודרני ומפותח - די טוב לעבודה ממשלתית. זה היה מקודד על ידי חברה בשםזרע פיתוח, סטארטאפ מבוסס וושינגטון הבירה. כל עבודתו ב- healthcare.gov נעשתה זמינה ב-GitHub, פלטפורמת שיתוף פעולה ענקית בקוד פתוח.
Development Seed הוכנס כקבלן משנה במיוחד בגלל שהיה לו הרבה קוד ב- GitHub. חלקו בפרויקט healthcare.gov היה "פתוח כברירת מחדל", אומראריק גונדרסן, נשיא זרע פיתוח. כשהיא הושקה, החברה "הביאה את כל הריפו בקוד פתוח" (קיצור של "מאגר קוד"). הוא נבנה על גבי מסגרות פתוחות כגוןאתחול, ספין-אוף מטוויטר, וBackbone.js, ספין-אוף מעמותת DocumentCloud. שימוש בפתרונות אלו חסך אינספור שעות ולא עלה דבר. לאורך הדרך, אומר גונדרסן, Development Seed תרם שיפורים לתוכנה שהיא עשתה מחדש. גישה זו - קח הרבה, תן מעט - היא מה שגורם לקוד פתוח לעבוד; כל השינויים הקטנים מסתכמים במיליוני פרויקטים. "מההתחלה ועד הסוף של הפרויקט כולו, זה היה שלושה חודשים ו-25 ימים", אומר גונדרסן. "פעלנו במחזור ספרינט מהיר מאוד". (כל המאגר הפתוח עבור healthcare.gov הוסר מאז מ-GitHub ללא הסבר ברור, למרות שצדדים שלישיים הצליחו לשחזר את הקוד מגיבויים חיצוניים.)
המהנדסים של Development Seed אינם גיבורי מהפכה. הם קבלני משנה ממשלתיים שעשו את תפקידם תוך שימוש בשיטות עבודה מומלצות בצורה שקופה. גונדרסן עצמו מציין שאין שום דבר חריג מטבעו בשיטות שהחברה שלו משתמשת בה. התוצאה הסופית הייתה חזית שעבדה, גם אם שאר Healthcare.gov לא. "התאכזבנו מההשקה כי רצינו לקנות שירותי בריאות לצוות שלנו", אומר גונדרסן.
אם מעולם לא הסתכלת על GitHub, הקדישו זמן לחקור את האתר. זה בנוי על גביGit, מערכת "בקרת תיקונים" בקוד פתוח המספקת דרך לעקוב אחר שינויים בפרויקטים לאורך זמן. אתה יכול להריץ קדימה או אחורה בהיסטוריה כדי לראות כיצד פרויקטים גדלים ומתפתחים, וליצור פרויקטים נגזרים בפקודה אחת. אתה יכול גם להגיש באגים או לשלוח שינויים, שמנהלי פרויקטים יכולים לקבל או לדחות.כַּמָהמהפרויקטים מגיעים עשרות שנים אחורה.
השחרור הראשוני של healthcare.gov נבנה לפי העקרונות האלה, אבל הליבה האמיתית של האתר - החלק האחורי הגדול והמורכב הרבה יותר - לא היה. התהליך נשאר אטום. על פי קרן Sunlight, קבוצה לא מפלגתית שהתמקדה בהפיכת הממשלה אחראית יותר, לפחות 47 קבלנים היו מעורבים בחוק טיפול במחיר סביר במעמד מסוים. הבית הלבן עדיין לא פרסם הסבר משלו על מה שקרה. אז אנחנו לא יודעים מה השתבש; אנחנו לא יודעים איך הוא נבנה; וככל שמישהו יכול לדעת, הפרויקט לא החזיר דבר לתרבות הגדולה יותר של פיתוח קוד.
מדוע תהליך פתוח ומוכח, כמו זה ש-GitHub ואתרים אחרים מעמידים לרשותכם בחינם, אינו הנורמה לעבודה ממשלתית? בהתייחסו לכישלון של healthcare.gov, קליי ג'ונסון מה-המחלקה לטכנולוגיה טובה יותר, חברה שמתכננת ובונה תוכנה עבור הממשלה,כותבכי "6,500 עמודים של רגולציה, תהליכי רישום עסקים מסורבלים וסביבות הצעות עוינות מבטיחים שמעט מאוד עסקים חדשים יכולים להתחרות על חוזים". בנוסף, בעידן ויקיליקס ואדוארד סנודן, החשש מפני פרצות אבטחה גורם לפקידים לאלרגיה לתהליך שקוף של פיתוח תוכנה. לְפִיטום לי, מנהל שלמעבדות אור השמש, "המכשול הגדול היחיד הוא שנתוני פתיחה נתפסים ככל הסיכון השלילי."
מערכות התוכנה כה גדולות כעת, עד שהן כבר אינן יכולות להתקיים בנפרד ממערכות אחרות. הקוד תמיד תלוי בקוד אחר. זה אף פעם לא נגמר: כתוב פיסת תוכנה היום, וסביר להניח שתבצע איתור באגים עשור לאחר מכן. פיתוח תוכנה מודרני דומה יותר ליעור בר קיימא, שבו אתה מצפה לחזור לאותו חורש שנה אחר שנה. תעשיית הטכנולוגיה הבינה שתוכנה היא תהליך. ממשלת ארה"ב, לעומת זאת, ממשיכה להתעקש שזה מוצר - אירוני, בהתחשב בכך שאנו יכולים לעקוב אחר ההיסטוריה שלנו אל חוקה פתוחה שהגדירה, בסעיף V, את האמצעים לתיקון.
למדינות אחרות יש כבר מנדטים לאומיים סביב קוד פתוח, אומרדבורה בראיינט, מומחה לאימוץ במגזר הציבורי של תוכנות ומתודולוגיות בקוד פתוח. היא מציגה את ברזיל, ספרד, צרפת ומלזיה כדוגמאות. "אני חושב שהבית הלבן מפתח צו ביצוע בתחום הקוד הפתוח יעזור מאוד. על כל [עובד מדינה] שהמשיך לעשות משהו עם קוד פתוח, כנראה יש עוד תריסר שירצו לקבל כיסוי כזה" שהוראת ביצוע תספק.
מה לגבי אבטחה? אם כולם יכולים לראות את הקוד, האם לא תהיה להאקרים דרך להיכנס? לא. קודם כל, אף אחד לא טוען שנתוני משתמש פרטיים ייפתחו - רק הקוד שמטפל בנתונים האלה. למשרד ההגנה האמריקאי, ארגון עם כמה דאגות ביטחוניות מחמירות למדי, יש אשאלות נפוצות נהדרותעל קוד פתוח. "האם DoD משתמש [תוכנת קוד פתוח] עבור פונקציות אבטחה?" היא אחת השאלות. התשובה היא חד משמעית "כן". להיפטר מקוד קוד פתוח המשמש להגנה "תהיה לה השפעות מיידיות, רחבות ובמקרים שליליות מאוד על יכולתו של ה-DoD לנתח ולהגן על הרשתות שלו מפני חדירה עוינת".
נכון לעכשיו, מאות אלפי אנשים משתמשים בתוכנת קוד פתוח בעת פיתוח פרויקטים. זה כולל את התאגידים הגדולים בעולם, אינספור סטארטאפים וסוכנויות ממשלתיות רבות. ישנם עשרות פרויקטים של קוד פתוח במגזר הציבורי (שרבים מהם אינם זמינים במהלך הכיבוי). הבסיס נמצא ליוזמה גדולה להפוך את הקוד הפתוח לסטנדרט לעבודה ממשלתית. כל זה אמר, מקורות פתוחים זה לא תרופת פלא, כפי שמזהיר טום לי. "הבעיות המדויקות עם healthcare.gov עדיין לא ידועות במלואן", הוא אומר. "ותהליכים פתוחים יכולים לפעמים להיות איטיים יותר. הם גם לא תמיד מושכים תשומת לב בונה אלא אם כן הם באמת שימושיים."
הוא צודק. לפני שהוא נמחק, בקוד healthcare.gov ש-Development Seed פרסם ב-GitHub היה דוח באג שהתלונן על "יותר מדי לוחות מוות". אבל יש גם דיווחי באגים אמיתיים, והרבה אנשים שירצו לעזור ומוכנים להיות מעורבים יותר עם הממשלה באמצעות דוחות באגים ותיקוני קוד. זה אולי נשמע מוזר, אבל יש אנשים שיגישו דוחות באגים ויתחקו אחר בעיות למען השמחה. טיפוח הפתיחות הזו עוזר לכולם ומביא אנשים לתהליך אזרחי חדש, מוזר ומרגש.
כשנשאל למחשבותיו על healthcare.gov, ויקטור לומברדי, מחבר הספר Why We Fail: Learning from Experience Design Failures, היה אופטימי. "הבעיות לא נשמעות קטסטרופליות", כתב בדוא"ל. "אני חושב שהתקשורת פשוט צריכה על מה לדבר". (שיעול.) "ההיסטוריה עשויה לשפוט את הפרויקט הזה כזרז שחולל מהפכה במערכת הבריאות של ארצות הברית," הוא סיכם, "ואף אחד לא יזכור כמה שיהוקים בהשקה".
אין ספק שהבעיות יתוקנו. כל החרקים רדודים כשהנשיא מתבונן. בינתיים, ברור שהושקעו עשרות מיליוני דולרים כדי להשיק משהו שבור. (קשה להדאיג את המספרים האמיתיים, מקום נוסף שבו שקיפות תעזור.) וההנהגה הרפובליקנית לא בזבזה זמן בהכנת חציר: הסנאטור למאר אלכסנדר והנציג דארל עיסא שלחו מכתב לקתלין סבליוס, מזכירת הבריאות ומזכירת הבריאות. שירותי אנוש, דורשים תשובות לרשימה של שאלות מנוסחות היטב, טכניות ביותר - והוגנות. יו"ר בית הנבחרים, ג'ון בוהנר, כינה את ההפצה "תאונת רכבת"; הסנאטור פט רוברטס קרא לסבליוס להתפטר. אנו עדים לתחילתה של סקירת הקוד המתישה והגיהנומית ביותר בתולדות פיתוח התוכנה.
ללא קשר לדעותיך על חוק הבריאות, זו הדרך השגויה ליצור תוכנה. ייתכן שלעולם לא נוכל למנוע מאתרים לקרוס או למנוע מבאגים לזחול לקוד. אבל פתיחת התהליך תחשוף מה השתבש ומדוע. עדיין אפשר לשלם לאנשים סכומי כסף גדולים כדי לקודד עבור הממשלה, אם זה מה שצריך. הם פשוט לא צריכים לעשות את זה בסתר. ארה"ב צריכה לומר שכל הפיתוח יתבצע בשטח פתוח, באמצעות כלי כמו GitHub, או GitHub עצמו. אם חלק מהדברים לא יכולים להיות פתוחים, מסיבות של אבטחה או זכויות יוצרים, בסדר; לומר זאת ולקבל פטור.
תיקון מה שמפריע ל- healthcare.gov יהיה יקר ומעורר מחלוקת פוליטית. אבל זו גם הזדמנות ללמוד מדוע דברים השתבשו ולוודא שהבעיות הללו לא יחזרו על עצמם. עם יותר ויותר שירותים ממשלתיים המסופקים כתוכנה דרך האינטרנט, הכרחי שהקוד שמאחוריו יפורסם לציבור. חברה פתוחה צריכה להיות חברת קוד פתוח.
[wp_scm_comment]