Wine (/waɪn/ — «ваїн», укр. вино) — вільна реалізація Windows API, що дає можливість запускати програми для Windows на Unix-подібних операційних системах. Складається на 100% з не-Microsoft коду, відтворюючи більшість функцій ядра Windows, але написаних з нуля без використання напрацювань цієї компанії.

Назва є рекурсивним акронімом і розшифровується, як «Wine Is Not an Emulator» («Wine — не емулятор»). Хоча назву проєкту часто пишуть, як «WINE» або «wine» (англ. «вино»), офіційно прийнято написання «Wine».

Wine є відкритим програмним забезпеченням і розповсюджується під ліцензією GNU LGPL.

Приблизно половину сирцевого коду написали добровольці, а іншу частину — комерційно зацікавлена компанія CodeWeavers, яка продає підтримку для Wine. Також охочі можуть додавати свої поради та результати тестів на дієздатність тої чи іншої програми до бази даних офіційного сайту.

Основними підтримуваними платформами є Linux, FreeBSD, Sun Solaris та Mac OS.

Структура

Wine складається з кількох компонентів, які умовно можна поділити на 3 частини:

libwine Бібліотека, що надає можливість Unix-застосункам використовувати API функції Windows.

Програма з відкритим кодом, написана під Win API, може бути зібрана під Unix завдяки цій системі без внесення додаткових змін в код.

libwine базується на NT-подібній системі, що працює з рядками тільки в юнікоді.

wine Середовище для виконання двійкових Windows-програм, надає застосункам середовище, що не відрізняється від Windows. Присутня повна імітація, включно з реєстром, стандартними каталогами та ами, а також — імітацією дисків.

wine-devel Середовище відладки й компіляції. Присутній опис API функцій, компілятор winegcc, що є надбудовою над gcc, відладгоджувач winedbg й інші утиліти.

Опис WINE має реалізацію майже всіх функцій динамічних бібліотек (DLL), що входять до складу Windows (16-, 32-, 64-бітні).

WINE завжди виконується в непривілейованому режимі й не має жодних модулів ядра. Навіть якщо Windows-програми створені, щоб чинити шкоду, то проблеми будуть мати локальний характер й не завдадуть шкоди всій системі та іншим користувачам, бо у WINE виключена можливість запуску від імені root користувача.

У wine відсутня підтримка драйверів, бо доступ до обладнання можливий тільки на рівні ядра. Відсутня підтримка USB. Усе апаратне забезпечення повинно підключатися до host-системи. Наприклад, якщо є сканер, налагоджений в Linux в стандартній для Linux системі підтримки сканерів SANE, то він може бути доступний й в WINE через TWAIN-інтерфейс, що є надбудовою над SANE.

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

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

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

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

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

Станом на серпень 2020 року стабільною версією Wine є 5.0.2.

Див. також Можна ознайомитись також з програмами, що базуються на Wine: ReactOS, Darwine, CrossOver, Cedega, PlayOnLinux.

Ресурси тенет Офіційна сторінка Wine Список програмного забезпечення  — список програмного забезпечення, яке є сумісним з Wine Стан проєкту — стан готовності проєкту. Відсоток готових API функцій щодо готових Windows API Часті питання Wine Help Forums — форум допомоги Wine Wine (@FreeSource)  — проєкт «Русский Wine» Wine Application DB  — база застосунків, сумісних з Wine тою чи іншою мірою. The Official Wine Wiki  — вікі-сторінка проєкту. http://linuxforum.ru/index.php?showforum=58 LinuxForum -> Wine — російськомовний форум, присвячений Wine.

Примітки

Посилання Офіційний сайт