למה מיקרוסופט לא יכולה לנהל מאגר התקנות מרכזי

אחת התכונות הכי משובחות של רוב הפצות הלינוקס הגדולות היא ניהול חבילות מרכזי.
בדביאן למשל, יש כמות אדירה של חבילות תוכנה, כ19000 נכון להיום.
לא כל החבילות הן תוכנות במובן הרגיל, יש חבילות תיעוד, חבילות דרייברים, חבילות קודקים, חבילות ספריית (DLLים) וכו', אבל עדיין יש אלפי תוכנות שזמינות לחיפוש, התקנה, הסרה ושדרוג בצורה מרכזית ופשוטה במיוחד, באמצעות מגוון כלים, גם גרפיים, סינפטיק למשל, וגם מבוססי שורת פקודה, כמו apt-get ודומיו.

סינפטיק

Synaptic package manager

לחלונות יש את Add/Remove programs, אבל הוא לוקה בחסר:
קרה לכם פעם שסרקתם את רשימת התוכנות המותקנות של חלונות בAdd/Remove programs ומצאתם את מה שרציתם בקלות?
קרה לכם פעם שהשתמשתם בAdd/Remove programs כדי להתקין תוכנה שלא מהווה חלק מחלונות?
קרה לכם פעם שעדכנתם תוכנה דרך Add/Remove programs?

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

קשיים טכניים

* מה קורה אם שתי תוכנות שמותקנות צריכות שתי גרסאות שונות של אותו DLL?
* איך מטפלים בDL HELL? למשל, אם שתי תוכנות משתמשות באותו DLL, וגרסא חדשה של אחת מהן צריכה לשדרג אותו, איך אפשר לעדכן את התוכנה הראשונה בלי לשבור את השניה?
* מערכות הקבצים של מייקרוסופט לא מאפשרות עדכון של קובץ שנמצא בשימוש, מה שיקשה על עדכון המערכת.

קשיים פוליטיים/משפטיים

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

הבעיות האלו הן רק קצה הקרחון.

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

Facebook Comments

8 תגובות בנושא “למה מיקרוסופט לא יכולה לנהל מאגר התקנות מרכזי”

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

    איך מטפלים שיוצא GNOME חדש ומחכים במקרה הטוב כמה שבועות ובמקרה הגרוע כמה חודשים עד שמקבלים את הגרסא העדכנית ?

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

    לכל שיטה יש את היתרונות וחסרונות..

  2. א. למיקרוסופט יש כלי בשם Microsoft Update שמעדכן לך את כל תוכנות מיקרוסופט במחשב.

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

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

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

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

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

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

  5. אהלן,

    ועוד משהו קטן שלא אוזכר כאן זה ה"פתרון" של מיקרוסופט ל-DLL Hell, הלא הוא ה-GAC, המאפשר הימצאות שני DLLs מגירסאות שונות side-by-side.

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

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

  7. לממש:
    המשפט המלא שלך צריך להיות:
    "לדעתי (ולדעת הרבה אחרים), שלא מכירים דבר אחר, טוב שכך….

סגור לתגובות.