Как стать автором
Обновить
2796.63
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

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

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров18K

Мигель де Икаса, 2014 г. Фото: he San Diego Union-Tribune

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

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

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

▍ Проекты


  • Участие в проекте Wine (1993). В истории Wine Мигель де Икаса упоминается как один из первых контрибуторов.

  • Текстовый файл-менеджер Midnight Commander (1994). Одна из первых программ, которую написал Мигель (в 21 год).


    Классический старый интерфейс Midnight Commander

  • Первые оригинальные драйверы RAID-1 и RAID-5 для ядра Linux (1996−1997), совместно с Инго Мольнаром.

  • Порт Linux на платформу SPARC (1997), а впоследствии на MIPS и SGI (2000).

  • Электронные таблицы Gnumeric (1998).

  • GNOME (3.3.1999, совместно с Федерико Меной) — десктопное окружение, которое стало дефолтной системой во многих популярных дистрибутивах Linux. В отличие от KDE на проприетарном фреймворке Qt, новое окружение было полностью свободным и сделано на базе самого продвинутого на тот момент свободного фреймворка на C от создателей GIMP.


    GNOME (1999)

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

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


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

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


    Календарь в менеджере GNOME Evolution

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


    Почтовый клиент в менеджере GNOME Evolution

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

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

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


    Мигель де Икаса, 2006 г, фото: Jesús Corrius

  • Xamarin (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 (MonoDevelop).


    MonoDevelop

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

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

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



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


    SwiftTermApp

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

▍ Биография


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

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


Мигель де Икаса даёт интервью о проекте Mono, 30.12.2014

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


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

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

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

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

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

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

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

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

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

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


Скидки, итоги розыгрышей и новости о спутнике RUVDS — в нашем Telegram-канале 🚀
Теги:
Хабы:
+87
Комментарии46

Публикации

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds