Wine

Ця стаття - про комп'ютерну програму. Про рок-групі читайте Wine (група)

Wine ( / Waɪn / - Між "Уайна" і "вайн", рус. Вино ) - Це вільне програмне забезпечення, яке дозволяє користувачам UNIX -подібних систем архітектури x86 (і інших архітектур, за наявності сумісності, наприклад, AMD64) виконувати 16 -, 32 - і 64 - бітні додатки Microsoft Windows (64-бітні додатки знаходяться у стадії ранньої реалізації). Wine також надає програмістам бібліотеку програм Winelib, за допомогою якої вони можуть компілювати Windows-додатки для портування їх в UNIX-подібні системи. Назва Wine є рекурсивним акронімом і розшифровується " Wine Is Not an Emulator "-" Wine - не емулятор "(мається на увазі, що Wine не є емулятором комп'ютера, як, наприклад, qemu або VirtualBox, Wine - це альтернативна реалізація Windows API).

Wine розповсюджується на умовах ліцензії GNU LGPL.


1. Історія

Проект був заснований Бобом Амштадтом (Bob Amstadt) в 1993 як засіб запуску 16-бітних додатків Windows 3.1 в системі Linux. З 1994 лідером проекту став Олександр Жульярд (англ.). Спочатку Wine був випущений під ліцензією MIT, але в березні 2002 вона була змінена на GNU LGPL .

З часом Wine був портований на інші UNIX-подібні системи, такі як FreeBSD, Solaris та інші, а також на Windows (там WINE зазвичай використовується для запуску старих програм на нових версіях ОС). Була додана підтримка 32-бітних додатків Windows, а в 2005 - і 64-бітових. До жовтня 2005 року проект перебував у стадії альфа-версії, хоча з його допомогою бездоганно працювали багато програм. 25 жовтня 2005 р. була випущена перша бета-версія Wine 0.9 . З цього моменту нові версії стали випускатися зазвичай раз на два тижні.

Влітку 2007 року відбувся невеликий скандал, оскільки з'ясувалося, що кілька вільних бібліотек Wine були використані компанією Parallels, Inc. до пропрієтарного продукті Parallels Desktop for Mac, без надання вихідних кодів, що є порушенням ліцензії LGPL. [3] Встановити факт порушення змогли через скріншотів, опублікованих Parallels, на яких у персонажів гри Half-Life 2 були видні квадратні тіні, що на той момент було однієї з відомих помилок Wine. [4] У компанії Parallels підтвердили, що використовують модифіковані вихідні коди Wine, і обіцяли надати їх по запиту протягом 3 днів. [5] Тим не менш, розробники Wine отримали модифіковані вихідні коди тільки через місяць. Крім того, на сайті Parallels з'явилася інформація про Wine як компоненті, і його ліцензії [6], на чому конфлікт фактично вичерпав себе. [4]

17 червня 2008, після 15 років розробки, вийшла версія Wine 1.0, перша, яку розробники називають стабільною. [7]

16 липня 2010 вийшла наступна стабільна версія Wine під номером 1.2. [8]

7 березня 2012 вийшов стабільний реліз версія Wine під номером 1.4 [9]


2. Технічні особливості

Налаштування Wine

Проект стикається з великими труднощами внаслідок неповноти або відсутність документації по багатьом елементам Win32 API. У той час як функції Win32 в основному документовані, існує маса областей (таких як файлові формати або протоколи Microsoft), специфікації на які ніколи не публікувалися. Таким чином, команді розробників Wine доводиться займатися зворотного розробкою цих компонентів.

Wine сприймає системні виклики Windows-додатків до бібліотекам операційної системи і підміняє їх своїми. Таким чином, емуляції процесора, аналогічно іншим емуляторам типу VMware і QEMU, не відбувається, і додатки можуть виконуватися в Wine майже так само швидко, як і в "рідній" операційній системі (а в деяких випадках і швидше [10]). Для своєї роботи Wine не вимагає наявності встановленої ОС Windows, хоча і може використовувати її бібліотеки.

Також Wine надає інструментарій розробки програм Winelib для перенесення успадкованих вихідних кодів з середовища Windows у середу UNIX шляхом простої перекомпіляції.

Wine, безумовно, не є стабільним продуктом, і не можна сказати, що будь-яку програму для Windows вдасться запустити з його допомогою. Деякі підсистеми Windows взагалі практично не реалізовані. Тим не менш, вже зараз багато хто з повсюдно використовуваних Windows-додатків повноцінно запускаються і працюють в UNIX-подібних ОС за допомогою Wine. Особливо це стосується додатків, які не використовують недокументовані можливості Windows.


3. Використання коду Wine в інших проектах

  • Частина коду WINE, що дозволяє завантажувати динамічні бібліотеки ( DLL) для Windows, використовується в інших вільних проектах, таких як MPlayer, Xine і деяких інших.
  • Компанією Borland була випущена середу розробки Kylix, що використовує код Wine (у даний момент розробка та підтримка припинена).
  • ReactOS - проект вільної операційної системи, що ставить за мету повну сумісність з Windows на рівні програм і драйверів. Не будучи заснованим на Wine, проект ReactOS активно співпрацює з ним, бере з нього багато напрацювання і ділиться своїм кодом.
  • Picasa, Google Earth. При портировании під Linux використовувалися бібліотеки Wine. [11] [12]

4. Продукти, засновані на Wine

  • Cedega, раніше WineX - продукт, заснований на старому коді Wine (до зміни ліцензії на LGPL), створений компанією TransGaming для підтримки Windows-ігор в ОС Linux. Є покращена підтримка DirectX, різних видів захисту від копіювання. Продукт пропріетарний, але мається загальнодоступна CVS -версія з дещо урізаною функціональністю.
  • CrossOver - заснована на Wine середу, спеціально оптимізується для запуску найбільш затребуваних офісних та інших додатків для Windows в Linux, таких, як Microsoft Office, Apple iTunes, Adobe Photoshop і інших. Продукт також платний і невільний, але його розробники - компанія CodeWeavers - активно співпрацюють з командою Wine, і ці два проекти обмінюються своїми напрацюваннями.
  • Лінійка продуктів компанії Etersoft, на основі Wine ( WINE @ Etersoft) - набір середовищ, орієнтованих не тільки на підтримку популярних в Росії ділових Windows-додатків, таких як 1С: Підприємство, БЕСТ, КонсультантПлюс, ГАРАНТ, КОМПАС-3D (WINE @ Etersoft CAD), але і на такі як Microsoft SQL Server (WINE @ Etersoft SQL), PostgreSQL (WINE @ Etersoft SQL, Postgre @ Etersoft). WINE @ Etersoft Network призначений для організації спільної роботи з додатками і загальними ресурсами по мережі. Це платні продукти, розроблювальні російською компанією Etersoft, яка підтримує їх для дистрибутивів Linux і FreeBSD [13].
  • WINE-LXP - ще одна комерційна реалізація Wine, що є частиною Trustverse Desktop (раніше випускався як Linux XP). Про цю реалізації відомо, що окремо вона не продається, підтримує запуск 1С: Підприємство і ще кілька додатків. [14]
  • PlayOnLinux - GTK інтерфейс (графічний) для настройки wine. Підтримує скрипти установки, паралельні різні версії wine для окремих додатків і дозволяє використовувати для кожного wine-додатки свій профіль.
  • Vineyard - ще один GTK інтерфейс (графічний) для настройки wine.
  • q4wine - Qt інтерфейс (графічний) для настройки wine. Також дозволяє використовувати для кожного wine-додатки свій профіль.
  • winetricks - скрипт для установки деяких основних компонентів (як правило, бібліотек DLL і шрифтів), необхідних для деяких додатків для правильної роботи під Wine. Проект Wine приймає повідомлення про помилки для користувачів Winetricks, на відміну від більшості сторонніх додатків.
  • Wine-Doors - є додатком для GNOME, яка вносить додаткову функціональність і став альтернативою WineTools.
  • IEs4Linux - це інструмент для встановлення всіх версій Internet Explorer, включаючи версії від 4-ой до 6-ої і бета-версії 7. Після двох років мовчання, в січні 2011, з'явилося повідомлення про швидкий початок підтримки 9-ї версії. [15]

5. Microsoft і Wine

У Microsoft офіційно не робили ніяких публічних заяв з приводу Wine. Однак Microsoft Update буде блокувати оновлення для програмного забезпечення від Microsoft, якщо програми будуть запущені в середовищах, заснованих на Wine. 16 лютого 2005 Ivan Leo Puoti виявив, що Microsoft почала перевіряти системний реєстр у пошуках конфігураційних ключів, залишених Wine і буде блокувати доступ до Windows Update для будь-якого компонента. Puoti написав: [16]

... Навіть якщо це тільки початкова спроба, схоже, що вони хочуть дискримінувати користувачів Wine. Це може бути прийнятно для компонентів / оновлень операційної системи, але, ймовірно, є порушенням антимонопольного законодавства для всіх інших завантажень. Крім того, це перший раз, коли Microsoft дала зрозуміти, що знає про існування Wine

Оригінальний текст (Англ.)

... Even if this is only an initial attempt, they appear to want to discriminate against Wine users. While this may be acceptable for operating system components / updates, this is probably a violation of anti-trust law for all other downloads. It's also the first time Microsoft has acknowledged the existence of Wine.

Windows Genuine Advantage (WGA) також перевіряє на наявність ключів реєстру від Wine. У WGA FAQ заявлено, що WGA, за своїм призначенням, не буде працювати в Wine, оскільки Wine не є "справжньої Windows". [17] Коли перевірка WGA визначає, що в системі запущений Wine, користувачеві буде видане повідомлення, з якого випливає про те, що він запустити не справжню Windows, і "завантаження ПО для справжньої Windows" не будуть дозволені для цієї системи. Тим не менш, було кілька повідомлень про роботу WGA в Wine [18] [19], однак і ця можливість використання була закрита в наступному оновленні компонента WGA. У випадках з Internet Explorer 7 і Windows Media Player, згодом, Microsoft видалила вимоги перевірки WGA для установки.


6. Недоліки Wine

Незважаючи на те, що Wine являє собою досить потужний програмний продукт, у нього є певні проблеми реалізації. Наприклад, розробники навмисно не заявляють підтримку USB, однак за словами самих же розробників [20] робота з USB драйверами можлива.

Примітки

  1. Офіційний сайт Wine. - www.winehq.org/
  2. Офіційний сайт Wine. - www.winehq.org/
  3. SWSoft зловили на порушенні LGPL - www.linux.org.ru/view-message.jsp?msgid=1998169. Linux.org.ru (1 червня 2007). Читальний - www.webcitation.org/685dVoigm з першоджерела 1 червня 2012.
  4. 1 2 Parallels Desktop Watch - wiki.winehq.org / Parallels (Англ.) .
  5. Parallels using WINE? Possible liscensing issues ... - forum.parallels.com / showthread.php? t = 12648 (Англ.) . Читальний - www.webcitation.org/685dahWeu з першоджерела 1 червня 2012.
  6. Licensing information - www.parallels.com/en/support/desktop/licensing/ (Англ.) . Parallels. Читальний - www.webcitation.org/685dbFcM7 з першоджерела 1 червня 2012.
  7. Wine 1.0 Released - www.winehq.org/?news=2008061701 (Англ.) . WineHQ (17 червня 2008). Читальний - www.webcitation.org/685dbq9Mq з першоджерела 1 червня 2012.
  8. Wine 1.2 Released - www.winehq.org/news/2010071601 (Англ.) . WineHQ (16 липня 2010). Читальний - www.webcitation.org/685dcKWCJ з першоджерела 1 червня 2012.
  9. Wine 1.4 Released - www.winehq.org/news/2012030701 (Англ.) . WineHQ (7 березня 2012). Читальний - www.webcitation.org/685dcm2l4 з першоджерела 1 червня 2012.
  10. BenchMark-0.9.5 - wiki.winehq.org/BenchMark-0.9.5 (Англ.) . The Official Wine Wiki. Читальний - www.webcitation.org/685ddEeOO з першоджерела 1 червня 2012.
  11. Picasa for Linux, Frequently Asked Questions - picasa.google.com / intl / ru / linux / faq.html (Англ.) . Google. (Недоступна посилання - історія - web.archive.org / web / * / http://picasa.google.com/intl/ru/linux/faq.html)
  12. Open Source Patches: Wine - code.google.com / intl / ru / opensource / wine.html (Англ.) . Google. Читальний - www.webcitation.org/685ddip0G з першоджерела 1 червня 2012.
  13. WINE @ Etersoft: підтримувані операційні системи - etersoft.ru / wine / platforms. Читальний - www.webcitation.org/685deCA8Y з першоджерела 1 червня 2012.
  14. Trustverse WINE-LXP - www.trustverse.ru/products/migration/WINE-LXP/
  15. IEs 4 Linux News "Supporting IE9 on Linux - www.tatanka.com.br/ies4linux/news/55
  16. Puoti, Ivan Leo Microsoft Genuine Downloads Looking For Wine - www.winehq.org/pipermail/wine-devel/2005-February/033868.html (Англ.) . Список розсилки (16 лютого 2005).
  17. Genuine Windows FAQ - www.microsoft.com / genuine / downloads / FAQ.aspx (Англ.) . Microsoft Corporation. Читальний - www.webcitation.org/685df5ICC з першоджерела 1 червня 2012.
  18. Ubuntu Linux Validates as Genuine Windows - linux.slashdot.org / article.pl? sid = 07/06/18/0037223 (Англ.) . Slashdot (17 червня 2007). Читальний - www.webcitation.org/685dg2IDo з першоджерела 1 червня 2012.
  19. Linux is a Genuine Windows? turns out it is - forums.bit-tech.net/showthread.php? t = 95654 (Англ.) . bit-tech.net (6 серпня 2005). Читальний - www.webcitation.org/685dhPIwz з першоджерела 1 червня 2012.
  20. USB device support - wiki.winehq.org / USB на wine-wiki