התדמית של עולם התכנה החופשית על פרשת דרכים

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

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

  • חזרתו של RMS להנהלת המוסד לתוכנה החופשית הבאישה את המוסד בעיני רבים, והחלה נטישה מדודה אבל מורגשת של תורמים (אני בינהם) ופרויקטים בולטים, חלקם עמודי תווך של פרויקט GNU.
  • מוצרים כמו טראוויס ו־Docker שפתאום אינם בחינם יותר לפרויקטים רבים של תוכנה חופשית בשל שינוי מדיניול – מצב זה שובר הפצה של תוכנה חופשית קיימת, ועלול לגרום לאותם מוצרים לאבד משתמשים ותדמית. במקרה של טראוויס זה אומר שהרבה פרויקטים של תוכנה חופשית יאלצו לעשות בדיקות שכבר היתה להם אוטומציה בצורה ידנית או להתחיל לשכתב מחדש תהליכים כדי לעבוד מול כלי אחר, או להנטש ולהפוך לעוד גופה ללא עדכונים.
  • מפתחים כמו מארק סקוויירז שהחליטו על "שברו את הכלים ולא משחקים" בצורה שיורה לעצמו ולכל הקהילה ברגל ומערערת מאוד את בטחון המשתמשים. היו עוד לפניו אבל הספריות שלו הן מרכזיות ובולטות.
  • חורים אדירים שהתגלו בשנים האחרונות בכלים מרכזיים ונפוצים, כגון Log4Shell, Heartbleed, Shellshock ואחרים.
  • יש פרויקטים שנטשו או השאירו בבלגן פרויקטים ישנים אצל גיטהאב כשמיקרוסופט קנתה אותה, אבל זה כנראה מיעוט.

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

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

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

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

גוגל מספחת את ההיסטוריה

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

(חלק שני מתוך ארבעה של הראיון, ההתייחסות מתחילה בסביבות 1:40)

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

שאלת רשיון השימוש בטקסט של ספר החוקים של ישראל

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

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

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

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

ואני שואל את מר דן לנדאו מנכ"ל הכנסת: למה שהכנסת לא תחפש בבקשה דרך לאפשר לסקטור הפרטי להשתמש בתכנים, תוך שמירת זכויות האזרחים, ככל האפשר, לשם שינוי?

סוף סוף, התנ"ך חופשי!

לפני כמה שנים המקור היחידי לתנ"ך מנוקד ומוטעם היה את מכון ממרה אבל ברשיון מגביל שהטריד אנשים בקהילה החופשית ואני בינהם. היום נתקלתי במקרה בעובדה המרעננת שלצד פירושים כמו רש"י התנ"ך מופיע במלואו בויקיטקסט שבתורו מובא מתוך האתר הזה, שמחלק את כל התנ"ך המוקלד ללא הגבלות רשיון (ברשות הכלל) ואם תרצו להוריד ולהתקין את השרת שעליו הוא רץ עם תכניו, התוכנה כוללת חלקים GPL, חלקים CC-by-nc ואולי רשיונות אחרים, עדיין, חופשיים למדי.

כדי לצפות בטקסט האתר ממליץ על פרנק ריהל של פרויקט קולמוס הפתוח ליוניקס:
וְגַ֗ם עִירָא֙ הַיָּ֣אִרִ֔י הָיָ֥ה כֹהֵ֖ן לְדָוִֽד (שמוליק ב', כ':26)

ההמלצה למשתמשי מאק הוא פונט "רעננה" (אינני יודע מה הרשיון):
עִירָא֙ הַיִּתְרִ֔י גָּרֵ֖ב הַיִּתְרִֽי (שמוליק ב', כ"ג:38)

ואילו לחלונות אפשר לבחור בין Ezra SILרשיון פתוח תואם OSD ואפילו DFSG!):
שְׁנֵ֥י שָׁדַ֛יִךְ כִּשְׁנֵ֥י עֳפָרִ֖ים תְּאוֹמֵ֣י צְבִיָּ֑ה הָרוֹעִ֖ים בַּשּׁוֹשַׁנִּֽים (שיר השירים, ד':5)

ובין SBL Hebrew המעוצב יותר מודרני, מרנדר טעמים יותר יפה אך מופץ ברשיון חינם לשימושים בלתי מסחריים בלבד של SBL:
חֶ֚לֶץ הַפַּלְטִ֔י עִירָ֥א בֶן־עִקֵּ֖שׁ הַתְּקוֹעִֽי (שמוליק ב', כ"ג:26)

לבדיקות נוספות של רינדור, אנא פנו אל העמוד הזה.

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

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

רעיונות לשיפור חוק הגנת הפרטיות

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

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

כתבנו את זה בדצמבר-ינואר בשנה שעברה, עכשיו זה נראה נאיבי קצת 🙂

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

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

עם צבת לא תוציאו

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

רוב המשכורות בארץ משולמות ומנוהלות ע"י המיינפריימים של מל"ם. מדובר במערכות כל כך ותיקות שאין כמעט תוכניתנים שיודעים לשפר ולתקן את התוכנות, מה שגורם למספר תופעות מוזרות להתקע ולהתאבן במערכת:
1. לא מתעדכנים לתוך המערכת חוקי מס חדשים, יוצא שהעובדים ו/או המעסיקים שמשתמשים במערכת (20% מהעובדים בארץ, אומרים לי) משלמים יותר מדי או פחות מדי מס.
2. מס הכנסה התאים את התוכנות שלו לקבצים של מל"ם כי כאמור המערכת ישנה מדי מכדי לעשות את ההפך.
3. הפורמט האיום של הקבצים מתועד חלקית, הטקסטים בקידוד EBCDIC או משהו דומה טרום-ASCII, ולא פשוט לעבד אותם כדי להוציא מהם נתונים לתוכנות אחרות.

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

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

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