Введение
Реализация системы X Window
XFree86 — это реализация системы X Window. Изначально она была разработана для Unix-подобных операционных систем на IBM PC-совместимых компьютерах и была доступна для многих других операционных систем и платформ. Это свободное программное обеспечение с открытым исходным кодом, распространяемое по лицензии XFree86 версии 1.1. Разработкой занимался проект XFree86 Project, Inc. Главным разработчиком был Дэвид Доус. Последней выпущенной версией была 4.8.0, выпущенная в декабре 2008 года. Последнее изменение в системе контроля версий CVS для XFree86 было внесено 18 мая 2009 года; в декабре 2011 года проект был признан неактивным. Последним дистрибутивом операционной системы, использовавшим XFree86, была NetBSD, которая поставляла некоторые платформы с версией 4.5.0 по умолчанию до её удаления как устаревшей в 2015 году. Более поздние версии используют X.org по умолчанию на различных портах (включая i386 и amd64), а X.org доступен через NetBSD pkgsrc для архитектур, где XFree86 оставался вариантом по умолчанию из-за лучшей поддержки. По состоянию на 2019 год ветка и выпуск NetBSD 7 были последними, которые могли содержать XFree86, а XFree86 был полностью удалён до выпуска ветки NetBSD 8 в 2018 году.
Архитектура
Сервер XFree86 взаимодействует с ядром операционной системы для управления устройствами ввода и вывода, за исключением графических карт. Они, как правило, управляются непосредственно XFree86, поэтому он включает в себя собственные драйверы для всех графических карт, которые могут быть у пользователя. Некоторые карты поддерживаются самими производителями посредством драйверов, доступных только в бинарном виде. Начиная с версии 4.0, XFree86 поддерживает определенные 3D-графические карты с аппаратным ускорением через расширения GLX и DRI. Также в версии 4.0 XFree86 перешла к новой модели драйверов: от одного исполняемого файла X-сервера на каждый драйвер к единому X-серверу, способному загружать несколько драйверов одновременно. Поскольку сервер обычно требует низкоуровневого доступа к графическому оборудованию, во многих конфигурациях он должен запускаться от имени суперпользователя или пользователя с UID 0. Однако на некоторых системах и в некоторых конфигурациях сервер можно запустить как обычного пользователя. Также возможно использовать XFree86 с устройством фреймбуфера, которое, в свою очередь, использует драйвер графической карты ядра. В типичной POSIX-системе каталог /etc/X11 содержит файлы конфигурации. Основной файл конфигурации — /etc/X11/XF86Config (или XF86Config 4), который содержит переменные, относящиеся к монитору, клавиатуре и графической карте. Часто используется программа xf86config, хотя xf86cfg также поставляется с сервером XFree86 и является более удобной в использовании. Многие дистрибутивы Linux ранее включали в себя инструменты конфигурации, которые были проще в использовании (например, debconf в Debian) или автоматически определяли большинство (если не все) настроек (Anaconda в Red Hat Linux и Fedora, YaST в SuSE и Mandrake Linux использовали подобный подход).
Ранняя история и наименование
Проект начался в 1992 году, когда Дэвид Вексельблатт, Гленн Лай, Дэвид Доус и Джим Циллас объединили усилия для исправления ошибок в исходном коде X-сервера X386 (написанного Томасом Роэллом), который поставлялся с X11R5. Эта версия изначально называлась X386 1.2E. По мере того, как новые версии X386 (первоначально распространявшегося как бесплатное программное обеспечение) продавались SGCS (партнером Роэлла) по проприетарной лицензии, возникла путаница между проектами. После обсуждения проект был переименован в XFree86, как игра слов (сравните "X three eighty six" и "X free eighty six"). Роэлл продолжал продавать проприетарные X-серверы, в последнее время под названием Accelerated X.
Восстание с Linux
По мере роста популярности Linux, XFree86 рос вместе с ним, став основным X-проектом с драйверами для видеокарт ПК. К концу 1990-х годов официальная разработка X находилась в упадке. Большинство технических усовершенствований происходило в проекте XFree86. В 1999 году различные аппаратные компании, заинтересованные в его использовании с Linux и его статусе самой популярной версии X, профинансировали переход XFree86 под управление X.Org (официального отраслевого консорциума).
2002: Растущее несогласие в рамках проекта
К 2002 году, когда популярность Linux и, следовательно, установленная база X стремительно росла, X.Org был практически неактивен; основная разработка велась преимущественно XFree86. Однако внутри XFree86 существовали серьезные разногласия. Ранее в XFree86 была основная команда, состоявшая из опытных разработчиков, отбираемых другими членами основной команды за их заслуги. Только члены этой основной команды имели право вносить изменения в CVS. Это воспринималось как излишне централизованная модель разработки: разработчикам было сложно быстро получить права на коммит, и поставщики вынуждены были поддерживать большое количество патчей. Ключевым событием стала потеря Китом Пэккардом прав на коммит. За несколько часов до начала периода заморозки функциональности для XFree86 4.3.0 он добавил расширение XFIXES (разработанное им лично) без предварительного обсуждения и рассмотрения основной командой. Основная команда решила лишить Кита доступа к коммитам, но не исключать его из основной команды, а расширение XFIXES было удалено через шесть недель.
2003: Разделение и расформирование основной команды
В марте 2003 года основная команда разработчиков (Core Team) заявила, что Паккард пытался создать форк проекта XFree86, работая внутри проекта и одновременно привлекая ключевых разработчиков к своему новому проекту X Server. Паккард отрицал, что преследовал эту цель, однако были представлены электронные письма, свидетельствующие об обратном. Впоследствии Кита Паккарда исключили из основной команды разработчиков. Вскоре после этого Паккард создал xwin.org, который в основном служил платформой для развития форка XFree86. В течение остальной части года многие разработчики, все еще активные в XFree86, перешли к проекту, который создавался на доменах freedesktop.org и X.org. К концу года, из-за сокращения числа активных участников и ограниченных возможностей для дальнейшей разработки, основная команда XFree86 проголосовала за роспуск.
2004: Спор о лицензировании
Версии XFree86 до и включая некоторые релиз-кандидаты 4.4.0 распространялись под лицензией MIT — разрешительной, не copyleft свободной лицензией. В феврале 2004 года XFree86 4.4 был выпущен с изменением лицензии XFree86, путем добавления пункта об указании авторства, аналогичного таковому в оригинальной лицензии BSD, но имеющего более широкую область применения. Новые условия известны как Лицензия XFree86 1.1. Многие проекты, зависящие от XFree86, сочли новую лицензию неприемлемой, а Фонд свободного программного обеспечения считает её несовместимой с версией 2 GNU General Public License, хотя и совместимой с версией 3. Проект XFree86 утверждает, что лицензия "совместима с GPL в той же степени, что и все предыдущие версии", но не указывает, для каких версий GPL это справедливо. Некоторые проекты выпустили релизы (в частности, OpenBSD 3.5 и 3.6, и Debian 3.1 "Sarge") на основе XFree86 версии 4.4 RC2 — последней версии под старой лицензией. Большинство операционных систем, включающих XFree86 (включая более поздние версии OpenBSD и Debian), перешли на X.Org Server. Последнее изменение кода было внесено в 2009 году; проект был признан неактивным в 2011 году, а веб-сайт был в последний раз обновлен в 2014 году в ознаменование 22-й годовщины.
Ксвин
Вскоре после исключения из основной команды XFree86, Кит Паккард начал создавать xwin.org. Изначально это представлялось как ответвление от XFree86, однако позже Кит Паккард уточнил, что это "форум для участия сообщества в разработке X". XWin демонстрировал значительную активность в первые два месяца после объявления о создании, но большая часть работы велась за кулисами, и Кит перенес свою разработку на freedesktop.org.
Хювер
Позже Xouvert также был признан первым ответвлением от XFree86 в августе 2003 года. Хотя релизы были анонсированы на октябрь 2003 года и апрель 2004 года, ни один из них не был выпущен. Последнее обновление статуса было сделано в марте 2004 года, и было сообщено о задержках с настройкой системы контроля версий.
X.Org
X. Org Server стал официальной эталонной реализацией X11. Первая версия, X11R6.7.0, была создана на основе XFree86 версии 4.4 RC2, чтобы избежать изменений лицензии XFree86, с включением изменений из X11R6.6. Версия X11R6.8 добавила множество новых расширений, драйверов и исправлений. Разработка поддерживается и тесно связана с freedesktop.org, финансируемым корпоративными спонсорами. Большинство Unix-подобных операционных систем с открытым исходным кодом перешли на X. Org Server вместо XFree86, и большинство разработчиков XFree86 присоединились к проекту X. Org.
История релизов
Дата выхода версии Наиболее важные измененияformat=mdyПервая версия X386 от Томаса Роэлла, основанная на X11R4. format=mdyВключена в X11R5. format=mdyПервый предварительный код XFree86 от будущих членов команды. format=mdyformat=mdyformat=mdyformat=mdyПервая версия, названная "XFree86". format=mdyformat=mdyformat=mdyformat=mdyformat=mdyformat=mdyПоследняя версия, основанная на X11R5. Выпуск для X11R6. format=mdyformat=mdyformat=mdyformat=mdyformat=mdyXFree86 Архитектура ускорения (XAA) format=mdyformat=mdyformat=mdyformat=mdyformat=mdyformat=mdyformat=mdyПоследняя версия 3.x. format=mdyПолностью новая архитектура. Включает X11R6.4. format=mdyXRenderformat=mdyformat=mdyformat=mdyformat=mdyformat=mdyformat=mdyformat=mdyformat=mdyРазветвление на X.Org Serverformat=mdyПервая версия под лицензией XFree86 1.1. format=mdyformat=mdyformat=mdyformat=mdy