Pull to refresh

Эволюция Wine

Reading time5 min
Views3.8K
image

В настоящей статье рассказывается о возникновении свободного проекта Wine, его развитии и появлении различных коммерческих ответвлений. С момента своего возникновения Wine сделал возможным переход на Linux для множества Windows-пользователей по всему миру. Обеспечив работу Windows-приложений на UNIX-подобных операционных системах, проект привлёк к себе большое внимание общественности. Кто-то воспринял такую идею кроссплатформенности с энтузиазмом и даже внёс свой вклад в проект. Кто-то до сих пор относится скептически.
Как бы то ни было, фраза «Wine — это не эмулятор» на сегодняшний день знакома большей части Linux-сообщества.
В статье сделана попытка проследить развитие проекта Wine и оценить возможные перспективы.


Предпосылки

Для начала необходимо обрисовать ситуацию, которая сложилась на рынке ПО к 1993 году, моменту зарождения проекта Wine. В 1990 году Microsoft выпустила Windows 3.0 — первую популярную версию Windows. В 1992 году последовало расширение Windows 3.1 Продукты Microsoft получали все более широкое распространение. В то же время активно развивалось сообщество разработчиков свободного программного обеспечения.
То, что возможность работать с Windows-ориентированными приложениями важна для операционной системы, претендующей на популярность, осознавали многие разработчики. Даже в IBM, стремившейся составить конкуренцию Windows с OS/2, признавали необходимость работы с Windows-программами и добавили такую функциональность в новую версию своей операционной системы.
Однако первый серьёзный шаг на пути к кроссплатформенности сделали разработчики Sun. Их коммерческий продукт Wabi, представленный в 1993 году, позволял запускать Windows-приложения на операционных системах Solaris x86 и Solaris 2.2 До сих пор продукты для запуска Windows-программ требовали эмуляции на уровне аппаратного обеспечения, а также установки Windows и DOS. Уникальность Wabi состояла в том, что он позволял транслировать вызовы окон Windows прямо в вызовы X Windows.
Эта разработка вызвала большой интерес у СПО-сообщества. Возможно ли применить тот же подход для недавно созданной операционной системы Linux?

Как начинался Wine

Поскольку адаптировать Wabi для использования в Linux оказалось невозможным, начались дискуссии о создании подобной альтернативной реализации Win16 API функций. Для обсуждения вопросов разработки такой среды был создан специальный лист рассылки. Вскоре среди участников дискуссии начало быть в ходу название Wine.
Несколько слов о названии. Wine — это рекурсивный акроним, который расшифровывается как «Wine is not emulator» — «Wine — это не эмулятор». Аналогичным способом образовано название операционной системы GNU — «GNU is not Unix».
Тем временем формировалась команда разработчиков Wine, возглавил которую Боб Амштадт. Также в разработке в то время участвовали Мигель де Икаса, в дальнейшем ставший основателем GNOME, и Александр Джуллиард, с 1994 года и до сегодняшнего дня являющийся лидером проекта Wine.
Поначалу работа продвигалась достаточно быстро, за первые полгода удалось запустить «Косынку». В ноябре 1993 также стало возможным перенести Wine на другую архитектуру — NetBSD. Но несмотря на первые успехи, выпуск релиза затягивался.

Развитие проекта

1994 год привнёс множество изменений как в сам Wine, так и в организационную сторону проекта, место лидера занял Александр Джуллиард.
Оконные процедуры были переписаны в прямые вызовы библиотеки Xlib. Потребовалось создание механизмов поддержки сетевых соединений, файлов реестра и блокировок. Но, пожалуй, наиболее существенные изменения вызвал выход 32-разрядных версий Windows. Поддержка Win32 была реализована в Wine в мае 1995 года.
Подвижки происходили и в сферах, отличных от программирования. Велась разработка документации по Wine, а в 1997 году был создан сайт winehq.org
Следующий важный этап в развитии Wine наступил, когда компания Corel приняла решение о необходимости полноценной поддержки Linux для своих продуктов. Там началась разработка собственного дистрибутива Linux, поддержка же широкого круга приложений Corel потребовала существенной доработки Wine. Впервые за историю проекта его разработка стала финансироваться коммерческой организацией.
Но в конце 2000 года появились слухи о том, что Corel собирается прекратить поддержку Linux. В начале 2001 о роспуске Linux-отдела Corel было объявлено официально.
Но, к счастью, проект Wine не приостановился, оставшись без поддержки со стороны Corel. Значительную часть работ взяла на себя компания Codeweavers, ранее участвовавшая в доработке Wine для Corel.
После дискуссий в СПО-сообществе в 2002 году было принято решение о смене лицензии Wine с MIT на LGPL. Это во многом способствовало развитию проекта, позволило получать значительно больше патчей для Wine и включать в поддержку новые приложения.
До 2005 года Wine существовал в виде альфа-версии. 25 октября 2005 года была выпущена первая бета-версия Wine 0.9.0 С этого момента обновления начали выходить каждые 2 недели. А в середине 2008 года, после 15 лет разработки, была выпущена версия Wine 1.0, первая признанная стабильной.

Коммерческие версии Wine

Существенный вклад в развитие свободного проекта Wine вносили компании, создававшие коммерческие продукты на основе его исходных кодов.

CrossOver — продукт компании Codeweavers, ориентированный на запуск наиболее востребованных офисных и иных приложений Windows: Microsoft Office разных версий, Microsoft Internet Explorer, Lotus Notes, Adobe Photoshop, Apple iTunes и других. Для поддержки этих приложений разработчики CodeWeavers добавляют собственные заплатки, а также графические утилиты конфигурации.

Cedega — коммерческая версия Wine, позволяющая запускать в Unix-системах Windows-игры. В ней добавлена улучшенная поддержка API DirectX, а также некоторых защит от копирования, применяемых в играх.

WINE@Etersoft — продукт, разрабатываемый петербургской компанией Etersoft. Ориентирован на запуск таких популярных российских приложений для бизнеса, как 1С: Предприятие, Консультант, Гарант, КОМПАС-3D и др. В отличие от обычного Wine, в нём реализована поддержка ключей защиты, драйверов устройств и работа в многопользовательском режиме.

Заключение

Значимость такой разработки как Wine едва ли кто-то станет сегодня оспаривать. Переход с MS Windows на операционные системы семейства GNU/Linux по-прежнему предполагает наследование Windows-приложений. Поэтому с момента своего зарождения Wine вызывал немалый интерес как в СПО-сообществе, так и в бизнес-кругах.
Однако за время существования свободного проекта разработка продвигалась с переменным успехом. В истории Wine имели место как очень продуктивные и успешные периоды, так и серьёзные кризисы. Сочетание открытой разработки группой энтузиастов и поддержки со стороны коммерческих организаций позволило свободному проекту развиваться. Во многом этому способствовало создание коммерческих продуктов на базе Wine.
Поле для дальнейшего развития у проекта Wine, безусловно, имеется. Множество востребованных Windows-программ до сих пор не имеют поддержки или их поддержка требует серьезных доработок Wine. Как и в начале своего существования, проект открыт для желающих внести свой вклад.
Tags:
Hubs:
Total votes 61: ↑59 and ↓2+57
Comments17

Articles