Моя статья про Open Source, хотя свой первый проект на GitHub я выложил только в 2024 году. Это не помешало мне за довольно короткий срок попасть в топ-100 авторов Open Source по 1С. Значит, путь свободен, и войти в него можно прямо сейчас.
Название «Что ты сделал для Open Source в свои годы?» звучит немного провокационно, как вызов. Оно будто предполагает, что у человека уже есть какой-то проект: он хорошо написал код и где-то его выложил. Но я покажу примеры, когда в Open Source можно войти вообще без знаний программирования. С программированием тоже можно, конечно, но есть и другие способы.
Что вообще такое Open Source? Бесплатное программное обеспечение? Проект на GitHub? Какой-то идеальный код? С этим и будем разбираться.
Павел Чегодаев рассказывал на «Инфостарте» о том, как войти в Open Source через Git. Я послушал его и понял, что мне чего-то не хватает. Он объяснил, как войти через Git, но не рассказал, почему вообще туда нужно идти и с чего начинается этот путь. Поэтому я решил рассказать свою историю, начиная с 2022 года: как ко мне пришло понимание, для чего все это нужно.
Проект с ESB и поиски готового решения
В 2022 году я искал проект по внедрению ESB-решения. Мне хотелось внедрить шину, а если я чего-то хочу, то обычно начинаю искать под себя подходящий проект.
До этого в одном месте я уже внедрял обмены на HTTP-сервисах. Мне предложили все существующие там обмены перевести в единое пространство. Я знал, что с деньгами проекты там не очень щедры, поэтому предположил, что решение будет бесплатным – например, WSO2. В тот момент оно было у меня на слуху, и я начал искать, кто в мире 1С уже внедрял WSO2.
Так я наткнулся на статью «Интегрируй это» Вадима Фоминых //infostart.ru/1c/articles/1866470/. Из нее я вынес три вещи.
Я уже знал, что такое история данных. По сути, это возможность, похожая на версионирование, только платформенная. Но почему-то не знал, что версионирование объектов можно включать и выключать программно.
Кроме того, Вадим показал применение постобработки. При помощи библиотеки SerLib1C Артема Кузнецова https://github.com/arkuznetsov/SerLib1C он трансформировал данные в JSON и отправлял их через шину получателям. До этого я не знал об этой Open Source-библиотеке.
1С:Шина без готовой обвязки
Дальше на проекте произошло следующее. Оказалось, что выбрали не бесплатную шину, а купили «1С:Шину». В тот момент она только вышла. Решение уже существовало, продавалось, его можно было купить – но для работы с ним не было практически ничего.
Не было никаких готовых обвязок. Это меня сильно удивило. Обычно, когда мы покупаем продукт, к нему прилагается хотя бы какая-то подсистема. Здесь ничего подобного не было. Я подумал: «Ладно, нет обвязки – будем делать обвязку».
Для регистрации изменений я решил использовать платформенную Историю данных, так как мне казалось, что точно должны существовать готовые обработки, которые программно включают и выключают этот механизм. Я начал искать. Механизм появился еще в 2017 году, 2022-й уже заканчивался, а по нему практически ничего не было.
Только 11 января 2023 года на «Зазеркалье» вышла статья https://wonderland.v8.1c.ru/blog/nastroyki-istorii-izmeneniy-dannykh/, где анонсировали, что такая обработка появится в платформе 8.3.24. Я, честно скажу, подсмотрел дизайн и подумал: «Ладно, будем делать».
В результате пришлось создавать обвязку, разбираться с сервисами интеграции и писать подсистему для работы с историей данных. Обработку я выложил 14 февраля 2023 года //infostart.ru/1c/tools/1808124/. Позже она вошла в пакет PAPI-tools.
Когда ты сделал то, что, по идее, должен был сделать вендор, появляется желание сравнить решения. Через четыре месяца вышла бета-версия платформы 8.3.24, и я опубликовал сравнение. Кроме самого сравнения, я выложил в статью и обработку вендора //infostart.ru/1c/tools/1882953/.
Через год вышла платформа 8.3.26, и вендор выпустил вторую версию обработки. Я кое-что там подсмотрел, снова сделал сравнение и также выложил это решение в статью //infostart.ru/1c/tools/2152783/.
Почему я так поступил? История данных доступна еще с платформы 8.3.11, но обработка вендора для работы с ней – только с 8.3.24. Если у вас по какой-то причине более ранняя платформа и вы хотите использовать историю данных, приходится где-то искать обработку или придумывать собственное решение. Подход странный, но имеем то, что имеем.
Побочные эффекты
У проекта появились побочные эффекты. Пришлось писать много разных инструментов, а первым побочным эффектом стали ошибки и баги.
Когда я разбираю какой-то механизм, то стараюсь погружаться в него очень глубоко. Я расшатываю его, как больной зуб. А когда глубоко погружаешься в механизмы фирмы «1С», обязательно находишь баги. Это почти неминуемо.
Найденные ошибки я отправлял в техподдержку фирмы «1С». Некоторые баги техподдержка не смогла воспроизвести, и тогда мне пришлось просто выкладывать их в виде статей //infostart.ru/1c/articles/1970736/. Объяснять техподдержке каждый раз, как именно вызвать ошибку, отнимает очень много времени, поэтому иногда проще выложить. как эту ошибку можно обойти.
Второй побочный эффект связан с моей привычкой все документировать: сразу делать изображения и подробно описывать происходящее. За два с небольшим года проекта у меня появилось 20 статей, около пяти обработок для работы с сервисами интеграции и другими механизмами, несколько подсистем. Я отправил более десяти багов и записал несколько видео.
В тот момент я еще не собирался ничего выкладывать в Open Source и вообще не думал о мире Open Source. Но статьи, обработки, видео и описания ошибок, хочешь не хочешь, запустили принцип домино. Они породили другие вещи, которые уже повлияли на Open Source.
Первый проект на GitHub и синдром самозванца
В 2024 году я впервые всерьез задумался о том, чтобы войти в Open Source. Решил, что пора выходить на GitHub.
К тому времени у меня уже была подсистема PAPI, которой я пользовался с 2019 года. Благодаря разным проектам она постепенно обросла функциональностью, и я подумал, что пора ее выложить.
Вообще, я хотел сделать это еще в 2019 году, но меня постоянно что-то останавливало. Казалось, что код неидеальный, что подсистему нужно еще причесать и долизать. Срабатывал синдром самозванца.
Тогда я придумал хитрый план. Собрал обработки, которые можно использовать универсально, объединил их в PAPI-tools и выложил эту подсистему https://github.com/dsdred/PAPI-tools. Это и стало моим первым Open Source-проектом в мире 1С.
Кроме того, я публично объявил, что выложу PAPI в свой день рождения – в каком бы виде она к тому моменту ни была. Взял себя на понт: сказал – сделал.
Момент, когда я понял принцип Open Source
В процессе проекта появилось много статей. Я видел, как на них ссылаются в каналах, люди говорили спасибо – все это было приятно. Но понимания, для чего все это нужно и в чем сам принцип Open Source, у меня еще не было.
Я просто закрывал собственные проблемы и решал свои головные боли. Момент истины наступил в конце 2025 года, когда я приехал на Infostart Tech Event и попал на выступление Никиты Иванченко.
Он рассказывал, как взять шину, убрать ее, поставить Open Source-решение и через сервисы интеграции работать с ним точно так же, как будто шина никуда не исчезла.
Когда я писал свои статьи, то думал примерно в эту сторону. Постепенно к этому шел, но очень сильно распылялся – я вообще не люблю заниматься только одним делом – и никак не мог добраться до реализации.
А тут Никита шаг за шагом рассказывал именно то, что было у меня задумано, и подтверждал, что все эти шаги действительно можно сделать. Он упомянул некий Open Source-проект и сказал примерно следующее: «Если бы я раньше посмотрел этот проект, он сократил время, которое я потратил, чтобы все это расковырять».
Когда я вернулся домой, начал пересматривать выступления, которые пропустил, и наткнулся на выступление Евгения Кузнецова. Там снова упоминался тот же Open Source-проект. Я подумал: «Да что такое? Видимо, проект действительно интересный, раз о нем говорят разные люди».
Я открыл проект на GitHub https://github.com/rzateev/1cServiceIntegrationMock и увидел в нем ссылки на свои статьи и скриншоты PAPI. Человек взял то, что я не доделал, подхватил флаг и донес его до финиша.
Когда я это увидел, чуть со стула не упал – практически с грохотом. Я был очень удивлен. По сути, только в этот момент я понял, что такое Open Source.
Как внести вклад без написания кода
Какой вклад вообще можно сделать в Open Source? По большому счету, можно написать любую статью. Она необязательно должна содержать код: можно просто рассказать о каком-то механизме. Это уже вклад в Open Source.
Можно высказать идею на конференции или в обычном разговоре. Это тоже вклад.
Можно решить собственную головную боль и рассказать другим, как вы ее решили. Это вклад в Open Source.
Можно найти баг, отправить его в техподдержку или автору проекта и объяснить, как его воспроизвести. Так вы улучшите проект – и это тоже вклад.
Наконец, если вам помогла статья или понравился проект, можно поделиться ссылкой с другими. Это отличный вклад в Open Source.
Принцип домино. Пример из мира IDE
Open Source – это не обязательно маленькие проекты. Есть и большие решения. Здесь показательна история из мира IDE и Open Source.
Более десяти лет назад одна крупная фирма захотела создать собственную IDE для своего языка и выбирала среди Open Source-решений. На тот момент уже существовала старенькая, прожорливая и неповоротливая IDE, в основном заточенная под Java. Одновременно появилось новое, модное и спортивное решение, которое потребляло меньше ресурсов и позволяло легко создавать плагины.
Но выбрали большой «бульдозер» – Eclipse. Спустя десять с лишним лет можно констатировать следующее: по большому опросу Infostart VS Code входит в топ-3 IDE, которыми пользуются 1С-разработчики.
Его никто специально не продвигает – его продвигает сообщество. В мире VS Code и решениями на его основе пользуются более 50% программистов. Появляются форки: Cursor, Qoder и другие. Новые решения возникают постоянно. При этом путь Cursor от идеи до создания занял три года, Qoder – два года.
Популярность Eclipse ежегодно падает, и сейчас в мире им пользуются примерно 6–8% программистов. Open Source-сообщество уже выбрало удобный для себя инструмент и развивает его.
Чем больше людей работает с определенной платформой, тем больше появляется решений и тем лучше становится сам продукт. VS Code – уже не просто IDE, а платформа для сообщества.
В мире 1С я наблюдаю настоящий бум вокруг VS Code. Есть агрегатор OpenYellow, где видно, как много появляется проектов: MCP-инструменты, замены конфигуратора и многое другое. Все перечислить невозможно – за этим нужно постоянно следить.
С одним знакомым инженером мы посмотрели один из таких проектов – EDT-MCP https://github.com/DitriXNew/EDT-MCP Дмитрия Шерстобитова. Он позволяет установить в EDT плагин, после чего EDT выступает в роли MCP-сервера.
У Иосифа Правеца есть проект, в котором он собирает различные образы в Docker-контейнерах https://github.com/pravets/onec-images. Иосиф предложил использовать проект Дмитрия Шерстобитова: развернуть готовый Docker-контейнер и, не устанавливая EDT, через протокол MCP получить в Cursor, VS Code или другом редакторе все возможности EDT.
Честно скажу, для меня это все равно пока не тот вариант. Сейчас появляются более интересные решения. Я дождусь их – или, может быть, даже сам поучаствую в каком-нибудь другом проекте.
Импортозамещение
Еще одна важная тема – импортозамещение. Open Source сейчас очень активно развивается в этом направлении.
Часто это выглядит так: берут Open Source-решение, переклеивают лейбл и говорят: «Вот мы молодцы, что-то разработали». Но есть и люди, которые делают все по уму.
В первую очередь хочется похвалить Яндекс. Он постоянно дарит сообществу свои сильные продукты, выкладывая их в Open Source. Компания уже открыла ClickHouse, YDB, DataLens и продолжает это делать.
Вероятно, Яндекс тоже получает от этого выгоду: люди находят баги, продукты распространяются и развиваются. Но в любом случае хочется сказать за это большое спасибо.
Есть, например, отечественная замена Prometheus – продукт, написанный на C++ https://deckhouse.ru/products/prompp/. Он позволяет снизить потребление ресурсов, потому что Prometheus расходует их очень много.
Отдельно стоит упомянуть Angie https://angie.software/angie/. Выходцы из Nginx создали в России компанию, в штате которой уже более 50 человек. Они развивают форк Nginx. Они очень далеко от него ушли и иногда сами выступают донорами, передавая отдельные наработки обратно.
Все перечисленные продукты сохраняют обратную совместимость. Один продукт можно убрать, другой поставить, а настройки останутся практически прежними.
ИИ: Ваш новый соавтор в Open Source
Нельзя не затронуть искусственный интеллект: сейчас он может выступать соавтором Open Source-проекта.
Допустим, у вас есть идея. В нашем сообществе есть Александр Шапошников, который в последнее время полюбил вайбкодить. Однажды я написал ему: «Саша, было бы прикольно сделать конвертер из JSON, XML и CSV в TOON и обратно».
TOON – формат, который помогает уменьшить расход токенов при работе с моделями. По сравнению с JSON он может экономить примерно 40–60% токенов.
Саша потратил пару вечеров – и появился замечательный проект для конвертации в TOON и обратно https://github.com/ShapaPro/Transformer/. Надеюсь, он еще и документацию к нему навайбкодит.
Первый шаг в Open Source
Чтобы войти в мир Open Source, необязательно быть программистом, уметь писать код или иметь большую библиотеку.
Можно написать статью. Можно рассказать о баге. Можно просто сказать автору спасибо. Если вам понравилось решение, напишите где-нибудь в комментариях: «Спасибо автору». Ему будет очень приятно.
Можно поделиться идеей. Возможно, одна такая идея посадит кому-то зерно в голову, а потом оно прорастет в виде Open Source-проекта.
Можно просто поделиться ссылкой. Главное – определить, каким будет ваш первый шаг в мир Open Source.
*************
Статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART TEAM EVENT.
Вступайте в нашу телеграмм-группу Инфостарт

