Если верить аккаунту GitHub на LinkedIn, то количество репозиториев, располагаемых на их серверах, уже перевалило за 330 миллионов.
Насколько велика заслуга "желтого сообщества" в этом? Ответить на данный вопрос нам поможет Github API. Сделаем простой запрос с отбором по языку
https://api.github.com/search/repositories?q=language:"1C+Enterprise"
И получим ответ: 3367 репозитория. Ну, можно сказать, что они есть. Однако едва ли нас сможет заинтересовать каждый из этих проектов. Предлагаю исключить из выборки те, которые собрали к текущему моменту меньше 5 звезд
https://api.github.com/search/repositories?q=stars:>=5+language:"1C+Enterprise"
Не густо. Но тем проще будет разобрать их все в один присест. Начнем с того, что узнаем, насколько может стать популярным открытое решение на базе 1С. Именно на 1С (ну и OneScript) - я не буду рассматривать проекты, которые создаются для 1С, но на других языках.
Для своих подсчетов я, как бы это не было удивительно, собрал информацию по репозиториям в отдельную конфу и сейчас буду показывать картинки
Диапазоны звезд
Диапазон | Репозиторий |
5-16 | 246 |
16-32 | 104 |
32-64 | 52 |
64-128 | 32 |
128-256 | 5 |
256-512 | 5 |
>512 | 1 |
Итого | 445 |
Ожидаемо, превалирующее большинство - репозитории с небольшим рейтингом. На мой взгляд было бы уместно разбить всю выборку на группы по официальным значкам самого GitHub.
В итоге мы имеем:
Стандартный Starstruck - 188 репозиториев
Бронзовый - 10 репозиториев
И один гигант на серебро
Звезды, конечно, сами по себе, репозиторию ничего не дают. Но зато для нас это яркий маркер: во-первых количества проектов "на слуху", а во-вторых - вовлеченности 1С сообщества в эту тему в целом. Однако, репозитории - это все таки про людей, поэтому, я считаю, что и рассматривать их было бы уместно через призму авторов. Мало ли, окажется, что все их сделал один загадочный киногерой?
Авторы
Всего 1С-ных на GitHub - 12713 звезд, а делят их 191 автор (без учета репозиториев < 5 звезд). Я думаю, самым уместным было бы рассказать о наиболее успешных их представителях - это будет Топ-10 авторов по числу звезд и я вкратце опишу, чем они все занимаются.
Автор | Число репозиториев | Звезды | Процент от общего числа звезд |
oscript-library | 18 | 713 | 5.60% |
cpr1c | 6 | 704 | 5.53% |
vbondarevsky | 4 | 573 | 4.50% |
arkuznetsov | 17 | 543 | 4.27% |
vanessa-opensource | 4 | 514 | 4.04% |
Pr-Mex | 3 | 446 | 3.50% |
BlizD | 5 | 363 | 2.85% |
xDrivenDevelopment | 1 | 328 | 2.58% |
1C-Company | 3 | 312 | 2.45% |
Stepa86 | 12 | 275 | 2.16% |
1. oscript-library
Нечего было и гадать, что именно библиотека пакетов oscript окажется на первом месте. Пусть сам язык OneScript - не совсем 1С, но то, что проект - это лицо 1C-ного open-source, лично у меня во всяком случае, сомнений не было. Сам менеджер пакетов, а так же gitsync, v8runner, packman, deployka и прочие замечательные вещи - это все оттуда. Нельзя не упомянуть тут и создателя OneScript - EvilBeaver. Как уже оговаривалось, топ отобран по языку 1С, а OneScript написан с большего на C#, такие дела. Не упомянуть его здесь, тем не менее, было абсолютно невозможно.
2. cpr1c
Вторая организация в нашем списке - Центр прикладных разработок. Главный репозиторий - Универсальные инструменты для УФ. Даже если вы никогда не были на странице данного проекта, то все равно наверняка пользуетесь хотя бы одним из представленных там инструментов: начиная от консоли кода и группового изменения объектов, заканчивая коннектором (о котором еще пойдет речь далее, к слову). Не все инструменты сделаны самим ЦПР, но именно благодаря философии open-source и открытым лицензиям мы имеем то, что имеем - настоящий всеобъемлющий швейцарский нож из разнообразных инструментов, собранных в одну систему. P.S. УИ - это и есть тот серебрянный гигант с 581 звездой.
3. vbondarevsky
Владимир Бондаревский - тот самый, который сделал Коннектор. Как правило, мироощущение подсказывает мне, что рассказывать о существовании Коннектора не нужно. Так же, как и не нужно рассказывать о существовании консоли запросов или обработки группового изменения объектов. Но потом на Инфостарте появляется новая статья о том, как отправить multipart/form-data POST запрос. Если вы все еще пишете http-запросы руками - не пишите, используйте решение, проверенное годами. А от меня - отдельное спасибо за возможность попереть gzip распаковку уже для моей библиотеки. Хотя потом в одном комментарии написали, что изначально это и не из Коннектора код) Эх, как обычно, все
4. arkuznetsov
К своему стыду должен признать, что до момента написания статьи из проектов Артема Кузнецова я знал (слышал) только о 1script проектах yard для загрузки релизов и irac для управления кластером. Но, как оказалось, самым известным репозиторием является Библиотека сериализации SerLib1C. Все, кому необходимо реализовывать обмен значениями ссылочных и объектных типов - смотреть обязательно
5. vanessa-opensource
Один из трех столпов автоматизированного тестирования, наследник xUnitFor1C и Vanessa-Behavior. Думаю, многие хоть раз слышали про add. Мне сложно судить о том, насколько активно автоматизированное тестирование де-факто входит в повседневную жизнь команд разработки обычных решений для конкретных компаний, но будем надеяться и верить, что однажды оно станет стандартом и даже TDD не будет казаться нам чем-то нереализуемым.
6. Pr-Mex
Второй, но не по значимости vanessa проект - vanessa-automation. Мне, как человеку не глубоко в теме, в глаза бросается только одно - этот проект самый большой. Больше xUnit и add, имеет больше участников, больше коммитов, больше звезд и есть своя документация. Надеюсь, знающие люди в комментариях подскажут, но если вам интересно прямо сейчас, то есть страница с описанием отличий add и vanessa-automation
7. BlizD
Наконец прикладное решение в нашем топе. Основной проект Антона Иванова это Tasks - полноценная конфигурация для управления задачами на основе канбан доски. Активно развивается и по сей день между прочим - обязательно оцените репозиторий и статью на Инфостарте.
8. xDrivenDevelopment
Уже третий проект про тестирование? Крик души 1С dev-community, не иначе. Два репозитория тут наиболее интересны: xUnitFor1C - собственно фреймворк для тестирования (модульного/юнит, приемочного, сценарного для 1С 8.3, интеграционного) и precommit1c - инструмент для хранения в Git исходников внешних отчетов/обработок (для их сборки и разборки). Одобряем, поддерживаем.
9. 1C-Company
Вот уж кого не просто было заподозрить в тяге к опенсорсу - профиль самой фирмы 1С на 9-ом месте. В целом направленность его достаточно очевидна - развитие EDT. Тут у нас есть GitConverter, синхронизирующий хранилище конфигурации с git, для перехода в дальнейшем на EDT, и набор плагинов уже непосредственно для EDT: v8-code-style, ssl-support и другие. Доступно и всерьез Медленно, но верно, короче.
10. Stepa86
У Антона Степанова есть множество интересных репозиториев на OneScript: 1C-Deploy-and-CopyDB, stebi и др., но я бы хотел отойти немного в сторону и отметить jenkins-pipeline-1C-to-sonar. Это jenkins конвейер с подробным описанием процесса настройки в статье на Инфостарте. Пайплайны это круто, хотя этот репозиторий, очевидно, не на языке 1С.
Много кто сюда не вошел: bia, BITERP, firstBit, 1c-syntax - проекты с упором на другие языки; не попали активные участники больших проектов, вроде nixel2007, theshadowco или artbear, но статистика есть статистика. Моя задача лишь показать, что есть на 1С (на языке 1С) на GitHub живые интересные проекты и активные организации. Кто не попал - не обижайтесь :)
*К слову, много других интересных репозиториев можно найти в списке awesome-1c от artbear, обязательно посмотрите
Мегатаблица
Пока я считал чужие звезды, у меня накопилась некоторая (достаточно обильная) информация об авторах и репозиториях и было бы очень жаль, если бы она просто сгинула в моей богом забытой файловой базе на вечерок. Поэтому было принято решение сделать ее достоянием общественности.
Выгружены данные были в БД на Notion, которую вы можете найти по этой ссылке.
UPD: Таблица развилась до полноценного проекта - OpenYellow. Подробнее тут
Вот как это выглядит:
Как уже понятно из названия, там доступна информация по лучшим 200-м репозиториям. Можно искать по полям, сортироваться и т.д., сам Notion - вообще отличная штука на самом деле. Если еще не пробовали - попробуйте. Сам я выгружал эти данные из 1С при помощи Notion API через свою, еще пока недоделанную, библиотеку. Ждите в скором времени статью и пополнение состава Открытого пакета интеграций *конец рекламной пазуы*.
Но что-то я отвлекся...
Заключение
1С-ная часть Github - сравнительно очень (очень) не велика. Даже если включить в область рассмотрения решения "для 1С" на других языках, едва ли это сильно изменит ситуацию. Просто для сравнения: тот же запрос из начала статьи (с отбором проектов >5 звезд) возвращает для Java - 224543 репозитория, для Python - 564509, для C# - 128683.
У этой маленьковости есть огромное количество причин, начиная с того, что 1С-ный IDE до EDT вообще напрямую с файлами не работал и на GitHub не выгружался - есть же хранилище, заканчивая ограниченным, локальным распространением 1С и его предметной ориентированностью.
Однако, нельзя утверждать, что 1С-ного open-source нет - многие отличные проекты поддерживаются, растут и развиваются усилиями сообщества, для того, чтобы облегчить нашу работу. Покопайтесь в том же списке 200-ста - наверняка найдете что-нибудь интересное. А если нашли - поддержите. Это очень важно.
Спасибо за внимание!
Мой GitHub: https://gitub.com/Bayselonarrend Лицензия MIT: https://mit-license.org