Пятница, вечер. Одна из главных улиц Нижнего Новгорода, за поворотом — набережная, река, виды, вверху — кремль и потрясающая архитектура. Безветрие, +9. В старинном кирпичном здании прогуливаются более сотни человек едва ли старше 20-25 лет (не, ну некоторые постарше, конечно), вокруг синий свет, диджей играет симпатичный сет, привлекают строгие стильные фотозоны, игры… На двух главных экранах в глубине зала яркие буквы… Так начинался Open Source Day — 5 часов отборного экспертного опенсорса.
Мне часто приходится бывать на айтишных конференциях, митапах, хакатонах и т. д. Они стабильно собирают интерес и людей, в начале всё выглядит как праздник технологий, интеллекта и особого настроения, но к концу примерно в 7 мероприятиях из 10 остаётся небольшая группа энтузиастов, часть которых удерживается хитрым пенным ходом организаторов. Open Source Day — из тех мероприятий, когда из тесного зала первой части набился тесный зал второй части, а потом ещё почти всем хватило сил на афтепати — после моего ухода гардероб был почти полон. А это, повторюсь, пятница, вечер. Объяснение простое и прозрачное: было интересно. Я в IT 16 лет, за эти годы случалось всё: от кровавого энтерпрайза до самого что ни на есть чистого опенсорса и даже работы за идею. Но и мне было интересно — настолько, что пришлось сверить часы (да, механические, не всем там было 20-25) с показаниями мобильника — ну не могли так незаметно пролететь три часа до перерыва.
Надеюсь, вы немного погрузились в атмосферу, поэтому перехожу к сути. Оговорюсь, что встреча была скорее обучающая, было много того, что интересно и актуально молодым разработчикам — так что читать полезно всем.
Часть первая: теория, история и много любви к open source
Спикеры были нереальные — перед залом стояли люди, которых этот самый зал видел на YouTube, читал на Хабре, встречал на GitHub.
Сергей Тираспольский
директор по работе с партнерами ИТ-кампуса НЕЙМАРК
Сергей Тираспольский, директор по работе с партнерами ИТ-кампуса НЕЙМАРК, раскрыл слоган встречи: «Закладываем фундамент будущего вместе». Будучи опытным айтишником, он за 10 минут «включил» зал, помог понять суть мероприятия и рассказал о преимуществах участия в опенсорс проектах. В open source при должном усилии каждому возможно получить бесплатный доступ к технологиям (которые развивают тысячи опытных разработчиков, небольшие команды или увлечённые одиночки), есть шанс запустить проект, найти наставника, трудоустроиться. Важно, что сегодня в российском ИТ есть вызовы, связанные с переустройством open source, в которые уже погрузились и корпорации, и государство, и обычные разработчики. Но об этом — во второй части моего репортажа. Сейчас — основа.
Первым был Владимир Рубанов.
Владимир Рубанов
Член правления ИТ-Ассоциаций АПКИТ и РуссСофт
? «33 преимущества и 14 рисков открытости вашего исходного кода»
«Нижний как технологический столп страны подтверждает свою репутацию»
В начале выступления Владимир коротко и доступно рассказал об Open Source Initiative, которая на сегодняшний день поддерживает 114 утвердённых лицензий. Коротко обрисовав 10 основных критериев open source проекта, он раскрыл смысл и особенности Permissive и Copyleft лицензий, разъяснил особенности коммерческого использования и раскрыл феномен «заражения» проектов опенсорсом при использовании «вирусных» сильных copyleft-лицензий. В зале стояла внимающая, комфортная тишина — подумалось, что сейчас тут нас всех заражают open source идеями и философией.
«Профиль на GitHub или в другом репозитории — важная часть вашего резюме. Всегда обращаю на это внимание».
Владимир рассказал о том, почему open source — важнейшая часть стратегии и тактики при построении карьеры. Однако, о том, почему всё не так просто, мы узнали ближе к концу первой части.
Open source — сложнейшая социальная, экономическая, практическая, научная и информационная экосистема со своими законами и принципами функционирования. Основные драйверы open source — международные корпорации, которые участвуют в развитии как денежными инвестициями, так и своими сотрудниками (во многих компаниях мирового уровня этим занимаются целые подразделения). Кроме них, в развитии open source участвуют огромные локальные компании (в это время по залу пролетело перешёптывание «Яндекс, Яндекс, а ещё ВК»), небольшие компании, международные ассоциации и консорциумы и конечно, индивидуальные разработчики — «та самая искра, из которой разгорелось пламя».
Владимир много говорил о преимуществах (даром что их 33). Open source — это среда для развития талантов, в которой без вузовской скамьи и учебников начинающий разработчик получает огромное наставляющее коммьюнити, опыт отношений в рабочей среде и понимание принципов человеческой команды. Это особая форма взаимодействия, которую трудно разрушить и нельзя отнять: даже если по каким-то причинам исчезнет кооперация, останется код. Это та среда, внутри которой взаимовыгодно сотрудничают даже самые непримиримые конкуренты.
Преимущества open source
Основные преимущества можно выделить в пять групп.
Экономика
-
Экономия затрат
-
Экономия сил на разработке
-
Открытые части кода позволяют привлекать внешних программистов и тем самым нанимать меньше своих
Улучшенная репутация
-
Согласно исследованиям, в глазах клиентов (которые разбираются) компания, работающая с опенсорсом, вызывает больше доверия, а в условиях кризиса цифрового недоверия это ощутимая ценность.
-
Мотивация для инженеров и программистов.
Крутые инновации в компании
-
Open source — это всегда про шеринг знаний, обмен опытом.
-
Пересечение разных культур в одном проекте, в одной среде — это как возможные конфликты, так и взаимное опыление взглядами вне национальных стереотипов, мультипликативный эффект роста совместного творческого и интеллектуального потенциала.
Повышение блага человечества в целом
-
Минимизируется необходимость бесконечного написания велосипедов (всегда можно взять готовый 🙂 — авт.), а это сказывается на многих сферах, вплоть до углеродного следа.
-
Эффективность человечества (глобально и наднационально) растёт.
-
open source — инструмент повышения культуры и квалификации молодёжи.
Пятая группа преимуществ сложная и актуальна скорее для глобальных бизнес-экосистем — получение стратегического влияния за счёт открытия важного и нужного всем кода. Соответственно, открытие кода влечёт рост влияния, а вот уже за ним через другие многочисленные каналы приходит ощутимый профит (в разных его смыслах). Думаю, примеры приводить не надо — мы в этой реальности живём.
Риски open source
Прежде всего, выход кода или целого проекта в опенсорс должен быть продуманным и взвешенным — нужно понимать, что и когда выпускать. Это нетривиальная оптимизационная задача. Иначе можно попасть в одну из неприятных ситуаций:
-
under open sourcing — когда «зажали» часть кода или выпустили не в то время и проект оказался невостребованным или же выход повлёк недовольство пользователей;
-
over open sourcing — когда раскрыли раньше или слишком много;
-
IPR Risk — раскрыли ключевой компонент разработки, который для компании был рыночным дифференциатором и вдруг им быть перестал.
Владимир задал тренд одному из активных обсуждений Open Source Day — обсуждению иностранного языка, который необходим современным российским разработчикам. Он справедливо подчеркнул, что английский язык — это тот навык, который необходим всем разработчикам, язык науки — и если остальные студенческие знания могут постепенно испариться и трансформироваться, то английский останется нужным и фундаментальным знанием, особенно важным для мира open source (не забываем о масштабах коммьюнити — авт.).
В блоке вопросов Владимира спросили, как быть с вероятностью ошибок и безопасностью в open source.
Спикер рассказал, что существует мнение, что вероятность обнаружения уязвимости в коде, который просматривают тысячи глаз, выше. Однако мнение это кажется несостоятельным, поскольку роль тысяч глаз настолько мала, что ею можно пренебречь — на первое место сейчас вышли автоматизированные системы, анализаторы кода, которые быстро и точно анализируют уязвимости. Да и в целом открытый не убавляет и не прибавляет каких-либо преимуществ в безопасности.
Олег Сиротюк
Лидер сообщества OpenScaler
? «Национальный Open Source: опыт Китая»
Олег Сиротюк из OpenScaler начал с шутки про то, что можно поспорить, какой язык нужно изучать прямо сейчас. Во всяком случае, пару фраз по-китайски выучить точно стоит.
Олег перенёс зал в новые вселенные open source. Сейчас это китайская вселенная. Великая Китайская стена присутствует не только в физическом мире, но и в информационном, плюс на отношения с китайской разработческой реалией играет роль языковой барьер. Вишенка на этом торте — национальная особенность китайцев: они выполняют свою работу и не любят хвастаться и проводить впечатляющие презентации своей работы (как, например, это происходит на Западе).
Китайский open source — это значимый феномен. Нужно его знать, перенимать опыт построения национального open source. История у китайцев началась с отказа от IOE и SOA (попробуйте расшифровать, не заглядывая в боксы под словами). Нужно было искать и создавать что-то своё.
Затем появился Gitee — платформа хостинга open source-проектов. На сегодняшний день это крупнейшая платформа после GitHub: 10+ млн разработчиков, 2000+ университетов, 25+ млн репозиториев, 260 000 компаний Gitee Enterprise, 7+ млн активных пользователей, 20+ млн Git pulls, 500 трлн строк кода или 1000+ ТБ. Но это всего лишь инструмент.
В Китае в 2020 году появился OpenAtom — ключевая единица open source в Поднебесной. Сейчас он отвечает за национальную информационную безопасность, развитие open source-культуры и развитие национальной кодовой базы. Они поддерживают образовательную сферу и постоянно проводят конкурсы для обучающихся. Обычно в них делается акцент на поиск промышленных решений. Кстати, в этом году там можно поучаствовать при поддержке OpenScaler.
Ещё одна ключевая сущность китайского open source — Open Euler. Это не только операционная система, но и огромное, колоссальное хранилище множества проектов: различные решения AI, cloud native, big data, CDN и проч.
Ну и пара проектов, о которых на Хабре наверняка и слышали, и говорили, но они знаковые для китайского open source:
-
Mindspore — китайская альтрнатива PyTorch/TensorFlow, единый фреймворк для AI + HPC
-
Modelers — китайская альтернатива HuggingFace
Кстати, угадайте, какая компания является почти в прямом смысле национальным достоянием Китая и участвует в развитии многих open source-проектов. Сто процентов угадали ?
Это было слишком просто
Александр Белоцерковский
СберТех
? «Как искусственный интеллект, Open Source и сообщества незаметно изменили опыт разработчика»
Александр ненадолго вывел нас из завораживающего оцепенения и рассказал краткую, ясную историю развития искусственного интеллекта. И да, конференция по опенсорсу без ИИ была бы неполной, потому что и сам ИИ основан на многих open source решениях, и ИИ служит на благо развития открытого ПО. В частности, сегодня это многочисленные ассистенты, которые помогают не столько писать код, сколько разбираться в чужом. Александр наглядно показал разницу между студенческим предсказанием результата работы кода на бумажке (я его постарше — мы даже экзамен по С и С++ так сдавали!) и ответами ИИ-ассистента (и это впечатляет!).
Современные ИИ-помощники в работе с кодом практически незаметно проходят четыре важных этапа, перед тем, как отдать результат пользователю: планирование, память, восприятие, действие.
У ИИ-ассистентов есть вполне чёткие цели:
-
увеличить эффективность
-
снизить барьер на изучение нового
-
сократить когнитивную нагрузку
-
увеличить время работы в «потоке»
-
увеличить скорость разработки
-
сократить TTM (time to market) продукта
Таким образом, ИИ меняет и процесс разработки, и сам продукт разработки.
Напоследок Александр рассказал, как заглянуть в будущее open source. Есть GitHub Next — в него попадают экспериментальные, перспективные и интересные проекты, о которых мир узнает гораздо позже. Если посмотреть, для будущего они весьма показательны.
Егор Бугаенко
Директор лаборатории создания инструментов ПО, основатель Zerocrasy
? «Девять ступеней Open Source кунг-фу»
Егор анонсировал свой доклад как философский, но для аудитории зала это был, пожалуй, самый практический доклад. Во-первых, многие ребята уже прошли какие-то ступени развития на GitHub, во-вторых, многие шёпотом комментировали сказанное и делились с соседями своим опытом, в-третьих — всегда бы получать такие инструкции на старте карьеры, а не когда ты уже набил все шишки и вероятно, немного перегорел.
Итак, 9 уровней.
Уровень 1. Профиль
Оформите свою страницу на GitHub, заполнив максимум возможных разделов. Добавьте реальную фотографию, расскажите о себе.
Примеры (авт.):
Уровень 2. Merge
Получите свой первый мердж на GitHub. Это не так просто: в ядре Linux, в который коммитят не случайные люди, а квалифицированные разработчики, мёрдж происходит только в ⅓ случаев.
-
Будьте готовы к реджектам — это могут быть первые два или первые двадцать, но зато потом вы можете получить 10 мерджей подряд. Отказ ни о чём ещё не говорит и ниже вы это увидите.
-
Негативные комментарии к вашему коммиту только на 15% относятся непосредственно к коду. 85% — это претензии к тому, как код оформлен. Пишите красиво, понятно, изучите нормы и правила красоты кода.
-
Исследование Google показало, что pull request небольшого размера мёржатся гораздо интенсивнее: не присылайте много кода, так вы ускорите и упростите прохождение code review.
-
Чем более позитивно и воодушевлённо вы общаетесь с ревьюверами, тем больше у вас шансов на успех.
-
Важно, кто прислал pr: кто, куда писал раньше, что с аватаром и страницей (уровень 1). Профайл и репутация open source девелопера крайне важны. Чем больше информации о вас доступно, тем выше вероятность, что вашему pr уделят много внимания.
Уровень 3. Релиз
Вы сделали релиз публичного пакета в open source.
-
Релиз для вас должен быть максимально простой процедурой, буквально рутинной: нужно упаковать всё что возможно в автоматические процедуры.
-
Читайте книгу Jez Humble, David Farley «Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation». Строго обязательна к прочтению!
Если вы выстроили процессы идеально, при деплойменте вам останется совершить только две операции: придумать, какая версия следующая, и нажать кнопку.
Уровень 4: Вам прислали pull request
Это эпохальный момент — вам хотят помочь стать лучше. Есть несколько правил, которые способствуют тому, чтобы на вас обратили внимание.
-
Важно, как оформлен репозиторий: стиль, документация. По этим признакам видно, что вам важно то, чем вы занимаетесь, что вы создавали. Фактически должно быть видно, что вы живёте своим проектом.
-
У 95% популярных проектов не пустые readme-файлы. Они демонстрируют важность проекта, ценность его для коммьюнити. Даже если вы выкладываете курсовую — добавляйте readme-файл.
-
Наличие нетривиальных бейджиков проекта — располагающие сигналы для доверия.
-
Важна частота апдейта readme-файлов, наличие ссылок. Добавляйте в readme всё важное, ценное — например, это могут быть бенчмарки.
«Будьте TensorFlow уже на первых шагах проекта».
5 уровень: захват
Ваш репозиторий «захватили», то есть авторы pr пишут код гораздо круче вашего и делают из продукта не просто более качественный, а именно тот, который нужен им. Это значит, что в ваш репозиторий пришли профессионалы с высоким уровнем технической экспертизы. Не рассчитывайте, что они останутся навсегда (могут исчезнуть после одного раза), но после них проект будет уже ощутимо круче.
6 уровень: 100 багов
Вам присылают сотню багов и требуют как можно быстрее их устранить. К слову, это могут быть как баги, так и запросы на фичи и улучшения.
Вообще наличие исправленных багов в проекте — показатель его качества: дефекты найдены и исправлены. Запросы на баги говорят о том, что вокруг вашего продукта начинает складываться полноценное коммьюнити.
Как работать с багами, лучше узнать из книги J. Mayers и др. «The Art of Software Testing» (есть на русском языке).
Не бойтесь багов — это хороший знак для open source:
-
mozilla — 1.8 M+ bugs
-
gitlab-org/gitlab — 172 462 bugs
-
flutter/flutter — 79 368 bugs
-
kubenetes/kubernetes — 42 627 bugs
-
tensorflow/tensorflow — 36 776 bugs
-
moby/moby — 19 367 bugs
7 уровень: $$$
Большая компания предложила вам деньги за поддержку вашего программного продукта. В принципе, на это способен претендовать любой сильный, дисциплинированный разработчик, поддерживающий продукт в рабочем состоянии.
8 уровень: large runners
GitHub предложил вам бесплатные large runners — дополнительные мощности. Например, такое произошло с проектом vlang.io
9 уровень: вам платят
У вас появились спонсоры на GitHub, которые вас благодарят деньгами. Это мотивация бросить работу и начать делать свой продукт как основную задачу. Да, open source — это не только фановая история, но и место, где можно заработать.
Вадим Писаревский
Архитектор библиотеки OpenCV
? «OpenCV»
Завершал первую часть Вадим Писаревский, один из создателей знаменитой библиотеки алгоритмов компьютерного зрения OpenCV (к слову, проект и команда родом из Нижнего Новгорода). Библиотека разрабатывается с 1998 года, первый публичный релиз вышел в 2000. Сейчас это более 460М загрузок, 78К звёзд на GitHub, второй по популярности CV-проект, седьмой по популярности С++ проект.
OpenCV используется IT-гигантами, стартапами и университетами по всему миру. На данный момент Китай — самый активный потребитель продукта. OpenCV как open source-проект получает 3-5 патчей каждый день, 50% идёт от сообщества.
Однако компьютерное зрение не достигло своего потолка развития. Проблема такова, что мир очень разнообразен и постоянно появляются проблемы:
-
детектирования лиц
-
детектирования для задач автономного вождения: разметки в нестандартных условиях, при разной погоде, на фоне локальных особенностей организации дорожного движения и проч.
«Если вы сегодня решите начать заниматься компьютерным зрением, на вашу жизнь задач хватит».
Часть вторая. Форсайт-сессия
С таким форматом в этом масштабе мне работать не приходилось. За каждым круглым столом собралось 10 и более человек, которые должны были быстро разобрать и презентовать идеи по проблемам российского open source.
Перед форсайт-сессией ведущий всей встречи попросил ведущего форсайт-сессию Никиту Соболева @sobolevn быстро назвать три слова, которые точно выдают айтишника. Тут, в общем, не поспоришь:
-
выгорание
-
легаси
-
open source
Я не буду рассказывать все идеи с форсайт-сессии — многие из них авторам точно нужно додумать, а некоторые, возможно, должны пока существовать и обсуждаться в рамках узкого сообщества. Наверное, вы и сами можете подумать над поставленными вопросами и поделиться размышлениями в комментариях.
Поделюсь лишь некоторыми мыслями и идеями, которые звучали не только из команды в команду, но и в целом на протяжении обсуждений всего дня.
-
Монетизация вклада в open source остаётся большой проблемой — как экономической, так и мотивационной. Так, разработчик, заработавший «спонсорские» 180$ на GitHub, входит в топ-1% «богатых» контрибьюторов.
-
Безопасность open source на любом национальном уровне и в критических инфраструктурах — большая проблема.
-
open source нужно серьёзно интегрировать в образование (со школы, с вуза), менять программы, создавать стипендии и работать на стыке интереса университета, государства и частного бизнеса. Дипломные работы будущих инженеров и программистов не должны быть формальностью.
-
Менторство, открытые встречи и митапы, передача опыта — то, чего очень не хватает молодому поколению.
-
Нужны разработки CAD, софта для контроллеров и в первую очередь — качественных мобильных операционных систем.
-
Важно уметь говорить на одном языке, учитывая культуру (code of contact), создавая в том числе культуру общего языка (обсуждали китайский, английский и даже эсперанто — в зале был настоящий адепт и носитель языка, готовый доказать его состоятельность для целей создания нового ИТ-сообщества).
-
Нельзя отказываться от участия в глобальных проектах.
Кажется, что можно добавить ещё много чего из того, что обсуждалось, озвучивалось, предлагалось, но репортаж и так получился огромным. Наверное, самое важное было то, что слушатели были активными — обсуждали шёпотом в зале, местами возмущались и спорили, рассказывая аргументы коллегам рядом, продолжали обсуждения в перерыве и были активны на форсайт-сессии. Эта включённость говорит о том, что у ИТ (глобального, российского, нижегородского) есть будущее — эти ребята, многие из которых, ещё учась в вузе, работают в крупных компаниях и знают, о чём они говорят. И эта уверенность так же заражала, как open source.
ссылка на оригинал статьи https://habr.com/ru/articles/851938/
Добавить комментарий