Выбор проекта для open source
Определившись со стратегией участия, мы задались следующим вопросом: а что бы такого нам в open source привнести? Поскольку идей по Причинению Немедленной Пользы Человечеству у нас никаких пока нет, мы решили выложить что-нибудь из уже использующегося у нас во внутренних проектах или какие-нибудь утилитарные вещи, используемые из проекта в проект в заказной разработке. Такого накопилось у нас довольно-таки много, вполне можно поделиться с сообществом.
К кандидатам на open source были выдвинуты следующие требования:
- оно должно быть небольшое, чтобы к нему было легко дописать документацию, объясняющую что это и как им пользоваться.
- оно не должно быть «революционным» или предлагать какой-то «новый подход» - оно должно просто что-то улучшать или упрощать.
- оно должно быть уже применено у нас более в реальном проекте.
В итоге для опыта был выбран, разработанный нами для одного внутреннего проекта (о котором ещё не пришла пора поведать миру), набор провайдеров аутентификации через российские почтовые сервисы (yandex.ru, mail.ru) и соцсети (vk.com, ok.ru) для сервера управления доступом Keycloak.
Дальше началась конкретная работа. Очевидно, если просто выложить исходники в открытый доступ, вероятность того, что кто-то ими воспользуется равна примерно нулю. Чтобы у человека, которому потенциально интересна наша наработка, появилось желание её испробовать необходимо:
- предоставить документацию, объясняющую как воспользоваться решением.
- дать возможность скачать всё, что необходимо для запуска, в бинарном формате, чтобы ему не нужно было ничего собирать из исходников
В результате появился проект на
GitHub и библиотеки в
Maven Central.
В дальнейшем проект получил развитие в виде модуля интеграции Keycloak и Kafka, а также коммерческого модуля аутентификации в Keycloak через ЕСИА