- PVSM.RU - https://www.pvsm.ru -

Мигель де Икаса и его мечта — Linux на десктопах

Мигель де Икаса и его мечта — Linux на десктопах - 1 [1]
Мигель де Икаса, 2014 г. Фото: he San Diego Union-Tribune [2]

Как известно, гении предпочитают общаться и работать с равными себе, они притягивают друг друга. И если вы хотите что-то узнать о человеке — посмотрите, кто его друзья. Например, взять выдающегося Фабриса Беллара, о котором мы публиковали несколько [3] статей [4]. Его не очень волнует мирская суета (карьера, деньги, известность и прочие атрибуты «успеха» у обывателей), а только интересная работа. В интернете всего две фотографии Фабриса, и одна из них — с компьютерной конференции, где он сфотографировался с Мигелем де Икаса [5], основателем проектов GNOME и Mono.

Сразу понятно, кто достоин уважения с точки зрения Беллара.

Мигель де Икаса — один из самых уважаемых разработчиков сообщества Open Source. Хотя кое-кто критикует [6] его за сотрудничество с Microsoft и «предательство» идеалов свободного ПО, но заслуги человека говорят сами за себя.

▍ Проекты

  • Участие в проекте Wine [7] (1993). В истории Wine [8] Мигель де Икаса упоминается как один из первых контрибуторов.
  • Текстовый файл-менеджер Midnight Commander [9] (1994). Одна из первых программ, которую написал Мигель (в 21 год).

    Мигель де Икаса и его мечта — Linux на десктопах - 2
    Классический старый интерфейс Midnight Commander

  • Первые оригинальные драйверы RAID-1 и RAID-5 [10] для ядра Linux (1996−1997), совместно с Инго Мольнаром.
  • Порт Linux на платформу SPARC [11] (1997), а впоследствии на MIPS и SGI [12] (2000).
  • Электронные таблицы Gnumeric [13] (1998).
  • GNOME [14] (3.3.1999, совместно с Федерико Меной) — десктопное окружение, которое стало дефолтной системой во многих популярных дистрибутивах Linux. В отличие от KDE на проприетарном фреймворке Qt, новое окружение было полностью свободным и сделано на базе самого продвинутого на тот момент свободного фреймворка на C от создателей GIMP.

    Мигель де Икаса и его мечта — Linux на десктопах - 3
    GNOME (1999)

  • Ximian [15] (19.10.1999), прежние названия Helix Code и International Gnome Support. Мигель де Икаса совместно с Натом Фридманом [16] основал компанию, которая занималась разработкой, продажей и поддержкой прикладного ПО для Linux на платформе GNOME. Корпорация Novell выкупила компанию в 2003 году и продолжила поддержку её оригинальных продуктов.

    Интересно, что с Фридманом они познакомились в компании Microsoft, куда юный Мигель пришёл на собеседование по поводу устройства на работу в 1997 году, незадолго до того, как он запустил проект GNOME. Нат работал там в качестве стажёра. Вскоре они стали лучшими друзьями.

    Мигель де Икаса и его мечта — Linux на десктопах - 4
    Этторе Пераццоли, Раф Левьен, Нат Фридман (за рулём) и Мигель де Икаса (на переднем сиденье) в конце 90-х. Фото из личного архива [17]

    Именно у Фридмана родилась идея основать компанию для монетизации GNOME и выпуска «отполированных» версий свободных программ GNOME, OpenOffice.org и Gaim. Среди собственных разработок — персональный информационный менеджер Ximian Evolution [18], Ximian Connector, пакетный менеджер Red Carpet [19], Bonobo [20] (устаревший аналог Microsoft OLE) и Mono.

    Мигель де Икаса и его мечта — Linux на десктопах - 5
    Календарь в менеджере GNOME Evolution

    Сейчас Ximian Evolution носит название GNOME Evolution. Это самый крупный проект в истории опенсорса, написанный с нуля с открытыми исходниками (браузер Mozilla и офисный пакет OpenOffice изначально создавались как проприетарные продукты).

    Мигель де Икаса и его мечта — Linux на десктопах - 6
    Почтовый клиент в менеджере GNOME Evolution

  • Свободный фреймворк Mono [21] (19.07.2001). После выхода фреймворка .NET в декабре 2000-го Мигель де Икаса начал изучать его возможное использование на Linux [22]. Работу сильно затрудняло отсутствие документации на формат файла метаданных (хотя .NET заявлялся как якобы открытый стандарт ECMA). Коллеги-хакеры помогли с реверс-инжинирингом, а сам Мигель начал писать компилятор C#, ридер метаданных и прочие инструменты. Пока Microsoft созрела до выпуска документации, альтернативный компилятор C# был уже готов.

    Результатом всей этой работы стал выпуск опенсорсного фреймворка Mono, совместимого с .NET, тогда ещё в компании Ximian. После трёх лет разработки первая версия Mono 1.0 вышла в июне 2004 года. Первоначальный фокус только на Linux решено было расширить на разнообразные архитектуры и ОС, включая встроенные системы.

    Поскольку компания Ximian была куплена Novell, а сама Novell в 2011 году продалась Attachmate с последующими массовыми увольнениями, проект Mono оказался под угрозой. Тогда Мигель принял решение основать новую компанию Xamarin.

    Мигель де Икаса и его мечта — Linux на десктопах - 7
    Мигель де Икаса, 2006 г, фото: Jesús Corrius [23]

  • Xamarin [24] (16.05.2011) — новая компания, которую Мигель с Натом основали для продолжения разработки Mono, Xamarin.Mac, Xamarin.Android (бывш. Mono for Android) и Xamarin.iOS (бывш. MonoTouch), которые представляли собой кросс-платформенные реализации Common Language Infrastructure (CLI) и Common Language Specifications (известны также как Microsoft .NET). В 2014 году вышла программа Xamarin.Forms для генерации нативных элементов управления под все платформы.

    Из других продуктов — облачный сервис Xamarin Test Cloud для тестирования мобильных приложений на реальных смартфонах в облаке (дата-центре).

    Инструментарий Xamarin позволяет на общей кодовой базе C# писать нативные приложения под Android, iOS и Windows, с нативными интерфейсами. В качестве среды разработки распространялась кроссплатформенная IDE Xamarin Studio [25] (MonoDevelop).

    Мигель де Икаса и его мечта — Linux на десктопах - 8
    MonoDevelop

    В 2016 году компанию Xamarin купила корпорация Microsoft [26] предположительно за $400−500 млн. В 2022 году Xamarin.Forms перевыпустили как .NET MAUI [27]. Ещё раньше фирменные дополнения Xamarin for Visual Studio были нативно интегрированы в Visual Studio. Постепенно шло переваривание и других продуктов. Например, сканер .NET Mobility Scanner стал частью инструмента Shared Projects [28] в Visual Studio.

    Что касается проекта Mono [29], он относительно успешно живёт и развивается до сих пор. Кроме базовых компонентов, он содержит стек разработки Mono/Linux/GNOME и стек совместимости с Microsoft. Первый включает Gtk# для разработки GUI (с нативной интеграцией в GNOME), библиотеки Mozilla для работы с движком рендеринга Gecko, библиотеки интеграции с Unix (Mono.Posix), библиотеки для подключения к СУБД [30], стек безопасности и язык XML-схем RelaxNG.

  • SwiftTerm [31] (2020) — эмулятор терминала VT100/Xterm в виде библиотеки Swift, его можно встраивать в приложения macOS и iOS. Используется в нескольких коммерческих SSH-клиентах, включая Secure Shellfish [32], La Terminal [33] и CodeEdit [34].

    Мигель де Икаса и его мечта — Linux на десктопах - 9

  • SwiftTermApp [35] (2022) — SSH-клиент для iOS на родной библиотеке SwiftTerm.

    Мигель де Икаса и его мечта — Linux на десктопах - 10
    SwiftTermApp

В последнее время Мигель в основном программирует для удовольствия на Swift [36].

▍ Биография

Мигель де Икаса родился 23 ноября 1972 г. в Мехико в семье учёных: отец был физиком, а мама — биологом. В стране третьего мира трудно получить высококлассное образование. Мигель отучился несколько лет на факультете математики в Национальном автономном университете Мексики [37], но бросил его ради реальной работы в IT. В итоге он учился программированию самостоятельно, а его главным «университетом» стали опенсорсные проекты. Здесь же Мигель и применял полученные знания. В интервью [38] Linux World он говорит, что если бы не опенсорс, то никогда не получил доступ к технологиям (и коду) такого высокого уровня.

Как мы уже упоминали, в 2017 году де Икаса познакомился с Натом Фридманом, с которым они быстро нашли общие интересы в сфере Linux-разработки. В 1999 году Фридман помог другу получить визу США [39] и переехать в Америку. В процессе возникли определённые сложности. У Мигеля не было высшего образования, поэтому он не соответствовал критериям стандартной рабочей визы H1B, хотя являлся сооснователем американской компании Ximian. Юристы предложили трюк: открыть филиал Ximian в Мексике, трудоустроить туда сооснователя, а потом перевести его в головную компанию по программе корпоративного трансфера (виза L1 [40]), но это довольно длительный процесс, так что в итоге Мигеля привезли по визе для талантов O-1 [41].

Мигель де Икаса и его мечта — Linux на десктопах - 11
Мигель де Икаса даёт интервью [42] о проекте Mono, 30.12.2014

▍ Linux на десктопах

Если посмотреть историю всех проектов Мигеля де Икаса, то прослеживается одна общая цель — Linux на десктопах. Он посвятил этому практически всю карьеру, выпустил кучу программ и инструментов, а потом в разных интервью и статьях рассуждал, что же пошло не так [43] и в чём Linux проиграл OSX [44]:

«Много лет назад Линус как низкоуровневый специалист по ядру задал тон нашему сообществу, когда отказался от бинарной совместимости для драйверов устройств. Возможно, у специалистов по ядру были какие-то веские причины, и они смогли заставить индустрию играть по их правилам, но у людей из мира десктопа не было такой власти…

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

И мы это сделали.

Мы отказались от API, потому что есть способ лучше. Мы удаляли функции, потому что «этот подход неправильный», причём степень неправильности варьировалась от «это дыра в безопасности» до «это не соответствует нашему новому стилю».

Мы заменили основные подсистемы в ОС на плохие пути перехода. Ввели уровни совместимости, которые на самом деле не совместимы и не поддерживались. Когда мы сталкивались с проблемой «это не работает», ответом сообщества обычно было «вы делаете это неправильно»…

Второй аспект проблемы в том, что дистрибутивы Linux не договорились, какие основные компоненты использовать. Либо не договорились, либо график переходов не совпадал, либо существовали конкурирующие реализации одной и той же функциональности…

Это убило экосистему для сторонних разработчиков, пытавшихся портировать Linux на настольные компьютеры. Вы делаете всё возможное для поддержки «лучшего» дистрибутива или «трёх лучших», если чувствуете себя в ударе. Но всего через полгода ваш софт уже не работает.

Поддержка Linux на настольных компьютерах стала непосильной ношей для независимых разработчиков», — Мигель де Икаса [43], 2012.

В общем, Linux на настольных компьютерах так и не взлетел, оставшись уделом энтузиастов, продвинутых пользователей и разработчиков. Но борьба продолжается. Как говорится, важна не цель, а путь к ней…

Автор: Анатолий Ализар

Источник [59]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/mono/389932

Ссылки в тексте:

[1] Image: https://habr.com/ru/companies/ruvds/articles/787860/

[2] he San Diego Union-Tribune: https://ca-times.brightspotcdn.com/dims4/default/a40aad3/2147483647/strip/false/crop/1515x1000+0+0/resize/1486x981!/quality/75/?url=https%3A%2F%2Fcalifornia-times-brightspot.s3.amazonaws.com%2F30%2F3a%2Fa148a687c93f0a7ec429c04ba01a%2Fsdhoy-miguel-de-icaza-desarrollador-de-productos-agencia-2014aug07

[3] несколько: https://habr.com/ru/articles/119455/

[4] статей: https://habr.com/ru/companies/ruvds/articles/781922/

[5] сфотографировался с Мигелем де Икаса: https://habrastorage.org/r/w1560/storage/6d82420e/3a3d3cd5/4a657d78/4f1d82e5.jpg

[6] критикует: https://www.osnews.com/story/22225/rms-de-icaza-traitor-to-free-software-community/

[7] Wine: https://gitlab.winehq.org/wine/wine

[8] истории Wine: https://wiki.winehq.org/Wine_History

[9] Midnight Commander: https://github.com/MidnightCommander/mc

[10] Первые оригинальные драйверы RAID-1 и RAID-5: https://web.archive.org/web/20120124014446/http://www.koders.com/c/fid90D0506D0981288C46C7A849BBB82C7276351E12.aspx?s=rsa

[11] Порт Linux на платформу SPARC: http://www.usenix.org/publications/library/proceedings/ana97/summaries/miller_invite.html

[12] на MIPS и SGI: https://web.archive.org/web/20120121124314/http://www.kneuro.net/cgi-bin/lxr/http/source/drivers/sgi/char/graphics.c

[13] Gnumeric: http://www.gnumeric.org/

[14] GNOME: https://gitlab.gnome.org/GNOME

[15] Ximian: https://en.wikipedia.org/wiki/Ximian

[16] Натом Фридманом: http://nat.org/

[17] из личного архива: https://tirania.org/blog/archive/2009/Oct-19.html

[18] Ximian Evolution: https://gitlab.gnome.org/GNOME/evolution

[19] Red Carpet: https://en.wikipedia.org/wiki/Red_Carpet_(software)

[20] Bonobo: https://en.wikipedia.org/wiki/Bonobo_(GNOME)

[21] Mono: https://github.com/mono/mono

[22] начал изучать его возможное использование на Linux: https://web.archive.org/web/20110606210557/http://lists.ximian.com/archives/public/mono-list/2003-October/016345.html

[23] Jesús Corrius: http://www.flickr.com/photos/jcorrius/300360417/

[24] Xamarin: https://web.archive.org/web/20040405065804/http://www.ximian.com/

[25] Xamarin Studio: https://github.com/mono/monodevelop

[26] купила корпорация Microsoft: https://blogs.microsoft.com/blog/2016/02/24/microsoft-to-acquire-xamarin-and-empower-more-developers-to-build-apps-on-any-device/

[27] перевыпустили как .NET MAUI: https://devblogs.microsoft.com/dotnet/introducing-dotnet-maui-one-codebase-many-platforms/

[28] Shared Projects: https://learn.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals/shared-projects?tabs=windows

[29] проекта Mono: https://www.mono-project.com/

[30] подключения к СУБД: https://www.mono-project.com/docs/database-access/

[31] SwiftTerm: https://github.com/migueldeicaza/SwiftTerm

[32] Secure Shellfish: https://apps.apple.com/us/app/secure-shellfish-ssh-files/id1336634154

[33] La Terminal: https://apps.apple.com/us/app/la-terminal-ssh-client/id1629902861

[34] CodeEdit: https://github.com/CodeEditApp/CodeEdit

[35] SwiftTermApp: https://github.com/migueldeicaza/SwiftTermApp

[36] программирует для удовольствия на Swift: https://github.com/migueldeicaza

[37] Национальном автономном университете Мексики: http://www.unam.mx/

[38] интервью: https://www.linuxjournal.com/article/6833

[39] помог другу получить визу США: https://archive.ph/20140328013753/http://nat.org/blog/2009/10/

[40] виза L1: https://en.wikipedia.org/wiki/L-1_visa

[41] визе для талантов O-1: https://en.wikipedia.org/wiki/O_visa

[42] интервью: https://tv.ssw.com/past-present-and-future-of-mono-with-miguel-de-icaza/

[43] что же пошло не так: https://tirania.org/blog/archive/2012/Aug-29.html

[44] в чём Linux проиграл OSX: https://web.archive.org/web/20160205115403/https://www.wired.com/2012/08/osx-killed-linux/

[45] Джастин Танни: https://habr.com/ru/company/ruvds/blog/682150/

[46] Джей Фриман (saurik): https://habr.com/ru/company/ruvds/blog/688716/

[47] Михал Залевски: https://habr.com/ru/company/ruvds/blog/695386/

[48] 1: https://habr.com/ru/company/ruvds/blog/701556/

[49] 2: https://habr.com/ru/company/ruvds/blog/721150/

[50] Марк Руссинович: https://habr.com/ru/company/ruvds/blog/710268/

[51] Юрки Алакуйяла: https://habr.com/ru/company/ruvds/blog/713648/

[52] Андрей Карпаты: https://habr.com/ru/companies/ruvds/articles/728056/

[53] Даниэль Стенберг, автор curl: https://habr.com/ru/companies/ruvds/articles/733002/

[54] Колин Персиваль, автор tarsnap: https://habr.com/ru/companies/ruvds/articles/739392/

[55] Джефф Дин: https://habr.com/ru/companies/ruvds/articles/752206/

[56] antirez, автор СУБД Redis: https://habr.com/ru/companies/ruvds/articles/758112/

[57] Оскар Толедо: потомственный волшебник: https://habr.com/ru/companies/ruvds/articles/765074/

[58] Ральф Меркл: криптограф, крионик и теоретик молекулярной инженерии: https://habr.com/ru/companies/ruvds/articles/770556/

[59] Источник: https://habr.com/ru/companies/ruvds/articles/787860/?utm_source=habrahabr&utm_medium=rss&utm_campaign=787860