Wine

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Wine
логотип
Wine Internet Explorer у Ubuntu
Тип рівень сумісності
Розробники Розробники Wine
(1,251)
Перший випуск 4 липня 1993
Стабільний випуск 9.0 (16 січня 2024; 3 місяці тому (2024-01-16))
Нестабільний випуск 9.4 (9 березня 2024; 40 днів тому (2024-03-09))
Операційна система Linux, BSD, Solaris, Mac OS X
Мова програмування C
Українська мова так
Ліцензія GNU Lesser General Public License
Репозиторій gitlab.winehq.org/wine/wine
Вебсайт www.winehq.org
Налаштування Wine

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

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

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

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

Основними підтримуваними платформами є 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 року вона була замінена на 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]

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

Див. також[ред. | ред. код]

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

Ресурси тенет[ред. | ред. код]

Примітки[ред. | ред. код]

  1. https://web.archive.org/web/20201027070020/https://sfconservancy.org/projects/current/
  2. https://web.archive.org/web/20130210023827/http://www.winehq.org/about/. Архів оригіналу за 10 лютого 2013. Процитовано 7 лютого 2013. {{cite web}}: Пропущений або порожній |title= (довідка)
  3. SWSoft спіймали на порушенні LGPL. Linux.org.ru. 1 червня 2007. Архів оригіналу за 1 червня 2012. Процитовано 14 березня 2009.
  4. а б Parallels Desktop Watch (англійською) . The Official Wine Wiki. Архів оригіналу за 17 липня 2012. Процитовано 14 березня 2009.
  5. .com/showthread.php?t=12648 Parallels using WINE? Possible liscensing issues ... (англійською) . Форум Parallels. Процитовано 14 березня 2009.[недоступне посилання з червня 2019]
  6. Licensing information (англійською) . Parallels. Архів оригіналу за 1 червня 2012. Процитовано 14 березня 2009.
  7. Wine 1.0 Released (англійською) . WineHQ. 17 червня 2008. Архів оригіналу за 1 червня 2012. Процитовано 14 березня 2009.
  8. Wine 1.2 Released (англійською) . WineHQ. 16 липня 2010. Архів оригіналу за 1 червня 2012. Процитовано 18 липня 2010.
  9. Wine 5.0.2 released. winehq.org. Архів оригіналу за 15 жовтня 2020. Процитовано 13 жовтня 2020.