Пытаюсь начать разработку нового проекта и размышляю о несостоятельности Open-Source

Проект ChimbaBench оказался довольно полезным, хоть и заброшенным. Так как со временем было выявлено много недостатков, было решено выпустить новый проект. Тем более Open-Source сообщество за три года не внесло ни одного исправления в мои открытые проекты.
9 февраля 2026, понедельник 06:20
Hard-Workshop для раздела Блоги

Некоторые наверняка сталкивались с любителями Линуксов и их пропагандой про крутое Open-Source сообщество, которое, якобы, способно творить и развивать существующие проекты. Как думаете, хоть один активный любитель Линуксов, по совместительству приверженец Open-Source, смог подтвердить делом хвалебные речи про Open-Source? Вопрос интересный, и в каждом случае могут быть разные ответы, но сейчас посмотрим на мой реальный случай.

В 2023 году я экспериментировал с простым калькулятором (Chi Calculator). От этого проекта не требовалось буквально ничего, кроме лёгкого запуска и распространения в разных Линуксах. Что уж говорить - Linux и по сей день плох в плане сохранения совместимости. Но мой проект развивался и работал, что вызывало сильное негодование у любителей Linux, потому что я напрочь отказался следовать дедовщине в данной среде. Я отказался топить свои проекты в болоте зависимостей. Я отказался от распространения через ненадёжные и неудобные репозитории дистрибутивов. Буквально, отказался превращаться в разработчика, которому плевать на пользователей и свои проекты. При этом важно понимать, что я не был разработчиком в то время. Я был простым пользователем, которого очень не устраивала общая несостоятельность Линуксов и софта для этой платформы.

Когда я наигрался с калькулятором, который, между прочим, уже умел считать и работал даже на смартфонах с Android 5, было решено начать разработку собственного бенчмарка. Ибо от мира Linux ничего пригодного для реального использования найти не удалось. Так появился ChimbaBench. Как думаете, хоть один недовольный представитель сообщества добавил хоть одну строчку кода за три года существования проектов? Вопрос, конечно же, риторический.

           

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

Программа появилась даже на торрентах, без моего вмешательства.

В результате, прошло три года, а Chi Calculator и ChimbaBench до сих пор живы и прекрасно работают. Когда масса прочего софта для Linux уже давно умерла вместе с репозиториями и зависимостями некоторых дистрибутивов.

Получается, ChimbaBench достаточно хорош, чтобы никто не хотел его дорабатывать и развивать? Иного объяснения не видно, если почитать цитаты Линуса Торвальдса. Ведь свою задачу проект выполняет не идеально. Даже указаны известные проблемы на странице проекта. Есть даже запас под реализацию нового функционала. Но никто, не удосужился подключиться к проекту и написать хотя бы одну строчку кода.

Вся эта болтовня, мол, начинайте с малого и простого, а потом якобы подключатся другие люди к проекту, выглядит как пустозвонство. Разрабатываемые проекты не получили никакой реальной пользы от сообщества Open-Source. Ни в стадии зарождения, ни когда были наполовину пригодными, ни когда уже начали выполнять свои задачи. Если посмотреть с моей стороны, разработчика, то Open-Source сообщество — это совсем не союзник. Мягко говоря.

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

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

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

Может, я и сам, в какой-то степени стал токсичным, постоянно сталкиваясь с токсичностью сообщества Linux и Open-Source. Уж простите, если кого-то обидел ненароком. Но тут всё же важно понимать, что в любом сообществе могут быть подобные представители.

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

Что же именно я хочу разработать? Полагаю, некоторые уже догадались, что я собираюсь разработать новый ChimbaBench. Вот тут и встаёт выбор основы для разработки нового проекта. Можно, конечно, набросать код на C++, но такими делами я уже давно не занимаюсь. Да и не хочу работать с OpenGL API напрямую. У меня другие идеи есть для реализации на языке C++.

Современный Unreal Engine 5 тоже не подойдёт для реализации моего проекта, как и Godot Engine 4. Эти игровые движки зависимы от Glibc 2.28, что означает несовместимость с Линуксами до 2019 года выпуска. Unity Engine в принципе не рассматриваю из-за лицензионного соглашения.

Godot версии 3.6 так же пролетает мимо, ибо разработчики скомпилировали эту версию движка с зависимостью от Glibc 2.28, что крайне плохо сказывается на обратной совместимости.

Godot Engine 3.5.3 уже зависим от Glibc 2.17, а Godot 2.1.5 — лишь от немного более старого Glibc 2.15.

Но проблема в том, что обе версии Glibc были выпущены в 2012 году. Иначе говоря, я не смогу добиться совместимости с Debian 7, что выпущен в 2011 году. А ведь Windows 7 была выпущена в 2009 году...

Мне как разработчику, приходится танцевать с бубном ради обратной совместимости. Просто потому, что Линуксы — это нечто, сколоченное из гнилых брёвен ржавыми гвоздями. Стоит затронуть хоть один ржавый гвоздь и вся система рассыпается по зависимостям. Ну нельзя просто взять и одним движением руки прибить к старому Линуксу современный Glibc или любой иной компонент, необходимый для работы софта. За новой версией Glibc обязательно потянется загрузчик динамических библиотек ld-linux, а потом ещё много чего может потянуться по зависимостям. Я хоть уже и опытный человек в Линуксах, но танцевать с бубном в болоте зависимостей не имею большого желания.

Изображение — Stable Diffusion.

Мне нужен вариант с минимальными трудозатратами, при максимальной совместимости. Среди вариантов есть кастомная реализация Godot 2.1.5, работающая в среде Windows XP. Но проблема в том, что Godot Engine настолько сильно меняется с новыми версиями, что мне буквально придётся заново разбираться во всём. А ведь у движка Godot есть даже проблемы с точностью мировых координат. И есть проблемы со звуком в старой версии, хотя они и не критичны для моей задумки.

Если я начну изучать старую версию Godot и при этом ещё танцевать с бубном над Glibc, то как разработчику мне некогда будет работать над новым проектом. А я хочу, чтобы проект работал даже в Windows XP. С линуксами уже фиг с ними, обойдутся. Там и так дистрибутивы умирают после обновлений, как мухи после дихлофоса. Ибо ад зависимостей и повсеместное неуважение к чужому труду.

Потому остаётся вариант компиляции Godot Engine 3 из стороннего исходного кода, что заявлен как адаптированный для Windows XP. Как думаете, на этом танцы с бубном закончатся?

                       

Встроенный архиватор Windows XP отказался работать со скачанным из GitHub архивом в формате ZIP. Даже File Roller ругался на TAR архивы, созданные платформой GitHub.

По итогу выяснилось, что GitHub формирует и выдает испорченные архивы с исходным кодом. А других вариантов скачать готовый архив нет, потому что владелец репозитория не удосужился всё упаковать в нормальные архивы и выложить в виде релиза.

                       

Придётся танцевать с бубном, чтобы клонировать репозиторий. Но и тут всплывает проблема, ибо GitHub не даёт правильной ссылки для клонирования конкретной ветки проекта. Он даёт ссылку в разных вариантах на клонирование всего проекта целиком.

Ну что же, придётся выкачать целый репозиторий, ради одной или нескольких его частей.

Ну а чтобы не танцевать с бубном в терминале, переключать ветки будем приложением GitHub. Это непродуманная система для использования обычным пользователем, который поверил в красивые сказки про распространение софта исходниками. Но что есть, то есть.

Выбираю версию 3.5 из репозитория godot-xp, так как эта версия движка наиболее совместимая, и именно её хочу собрать под Windows XP. Вроде бы логичный выбор, не правда ли?

Так как архиватор File Roller не способен упаковать исходный код движка в iso образ, ибо что-то не переваривает, я сначала упаковал в ZIP архив и уже этот архив пакую в iso образ и переношу в Windows XP для компиляции. Вот вам и распространение софта в виде исходников.

Осталось разобраться с зависимостями.

Сначала пытаюсь собрать движок в среде Windows XP. Нашёлся Python 3.4.4, совместимый с данной ОС.

Ну да, нужен ведь ещё и SCons.

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

Получили ошибку: Invalid Syntax. А ведь инструменты, необходимые для компиляции софта, являются базой и просто обязаны иметь максимальную обратную совместимость из возможных.

Делать нечего, будем компилировать в Windows 7, а потом проверять результат в среде Windows XP. Если компиляция пройдёт успешно.

Но Python версий 3.7+ оказался настолько привередливым, что отказывается устанавливаться на Windows 7 SP1, если не установлены абсолютно все обновления. Так что ставлю Python 3.6.

Спустя минут 15-20 компиляция завершилась без успеха. Может я неправильно подредактировал команду для компиляции? Увы. С оригинальной командой от автора репозитория всё то же самое. Пробую 64-битную версию компиляторов использовать. А ещё заметил предупреждение, что SCons ругается на Python старее 3.7. Хотя продолжает нормально работать.

                       

Похоже, придётся установить более новый Python и попытаться снова. Установку обновлений оставлю за кадром. Благо, это Windows, а не Linux, и обновления легко устанавливаются из автономных пакетов.

Но даже обновив Python, собрать кастомный Godot Engine из исходного кода не удалось.

Может из под Линукса выйдет? Увы.

И тут мне стало интересно. Что если скомпилировать код через WINE?

Забавно. А ведь в настоящей Windows, зависимости не выделывались при установке. И тут облом с компиляцией из хвалёных исходников. Хотя я просто оЧепятался в наборе команды, а заметил это уже сильно позже. Возможно, компиляция сработала бы, но я не буду возвращаться на этот этап и пробовать заново. Это никак не поможет ситуации в целом.

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

А ведь так не хочется начинать новый проект на основе Godot 2, потому что придётся заново изучать движок, вместо того, чтобы заниматься разработкой своего проекта. Но мне хочется заполучить поддержку Windows XP. Если Линуксы 2001-2012 года абсолютно непригодны для использования и мертвы с концами, то Windows XP всё ещё живая и рабочая операционная система. Хоть она и непригодна для современных компьютеров, но безальтернативна для очень старых ПК.

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

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