На прошлой неделе мы в «Лаборатории Касперского» провели онлайновый митап «Выйти в open source и нанести всем пользу». Создатели и разработчики популярного (1,6 тысячи звезд на Github, свыше 3,5 тысяч уникальных пользователей по данным аналитики Nexus) open-source-фреймворка для автотестов Kaspresso рассказали, какой путь предстоит пройти контрибьюторам и какие подводные камни их могут ждать.
Здесь в посте — краткая выжимка эфира в семи ключевых тезисах. Если же вам интересно послушать более развернутую дискуссию и аргументы участников, посмотрите запись митапа по этой ссылке или в виджете ниже.
1. Главная ошибка при создании open source — пытаться сделать все втихаря. Выкатить серьезный проект за пару выходных все равно невозможно, а полгода тратить свое свободное время втройне рискованно: вы, во-первых, не отдыхаете; а во-вторых, получаете слабый результат (ведь свободного времени у вас всего ничего); в-третьих, неминуемо страдает основная работа. Так и выгореть недолго…
2. …поэтому обязательно рассказывайте менеджерам про вашу идею. Грамотные руководители охотно разрешат вам опенсорсить в рабочее время, если ваша идея как-либо поможет проекту (впрочем, вы же ее как раз на основе рабочих болей придумали, не правда ли?!). А кроме того, любой корпоративный open source качает технологический бренд, и значит, вашей команде становится проще нанимать сотрудников! Ну а лично для вас контрибьютинг — лучшее резюме.
3. Выполнять внутренние требования проще, когда часть процессов автоматизирована. Публикация open-source-проекта от лица компании, конечно, предполагает согласования с legal, patent и security. Но если все один раз автоматизировать, процессы будут отнимать минимум времени и сил. В Kaspresso перед каждой новой публикацией собирается список всех зависимостей (в том числе и транзитивных) для проверки на юридическую чистоту, запускается внутренняя система сбора апрувов и т. д.
4. Вы постоянно будете ошибаться со сроками. В open source разумно прогнозировать не более чем на 1-2 шага вперед. Все остальное неминуемо поплывет, будучи завязанным на ваши ресерчи и открытия, которые вы в результате сделаете.
5. Не ожидайте, что комьюнити будет много контрибьютить. Суммарно в Kaspresso более 40 контрибьюторов, львиная доля из которых — не сотрудники Kaspersky, а сторонние юзеры с мелкими коммитами. Фичей же было всего 2-3 штуки за всю историю. И то команде пришлось сильно их перерабатывать, поскольку контрибьюторы не до конца знали архитектуру проекта. Если совсем честно, та работа каждый раз была равна написанию пулл-реквеста с нуля.
Зато с вас точно будут много требовать. И не дай вам бог забить на саппорт: поймаете еще пачку хейта в довесок.
6. Пишите туториал, пишите туториал, пишите… Если/когда ваш проект вырос и превратился в большой функционал, трудно становится не только вам, но и пользователям. Да еще у каждого — свой идеальный формат: кому-то подавай исходники; кому-то — справки в формате Wiki; а кому-то и видео. Будете сопротивляться и загонять всех в единые рамки — будете стрелять себе же в ногу. Ведь чем больше материала, тем проще будет знакомиться с фреймворком и больше людей смогут его попробовать и оценить. Решение простое: объедините все в одном месте, немного причешите — вот вам и туториал на самый взыскательный вкус!
7. И последнее. Не верьте на слово докладам :) Под капотом всегда много деталей, о которых докладчики либо недоговаривают, либо умалчивают. Кому-то просто не хватает 30 минут выступления, чтобы поведать обо всех фэйлах. А кто-то сознательно приукрашивает действительность. Выбирайте частные беседы и диалоги в кулуарах: обычно в этом формате все максимально открыты.
Если вам было интересно, то вступайте в тг-чат с разработчиками Kaspresso и начинайте контрибьютить. И конечно, следите за нашими следующими ивентами!
Здесь в посте — краткая выжимка эфира в семи ключевых тезисах. Если же вам интересно послушать более развернутую дискуссию и аргументы участников, посмотрите запись митапа по этой ссылке или в виджете ниже.
1. Главная ошибка при создании open source — пытаться сделать все втихаря. Выкатить серьезный проект за пару выходных все равно невозможно, а полгода тратить свое свободное время втройне рискованно: вы, во-первых, не отдыхаете; а во-вторых, получаете слабый результат (ведь свободного времени у вас всего ничего); в-третьих, неминуемо страдает основная работа. Так и выгореть недолго…
2. …поэтому обязательно рассказывайте менеджерам про вашу идею. Грамотные руководители охотно разрешат вам опенсорсить в рабочее время, если ваша идея как-либо поможет проекту (впрочем, вы же ее как раз на основе рабочих болей придумали, не правда ли?!). А кроме того, любой корпоративный open source качает технологический бренд, и значит, вашей команде становится проще нанимать сотрудников! Ну а лично для вас контрибьютинг — лучшее резюме.
3. Выполнять внутренние требования проще, когда часть процессов автоматизирована. Публикация open-source-проекта от лица компании, конечно, предполагает согласования с legal, patent и security. Но если все один раз автоматизировать, процессы будут отнимать минимум времени и сил. В Kaspresso перед каждой новой публикацией собирается список всех зависимостей (в том числе и транзитивных) для проверки на юридическую чистоту, запускается внутренняя система сбора апрувов и т. д.
4. Вы постоянно будете ошибаться со сроками. В open source разумно прогнозировать не более чем на 1-2 шага вперед. Все остальное неминуемо поплывет, будучи завязанным на ваши ресерчи и открытия, которые вы в результате сделаете.
5. Не ожидайте, что комьюнити будет много контрибьютить. Суммарно в Kaspresso более 40 контрибьюторов, львиная доля из которых — не сотрудники Kaspersky, а сторонние юзеры с мелкими коммитами. Фичей же было всего 2-3 штуки за всю историю. И то команде пришлось сильно их перерабатывать, поскольку контрибьюторы не до конца знали архитектуру проекта. Если совсем честно, та работа каждый раз была равна написанию пулл-реквеста с нуля.
Зато с вас точно будут много требовать. И не дай вам бог забить на саппорт: поймаете еще пачку хейта в довесок.
6. Пишите туториал, пишите туториал, пишите… Если/когда ваш проект вырос и превратился в большой функционал, трудно становится не только вам, но и пользователям. Да еще у каждого — свой идеальный формат: кому-то подавай исходники; кому-то — справки в формате Wiki; а кому-то и видео. Будете сопротивляться и загонять всех в единые рамки — будете стрелять себе же в ногу. Ведь чем больше материала, тем проще будет знакомиться с фреймворком и больше людей смогут его попробовать и оценить. Решение простое: объедините все в одном месте, немного причешите — вот вам и туториал на самый взыскательный вкус!
7. И последнее. Не верьте на слово докладам :) Под капотом всегда много деталей, о которых докладчики либо недоговаривают, либо умалчивают. Кому-то просто не хватает 30 минут выступления, чтобы поведать обо всех фэйлах. А кто-то сознательно приукрашивает действительность. Выбирайте частные беседы и диалоги в кулуарах: обычно в этом формате все максимально открыты.
Если вам было интересно, то вступайте в тг-чат с разработчиками Kaspresso и начинайте контрибьютить. И конечно, следите за нашими следующими ивентами!