WineHistory/he

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

ההיסטוריה של Wine

את שורשיה של Wine ניתן למצוא עוד בשנת 1993. בעת בה מספר כוחות התכנסו כדי להפוך את משימת הרצת תכניות של Windows לאפשרית. Microsoft הצליחה להוביל את מערכת ה־Windows שלה לחזית שוק המחשבים האישיים. IBM עוד תלו תקוות ש־OS/2 תדביק את הפער, אך אפילו הם הודו שיש צורך בתמיכה ביישומי Windows והטמיעו את היכולות בתוך המוצרים שלהם. תנועת התכנה החופשית שהחלה להראות ניצנים בשנות השמונים אט אט גיבשה בסיס כיוון שאנשים גילו שניתן להריץ מערכת הפעלה מרובת משתמשים ומרובת תהליכים על גבי מחשב שולחני.

הרכישה של Praxys טכנולוגיות על ידי Sun בשנת 1992 הובילה לפיתוח מוצר בשם wabi.‏ Sun הדגימה לראשונה את התכנית בדיון המתכנתים של Solaris בשנת 1993. התכנית אפשרה למשתמשים ב־Solaris x86 ו־Solaris 2.2 על גבי מחשבי SPARC להריץ יישומי Windows ללא תוספות מיוחדות. מוצרים אחרים באותה העת איפשרו להריץ תכניות Windows אך אלו דרשו הדמייה ברמת המכונה והתקנה פעילה של Dos ושל Windows. הייחודיות של Wabi הייתה בכך שהיא איפשרה לתרגם קריאות חלונאיות של Windows ישירות לקריאות של חלונות X. על ידי הדמיית שאר קוד ה־x86 ניתן היה להריץ תכניות Windows מהר יותר על גבי תחנת עבודה מסוג RISC! התכונות המתקדמות יותר של Wabi כללו את טכנולוגיית הטיפול בגופנים של Bitstream לטיפול בגופני True‎Type.

המשתמשים של המערכת העולה לינוקס החלו לדיון באפשרות של נקיטת גישה דומה ביוני 1993. באותה העת, הסיכויים להסבת Wabi לסביבת לינוקס היו קלושים למדי. קמה קבוצת דיוור כדי לרכז את הדיונים. השם "Wine" אומץ במהרה. קבוצת המתכנתים הראשונים כללה בתוכה כמה ממשפצי ליבת הלינוקס הראשונים לרבות Eric Youndale ו־David Metcalfe. שמות מוכרים נפוצים כללו את Alexandre Julliard המוביל כיום את Wine ואת Miguel de Icaza האחראי לתהילה של GNOME. Bob Amstadt הוביל את הפיתוח.

העבודה הראשונית התמקדה באפשרות להפעיל טוען תכניות שיוכל להריץ קבצים בינריים בני 16 סיביות של Windows. עבודה זו התחילה בהובלתו של Bob. המעורבות של Alexandre הייתה בעיקר סביב מיזוג פונקציות חלונאיות שנכתבו על ידי Peter Mac‎Donals ב־Tcl/Tk. התהליך התקדם במהרה ובתום ששת החודשים ניתן היה להריץ את סוליטייר. בנובמבר 1993 הופיעו גם ההסבות הראשונות של Wine לארכיטקטורות נוספות - John Brezak שלח מספר טלאים כדי לאפשר ל־Wine לרוץ על גבי NetBSD. ‏Bob העריך שקצב הפיתוח הנוכחי של הצוות ניתן היה לשחרר הפצה בעוד חצי שנה עד שנה. באופן אירוני, הפיתוח של Wine הוסיף להיות במרחק של חצי שנה עד שנה לשחרור למשך העשור שלאחר מכן.

התקשורת הראשונית בין המפתחים לבשה צורות רבות, לרבות קבוצת הדיון של ליבת הלינוקס (linux-kernel). רשימת הדיוור הראשונה של Wine הופעלה על ידי Robert והיא נועדה לאפשר למתכנתים להתדיין. לאחר שנה עם הצלחות רבות ועניין גובר במיזם ביקשה הקבוצה את יצירת קבוצת החדשות comp.emulators.ms-windows.wine. ההצבעה הייתה באופן מפתיע לטובת יצירת הקבוצה והיא הפכה לחלק מההיררכיה של Usenet ב־19 ביולי 1994. רשימות התפוצה הנוכחיות בהן התקיימו רוב דיוני הפיתוח נוצרה על ידי Doug Rigdway באוקטובר 1998.

בשנותי המוקדמות הופיעו שינויים רבים בפיתוח של Wine. ‏Robert פינה את כסאו ב־1994 ואת מקומו בתפקיד הפיתוח תפס Alexandre. הטיפול בחלונות נכתב מחדש כקריאות xlib ישירות. כפי הנראה הדבר החשוב ביותר הוא ש־Microsoft החלה לשחרר קוד ב־32 סיביות והוסיפה תכונות חדשות למערכות ההפעלה שלה. לטעון קוד ולהריץ אותו כבר לא הייתה משימה מספקת, היה צורך בשילוב הדוק במערכת ההפעלה המארחת (במיוחד לינוקס). נדרשה הוספה של מנגנונים לתמיכה בחיבורי רשת וקובצי רישום (registry). הארכיטקטורה של wine הסתמכה בעיקר על מרחב כתובות משותף בין היישומים. לאט התבהר כי יש צורך בהפרדת מרחבי כתובות בין היישומים כדי להגביר את האבטחה ולתמוך בספריות שיתופיות המנסות לגשת לאותו המרחב. העבודה החלה בתחילת שנות ה־2000 והיא נמשכת עד היום.

Alexandre הזכיר מספר מאבני הדרך ההתחלתיות של Wine בהערות מפתח שהוא ציין בדיון ה־Wine הראשון (Wineconf):

  • מאי 1995: התחלת התמיכה ב־Win32
  • יולי 1995: מעבר ל־autoconf
  • ינואר 1996: דווח כי Word ו־Excel פועלות
  • נובמבר 1997: יצירת האתר winehq.com

מתנדבים החלו לתרום להיבטים השונים מלבד הפיתוח. John Sheets ו־Susan Farley עבדו על חלקים מתוך התיעוד המקורי. Doug Rigdway הקים את האתר WineHQ בשנת 1997. האתר נחטף על ידי Corel למשך מספר שנים ולאחר מכן CodeWeavers השתלטו עליו בחזרה מידיהם במרץ 2002. Jeremy Newman מכהן כעת כמנהל האתר. ה־Wine Weekly News (החדשות השבועיות של Wine) הופיעו לראשונה באתר ב־1999. במקור נכתבו על ידי Eric Pouech, מאוחר יותר החליף את מקומו Brian Vincent ב־2001. במשך השנים שלאחר מכן נוספו מספר תכונות לאתר. עיצוב מחדש שחל בתחילת 2003 הוביל להוספת מספר עמודים לאתר כדי לסייע למשתמשים חדשים להכיר לעומק את Wine, רשימות מיזמים שנתנו כיוון למתכנתים ורשימה גדולה של שאלות נפוצות.

ב־1998 התקבלה החלטה בלב שלם על ידי Corel לתמוך בלינוקס. רכיבי המפתח התמקדו סביב אספקת מערכת מבוססת לינוקס שתהיה פשוטה גם להתקנה וגם לשימוש. עד כה, חתרה Corel לספק הפצה מבוססת לינוקס לצד תמיכה ליישום שלה. החבילה של Corel של יישומים משרדיים דרשה רמת תחכום גבוהה מצד Wine. לראשונה בהיסטוריה של Wine הפיתוח נתמך על ידי מימון מסחרי. Corel שכרה לעצמה שני צוותים פנימיים שונים שיעבדו על לינוקס. קבוצה אחת התמקדה בפיתוח שרתים ואוילו השנייה על תמיכה ביישומים. Corel קיימה קשר מצוין עם Wine, חלקית עקב המעורבות של חברה אחרת שעושה עבודה רבה — CodeWeavers.

הבועה התנפצה. השמועות החלו להסתובב בסוף שנת 2000 על כך ש־Corel תפסיק את התמיכה שלה בלינוקס. בתחילת שנת 2001 הכריזה Corel באופן רשמי שתבצע הסבה למחלקת הלינוקס שלה, באופן יותר ממוקד לקבוצה שעובדת על ההפצה. התמיכה שלה לעבודה על Wine הסתיימה. הנכס האינטלקטואלי וחלק מהמפתחים הם שהובילו להקמת חברת לינוקס חדשה — Xandros.

לא לקח זמן רב עד שאחרים הצטרפו למלא את החלל. בשלב זה Alexandre כבר גיבש עמדה לצד CodeWeavers שעשתה הרבה מעבודת הנמלים שנדרשה ל־Wine. ‏CodeWeavers החלו להתערב בפיתוח Wine ב־1999 והם הוחתמו על ידי Corel לשפר חלקים ב־Wine שיביאו תועלת להפעלת היישומים של Corel. ‏CodeWeavers החלו לפתח מוצרים משלהם וליטשו את Wine. הגרסה העצמאית שלהם של Wine כללה כלי ניהול גרפיים והתקנה נוחה. מספר הפצות הפכו אותה לזמינה להורדה. המוצר הראשון שלהם, תוסף ה־CrossOver, איפשר למשתמשי לינוקס להריץ תוספים של Netscape שתוכננו ל־Windows. גרסאות חדשות יותר של המוצר תמכו אף בתוספים נוספים. הם שיחררו את Cross‎Over Office במרץ 2002 כדי לספר תמיכה ליישומים משרדיים כגון Excel ו־Lotus Notes.

TransGaming נוסדה באוגוסט 2001. Gavriel State, שעבד ב־Corel, עזב והקים חברה משלו. משחקי מחשב חדשים החלו להתמקד במנשקי ה־DirectX של מיקרוסופט למטרות השונות החל מהתקני קלט ועד להאצה תלת ממדית. על ידי איגוד המנגנון למערכת ההפעלה הפכה משימת ההסבה לפלטפורמות אחרות לקשה במיוחד. התמיכה של DirectX ב־Wine שנוספה לראשונה על ידי Marcus Meissner ב־1997 הייתה מוגבלת מאוד. Gavriel חתר למסחור הפיתוח של המערכת וליצור גרסה חדשה של Wine שנוצרה עבור שחקני משחקי מחשב. נדרשה הוספה של טכנולוגיות נוספות מלבד DirectX וחלק מהעבודה הראשונית התמקדה על הכללת תמיכה בשיטות הגנה מפני העתקה. WineX 1.0 שוחררה באוקטובר 2001 ותמכה בשישה משחקים.

בשנת 2001 חברה נוספת הכריזה על כוונותיה לעבוד עם Wine. ‏Lindows.com רצתה ליצור הפצת לינוקס שתהיה פשוטה לשימוש ושתאפשר למשתמשים להריץ תכניות של Windows. לא לקח זמן רב לפני שהם נטשו את הרעיון לטובת יישומים המיועדים ללינוקס. לפני שזה קרה הם מימנו את Wineconf — אירוע בן שלושה ימים במרץ 2001 שקיבץ יחד מתכנתים מרחבי העולם. כדי להפוך את המפגש ליותר מעניין, זמן קצר בטרם המפגש קהילת Wine סכמה דיון <s>השמצות</s> נוסף בנוגע לרישוי.

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

בהתחלה, Wine אמצה רישיון בסגנון BSD. בסוף 1999 החל דיון בנוגע לשינוי הרישיון. Richard Stallman ציין שהחבילה אינה תואמת ל־GPL מה שעלול לגרום לבעיות מול כל מיזם קוד פתוח המעוניין להשתמש בקוד של Wine. רוב המתכנתים לא ראו את הצורך להחל רישיון חדש והרישיון X11, שהוא נגזרת של רישיון ה־BSD, היה הנתמך ביותר. התכנסה הצבעה בנושא ובינואר 2000 הכריז Alexandre שזהו יהיה הרישיון החדש של Wine.

במרץ 2002 נערך סקר בקרב המתכנתים החופשיים והמסחריים של Wine כדי לראות האם יש עניין במעבר לרישיון אחר. רוב המתכנתים לא רצו שהקוד שלהם יוחזק על ידי ישות מסחרית והתעוררו דאגות שזה עלול לראות. לאחר דיונים רבים הם בחרו ברישיון הציבורי הפחות כללי וב־9 במרץ 2002 קוד המקור של Wine הפך כפוף לתנאים אלה. ה־LGPL נקרא לעתים גם רישיון "copyleft", דרש מהמתכנתים של Wine לצייט לכמה קווים מנחים:

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

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

זמן קצר לאחר החלפת הרישיון הפיתוח החל להתקדם בקצב מהיר יותר. הופיעו טלאים רבים יותר, Alexandre הכין עוד מסירות ל־CVS ודווח על יותר יישומים שעובדים. עד סוף 2003 הפרדת ספריות DLL הגיעה לאבן דרך עם פיצול השילוב בין kernel32/ntdll. נערכו שינויי ארכיטקטורה רבים לתמיכה בהפצת בטא. דיון מתכנתים נוסף נערך בינואר 2004 בסאן פול שבמינסוטה בחסות CodeWeavers. פעם נוספת, הוכתבה מפת דרכים למשימות שיש להשלים.

Wine 0.9.0 הוכרזה "באיכות בטא" בשנת 2005 (יותר דברים עובדים מאשר לא עובדים) בעוד Wine 1.0 שוחררה לבסוף בשלהי 2008. Wine 1.2 היא הבאה בתור - ניתן לעיין בתכנית השחרורים.

Wine תפחה לממדים של 1.4 מיליון שורות קוד בשפת C בעשור האחרון. למעלה מ־700 איש תרמו באופן כלשהו. כמו תמיד אפשר לצפות מ־Wine להשתחרר מתישהו השנה; או אפילו בתחילת השנה הבאה. או שאולי אנו ממתינים רק למעורבותך כדי לסיים את מנשקי המשתמש החשובים האלה ואת פיסות התיעוד היקרות.

למידע נוסף

WineHistory/he (last edited 2010-12-27 09:46:18 by YaronShahrabani)