HP תומכים בדביאן רשמית – בערך

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

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

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

אז זהו, שלא.

ההפצה הזו אינה באמת דביאן. היא “Debian with HP Extensions”. למעשה, זהו fork של דביאן, שלו הוסיפו HP חבילות משלהם.

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

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

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

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

וכאן הכשל העקרוני והמהותי שבכל הפצה מסחרית של לינוקס. ברגע שאתה לוקח לעצמך את מלוא השליטה על אילו חבילות נכנסות ואילו לא, אתה נאלץ לעשות שילוב כלשהו של כל שלוש האפשרויות הנ”ל! כתוצאה מכך, כל ההפצות המסחריות (מי יותר, מי פחות), ובפרט השלוש הידועות (RedHat, Suse ו-Mandrake), נאלצות הן להגביל את היצע החבילות שנמצאות בהפצה והן את כמות הבדיקות שכל אחת מהן עוברת. דוגמא דיי ידועה של זה היא שב-Suse מערכת KDE לא נמצאת באותה רמת גימור של Gnome. למה? כי היא לא בפוקוס של Suse, ואין להם משאבים לתחזק אותה.

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

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

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

למשל, לפני מספר שנים נהגתי להשתמש בעבודה בתוכנה בשם hping. בשלב כלשהו מצאתי בה באג. הבאג התגלה כשגיאה של שורה אחת. שלחתי למתחזק של hping את התיקון, והוא הוכנס פנימה. על המחשבים הפרטיים שלי, שמריצים דביאן, רציתי שהתיקון גם ייכנס. מכיוון שעוד לא היה שחרור גרסה חדשה של hping, הורדתי את קוד המקור מהחבילה של דביאן כדי להכניס אותו גם שם. ואז גיליתי שהתיקון כבר בפנים! כמוני, גם המתחזק של hping עלה על הבאג ותיקן אותו. דבר כזה קורה רק כאשר מי שמתחזק את החבילה גם משתמש בה. לצורך ההשוואה, על מחשבי העבודה היה מותקן RedHat. לא זו בלבד שהתיקון לא היה בחבילה, לא היתה חבילה של hping ל-RedHat כלל. קוראי הבלוג הזה שמתמשים ב-apt-get ל-RedHat מוזמנים לדווח האם היום התוכנה זמינה לרד האט או לא.

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

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

שחר

זה כיף כשהמודל עובד

אתמול היה יום דיי משעשע בעבודה.

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

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

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

בדיקה יותר מעמיקה של מקור הבעיה הראתה ש-Wine משתמש בפונקציה בשם “poll” כדי לבדוק אם הוא צריך לעשות משהו כרגע. בקרנלים חדשים של לינוקס יש תחליף יעיל יותר שנקרא “epoll”. סיכמנו עם הלקוח שנכניס תמיכה ב-epoll ל-Wine.

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

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

שחר

Bear