Свободное ПО и открытые протоколы — это хорошо?

30 марта 2011

Когда деревья были большими, а для выхода в сеть нужно было покупать карточки ROL, на компьютерных форумах было модно писать всякие лозунги про свободное ПО и открытые протоколы. Дескать Opera никому не нужна, потому что есть Firefox, который распространяется под GPL. Или что Аська скоро умрет, потому что есть открытый Jabber с его шифрованным трафиком, email-подобными JID и тп. Прошли годы. Ничего не изменилось.

Вещи являются добрыми или злыми лишь в той мере, в какой они воздействуют на мой разум // Б. Спиноза

Нет, кое-что, конечно, изменилось. Например, OpenOffice был принят в качестве государственного стандарта России и ряда других стран. Яндекс и Google начали продвигать свои IM-клиенты, использующие Jabber. Была даже попытка внедрить Linux в российских школах. Но по большому счету все осталось на своих местах. Windows — по-прежнему самая популярная десктоп-операционка. ICQ — по-прежнему самый популярный IM-клиент в России.

Более того, закрытые протоколы и закрытое ПО продолжают процветать. Скажите мне, многие ли из вас видели исходники QIP, Winamp, uTorrent, Skype, 1C, VMWare Player, IDA и WebMoney Keeper? Или так — встречались ли вам в открытом доступе исходники Google, Twitter и Facebook? Я уж не говорю о ПО, используемом в РЖД или Пенсионном фонде РФ. Где же победоносное шествие открытых протоколов и исходников?

Недавно вышел Firefox 4. В официальном ролике от компании Mozilla один из разработчиков с умным видом рассказывает нам о новых возможностях браузера. «Мы сделали его более быстрым, изменили интерфейс, добавили App Tabs, поддержку HTML5, CSS3, WebGL и нашу killer feature — синхронизацию данных. Кстати, для Firefox по прежнему есть много полезных плагинов.»

Спустя неделю появляется пакет для FreeBSD. Портированием браузера, насколько я могу судить, вместо разработчиков занимается кто-то другой. Обновляемся. Тут же отваливается локаль вместе со всеми плагинами. В версии 3.6 можно было прописать локаль в about:config. В новой версии после таких телодвижений браузер не будет запускаться. Спрашивается — ну неужели в 21-ом веке так трудно определить правильную локаль во время загрузки? Ну ладно. Идем на Ютуб, пытаемся посмотреть какое-нибудь видео с помощью HTML5. Получаем жутчайшие тормоза. Gnash — и тот лучше справлялся.

А теперь самое интересное. Тянем из тех же пакеджей закрытую Оперу. Да, в Opera Software не поленились портировать свой браузер под эту никому ненужную Фряху. И что же мы видим? Русский язык и кучу работающих плагинов, ту же синхронизацию данных, минималистический UI, App Tabs и HTML5 видео, но на этот раз без тормозов. Возможно, это только мое воображение, но вроде Twitter и notebook.google.com стали быстрее? И кстати, все эти возможности (а также — удобная стартовая страница, Opera Unite и Opera Turbo) были в Opera еще 9 месяцев назад. Кроме того, Opera уже давно портирована на большинство мобильных платформ, в то время, как у Firefox работы в этом направлении находятся в зачаточном состоянии.

Ну и как так получается, что самый популярный открытый браузер не только не может угнаться за закрытым (но бесплатным!) аналогом, но и развивается исключительно за счет слизывания его фишек? Как объяснить, что «неправильное» закрытое ПО разрабатывается более профессионально, чем «правильное» открытое?

Еще немного пищи для мозгов — ICQ против Jabber. Фанаты Jabber кричат, что он лучше, потому что XMPP — открытый протокол. Потому что он позволяет шифровать трафик и не использует цифирные номера. Потому что в нем используются модные XML и Unicode. Но простите, ICQ — тоже открыт (см также недавние изменения в лицензионном соглашении об использовании протокола). Как по мне, цифирные номера ничем не хуже JID. Вы же как-то работаете с телефонными номерами и гос. номерами автомобилей? Уины даже имеют свои плюсы. Например, номер из девяти цифр намного проще продиктовать. За последние годы я пару раз менял ник-нейм, но Аська при этом осталась прежней. По поводу шифрования трафика — многие ли из вас шифруют почту с помощью GPG? Если нет, значит при желании ее несложно перехватить, даже если сервер поддерживает SSL. XML, Unicode и SSL — это лишь модные технологии, создающие иллюзию современности и безопасности. На практике же вы только впустую расходуете трафик и такты процессора.

Дополнение: В тему о «безопасности» SSL недавно появилась занятная новость — Представлен первый успешный способ атаки на SSL/TLS. Что же касается XML, то ему есть пара годных альтернатив, например JSON и BSON.

Дополнение: См также хабрапост Почему крупные мессенджеры не работают с XMPP или Размышления о судьбе протокола. Годная заметка, хотя пользователи Хабра и восприняли ее предсказуемым образом.

Это я все вот к чему. Независимо от того, находитесь ли вы в сети или реале, ничто не изолирует вас от политики, рекламных лозунгов и бизнес-планов. Если команда программистов работает над чем-то действительно инновационным, открывать исходные коды — последнее, что придет им в голову. За примерами далеко ходить не надо — взять те же Opera, Skype, Twitter, Facebook. Тот факт, что исходники не лежат в свободном доступе, никак не свидетельствуют о качестве кода, компетентности разработчиков и тд. Он свидетельствует только о том, что разработчикам не выгодно показывать код.

Будьте осторожны в своих суждениях по поводу «хорошего» и «плохого». И особенно остерегайтесь людей, возомнивших себя Нострадамусами 21-го века. Главное — чтобы программа решала поставленную задачу, а уж как она это делает — вопрос десятый. Думайте своей головой и относитесь скептически к тому, что говорят вам люди по ту сторону экрана. К постам в моем блоге это тоже относится.

Дополнение: Тем, кто считает приведенные примеры однобокими, я бы рекомендовал ознакомьтесь с комментариями к посту.

Метки: , .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.