Надежда Иванова е софтуерен разработчик в Symas Corporation. Има над 15 години опит в разработката на мрежови и сървърни приложения, основно в Линукс среда. Има принос към разработката на Samba 4, по-специално в областта на авторизацията на директорийните услуги, и от 2009-та година е член на Samba Team. От 2013 се занимава и с разработката на модули за OpenLDAP.

Как започна да се занимаваш със Samba и OpenLDAP?

Постепенно, и определено не нарочно. Интересно ми е да се занимавам както с програмиране, така и с компютърни мрежи. Харесваше ми как технологиите позволяват на хората да се свързват, без дори да подозират за огромната машина от софтуерни и хардуерни компоненти, която прави модерния ни живот възможен.

Естествено, доста е трудно да имаш интерес към мрежово програмиране, и да не откриеш Линукс. Работех в стартъп компания, която разработваше Линукс алтернатива на Microsoft Exchange™. Сървърът работеше и беше съвместим на протоколно ниво. Но, както и Exchange, имаше нужда от Active Directory, което обезсмисляше плащането на отделен лиценз за сървър под Линукс. Затова беше предложена идеята да заменим и Active Directory. Сигурно се досещате, за какъв мастодонт става дума, а наличните разработчици – само двама. Колегата ми проучи какви са съществуващите решения, и открихме Samba 4, където вече имаше забележим напредък. Свързахме се със Samba Team и постепенно започнахме да допринасяме.

Участието ми в OpenLDAP всъщност се случи покрай Samba. Обсъждаше се идеята да се замени доста ограниченият като възможности вграден LDAP сървър на Samba с доказалият се през времето OpenLDAP, и Symas Corporation ми предложиха да се включа. И аз, като видях проект с огромна сложност, но и с голям потенциал, скочих с двата крака.

Коя е най-интересната част от работата ти с LDAP?

Директорийните услуги са един от фундаменталните компоненти на софтуера, който движи днешния бизнес. Трудно е да си представим модерен офис, в който няма система за управление на идентичността, на достъп до ресурси и и-мейл, но е едно от нещата, които крайният потребител не забелязва, част от двигателя под капака.

Самият LDAP сам по себе си не е много сложен, но има механизми, които позволяват разширяването на функционалността ми чрез така наречените extended operations. По този начин всеки вендор може да разработи допълнителна функционалност според нуждите си, което прави възможностите на LDAP огромни.  Истинската сложност е в правилния дизайн на крайната система – schema и access control.

Какво интересно може да научи IT общността от твоята презентация,и от конференцията като цяло?

Моята презентация се отнася за проекта, по който основно работя – интеграцията на OpenLDAP като основен LDAP сървър на Samba. Ще запознаем слушателите със сложността на проблема, какво и защо се опитваме да направим, предишни опити за решението и защо сме се отказали от тях, и какви са следващите стъпки.

Конференцията предлага интересни лекции, които ще представят напредъка в развитието на различни IM и Directory Services решения, като например ApacheDS, OpenLDAP, ForgeRock, Sparrow, 389 Directory и LemonLDAP::NG. Ще има както лекции за конкретни проблеми, например специфични OpenLDAP модули, така и за практическото използване на IM и LDAP за управление на идентичността, като например изграждане на системата в University POLITECHNICA в Букурещ.

Най-вече хората ще имат възможността лично да се запознаят с водещите разработчици на  тези проекти, да дискутират заедно интересни теми и просто да се забавляват заедно.

Какво би посъветвала хората, които искат да се занимават с LDAP, и по-специално с Open Source проекти като OpenLDAP и Samba?

Запознайте се дълбоко с протокола, прочетете RFC. Но най-вече – бъдете сигурни, че познавате добре библиотеките, с които ще работите, както и операционната система. Някои от най-неприятните проблеми, който съм имала, са се дължали на неочаквано поведение на библиотечна функция.

В областта на Open Source, моят скромен опит показва, че най-важното нещо е да станете член на общостта на конкретния проект. Бъдете активни в каналите им за комуникация, помагайте според собствените си възможности, и установете връзка с “двигателите” на проекта, неговите lead developers. Ако имат конференция или поток в някоя от големите конференции – посетете ги, хората са по-склонни да приемат някой, когото са виждали на живо.

Намерете си ментор в общността.Той ще  ви помогне да се запознаете със спецификата на работата по проекта, и с историята му на ниво код. Много често това са изключително талантливи разработчици, от които можете да научите ценни умения и да подобрите собствената си квалификация.

И, последно, но може би най-важно – ако целта ви е да разработите допълнителна функционалност, изпращайте пачове, и се учете от грешките си.

Повече информация за LDAPCon 2019 може да намерите тук.


Визия: DEV.BG

Share This