ארכיון

Archive for the ‘PHP’ Category

משימות קוד פתוח קלות – אוקטובר 2017

12/10/2017 4 תגובות

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

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

  1. עדכון התרגום לעברית של תוכנית ההתקנה של דביאן.
    קוד: https://github.com/kaplanlior/debian-installer
  2. תרגום Public funding? Public code?
    אתר: https://publiccode.eu
    קוד: https://git.fsfe.org/pmpc/website/src/master/site/content
  3. ליברה אופיס – מעבר על כל הבאגים ב-meta issues
    א. איסוף שם וכתובת המייל של המדווח על הבאג ואנשים בתגובות.
    המטרה של האיסוף היא יצירת מאגר של אנשים שיכולים לעזור לקידום התמיכה בעברית.
    ב. בדיקה אם צריך לשחזר את הבאג בגרסה עדכנית, ודיווח על כך.
  4. PHP –  בדיקת עדכניות קבצי ה-NEWS לעומת ה-ChangeLog באתר (גרסאות 7.0, 7.1)
    לוודא שכל שורה שמופיעה בקובץ NEWS הגיעה ל-ChangeLog ולהפך. לחלק מהדברים יש נטיה ליפול בין הכסאות (לרוב זה עדכוני האבטחה)
    קוד: https://github.com/php/php-src
    שינויים: http://www.php.net/ChangeLog-7.php

תודה מראש לעוזרים

Debconf16 – יום שני

למרות הקושי להתחיל את היום אחרי הטיו לשל אתמול, הגעתי להרצאה הפתיחה של Karen Sandler מהמרכז לשימור חופש התוכנה (Software Freedom Conservancy) שדיברה הטיפול בזכויות יוצרים בעתיד שידע להתמודד עם מוות של מפתחים, ענייני ירושה וכו'. היא הגיעה לנושא כתוצאה מהבנה שהיא לא תחייה לנצח (אמרה שהיא סובלת מבעיית לב, ולכן הנושא מצוי על סדר היום שלה).

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

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

בהמשך עברתי לעדכן את מאגר עדכוני האבטחה של PHP (בחירת תיקונים מגרסה 5.5 לגרסה 5.4). תוך כדי העבודה, אני גם בודק את החבילה בדביאן, כדי לראות מה עשו שם, וגיליתי ב-changelog ששורה שאומרת שבתאכלס לקחו ממני את כל השינויים + כמה תוספות שעשו. תענוג לראות שהפרוייקט שלי בשימוש ועוזר לצוות ה-LTS של דביאן. לאחר שסיימתי את הוספת התיקונים מגרסה 5.5.37, עברתי לראות מה דביאן הוסיפו, וצללתי להבין למה בחרו את הבאגים האלה. מסתבר ששנים מהם קיבלו CVE והשלישי עוד לא ברור, אך הוא חלק רק מ-5.6 (ןגם לא מופיע ב-changelog). את השניים הראשונים התחלתי לחקור וגיליתי שהם קיבלו CVE, למרות שרד האט חושבים שאחד מהם אינו מהווה בעיית אבטחה.

עשיתי בירור מול סטס, מי שבפועל עושה את רוב תיקוני האבטחה של PHP, והוא אמר שאין לו דיעה עקרונית לגבי שני הבאגים עבור 5.5.38, שצפויה להיות הגרסה האחרונה שיוצאת בענף של 5.5 (התמיכה נגמרת רשמית ב-10 ליולי). לאור תגובתו, פתחתי שני Pull Request ושלחתי אותם למתחזק של הגרסה. זאת גם יבטיח שהתיקון החסר יכנס ל-5.6.

בצהרים הלכתי להרצאה של אמיליו על תהליך שחרור הגרסה של דביאן. הקפאה של שינויים גדולים (transistions) צפויה להתחיל בנובמבר והגרסה החדשה צפויה לצאת באזור מרץ-אפריל בשנה הבאה. לאחר מכן קפפצתי להרצאה של גונר על צרור המפתחות של דביאן, לאור כל השינוים מהשנה האחרונה בה העיפו מפתחות חלשים (1K). ההרצאה בעיקר כללה קצת גרפים, דיון על חוזק הרשת (web of trust) ואיים שקיימים בה). אחד הדברים המשעשעים בגרפים היתה איזה קבוצה של 5 אנשים שהיו אי, אבל בגרף זה מוצג כפנטגרם… בקיצור, החלטנו ש-Debian is evil (אבל בנתיים הבעיה נפתרה).

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

:קטגוריותDebian GNU/Linux, PHP

הפתעה בערכי בררת המחדל של PHP

במסגרת בירור עניין טכני בעבודה לגבי PHP, הופתעתי לגלות שערכי ברירת המחדל של PHP ביחס למיקום (קו אורך וקו רוחב) הם של ירושלים. השלב הבא היה לתהות ממתי השינוי הזה שם ומי עשה אותו. לאחר חיטוט קצר ב-git הסתבר להפתעתנו שמדובר בשינוי מ-2006 (החל -PHP 5.0) ע"י מישהו שאינו ישראלי (ראו: שינוי הקוד, תוספות ל-php.ini). לאחר השימוש המפורסם ב-"Paamayim Nekudotayim" ב-PHP ערך ברירת המחדל לירושלים לא נראה מפתיע במיוחד, אבל מסתבר שכנראה שכאן זה סיפור שונה לחלוטין.

עדכון:

אז נראה שטעיתי, מסתבר שהערכים הוכנסו ע"י משה דורון בפברואר 2003 והופיע ב-Beta1 של גרסה 5.0.0 שיצאה ביוני באותה שנה. זה גם מסתדר "קצת" יותר עם העובדה שהגרסה הסופית יצאה ביולי 2004 בעוד שהשינוי למעלה היה רק ב-2006. נו, אל תתנו לעובדות לבלבל אתכם (:

:קטגוריותPHP

PHP 5.5.0

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

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

התרומה הזאת הגיעה לאחר שה-PHP רצו לשלב את APC, הרחבה אחרת לאותה מטרה כחלק מבסיס הקוד של PHP, ו-Zend החליטה שעדיף לשלב את המוצר שלה, שמציג ביצועים טובים יותר מאשר להתחרות במוצר שמשולב בתוך PHP. לאור ההחלטה, הקוד שוחרר והרעיון הוצע למפתחים שהכריעו בעדו, ואף לדחות את גרסה 5.5.0 כדי להשלים את המיזוג.

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

נקודת גאווה קטנה לגבי גרסה 5.5.0 היא שהצלחתי להכניס אליה תוספת קוד קטנה משלי, אומנם סקריפט shell פשוט הקשור ל-FPM, אבל השם מופיע על ה-commit ומופיע ברשימת השינויים (NEWS). תרומתי הצנועה לאחר שאני מתעסק בתחזוקת טלאים שקשורים ל-PHP במסגרת העבודה (פרטים בבלוג שלי באנגלית).

:קטגוריותFree Software in Israel, PHP