ReactOSПрезентация Arwinss

Это официальный перевод моего обращения к разработчикам в списке рассылки ros-dev reactos org, предлагающее переход на новую Win32 подсистему для существенного ускорения разработки и возможности реально использовать ReactOS.

Презентация (ссылки на доп. информацию внутри презентации)

Сегодня я хотел бы официально представить (под)проект, над которым я работал в течение последнего полугодия и пригласить поучаствовать остальных разработчиков.

ReactOS существует уже около 11 лет, и каждый год становится лучше и лучше. Потребонсть в Windows-совместимой операционной системе с открытым исходным кодом велика: серверы, нетбуки, бухгалтерия, кассовое оборудование Point of Sales, САПР… Этот список можно ещё продолжать и продолжать.

Время идёт, выпускаются новые версии операционных систем Windows. Однако, ReactOS все ещё не достигла состояния, в котором его можно было бы реально использовать. Более того, ReactOS даже официально не перешла в бету. По-отдельности, есть много достижений: появилась поддержка звука, загрузчик в состоянии загрузить реальную Windows, в ReactOS могут загружаться и нормально работать некоторые бинарные драйверы Windows, каждый день улучшается работа с сетью, также активно ведутся работы над ядром. Но для конечно пользователя все это не имеет ни малейшего значения! Пользователю важно, чтобы веб-браузер загружал вебсайты, клиент обмена мгновенными сообщениями работал, [Microsoft/Open] Office открывал документы, а клиент электронной почты получал новые сообщения.

Это то, чего сейчас нехватает ReactOS, и если так будет продолжаться и дальше, то я боюсь, что наш проект будет не очень нужен через очередные 10 лет. Конечно, сложившаяся ситуация вызывала беспокойство и я начал её анализировать. То, что ReactOS является открытым проектом без серьёзной спонсорской поддержки, накладывает определенные ограничения относительно того, что может быть сделано для улучшения ситуации, и, главным образом, это вопрос выбора правильных приоритетов и верного управления (мотивации) существующими человеческими ресурсами.

Частью ReactOS, играющей главную роль в совместимости и реальной используемости, является подсистема Win32. На данный момент, это огромный монстр, требующий намного большего количества человеческих ресурсов, чем мы сейчас имеем. С текущим количеством участвующих разработчиков (и сложности вхождения в процесс разработки этой подсистемы) даже достижение уровня совместимости сравнимого с Windows 2000 является очень сложной и трудоёмкой задачей.

И я придумал то, что может решить эту проблему: Arwinss. Для того, чтобы лучше объяснить, что это такое, я сделал специальную презентацию (URL к слайдам в формате PDF находится в конце этого сообщения). Вам нужно будет представить, что я делаю доклад, используя эти слайды (т.к. реального доклада и видеозаписи я не делал).

Теперь, после того, как Вы посмотрели презентацию, я бы хотел обратится ко всем заинтересованным разработчикам (даже тем, кто до этого не работал над системой ReactOS). Давайте уделим Arwinss некоторое время — неделю, месяц. У каждого человека наверняка найдется несколько часов в неделю, чтобы улучшить что-то в Arwinss. Условия для начала работы довольно простые, некоторые основы изложены в вики (ссылки есть в презентации), и я буду рад проконсультировать по возникающим вопросам.

Если мне почти в одиночку удалось сделать новую подсистему из ничего (на самом деле, используя существующий код Wine и ReactOS) за несколько месяцев, то представьте, что мы сможем сделать вместе?

С уважением,
Алексей Брагин.

Презентация (ссылки на доп. информацию внутри презентации): www.reactos.org/media/docs/2010/arwinss.pdf
  • +13
  • fireball
  • 18 января 2010, 14:09

Комментарии (22)

  • avatar
  • eReS
  • 18 января 2010, 15:45
  • #
  • 0
Грядут перемены :)
В точку…
Реакция разработчиков последовала? Судя по вики — нет.
вики — не место для реакций. Реагируют они в комментах, ответах в мейл-листе, и т.п.
Обычно если начинается движуха в вики начинают что-нибудь писать. Сейчас там уже несколько дней тишина.
Если честно, я так до сих пор и не понимаю для какого они стараются? Кому реально нужна ReactOS, не «посмотреть», а реально использовать дома или на работе?
Отсылаю в фак. Хоть и давно написано, но всё ещё верно.
Я читал этот фак. Но все равно считаю, что ReactOS не нужен. Как минимум эти же усилия можно было бы пустить на развитие Wine (знаю что не мне указывать, это ИМХО).
Так оно ж как раз так и получается. Весомая доля (ну… человек 20 наверно) девелоперов Wine являлись и разработчиками ReactOS. Прямой поток патчей из ReactOS в Wine сейчас невелик, но это потому, что мы отсылаем патчи, когда действительно найдена серьёзная ошибка в вайне (и таких ошибок можно по истории посмотреть было отослано немало).

А если Arwinss будет успешным, то вообще на новый уровень взаимодействия можно выйти. Так что тут как-бы не так категорично, я понимаю, что не все сразу же захотят снести Windows 7 / Linux distrib / MacOS X и поставить ReactOS :), но кому-то что-то полезное точно будет.

У нас целый список есть проектов, которые так или иначе пользуются нашими наработками (и хорошо, что пользуются, нам не жалко).
Существует опасность, что Linux наберёт критическую массу, и разработчики железа будут выпускать версии драйверов как для Windows, так и для Linux. Тогда у ReactOS не будет объективных преимуществ перед Wine. Но даже в этом случае ReactOS будет привлекать внимание разработчиков, которые, скажем, желают найти дыру в Windows при дизассемблировании её файлов. Или страстно желают устроиться в отдел майкрософт, который занимается разработкой ОС. Или просто желают создавать ОС, поскольку им это приятно, но при этом они хотят, чтобы их ОС была более популярна, чем любительские домашние ни с чем не совместимые ОС.
Существует опасность, что Linux наберёт критическую массу, и разработчики железа будут выпускать версии драйверов как для Windows, так и для Linux.


Что же в этом «опасного»? Хотя это есть и сейчас, по крайней мере крупные производители железа выпускают драйвера для Linux.
Существует опасность, что Linux наберёт критическую массу
А в чем же опасность? Наоборот, это будет очень хорошо для ReactOS. Я уже писал на форуме reactos про это.
Хорошие аргументы.
Самое главное-то презентацию не перевёл. В связи с этим у меня ламерские вопросы.
1. Получается, Arwinss означает переход на библиотеки Wine по большей части, сохранив лишь самогонизкого уровня ядро и драйвера? В таком случае, представим себе, что wine уже идеален, запускает всё, что можно; сколько работы останется в таком случае на всё отальное?
2. Речь шла об X Server. Значит ли это, что на ReactOS можно будет запускать такие менеджеры как Gnome или KDE?
Ну там в презентационном стиле, довольно простые фразы в принципе. На вопросы отвечаю :)
1. Да, но в плане исходного кода. Т.е. почти в неизменном виде исходники user32.dll и gdi32.dll берутся из вайна «легким движением руки». И, совершенно верно, больше не нужно мучится обновляя каждый кусочек из user32/gdi32 по отдельности (на это КУЧА времени уходила, и получается салат из разных кусков разных версий).
2. X Server удалось сделать необязательным (сами вайновцы ещё незнают кстати, как узнают, у них наверное что-то отвиснет)
Опять же, на самые ламерские вопросы не ответил. Попробую перефразировать.
1. Сколько работы остаётся на разработку собственно ReactOS, то есть на написание тех его частей, которые не будут взяты из Wine и/или до сих пор не написаны?
2. То есть про линуксовые менеджеры рабочего стола я глупость сморозил, и это тут ни при чём?
1. Ну в том и смысл, чтобы перевести ресурсы на более полезные вещи, которые либо уже достаточно хорошо написаны, либо которые можно написать. А не тратить на бесконечное обновление кода user32 из вайна, и при этом отслеживать что сломалось в тех кусках, которые в ReactOS-е написаны самостоятельно.
2. Совершенно верно, они не причём.
  • avatar
  • SPU
  • 18 января 2010, 21:19
  • #
  • 1
Я не очень в курсе, как реализован вайн, но может проще не задействовать часть wine в reactos, а абстрагировать wine от платформы. Будет просто реализация винды, которую можно запустить на любой платформе при наличии некоторой платформозависимой прослойки. Ну и никто не мешает сделать эту самую прослойку запускаемой на голом железе, т.е. это фактически reactos.
Прямо в точку! Это именно то, что я и сделал (конечно, Wine сделало, я просто довёл до кондиции). Этакая юзермодовая «библиотечка», имеющая абстрактный интерфейс, и ответная часть абстрактного интерфейса уже реализующая связь с графическим драйвером, устройствами ввода, и т.п.
Это замечательно, что оно встало в reactos. Я к тому, чтобы в wine эти части официально разделили. Тогда можно будет спокойно работать над общей частью (как над отдельным проектом), не таская код туда-сюда. Польза будет всем.
Может задумка такая и была, но в презентации этого вроде нет (или я проглядел), т.к. она ориентирована в основном на разработчиков reactos, т.е. немного однобока.
  • avatar
  • eReS
  • 20 января 2010, 11:58
  • #
  • 0
Возник еще один вопрос:
Если заменим win32 на Арвинс, можно будет прикрутить DirectX как к вайну?
Статья
так в принципе это от самого win32 уже мало зависит. Мы и так уже довольно давно используем их wrapper — он «транслирует» вызовы DirectX в вызовы OpenGL. Так что главное — поддерживать аппаратный OpenGL. В принципе OpenGL в арвинсе работает по крайней мере не хуже.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.