Бесплатное ПО с открытым кодом или нет?

В той же степени, как Интернет причиняет долгосрочный вред человечеству, изменяя устои нашего общества, так и бесплатное программное обеспечение с открытым кодом действует в том же направлении, усугубляя урон. По разным причинам это далеко не все замечают, но дальше я объясню, в чём причина.

Чтобы составить всестороннее мнение о положении в современных информационных технологиях, необходимо обладать знаниями и опытом. Это сочетание наличествует далеко не у каждого специалиста в этой области. Многие обладают одним, но не другим. Многие стороны информационных технологий не афишируются, и узнать о них можно, только достаточно поварившись в этой кухне. Только тогда начинаешь понимать, что лишь лозунг, а что реальность; что заявленное, а что предоставленное; что желаемое, а что действительность.

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

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

Коммерческие организации, создающие и эксплуатирующие программное обеспечение, давно начали вырабатывать механизмы обеспечения его правильного функционирования. Так возникли комплексы организационных мер, которые следят за тем, чтобы ПО выполняло возложенные на него задачи и не создавало нештатных ситуаций. Главным образом эти меры включают в себя документацию, историю изменений, распределение ответственности, правила применения методов и технологий, правила оформления и форматирования кода, и многие подобные подходы к улучшению качества и уменьшению возможного вреда, причиняемого ошибками и неполадками. В организациях, принявших на вооружение такие комплексы мер, сотрудников учат их правильно применять. Это необходимо, потому что люди от природы ленивы и пытаются достичь наибольшего результата наименьшими усилиями. Применяются ли такие меры в проектах бесплатного ПО с открытым кодом? Чаще всего, нет. Там царят анархия и хаос. Каждый творит, что хочет, и применяет те методы, которые им в голову взбредут, и попробуйте заикнуться, что Вас это не устраивает: вам тут же в лучшем случае укажут на дверь.

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

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

Что в этом плохого, спросят меня? "Детишки приехали и самоубиваются на моей делянке." Хозяин - барин! Их проект - пусть творят, что хотят. Не хочешь - не пользуйся.

И вот мы подошли к главной стороне этого вопроса. С одной стороны, это так, но с другой, человек общественное животное, такое же, как муравьи, чайки-поморники или антилопы. Поведение человека влият на поведение общества и наоборот. В человеческом обществе всё взаимосвязанно, и давление коллектива заставляет других его участников менять собственное поведение. Вырабатываются новые манеры и привычки. Из одних групп они просачиваются в другие. Наше общество не стоит на месте, и его поведение и поведение каждого его участника меняется со временем в лучшую или худшую сторону. Манера поведения разработчиков проектов с открытым кодом неизбежно повлияла на таковую в коммерческих проектах и, к сожалению, далеко не в лучшую сторону по той простой причине, что человеку трудно постоянно и последовательно быть двуличным. Ощущая полную свободу в своём бесплатном проекте с открытым кодом, такой сотрудник коммерческой организации неизбежно начинает срезать углы в работе, игнорировать окружающих и грубить им, а так же неизбежно приобретает менталитет, диктующий, что можно делать некачественную работу, и что пользователи всё равно сами на коленях приползут просить исправить ошибки, а значит, и тестировать нет особой нужды. Также, такие сотрудники потратили даром бесценное время, которое они могли потратить, обучаясь полезным навыкам написания качественного кода, отысканию ошибок и исправлению их. Оно ушло, и его не вернуть.

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

Немногие повидали столько бесплатного ПО с открытым кодом, сколько его повидал я. Перечислять его слишком долго. Это и операционные системы, и системы управления базами данных, и различные коммуникационные серверы и клиентские программы, и средства разработки, и целая куча много ещё чего. Все без исключения они содержали и содержат в себе массу ошибок. Разумеется, поначалу я, доверчивый чукотский юноша, пытался сообщать об этих ошибках разработчикам проектов. Да, я был мал и глуп и наивно верил в красивую сказку о том, что разработчики горят желанием узнать об ошибках в их коде и в особенности об уязвимостях. Каково же было моё удивление, когда я обнаружил, что такие сообщения далеко не всегда и не всеми воспринимаются положительно. И тут мне пришлось задуматься: а что же такое я наблюдаю? И оказалось, что это те же обычные человеческие качества, которые мы все лицезреем везде, от подъезда и общественного транспорта до залов заседаний и соцсетей: чванство, жадность, боязнь потерять лицо, высокомерие, социопатия, мстительность, и всё остальное, о чём лучше проконсультироваться у профессиональных психологов.

В коммерческих организациях сотрудники не могут позволить себе роскошь проявлять эти качества неограниченно, потому что на них всегда найдётся управа в лице руководства, акционеров, регулирующих органов и т.д. В бесплатных проектах с открытым кодом же эти качества процветают. Там разработчику не от кого ожидать окрика, и можно устанавливать свои правила: захотел, выслушал пользователя, а не захотел - заблокировал его. Захотел - исправил ошибку, а не захотел - продолжаешь работать над тем, что интересно тебе, а там хоть трава не расти. Это происходит везде и постоянно. Атмосфера вокруг таких проектов зачастую далека от приятной. Что же тогда эти "сообщения об ошибках", которые якобы пользователи излагают в такой исключительно почтительной форме, и которые заслуживают благосклонные ответы? Вы, скорее всего, знакомы с феноменом "носочной куклы". Это явление, когда сам владелец ресурса или автор публикации высказывается о себе в желательном ключе, тоне и т.д. Вероятнее всего сами же разработчики раскручивают свои проекты, публикуя уже обнаруженные ими самими ошибки под чужими именами, чтобы создать иллюзию наличия широкой пользовательской базы. Только так и никак иначе невозможно объяснить диаметрально противоположную реакцию разработчиков на вроде бы ничем не отличающиеся сообщения: одни приветствуются, другие отвергаются, замалчиваются, блокируются, удаляются и всё в таком духе.

Чтобы те, кто не работают в отрасли, понимали, о чём я веду речь, приведу пример типичных диалогов с разработчиком бесплатного ПО с открытым кодом:

  • - При использовании Вашего ПО происходит следующая ошибка.
  • - Должно работать.
  • - Но не работает.
  • - Приведите логи.
  • - Вот.
  • - А, это значит, что в библиотеке X ошибка.
  • - Можно её исправить?
  • - Обратитесь к её разработчикам.
  • - Мы не программисты и не знаем, кто они, где они, и что им сказать. Вы в лучшем положении, чтобы это сделать.
  • - Скажите им Y.

Or:

  • - При использовании Вашего ПО происходит следующая ошибка.
  • - В какой среде?
  • - X.
  • - Проверьте в Y.
  • - Мы не имеем возможности, потому что среда Y не установлена у нас. Мы ею не пользуемся.
  • - А я не пользуюсь X.
  • - Разве Вас не беспокоит, что Ваш проект может не работать в средах X и Z, которые могут быть установлены пользователями?
  • - Я пользуюсь только Y, и у меня нет времени проверять с X и Z. Я занят работой над следующей версией.

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

Давайте задумается, кто такие вообще эти мистические разработчики бесплатного ПО с открытым кодом. Что заставило их начать проект и выпустить его бесплатно? Ведь некоторые из них содержат в себе миллионы строк кода, которые потребовали тысячи человеко-лет на разработку. Этот вопрос следует задать, потому что наш мир в буквальном смысле слова вертится на бесплатном ПО. А ответ-то не слишком приглядный! Большинство тех, кто ведут такие проекты, и близко не руководствуются соображениями альтруизма. Они мечтают получить выгоду в разных формах. Одним достаточно лишь забросить наживку для потеницальных работодателей, продемонстрировав знание какой-то технологии, чтобы получить хорошую работу и забыть о своём проектике навсегда. Другие хотят большего: повторить успех Билла Гейтса, Стива Джобса и подобных. И вот они сидят ночами (те, кто днём работают) или днями (те, кто нет) и пилят свой код в надежде, что или он взлетит, или их купит какой-нибудь крупный игрок. У некоторых так получается, но только у единиц, а разработчиков бесплатных проектов с открытым кодом вагон и маленькая тележка! И вот они пилят, пилят, а денег всё нет, а тут ещё эти никому не нужные пользователи с их сообщениями об ошибках. Постепенно приходит прозрение: что высоко привлекательный рынок ПО и услуг в области информационных технологий разделён крохотной кучкой давно устоявшихся глобальных монополий, которые могут позволить себе абсолютно всё, включая неприкрытый грабёж, и им практически никто не нужен. И вот такие разработчики начинают срываться и показывать своё истинное лицо.

Ещё в далёкие 1970е нам бы следовало задуматься. Именно тогда появились эти Робин-Гуды, рыцари без страха и упрёка в сияющй броне, иносказательно, конечно, потому что внешне это были неопрятные, нестриженные и небритые хиппи с всклокоченными бородами и шевелюрами, одетые в майки с провокационными лозунгами. Но они что-то твердили про всеобщие права и свободы, и почему-то это всех устроило, и никто не стал задаваться вопросом, а способны ли вообще эти персонажи создавать что-то положительное. И когда общество потеряло интерес и отвернулось, они показали своё истинное лицо: нетерпимость, лицемерие, лень и продажность. Некоторые, кто поумнее, скажут: этого и следовало ожидать. Другие удивятся: как же так, они же были такие бунтари, восставшие против общества стяжательства и потребления! А вот так: ничьи слова не следует воспринимать за чистую монету, пока они не доказаны делом, а дела у разработчиков бесплатного ПО тёмные и грязные.

Тут бы нам остановиться и задуматься: а тем ли мы доверяем своё благосостояние и будущее? И я Вам отвечу: нет, такого никогда не должно было произойти в той же степени, в которой Интернет никогда не должен был стать тем, что мы наблюдаем. Всё это нелепо и не в интересах человечества. Открытый код не равняется качеству и надёжности по той простой причине, что его некому и некогда проверять, а его бесплатность плодит лишь отрицательные качества у его разработчиков и создаёт неприятности для потребителей. Десятилетия вседозволенности и культа бесправности пользователей, нормализации пренебрежения их интересами вплоть до отмены каждого, кто недоволен ошибками, не прошли даром: выросли целые поколения таких разработчиков, мнящие себя кем-то важным, стоящим выше пользователей, при посредственном или откровенно плохом результате, который их совершенно не волнует. В обычном, настоящем человеческом обществе это называется "избаловать", но в кругах бесплатного ПО с открытым кодом такое поведение давно стало нормой. Вы, конечно же, возмутитесь: не может быть! Ведь вокруг столько работоспособных программ с открытым кодом! Но если задуматься, то вы можете назвать лишь несколько, а когда вникнете, то поймёте, что это далеко не те типичные бесплатные продукты, которые каждый подразумевает, услышав этот термин. Все они разработаны кем-то, кто получил за это деньги и немалые или по приказу, а сторонние пользователи были лишь средством бесплатного контроля качества: подопытными кроликами или мулами. Куда ни копни, везде или особые интересы, или финансовые стимулы. Упомяну лишь тот неудобный факт, что значительная часть драйверов в ядре пресловутого Линукс была с чего-то ради предоставлена компанией IBM, а вовсе не написана Линусом Торвальдсом и другими волонтёрами. Это важно, если задуматься.

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

Те, кого кормят, пусть работают. Они на зарплате. За их действиями следят администраторы. Результаты их труда проверяют. Это кому-то нужно. Страшно то, что многих не кормят, и они, некогда решив, что у них есть шанс преуспеть, занялись разработкой, но время идёт, а проект не взлетает. Пользователи или не заинтересованы, или недовольны. И успех уже не маячит на горизонте. И вот такие разработчики бесплатного ПО становятся опасны для общества, потому что их страницы в Интернет, заточенные под ожидавшийся скорый успех, по-прежнему превозносят их продукты, как самые замечательные, безопасные, удобные, производительные и всё в таком духе, но это пшик, фасад, пустой звук, за которым ничего нет в лучшем случае, а в худшем критические уязвимости, низкая производительность, недостаточная надёжность и другие подобные проявления отсутствия знаний, опыта и наздора за собой. Несведующие не в курсе, но профессионалу достаточно копнуть, и все эти проявления вылезают наружу. Постепенно в их душе угасает надежда преуспеть и накапливается усталось, а тут ещё эти назойливые пользователи с их отчётами об ошибках. И разработчики выплёскивают на них накопившееся раздражение, по-прежнему стараясь сохранить лицо и делать вид, что проблем у проекта нет: а вдруг его всё-таки кто-нибудь купит?

Ещё хуже, когда разработчики из бесплатных проектов просачиваются во вполне себе коммерческие. Они приносят с собой груз плохих привычек. Это всё равно, что взять из приюта собаку, которую бил хозяин-алкоголик: она бы и рада любить нового хозяина, но кусает его за протянутую руку по привычке, чтобы не ударили. В своём собственном бесплатном проекте такой разработчик был царём и богом, взявшим на себя вершение чужих судеб, а тут вдруг приходится подчиняться правилам и уважительно относиться к каждому пользователю. Думаете, эти разработчики довольны? Нет, конечно! Они пришли лишь заработать денег, и они незаметно, тихой сапой начинают медленно тянуть одеяло на себя и выталкивать других птенцов из гнезда, как кукушки, осознанно или нет. Такова человеческая природа, и с ней ничего невозможно поделать: люди влияют друг на друга, когда взаимодействуют. Корректировать повадки таких разработчиков приходится руководству, и это занимает время и требует сил, тогда как если бы они начали свою карьеру в нормальной коммерческой среде, то у них бы с самого начала выработались правильные привычки.

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

Как же нам бы стоило поступить? Во-первых, следовало применить простое и давно известное решение, позволяющее нам выживать последние пару веков, а именно стандарты. Нас не каждый день бьёт током лишь по той простой причине, что есть стандарт на изоляцию проводки. В сфере программного обеспечения таких стандартов не то чтобы совсем нет, но их ужасающе недостаточно. Это Дикий Запад со всеми его проявлениями. Кто успешен в нём? Тот, у кого был хороший старт (мама и папа с доступом к коммерческой тайне в большой компании, влиятельные друзья в школе или дедушка-генерал), кому подсказали хорошую мысль и поручили её выполнение влиятельные спонсоры, или тот, кто не побоялся преступить закон, и его прикрыли от преследования, решив, что тут он полезней, чем в тюрьме. Такие быстро достигают головокружительного успеха и потом рассказывают окружающим сказки про гараж и собранный на коленке первый компьютер. И вот их похождения вдохновляют толпы подражателей, которым плевать на стандарты, потому что перспектива заработать миллиарды маячит на горизонте. Должно ли общество пускать этот процесс на самотёк? Нет, конечно! Если бы так же вели себя учёные и изобретатели прошлых веков, у нас бы сейчас в каждом городе было своё напряжение и частота переменного тока, уникальная ширина железнодорожной колеи, раскладка клавиатуры каждой печатной машинки отличалась бы от всех остальных, и ни одна резьба бы не совпадала. Но нет, тогда им хватило ума договориться о стандартах. Сегодня же в самой важной отрасли царит цирк Шапито с уродами и бородатой женщиной.

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

Откуда я могу всё это знать? Отчасти не от хорошей жизни занялся я всем этим делом, а отчасти я поначалу искренне верил в альтруизм таких разработчиков. И лишь когда они десятилетие за десятилетием показывали мне свой звериный оскал, меня проняло, и я стал обращать внимание на количество ошибок в их коде. И другие факторы сказались, но эти были главными. Сегодня, в 2025 году, многие бесплатные продукты с открытым кодом, которыми я пользуюсь скоро уже 30 лет, до сих пор содержат некоторые из ошибок, о которых я сообщал их разработчикам в самом начале. Они могут быть насколько угодно важны для меня и других пользователей, но это вовсе не значит, что их когда-нибудь устранят. Год за годом я вынужден был изыскивать способы как-то встраивать бесплатное ПО в разнообразные технические решения, которые создавал, и невольно мне пришлось близко познакомиться с множеством проектов и их разработчиками. За единичными исклюениями почти всё это оставило нехорошие воспоминания. Хватит пальцев на одной руке, чтобы перечислить тех, с кем было приятно работать.

А как же безвоздмездные взносы на разработку, спросите Вы? Да никак. Я потратил на них тысячи долларов, но даже после этого мне могли нахамить или заблокировать меня в ответ на отчёт об ошибке и настойчивые просьбы её исправить. До сих пор я посмеиваюсь, вспоминая один такой всемирно-известный прокет, где именно так и произошло. А ведь его в некоторых кругах считают эталоном для подражания!

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

Сами посудите: никто же не позволяет случайным личностям подключаться к водопроводу или газопроводу и закачивать в них неизвестные вещества. Интернет ничем не отличается, кроме того, что он глобальный, то есть потенциальный ущерб намного больше. Но мы позволяем кому угодно отправлять какие угодно пакеты куда и кому угодно. С какой радости? Нам мало проблем? Нас устраивает, что время от времени происходит очередная атака, в результате которой ещё сто миллионов информационных записей попадают в руки преступников, благодаря в том числе и использованию бесплатного ПО? Нас устраивает, что отдельные лица или целые категории подвергаются противоправным действиям, лишь потому что мы идём на поводу у невесть кем навязанной идеи, что каждый должен иметь возможность круглыми сутками тапать хомяка или ставить лайки на телефоне? Мы ведём себя, как потерявшие человеческий облик наркоманы, готовые сделать, что угодно, ради дозы Интернет и бесплатного ПО.

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

Некогда я уже писал о зоопарке разнообразных языков программирования. В наши дни каждая козявка норовит воспользоваться каким-нибудь экзотическим языком. Якобы более стандартные языки их не устраивают. Как же! Языки в стиле "С" Кернигана и Ричи - C++, C#, Java - покрывают 100% потребноcтей человеческого общества в разработке ПО. Но нет, как плесень разрастаются пятна экзотики, которая отличается от них лишь тем, что не такая. Казалось бы, ну и что? Да то, что с каждым из них мировой контингент разработчиков дробится и дробит свой опыт. Опыт вавилонской башни ничему человечество не научил. Для этого нужно тратить время на обучение преподавателей и студентов этим языкам, а это огромные деньги, помноженные даже на такие банальности, как половая тряпка и свет лампочки на потолке института. Обучив одного и того же разработчика двум языкам вместо одного, мы бездарно потратили время, которое он мог бы продуктивно трудиться. То же самое относится к библиотекам, средам и многим другим программным продуктам. Корень зла лежит в нехватке терпения: вместо того, чтобы создать продуманное и надёжное решение, некоторые торопятся применить абы что, чтобы поскорее выполнить сиюминутную задачу, и вот так появляются химеры и мутанты. Если остановиться и задуматься, становится очевидно, что каждый язык программирования, его базовые библиотеки и среда разработки дублируют предыдущие. Мы совершенно обалдели, позволяя такие растраты?

Отчасти в этом виноваты мы сами, а точнее процесс обучения новых разработчиков. В университетах им задают создать новый язык программирования, чтобы научить их писать синтаксические анализаторы, и кому-то приходит в голову идея, что этот потешный язык можно выпустить в свет. Ну или они создают новую систему управления базами данных и т.д. Вместо того чтобы пресечь эти стремления в зародыше, им потакали и продолжают, а в результате мы наблюдаем иконостас из названий языков программирования на каждой доске объявлений о работе. В силу тех же набивших оскомину особенностей человеческой психологии эти языки находят себе последователей среди числа желающих выделиться, потом начинают ломать копья по поводу того, какой из них лучше и в чём именно, и мы наблюдаем очередной цирк Шапито. Молодёжь ещё не обломала себе зубы и питает иллюзии о том, что новомодный язык, база данных или система передачи сообщений является следующим писком моды, который решит все проблемы, а старики понимают, что этого не произойдёт, но у них больное сердце, и они не хотят нарываться на оскорбления в ответ на свои совершенно разумные и обоснованные соображения. В итоге, как сказал Жак Лурса: "Старики пьют, молодёжь колется, и все в дерьме".

По большей части мы, как общество, хотя бы на словах стремимся препятствовать таким нездоровым проявлениям, как наркомания. Нам бы следовало точно так же препятствовать разгулу вседозволенности в области информационных технологий и контроллировать ПО, которым мы пользуемся, не говоря уже о каналах обмена информацией. Одно это охладило бы пыл многих из тех, кто сейчас наводняют рынок своими бесплатными продуктами. Да, кое чего бы не было, но задумайтесь: если бы столько лиц, как сейчас, не тратили бы столько усилий впустую, подстёгиваемые лишь надеждой когда-нибудь озолотиться, благодаря своему продукту, то где бы они их прилагали? Уж не в настоящей ли экономике? Если бы они брали деньги за свою работу, уж не выросло ли бы их благосостояние и не сказалось ли бы это положительно на всём человечестве? Да, их обуяли жажда творчества и тщеславие, и они хотят написать какую-нибудь программу и выложить её в общий доступ. Пускай! Но вот пользоваться ею не следует до тех пор, пока не установлено, что она соответствует стандартам качества и безопасности, поддерживается и продолжит существовать, даже если что-то случится с разработчиком. И так постепенно "плохой район с заразными шлюхами и закладками" очистится и станет вполне себе приличным, иносказательно, разумеется. Общество вполне способно применять полезные стимулы и в отрасли информационных технологий, было бы желание.

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

Против ужесточения контроля за человеческой деятельностью часто возражают: мол, запретами проблем не решить. Но всё же мы запрещаем продавать электроприборы с недостаточной изоляцией или ядовитые лекарства. Неловко выходит, правда? Значит, где-то строгий контроль всё же полезен. Это полнейшая бесконтрольность совершенно точно вредна. Если положение вещей останется таким, как есть, то дальше всё станет только хуже.

Оставьте комментарий