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

проприетарное ПО, open-source, халява проприетарное ПО, open-source, халява

 

«Де́ньги — специфический товар максимальной ликвидности, который является универсальным эквивалентом стоимости других товаров или услуг.» (Вики)

 

IT — это бабки. Программирование и администрирование — это огромные бабки. Программисты и администраторы — это наёмники. Мы платим наёмникам за их время; наёмники за то время, которое им оплачивают, создают необходимые нам продукты, следят за качеством продуктов, оказывают услуги, которые нам нужны. Если вы позиционируете ваше собственное время и время тех, с кем вы работаете, как бесплатное, прошу вас не читать дальше.

Бесплатный пахарь

— Я здесь выращиваю картошку, если вы хотите, вы тоже можете этим тут заняться. Может быть, я даже помогу вам в этом. Земли, вон, сколько хотите! И всё бесплатно!
*через какое-то время*
— Хм, слушай, у меня тут проблема.
— Чего случилось?
— На этой земле не получается растить картошку.
— А, да, в последнее время что-то не так. Ну, я с этим разберусь, но как-нибудь потом, у меня, вон, на соседнем поле с редькой проблемы.
— ???
— У меня сейчас времени нет. Подожди годик, я что-нибудь придумаю.

Какое отношение эта история имеет к ПО? А вот какое. В недалёком 2010 году сталкиваюсь с поразительным косяком MonoDevelop. Нагуглил запрос в службу поддержки:

— Всем здрасьте, у меня Console.ReadLine сжирает несколько символов в начале, как это поправить?
— Здрасьте, нам об этой проблеме сообщали не раз, очень жаль, что так выходит, но решать мы это в ближайшее время не планируем.
— ???
— У нас других забот хватает. Не нравится — используйте для таких целей Microsoft .NET.

Мда, супер. Что ж, ну нафиг такого пахаря! Хотя ведь правда, он мне ничем не обязан. В скором времени я нашёл другого пахаря. Он брал с меня деньги, но по моим просьбам всё быстро решал.

Я построю свою плантацию с хлопком и рабами!

Прошло несколько лет, и я, глядя на то, какие деньги делают фермеры, озадачился созданием собственной плантации.

— Здрасьте! А я хочу использовать вашу технологию для того, чтоб у себя хлопок выращивать. Бесплатно, да? :)
— Конечно, бесплатно! Сооружайте у себя на поле наш механизм и выращивайте с радостью!
*через какое-то время*
— А я тут подсмотрел за соседом, у него там всякие автоматизированные штуки! Он тыкает на кнопочки на своём экране, и там всё поливается, состригается и рабы бьются плёткой сами!
— Знаем таких, мы их не любим. Всюду пытаются втюхать свою разработку. Такие, как они, ни черта не понимают в нашем нелёгком деле.
— Но там же всё удобно! Мне приходится долго искать в книгах, каким образом и в какой день срезать пух, а у соседа моего всё сразу видно и делается само! Пока он сажает новые сорта, мне приходится возиться на грядке со старыми.
— Слушай, ты же профессионал, а не какая-нибудь там домохозяйка. Пусть ты тратишь много времени, зато ты контролируешь процесс от начала до конца, ты знаешь все тонкости и нюансы.
— Но мне надо всего лишь срезать пух...

Думаю, вы уже провели аналогию с серверными платформами, зубрёжкой команд и тоннами мануалов. Инструкции, конечно, для любых платформ читать приходится, но где-то больше, а где-то меньше. Будет пошло даже заикнуться о юзабилити в этом ключе: специалисты по пользовательским интерфейсам дороги, и какой открытый проект готов такого человека себе позволить? Все функции выполняются — да и хрен с ним, с внешним видом, пользователи сами разберутся.

Бюрократия — это не шутки!

— Здрасьте, товарищ чиновник! Я хочу зарегистрировать участок земли, где я буду вести работы. Уже весна, и сажать овощи нужно как можно скорее!
— Понимаю вас. Заполните эти бумажки и возвращайтесь.
*заполняем бумажки*
— Смотрите, я всё заполнил! :)
— А геодезическую экспертизу провели?
— Как это? Вы не говорили о ней ничего.
— Тогда вперёд. Без неё ничего не сделаю.
— Но у меня работники ждут...
— Жалость какая. В таком случае сделайте её побыстрее.
*сделали экспертизу*
— Всё готово! Ну что, где подписать?
— Вот здесь: пишите название юридического лица, номер в реестре, подпись и дату.
— Но у меня нет юридического лица, мне об этом никто...
— Ну вы поняли, что делать дальше.
*в налоговой*
— Здрасьте! Хочу юридическое лицо!
— Юридическое? Так у Вас нет регистрации в нашем регионе, так что шли бы Вы куда подальше.

Как-то раз мой клиент попросил меня сделать приложение для его телефона. Простенькое такое, для личных нужд. Что ж, моя компания не говорит клиентам «нет». Да и по функционалу там работы на часик-два. Качаю бесплатную версию Xamarin Studio (привет разработчикам MonoDevelop!), ставлю. Ладно, я, видимо, сделал всё, что требуется, и имею полное право написать hello world. Ой! Нужен Android SDK! Что ж вы раньше-то молчали? Качаем 500 мегабайт sdk, распаковываем. Че-е-е-го-о-о? Из этих 500 мегабайт половину занимает Eclipse IDE, который мне как козе баян!? Увы и ах.

Ещё попытка скомпилировать hello world. Ого, мне ещё и jre нужен? Ладно, идём ставить jre. Ой, он не той версии! Печаль какая! Гуглю. Правлю реестр так, как говорит Гугл. Вроде, получилось. Ещё попытка. Похоже, ему нужен не тот Androd api, который установлен в Android SDK. Ладно, гуглить так гуглить.

Там пишут, что надо всего лишь скачать более старый SDK в менеджере, тогда всё пойдёт как по маслу. Пытаемся запустить менеджер — а вот не тут-то было! Более того, я и узнать не могу, почему он не запускается. Гугл сказал, что, оказывается, запускать надо через bat-ник, скрытый в глубине, предварительно изменив другой bat-файл. Попробовал — окей, запустились. Пробую загрузить пакет — о чудо! Не может быть! Он загрузился сам и ничего не потребовал.

Ещё попытка компиляции. Нужно запустить эмуляцию. Ожидаемо, конечно, но почему ты сам её не запустишь? Разбираюсь с эмулятором, стартую. В консоли какие-то ошибки...

Короче, эту историю я могу продолжать долго. Хэппи-энда не было, в результате чего Xamarin был исключён мной из списка софта, которым имеет смысл пользоваться.

Чёрт с ним, пробую установить Android Studio. К своему горю, на другой машине. Некоторые шаги повторяются как по шаблону: «У тебя нету вот этого. Ха, а мы думали, ты знаешь, что это нужно, поэтому не видели смысла говорить тебе об этом заранее». Казалось бы, теперь всё хорошо. И тут...

Ах, Android Studio тоже не работает без JDK. Незадача, поставить ее сразу он не мог?

Качаю. Пытаюсь запустить и-и-и… Что? Что это за ошибка? Вы мне нормальным языком написать не можете, что это значит?

Гуглим. Как вы уже поняли (Что значит, не поняли!? По мнению авторов данного ПО, это же очевидно!), JDK несовместим с Win XP. Вот это своевременная подача информации, вот это молодцы!

Для оценки масштабов потраченного впустую времени рекомендую вам попробовать решить подобную задачу (написать Hello World) для Windows Mobile, используя IDE Microsoft Visual Studio, которая автоматически подтянет и поставит всё, что может понадобиться. Сама. Без лишних вопросов.

Не будет сообщество халявщиков жить хорошо, не будет. Это не пост любви к Microsoft, Oracle, RedHat и прочим, это пост о том, что экономия времени всегда стоит денег.

Поэтому всегда «коробка», всегда лицензия, а вы конём е… разбирайтесь сами со своим холиваром и фриварным софтом.

Вместо заключения

— Здравствуйте, бесплатный доктор!
— Здравствуйте, неизлечимый больной.

Публикация информации, размещённой на этом сайте, разрешена только при указании индексируемой ссылки на источник.

Звоните нам! +7 495 369-15-48
Написать в телеграм
Получите КП на фирменном бланке