Wine
| Wine | |
Internet Explorer 6, запущенный в Wine под Linux. На переднем плане — утилита конфигурирования winecfg. |
|
| Тип |
Слой совместимости с Windows API |
|---|---|
| Разработчик |
Wine project |
| Написана на | |
| Операционная система | |
| Последняя версия | |
| Тестовая версия |
1.4-rc5 (24 Февраля 2012) |
| Лицензия | |
| Сайт | |
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.
Содержание |
[править] История
Проект был основан Бобом Амштадтом (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.[1] Установить факт нарушения смогли из-за скриншотов, опубликованных Parallels, на которых у персонажей игры Half-Life 2 были видны квадратные тени, что на тот момент являлось одной из известных ошибок Wine.[2] В компании Parallels подтвердили, что используют модифицированные исходные коды Wine, и обещали предоставить их по запросу в течение 3 дней.[3] Тем не менее, разработчики Wine получили модифицированные исходные коды только через месяц. Кроме того, на сайте Parallels появилась информация о Wine как компоненте, и его лицензии[4], на чём конфликт фактически исчерпал себя.[2]
17 июня 2008 года, после 15 лет разработки, вышла версия Wine 1.0, первая, которую разработчики называют стабильной.[5]
16 июля 2010 года вышла следующая стабильная версия Wine под номером 1.2.[6]
[править] Технические особенности
Проект сталкивается с большими трудностями вследствие неполноты или отсутствия документации по многим элементам Win32 API. В то время как функции Win32 в основном документированы, существует масса областей (таких как файловые форматы или протоколы Microsoft), спецификации на которые никогда не публиковались. Таким образом, команде разработчиков Wine приходится заниматься обратной разработкой этих компонентов.
Wine воспринимает системные вызовы Windows-приложений к библиотекам операционной системы и подменяет их своими. Таким образом, эмуляции процессора, аналогично другим эмуляторам типа VMware и QEMU, не происходит, и приложения могут выполняться в Wine почти так же быстро, как и в «родной» операционной системе (а в некоторых случаях и быстрее[7]). Для своей работы Wine не требует наличия установленной ОС Windows, хотя и может использовать её библиотеки.
Также Wine предоставляет инструментарий разработки программ Winelib для переноса унаследованных исходных кодов из среды Windows в среду UNIX путём простой перекомпиляции.
Wine, безусловно, не является стабильным продуктом, и нельзя сказать, что любую программу для Windows удастся запустить с его помощью. Некоторые подсистемы Windows вообще практически не реализованы. Тем не менее, уже сейчас многие из повсеместно используемых Windows-приложений полноценно запускаются и работают в UNIX-подобных ОС при помощи Wine. Особенно это касается приложений, которые не используют недокументированные возможности Windows.
[править] Использование кода Wine в других проектах
- Часть кода WINE, позволяющая загружать динамические библиотеки (DLL) для Windows, используется в других свободных проектах, таких как MPlayer, Xine и некоторых других.
- Компанией Borland была выпущена среда разработки Kylix, использующая код Wine (в настоящий момент разработка и поддержка прекращена).
- ReactOS — проект свободной операционной системы, ставящий целью полную совместимость с Windows на уровне программ и драйверов. Не являясь основанным на Wine, проект ReactOS активно сотрудничает с ним, берёт из него многие наработки и делится своим кодом.
- Picasa, Google Earth. При портировании под Linux использовались библиотеки Wine.[8][9]
[править] Продукты, основанные на 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[10].
- WINE-LXP — еще одна коммерческая реализация Wine, являющаяся частью Trustverse Desktop (ранее выпускавшегося как Linux XP). Об этой реализации известно, что отдельно она не продается, поддерживает запуск 1С:Предприятие и ещё несколько приложений.[11]
- 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-й версии.[12]
[править] Microsoft и Wine
В Microsoft официально не делали никаких публичных заявлений по поводу Wine. Однако Microsoft Update будет блокировать обновления для программного обеспечения от Microsoft, если программы будут запущены в средах, основанных на Wine. 16 февраля 2005 Ivan Leo Puoti обнаружил, что Microsoft начала проверять системный реестр в поисках конфигурационных ключей, оставленных Wine и будет блокировать доступ к Windows Update для любого компонента. Puoti написал:[13]
…даже если это только первоначальная попытка, похоже, что они хотят дискриминировать пользователей 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».[14] Когда проверка WGA определяет, что в системе запущен Wine, пользователю будет выдано сообщение, гласящее о том, что он запустил не подлинную Windows, и «загрузки ПО для подлинной Windows» не будут разрешены для этой системы. Тем не менее, было несколько сообщений о работе WGA в Wine[15][16], однако и эта возможность использования была закрыта в следующем обновлении компонента WGA. В случаях с Internet Explorer 7 и Windows Media Player, впоследствии, Microsoft удалила требования проверки WGA для установки.
[править] Недостатки Wine
Несмотря на то, что Wine представляет собой довольно мощный программный продукт, у него есть определенные проблемы реализации. К примеру разработчики намеренно не заявляют поддержку USB, однако по словам самих же разработчиков[17] работа с USB драйверами возможна.
[править] Примечания
- ↑ SWSoft поймали на нарушении LGPL. Linux.org.ru (1 июня 2007). Проверено 14 марта 2009.
- ↑ 1 2 Parallels Desktop Watch (англ.). Проверено 14 марта 2009.
- ↑ Parallels using WINE? Possible liscensing issues... (англ.). Проверено 14 марта 2009.
- ↑ Licensing information (англ.). Parallels. Проверено 14 марта 2009.
- ↑ Wine 1.0 Released (англ.). WineHQ (17 июня 2008). Проверено 14 марта 2009.
- ↑ Wine 1.2 Released (англ.). WineHQ (16 июля 2010). Проверено 18 июля 2010.
- ↑ BenchMark-0.9.5 (англ.). The Official Wine Wiki. Проверено 14 марта 2009.
- ↑ Picasa for Linux, Frequently Asked Questions (англ.). Google. Проверено 14 марта 2009.
- ↑ Open Source Patches: Wine (англ.). Google. Проверено 14 марта 2009.
- ↑ WINE@Etersoft: поддерживаемые операционные системы. Проверено 14 марта 2009.
- ↑ Trustverse WINE-LXP
- ↑ IEs 4 Linux News " Supporting IE9 on Linux
- ↑ Puoti, Ivan Leo Microsoft genuine downloads looking for wine (англ.). Список рассылки (16 февраля 2005). Проверено 14 марта 2009.
- ↑ Genuine Windows FAQ (англ.). Microsoft Corporation. Проверено 14 марта 2009.
- ↑ Ubuntu Linux Validates as Genuine Windows (англ.). Slashdot (17 июня 2007). Проверено 14 марта 2009.
- ↑ Linux is a Genuine Windows? turns out it is (англ.). bit-tech.net (6 августа 2005). Проверено 14 марта 2009.
- ↑ USB drivers на wine-wiki
[править] Ссылки
| Портал «Свободное программное обеспечение» | |
| Wine на Викискладе? |
[править] Англоязычные
- Wine HQ (англ.) — официальный сайт проекта.
- Wine Application DB (англ.) — база приложений, совместимых с Wine в той или иной степени.
- The Official Wine Wiki (англ.) — вики-страница проекта.
[править] Русскоязычные
- Wine (@FreeSource) (рус.) — проект «Русский Wine» (последнее обновление проекта датируется 19.03.2009)
- База приложений Wine (рус.) — база приложений, совместимых с Wine в той или иной степени.
- Wine: Часто задаваемые вопросы (рус.)
- Руководство пользователя Wine (рус.) — Русский перевод.
- Эволюция Wine (рус.)
|
|
|
|---|---|
| Оболочки для MS-DOS | |
| Windows 9x | |
| Windows NT | |
| Windows Server | |
| Специализированные |
Embedded (Automotive • POSReady) • PE • FLP |
| Windows CE | |
| В разработке | |
| Закрытые |
Neptune • Windows Nashville (Windows 96) • Odyssey • Cairo |
| Другие проекты |
Xenix • MS-DOS • OS/2 • Singularity • Midori |
| Открытые аналоги Windows | |
| Альтернативные реализации Windows API |
Wine |