Коротко о травле в Open Source и Linux на примере реального проекта Installer-SH

У многих Open Source и Linux ассоциируются с чем-то вечно недоделанным, кривым и плохо работающим, и на это есть реальные причины.
3 июня 2026, среда 11:34
Hard-Workshop для раздела Блоги

Это продолжение предыдущей статьи; рекомендуется ознакомиться с ней для более полного понимания материала. Если коротко, то Installer-SH как новый способ распространения софта для Linux и FreeBSD в очередной раз доказал свою состоятельность реальной практикой, а не пустыми словами. Разумеется, хейтерам всегда не нравилось, что мои проекты развиваются и уже решают реальные и серьёзные проблемы Linux в desktop-сегменте.

Installer-SH версии 2.8 развился до такой степени, что стал способен распространять софт не только под разные архитектуры, но и под разные платформы одновременно в виде единого установочного пакета. Также удалось успешно преобразовать официальные AppImage-контейнеры с программой Krita в гораздо более надёжный и оптимизированный формат Installer-SH. Понравилось ли это хейтерам? Разумеется, нет.

В итоге они решили попытаться нанести прямой вред проекту в виде массы issues, сгенерированных нейронными сетями в репозитории проекта на GitHub. Часть из них — откровенный мусор, так как они выставляют уникальные реализации и оптимизации проекта как проблему, что уже было обоснованно разобрано в прошлой статье. Вскоре я изучил некоторые из сгенерированных сообщений и начал извлекать пользу из того откровенного флуда, которым, как хейтерам казалось, они травили меня и мой проект.

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

Я не сразу понял, что за бред он написал про «спускание» нейронных сетей (как оказалось, они думали, что я использовал нейронные сети для анализа самих сгенерированных ИИ сообщений об ошибках), да и остальной текст оказался совершенно бессвязным. Но вторым сообщением позиция была однозначно подтверждена: он называет мой труд полной «шизой», а меня — шизофреником. Также отметил: мол, если бы я делал реально классные вещи, то никто бы и слова не сказал (сказали бы, потому что мир огромен).

Сразу отмечу, что нормальные люди так не разговаривают. Но тут есть ещё кое-что интересное. Хейтер возомнил себя самым главным во Вселенной и, не стесняясь, прямым текстом начал указывать, что мне делать, а после кинул прямую угрозу: мол, если продолжится какая-то там выдуманная им «шиза», то он сделает пародийный форк, который будет работать и высмеивать мои ошибки. Если честно, было бы очень странно, если бы изначально рабочий проект вдруг оказался нерабочим после форка. Так что угроза сделать форк с акцентом на работоспособности прозвучала весьма глупо. Но факт публичной угрозы, оскорбления, обесценивания и травли засчитан.

Также можно заметить, что эта неприкрытая травля явно ведётся группой лиц. Вполне возможно, это представители печально известного ресурса linux.org.ru, которые необоснованно издевались надо мной, когда я пытался опубликовать у них статью. Вероятно, они обиделись на то, что я покинул токсичный ЛОР и для разнообразия написал уже не статью, а целую новость на ресурсе opennet.ru. Ничего плохого не могу сказать про администрацию ресурса opennet.ru: они действительно работают согласно чётким и понятным правилам и относятся непредвзято к материалам и авторам, и это вызывает уважение. Но это уже совсем другая тема.

Не факт, конечно, что это именно представители печально известного ресурса ЛОР — кто же их разберёт, хейтеров, особенно не способных внятно выразить свои мысли в виде текста. Но тут уже есть все основания вполне обоснованно заблокировать аккаунт такому пользователю, чтобы предотвратить распространение бессвязных высказываний, оскорблений и угроз в репозитории исправно работающего проекта под названием Installer-SH.

Это, собственно, одна из причин нежизнеспособности Open Source и Linux в целом. Я-то с травлей сталкиваюсь не впервые, да и перспективный способ распространения ПО появился как раз в недрах моего собственного дистрибутива под названием Chimbalix. Меня затравить довольно сложно, но что, если на моём месте окажется какой-нибудь новенький разработчик, ранее не сталкивавшийся с токсичностью и агрессивностью сообщества Linux?

Вот тут и рассыпается философия Open Source и мнимая дружелюбность сообщества. Да она уже давно рассыпалась в глазах многих людей, столкнувшихся лично с токсичностью и нападками. Важно отметить: я говорю не про всё сообщество в целом, а лишь про самую агрессивную его часть. В сообществе хватает разумных и адекватных людей, просто их не видно на фоне токсичных представителей.

Мне даже стало интересно, что там такого в видео за 2019 год. Собственно, всё оказалось так же, как и сегодня. Не вижу, чтобы что-то поменялось на печально известном ресурсе в плане поведения его постоянных обитателей.


Возвращаясь к проекту Installer-SH: как думаете, прибавилось бы желания развивать Linux какому-нибудь новому разработчику после того, как его безосновательно начнут травить, оскорблять, указывать, что делать, и угрожать ему прямо в репозитории проекта? Не думаю. Будет ли Linux адекватно развиваться в таком агрессивном сообществе? Однозначно нет, что легко доказывается его практически нулевой пригодностью для нормального использования в настольном сегменте.

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

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

Стоит ли говорить, что линуксоидам крайне не понравилось, что их покрывшийся мхом ветхий трон в виде пакетных менеджеров просто взяли и отодвинули на второй план? Жаль, конечно, что агрессивная часть сообщества ничего умнее не придумала, кроме как попытаться затравить неугодного разработчика, в том числе используя давление через механизмы open source и угрожая взять в заложники исходный код оригинального проекта.

Но проект есть, он уже приносит пользу при реальном использовании, и бросать его я не собираюсь. Без Installer-SH тривиальная задача переноса и установки ПО на разные дистрибутивы Linux превращается в сущий кошмар, так как традиционные пакетные менеджеры крайне капризны, закрыты (непрозрачны) и фрагментированы.

Так что давайте рассмотрим парочку сгенерированных сообщений об ошибках и на этом закончим статью. Хейтеры явно не ожидали, что их неприкрытую издёвку я оберну себе и своему проекту на пользу. Будет весьма забавно, если они действительно опустятся до того, что сделают форк изначально рабочего проекта и через него попытаются издеваться надо мной. А потом некоторые удивляются и искренне не понимают, почему большинство качественного и популярного софта разрабатывается в закрытых условиях, а исходный код никому не показывается.

Issue #37

Начнём с чистки одного из мусорных сообщений об ошибке. Тут говорится, что переменная Info_Release_Date, во-первых, якобы указана в локальном формате вместо международного ISO 8601, а во-вторых, уже указанная дата якобы кому-то может помешать. Стоит ли объяснять, почему это обращение является мусором, и отправить его на закрытие без каких-либо правок?

А я объясню эту очередную галлюцинацию искусственного интеллекта, вывод которого никто явно не проверял перед автоматическим созданием сообщения об ошибке под номером 37. Во-первых, в моих проектах уже давно принят формат даты и времени по стандарту ISO 8601 — ещё до того, как вообще появился Installer-SH. Вся эта болтовня в тексте про локальные форматы — чистейшая галлюцинация. Во-вторых, поле никто не будет опустошать, так как оно одновременно указывает на дату выпуска самой версии Installer-SH и является эталонным примером для упаковщиков и разработчиков. Да, использование символов «xx» формально нарушает строгий стандарт ISO 8601, но это очевидный шаблон-заглушка для будущих версий, который упаковщик обязан заменить на реальные цифры.

Если упаковщик забыл изменить дату выпуска, то это говорит лишь о некомпетентности упаковщика, а не о проблеме инсталлятора. Такие люди могут совершить ошибку даже в самых совершенных системах, именно поэтому я чётко написал следующее в инструкции для разработчиков: «If any errors are found in the shortcuts or installation package parameters, fix the issues and return to step 1».

Что в переводе означает: «Если в ярлыках или параметрах установочного пакета обнаружены ошибки, устраните их и вернитесь к шагу 1».

Там ещё что-то про сторонние пайплайны говорилось, ну, тут уже не моя зона ответственности. Автоматическое обновление (перезапись) значения конкретной переменной — тривиальная задача для любого разработчика. Если разработчик не способен это автоматизировать в своей системе или она на такое не способна, то грош цена такой системе автоматизации. В конце концов, никто не запрещает разработчику один раз вручную предварительно подготовить шаблон установочного пакета под свою конкретную систему автоматизации. Лапки не отвалятся.

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

Issue #23 и #45

Это сообщение уже выглядит правдоподобно. В нем говорится об ошибке в 21-й строке скрипта pack_archive из каталога tools. Однако, учитывая склонность ИИ к галлюцинациям при генерации сообщений об ошибках, я хочу убедиться в наличии проблемы.

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

Попутно исправлю копирайт и тем самым закрою 45-е сообщение в разделе Issues.

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

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

При этом я попутно улучшил совместимость с системами FreeBSD и очень старыми дистрибутивами Linux, выпущенными до 2013 года, так как там базовые утилиты, вроде tar, немного специфичны. Просто сделал команду максимально простой и универсальной, убрав параметры размера словаря и алгоритма сжатия без потери эффективности. На этом можно закрывать сразу два сообщения о проблемах как исправленные.

Продолжение следует...

Ситуация с токсичными и злонамеренными хейтерами — не то чтобы редкость в мире Linux и Open Source. Новичков действительно могут сломать такие индивиды, и, наверняка, они сломали уже немало разработчиков. Иначе Linux не был бы до сих пор крайне непригодным для нормального использования в десктоп-сегменте, несмотря на то что изначально он разрабатывался для этого сегмента, а в серверную область его просто притянули из-за бесплатности.

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

Конечно, они могут мне насолить: достаточно, чтобы аккаунт, создавший флуд в репозитории, взял и ботом отредактировал все свои сообщения так же, как и создавал записи — тогда рассмотрение оставшихся проблем будет затруднено. Но на такой случай я предусмотрительно сохранил каждое обращение в локальный PDF-файл. Хейтеры хейтерами, а проект сам собой не будет развиваться и совершенствоваться.

Так что я мог бы даже поблагодарить своих хейтеров за такой подарок в разделе Issues, даже если часть проблем высосана из пальца, основана на галлюцинациях или бесполезна. Если бы только они еще умели общаться по-человечески...

В общем, следите за обновлениями, чтобы не пропустить следующую статью.

Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.