פרק 29.5 – כמוך וקוד פתוח | לילות כימים

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

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

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

קוד פתוח

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

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

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

על חוויותיי מפניות למפתחי תוספים יספר הפרק לפנינו.

הפנייה הראשונה

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

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

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

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

עוד התכתבות בדוא"ל

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

ציד באגים

לפעמים אני לא מסתפקת בבאגים שמופיעים בממשק הניהול.

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

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

כל השאר

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

לפעמים המפתח לא נותן מענה,

או שתשובה היא התנצלות על הבאג והבטחה שזה לא יקרה בגרסאות עתידיות.

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

לפעמים יש אזעקות שווא (פדיחה שלי). מזל שהמחברים לוקחים את זה ברוח טובה.

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

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

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

צעד נוסף קדימה בתמיכה

יום אחד עמית דיווח לי על תקלה: בתוסף שעון העצר (שהיה מראה את הזמן עד האירוע הבא של כמוך. משאין אירועים, אין שעון עצר), כשהוא רצה לקבוע תאריך, לוח השנה היה מראה לו את שנת 1900…

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

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

אחרי זה שמתי את הבאסה בצד, קבעתי איתם זמן, ונתתי להם גישה למחשב שלי. גלשתי לאתר, ונתתי למפתח לחוות את התקלה באתר. בדיעבד, טוב שליוויתי אותו, כי הבעיה לא מתרחשת תמיד: היא מתרחשת כשפותחים את לוח השנה, סוגרים אותו, ואז שוב פותחים. ישבנו איזה שעה עד שהוא הבין שהבעיה נובעת מכיווניות ימין שמאל. אני עוברת רגע לשפה טכנית: האיש אמר שהפורמט של התאריך צריך להיות yy-mm-dd HH:mm:ss ואצלנו בגלל שזה עברית זה מתהפך, ואז התאריך והשעה מחליפים מקום וזה משבש את העניינים כמובן. הוא אמר שיעבוד על תיקון וישלח לי גרסה לבדיקה.

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

ופעם אחת כתבתי את התיקון בעצמי

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

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

וזו הדרך המקצועית שעברתי בפיתוח אתר כמוך.

5 תגובות

תגובות בפייסבוק

כתוב תגובה

כתיבת תגובה

האימייל לא יוצג באתר.

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

  2. באג 1900! עשיתם הסטוריה (-:
    ומה שמעניין בפוסט שלך (אותי, נו) זה פחות הקוד (סליחה ומחילה. לא באמת פתחתי את הקישורים. הרי את לא לקחת על זה אחריות, אז למה שאני אקח?) ויותר המחשבה על המתכנתים, שיושבים בחשכה ומקלידים לאור מסך, או גרוע מזה – יושבים בבדידות איומה ב open space מלא אנשים, כולם ממלמלים דברים לא ברורים על המחשב שלהם ואליו, ופתאום הם מתגלים כשוחרי חברה, בעצם.

    1. וואי, לא חשבתי על זה שהקדמנו את זמננו במאה שנה…

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