SlideShare a Scribd company logo
Антон Конев
Разработчик интерфейсов
О пользе Open Source
Что такое
Open Source?
Open Source – ПО
с открытым исходным кодом
Его можно:
› использовать;
› изучать;
› изменять.
4
Open Source – ПО
с открытым исходным кодом
Его можно:
› использовать *;
› изучать;
› изменять *
* Зависит от лицензии проекта 5
Сегодня на github.com насчитывается более 1.5 млн. организаций и 67 млн. проектов. 6
Зачем мне участвовать
в Open Source?
Станешь лучше как профессионал
〉Будешь знать, что используешь в повседневной работе
〉Сделаешь любимый проект лучше
〉Познакомишься с людьми со всего мира
〉Найдёшь хорошую работу
Зачем участвовать?
8
понимать чужой код
проводить кодревью
понимать процесс разработки
Ты будешь лучше
9
разбираться в чужом коде
проводить код ревью
понимать процесс разработки
проводить тестирование
освоишь системы контроля версий
узнаешь возможности IDE
изучишь системы сборки
придерживаться кодстайла
станешь использовать статические анализаторы кода
замерять различные бенчмарки
использовать контейнеризацию
прокачаешь навыки работы в команде
узнаешь много нового в обмене опытом
разговаривать / писать на английском языке
Ты будешь лучше
10
〉Станешь лучше как профессионал
Будешь знать, что используешь в повседневной работе
〉Сделаешь любимый проект лучше
〉Познакомишься с людьми со всего мира
〉Найдёшь хорошую работу
Зачем участвовать?
11
https://www.npmjs.com/package/left-pad
https://www.npmjs.com/package/string-foreach
bit.ly/2ypBGOL
16
〉Станешь лучше как профессионал
〉Будешь знать, что используешь в повседневной работе
Сделаешь любимый проект лучше
〉Познакомишься с людьми со всего мира
〉Найдёшь хорошую работу
Зачем участвовать?
17
https://github.com/Microsoft/vscode/issues/178
〉Станешь лучше как профессионал
〉Будешь знать, что используешь в повседневной работе
〉Сделаешь любимый проект лучше
Познакомишься с людьми со всего мира
〉Найдёшь хорошую работу
Зачем участвовать?
21
〉Станешь лучше как профессионал
〉Будешь знать, что используешь в повседневной работе
〉Сделаешь любимый проект лучше
〉Познакомишься с людьми со всего мира
Найдёшь хорошую работу
Зачем участвовать?
23
24
💅
Страх и ненависть
в Open Source
Пишем Open Source
〉Open Source пишут только крутые разработчики
〉Open Source пишут только крутые разработчики
〉не сдавайся
〉старайся не задавать очевидные вопросы
〉старайся не писать все свои вопросы авторам проекта
Типичные страхи
26
〉Open Source пишут только крутые разработчики
〉неуверенность в своих силах
〉не сдавайся
〉старайся не задавать очевидные вопросы
〉старайся не писать все свои вопросы авторам проекта
Типичные страхи
27
〉Open Source пишут только крутые разработчики
〉неуверенность в своих силах
〉не сдавайся
〉старайся не задавать очевидные вопросы
〉старайся не писать все свои вопросы авторам проекта
Типичные страхи
28
〉старайся не задавать очевидные вопросы
〉старайся не писать все свои вопросы авторам проекта
Типичные ошибки
29
〉старайся не задавать очевидные вопросы
〉старайся не писать все свои вопросы авторам проекта
Типичные ошибки
30
31
😎
C чего начать?
Пишем Open Source
1. Найди проект, который тебе нравится
С чего начать?
33
1. Найди проект, который тебе нравится
2. Присоединись к slack / gitter проекта
С чего начать?
34
1. Найди проект, который тебе нравится
2. Присоединись к slack / gitter проекта
3. Прочитай документацию, комментарии в коде
С чего начать?
35
1. Найди проект, который тебе нравится
2. Присоединись к slack / gitter проекта
3. Прочитай документацию, комментарии в коде
4. Подпишись на обновления репозитория / баг-трекера
С чего начать?
36
1. Найди проект, который тебе нравится
2. Присоединись к slack / gitter проекта
3. Прочитай документацию, комментарии в коде
4. Подпишись на обновления репозитория / баг-трекера
5. Тестируй бета-версии / RС
С чего начать?
37
38
👏
Что править?
Пишем Open Source
1. обнови зависимости
Что править?
40
1. обнови зависимости
2. исправь предупреждения статического анализатора кода
Что править?
41
1. обнови зависимости
2. исправь предупреждения статического анализатора кода
3. дополни документацию
Что править?
42
1. обнови зависимости
2. исправь предупреждения статического анализатора кода
3. дополни документацию
4. напиши тесты
Что править?
43
1. обнови зависимости
2. исправь предупреждения статического анализатора кода
3. дополни документацию
4. напиши тесты
5. сделай пример / демо-приложение
Что править?
44
1. обнови зависимости
2. исправь предупреждения статического анализатора кода
3. дополни документацию
4. напиши тесты
5. сделай пример / демо-приложение
6. исправь баг / реализуй небольшую фичу
Что править?
45
46
Help wanted Need PR
TrivialBug
Easy pick
Beginner
yourfirstpr.github.io
issuehub.io
github.com
47
48
🍾
Я сам!
Пишем Open Source
50
❌
51
1. Поищи в пакетных менеджерах
2. Поищи в Github
3. Найди пакет
4. Если нет какой-то одной фичи, то отправь PR
❌
52
1. Напиши код
2. Добавь README.md и CONTRIBUTING.md
3. Выбери лицензию
› choosealicense.com
› opensource.org/licenses
4. Опубликуй
› Node.js   → npm
› PHP   → composer
› Ruby → gem
› Java   → gradle
Мой проект уникальный!
53
⭐
Антон Конев
Разработчик интерфейсов
evilj0e@yandex-team.ru
evilj0e
Спасибо за внимание

More Related Content

What's hot

Регулярное использование статического анализа кода в командной разработке
Регулярное использование статического анализа кода в командной разработкеРегулярное использование статического анализа кода в командной разработке
Регулярное использование статического анализа кода в командной разработке
Tatyanazaxarova
 

What's hot (20)

Как мы измеряем наши проекты
Как мы измеряем наши проектыКак мы измеряем наши проекты
Как мы измеряем наши проекты
 
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
 
Leap from Testing to QA (RU)
Leap from Testing to QA  (RU)Leap from Testing to QA  (RU)
Leap from Testing to QA (RU)
 
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кода
 
Возможна ли жизнь без тестировщика?
Возможна ли жизнь без тестировщика?Возможна ли жизнь без тестировщика?
Возможна ли жизнь без тестировщика?
 
Когда код «убивает», или зачем нам тестировать наши продукты
Когда код «убивает», или зачем  нам тестировать наши продуктыКогда код «убивает», или зачем  нам тестировать наши продукты
Когда код «убивает», или зачем нам тестировать наши продукты
 
SECON'2016. Бартунов Олег, Карьера в Open Source
SECON'2016. Бартунов Олег, Карьера в Open SourceSECON'2016. Бартунов Олег, Карьера в Open Source
SECON'2016. Бартунов Олег, Карьера в Open Source
 
Построение процесса тестирования
Построение процесса тестированияПостроение процесса тестирования
Построение процесса тестирования
 
Как тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиКак тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книги
 
Is there life after testing?
Is there life after testing?Is there life after testing?
Is there life after testing?
 
How to port JavaScript library to Android and iOS
How to port JavaScript library to Android and iOSHow to port JavaScript library to Android and iOS
How to port JavaScript library to Android and iOS
 
Регулярное использование статического анализа кода в командной разработке
Регулярное использование статического анализа кода в командной разработкеРегулярное использование статического анализа кода в командной разработке
Регулярное использование статического анализа кода в командной разработке
 
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
 
Контроль за стилем кода — Кирилл Борисов
Контроль за стилем кода — Кирилл БорисовКонтроль за стилем кода — Кирилл Борисов
Контроль за стилем кода — Кирилл Борисов
 
Дизайн. Глазами и руками разработчика
Дизайн. Глазами и руками разработчикаДизайн. Глазами и руками разработчика
Дизайн. Глазами и руками разработчика
 
История про OpenSource в Яндексе
История про OpenSource в ЯндексеИстория про OpenSource в Яндексе
История про OpenSource в Яндексе
 
Доклад не про React
Доклад не про ReactДоклад не про React
Доклад не про React
 
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 Как перестать бояться и начать контрибьютить - Алексей Кудрявцев Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 
UI+unit testing in iOS
UI+unit testing in iOSUI+unit testing in iOS
UI+unit testing in iOS
 

Similar to О пользе Open Source

Open your source
Open your sourceOpen your source
Особенности тестирования открытого ПО
Особенности тестирования открытого ПООсобенности тестирования открытого ПО
Особенности тестирования открытого ПО
Alexey Lyanguzov
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
Ontico
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
Ontico
 

Similar to О пользе Open Source (20)

Open your source
Open your sourceOpen your source
Open your source
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
 
Выбираем стратегию создания бранчей
Выбираем стратегию создания бранчейВыбираем стратегию создания бранчей
Выбираем стратегию создания бранчей
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодом
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
 
Особенности тестирования открытого ПО
Особенности тестирования открытого ПООсобенности тестирования открытого ПО
Особенности тестирования открытого ПО
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работы
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Первый шаг в Open Source
Первый шаг в Open SourceПервый шаг в Open Source
Первый шаг в Open Source
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Программистский подход в дизайне
Программистский подход в дизайнеПрограммистский подход в дизайне
Программистский подход в дизайне
 
Облегчаем процесс разработки с помощью статического анализа кода: Наш опыт
Облегчаем процесс разработки с помощью статического анализа кода: Наш опытОблегчаем процесс разработки с помощью статического анализа кода: Наш опыт
Облегчаем процесс разработки с помощью статического анализа кода: Наш опыт
 
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октябряорганизация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
 
Практика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковПрактика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиков
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016
 
О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 

О пользе Open Source

  • 1.
  • 4. Open Source – ПО с открытым исходным кодом Его можно: › использовать; › изучать; › изменять. 4
  • 5. Open Source – ПО с открытым исходным кодом Его можно: › использовать *; › изучать; › изменять * * Зависит от лицензии проекта 5
  • 6. Сегодня на github.com насчитывается более 1.5 млн. организаций и 67 млн. проектов. 6
  • 8. Станешь лучше как профессионал 〉Будешь знать, что используешь в повседневной работе 〉Сделаешь любимый проект лучше 〉Познакомишься с людьми со всего мира 〉Найдёшь хорошую работу Зачем участвовать? 8
  • 9. понимать чужой код проводить кодревью понимать процесс разработки Ты будешь лучше 9
  • 10. разбираться в чужом коде проводить код ревью понимать процесс разработки проводить тестирование освоишь системы контроля версий узнаешь возможности IDE изучишь системы сборки придерживаться кодстайла станешь использовать статические анализаторы кода замерять различные бенчмарки использовать контейнеризацию прокачаешь навыки работы в команде узнаешь много нового в обмене опытом разговаривать / писать на английском языке Ты будешь лучше 10
  • 11. 〉Станешь лучше как профессионал Будешь знать, что используешь в повседневной работе 〉Сделаешь любимый проект лучше 〉Познакомишься с людьми со всего мира 〉Найдёшь хорошую работу Зачем участвовать? 11
  • 13.
  • 14.
  • 17. 〉Станешь лучше как профессионал 〉Будешь знать, что используешь в повседневной работе Сделаешь любимый проект лучше 〉Познакомишься с людьми со всего мира 〉Найдёшь хорошую работу Зачем участвовать? 17
  • 19.
  • 20.
  • 21. 〉Станешь лучше как профессионал 〉Будешь знать, что используешь в повседневной работе 〉Сделаешь любимый проект лучше Познакомишься с людьми со всего мира 〉Найдёшь хорошую работу Зачем участвовать? 21
  • 22.
  • 23. 〉Станешь лучше как профессионал 〉Будешь знать, что используешь в повседневной работе 〉Сделаешь любимый проект лучше 〉Познакомишься с людьми со всего мира Найдёшь хорошую работу Зачем участвовать? 23
  • 25. Страх и ненависть в Open Source Пишем Open Source
  • 26. 〉Open Source пишут только крутые разработчики 〉Open Source пишут только крутые разработчики 〉не сдавайся 〉старайся не задавать очевидные вопросы 〉старайся не писать все свои вопросы авторам проекта Типичные страхи 26
  • 27. 〉Open Source пишут только крутые разработчики 〉неуверенность в своих силах 〉не сдавайся 〉старайся не задавать очевидные вопросы 〉старайся не писать все свои вопросы авторам проекта Типичные страхи 27
  • 28. 〉Open Source пишут только крутые разработчики 〉неуверенность в своих силах 〉не сдавайся 〉старайся не задавать очевидные вопросы 〉старайся не писать все свои вопросы авторам проекта Типичные страхи 28
  • 29. 〉старайся не задавать очевидные вопросы 〉старайся не писать все свои вопросы авторам проекта Типичные ошибки 29
  • 30. 〉старайся не задавать очевидные вопросы 〉старайся не писать все свои вопросы авторам проекта Типичные ошибки 30
  • 33. 1. Найди проект, который тебе нравится С чего начать? 33
  • 34. 1. Найди проект, который тебе нравится 2. Присоединись к slack / gitter проекта С чего начать? 34
  • 35. 1. Найди проект, который тебе нравится 2. Присоединись к slack / gitter проекта 3. Прочитай документацию, комментарии в коде С чего начать? 35
  • 36. 1. Найди проект, который тебе нравится 2. Присоединись к slack / gitter проекта 3. Прочитай документацию, комментарии в коде 4. Подпишись на обновления репозитория / баг-трекера С чего начать? 36
  • 37. 1. Найди проект, который тебе нравится 2. Присоединись к slack / gitter проекта 3. Прочитай документацию, комментарии в коде 4. Подпишись на обновления репозитория / баг-трекера 5. Тестируй бета-версии / RС С чего начать? 37
  • 41. 1. обнови зависимости 2. исправь предупреждения статического анализатора кода Что править? 41
  • 42. 1. обнови зависимости 2. исправь предупреждения статического анализатора кода 3. дополни документацию Что править? 42
  • 43. 1. обнови зависимости 2. исправь предупреждения статического анализатора кода 3. дополни документацию 4. напиши тесты Что править? 43
  • 44. 1. обнови зависимости 2. исправь предупреждения статического анализатора кода 3. дополни документацию 4. напиши тесты 5. сделай пример / демо-приложение Что править? 44
  • 45. 1. обнови зависимости 2. исправь предупреждения статического анализатора кода 3. дополни документацию 4. напиши тесты 5. сделай пример / демо-приложение 6. исправь баг / реализуй небольшую фичу Что править? 45
  • 46. 46 Help wanted Need PR TrivialBug Easy pick Beginner
  • 51. 51 1. Поищи в пакетных менеджерах 2. Поищи в Github 3. Найди пакет 4. Если нет какой-то одной фичи, то отправь PR ❌
  • 52. 52 1. Напиши код 2. Добавь README.md и CONTRIBUTING.md 3. Выбери лицензию › choosealicense.com › opensource.org/licenses 4. Опубликуй › Node.js   → npm › PHP   → composer › Ruby → gem › Java   → gradle Мой проект уникальный!