Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Поговорим об Open Source [RUS]

Поговорим об Open Source [RUS]

Oleg Kovalov

October 13, 2019
Tweet

More Decks by Oleg Kovalov

Other Decks in Programming

Transcript

  1. - Гофер ~4 года - Опенсурс <3 - Инженер в

    core team в allegro.pl https://olegk.dev Обо мне 2
  2. Что это? 3 Open-source software (OSS) is a type of

    computer software in which source code is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose. Open-source software may be developed in a collaborative public manner. Open-source software is a prominent example of open collaboration. (с) Википедия
  3. - Практика - + в резюме - Польза сообществу -

    Вызов самому себе Так зачем оно мне? 8
  4. - Практика - + в резюме - Польза сообществу -

    Вызов самому себе - Дополнительный доход Так зачем оно мне? 9
  5. - Практика - + в резюме - Польза сообществу -

    Вызов самому себе - Дополнительный доход - Удобный способ не потерять игрушки Так зачем оно мне? 10
  6. - Аккаунт на Github - git init - Вдохновение на

    покодить™ Заинтриговал, а как начать? 14
  7. - Аккаунт на Github - git init - Вдохновение на

    покодить™ - Создать репо и git push Заинтриговал, а как начать? 15
  8. - Аккаунт на Github - git init - Вдохновение на

    покодить™ - Создать репо и git push - Красиво оформить Заинтриговал, а как начать? 16
  9. - Аккаунт на Github - git init - Вдохновение на

    покодить™ - Создать репо и git push - Красиво оформить - Привлечь внимание Заинтриговал, а как начать? 17
  10. - Аккаунт на Github - git init - Вдохновение на

    покодить™ - Создать репо и git push - Красиво оформить - Привлечь внимание Заинтриговал, а как начать? 18 И свободное время...
  11. - Цель проекта - Архитектура или фичи - Как установить

    - Пример использования Проект начинается с README.md 23
  12. - Цель проекта - Архитектура или фичи - Как установить

    - Пример использования - Как контрибутить? Проект начинается с README.md 24
  13. - Цель проекта - Архитектура или фичи - Как установить

    - Пример использования - Как контрибутить? - Цветастые бейджики с билдами Проект начинается с README.md 25
  14. - Цель проекта - Архитектура или фичи - Как установить

    - Пример использования - Как контрибутить? - Цветастые бейджики с билдами - Ссылочки на донаты :D Проект начинается с README.md 26
  15. - Лучше с лицензией, чем без - Но их много,

    очень А теперь о скучных лицензиях 29
  16. - Лучше с лицензией, чем без - Но их много,

    очень - Для 99% случаев MIT или BSD3 А теперь о скучных лицензиях 30
  17. - Лучше с лицензией, чем без - Но их много,

    очень - Для 99% случаев MIT или BSD3 - Если продукт, то лучше Apache 2.0 А теперь о скучных лицензиях 31
  18. - Лучше с лицензией, чем без - Но их много,

    очень - Для 99% случаев MIT или BSD3 - Если продукт, то лучше Apache 2.0 - Требовать публиковать изменения?... GPLv3 А теперь о скучных лицензиях 32
  19. - Лучше с лицензией, чем без - Но их много,

    очень - Для 99% случаев MIT или BSD3 - Если продукт, то лучше Apache 2.0 - Требовать публиковать изменения?... GPLv3 - https://choosealicense.com или десятки других ресурсов А теперь о скучных лицензиях 33
  20. - 1 репо - 1 цель - Хорошо подумайте и

    продумайте api Если у Вас библиотека, то... 36
  21. - 1 репо - 1 цель - Хорошо подумайте и

    продумайте api - Лучше сразу завести CI Если у Вас библиотека, то... 37
  22. - 1 репо - 1 цель - Хорошо подумайте и

    продумайте api - Лучше сразу завести CI - Тесты это круто, но порой можно и без них Если у Вас библиотека, то... 38
  23. - 1 репо - 1 цель - Хорошо подумайте и

    продумайте api - Лучше сразу завести CI - Тесты это круто, но порой можно и без них - Минимум зависимостей Если у Вас библиотека, то... 39
  24. - 1 репо - 1 цель - Хорошо подумайте и

    продумайте api - Лучше сразу завести CI - Тесты это круто, но порой можно и без них - Минимум зависимостей - Со временем лучше отказаться от пушей в мастер Если у Вас библиотека, то... 40
  25. - 1 репо - 1 цель - Хорошо подумайте и

    продумайте api - Лучше сразу завести CI - Тесты это круто, но порой можно и без них - Минимум зависимостей - Со временем лучше отказаться от пушей в мастер - Линтеры и gofmt экономят время Если у Вас библиотека, то... 41
  26. - 1 репо - 1 цель - Хорошо подумайте и

    продумайте api - Лучше сразу завести CI - Тесты это круто, но порой можно и без них - Минимум зависимостей - Со временем лучше отказаться от пушей в мастер - Линтеры и gofmt экономят время - Обратная совместимость Если у Вас библиотека, то... 42
  27. - Стоит подумать о том, как пользователь сможет запустить -

    Да, Docker - git tag бесплатны и полезны Если у Вас приложение, то... 46
  28. - Стоит подумать о том, как пользователь сможет запустить -

    Да, Docker - git tag бесплатны и полезны - Changelog/release notes (советую Release Drafter) Если у Вас приложение, то... 47
  29. - Стоит подумать о том, как пользователь сможет запустить -

    Да, Docker - git tag бесплатны и полезны - Changelog/release notes (советую Release Drafter) - Опять же обратная совместимость Если у Вас приложение, то... 48
  30. - Стоит подумать о том, как пользователь сможет запустить -

    Да, Docker - git tag бесплатны и полезны - Changelog/release notes (советую Release Drafter) - Опять же обратная совместимость - Скриншоты/gif/asciinema помогут заинтересовать Если у Вас приложение, то... 49
  31. - Друзья и коллеги - Чаты в Телеграме (@gogolang) -

    Конечно же Slack (golang-ru, golang-ua, gophers) А как привлечь внимание? 53
  32. - Друзья и коллеги - Чаты в Телеграме (@gogolang) -

    Конечно же Slack (golang-ru, golang-ua, gophers) - Reddit (r/golang), Twitter (#golang) А как привлечь внимание? 54
  33. - Друзья и коллеги - Чаты в Телеграме (@gogolang) -

    Конечно же Slack (golang-ru, golang-ua, gophers) - Reddit (r/golang), Twitter (#golang) - Блогпост Medium, Habr, Dev.to А как привлечь внимание? 55
  34. - Друзья и коллеги - Чаты в Телеграме (@gogolang) -

    Конечно же Slack (golang-ru, golang-ua, gophers) - Reddit (r/golang), Twitter (#golang) - Блогпост Medium, Habr, Dev.to - Митап (см. рекурсия) А как привлечь внимание? 56
  35. - Друзья и коллеги - Чаты в Телеграме (@gogolang) -

    Конечно же Slack (golang-ru, golang-ua, gophers) - Reddit (r/golang), Twitter (#golang) - Блогпост Medium, Habr, Dev.to - Митап (см. рекурсия) - Issue с меткой hacktoberfest А как привлечь внимание? 57
  36. - Анонс и упоминание будут в ленте соцсети - Но

    лента неумолимо движется во времени Рост не вечен (я о тебе, Bitcoin) 60
  37. - Анонс и упоминание будут в ленте соцсети - Но

    лента неумолимо движется во времени - Время сделать roadmap на будущее Рост не вечен (я о тебе, Bitcoin) 61
  38. - Анонс и упоминание будут в ленте соцсети - Но

    лента неумолимо движется во времени - Время сделать roadmap на будущее - А лучше исправить сегодняшнее Рост не вечен (я о тебе, Bitcoin) 62
  39. - Не все так просто, буквально - Многие не понимают,

    что это труд Так что там про доп. доход? 65
  40. - Не все так просто, буквально - Многие не понимают,

    что это труд - Мало кому удается заменить работу Так что там про доп. доход? 66
  41. - Не все так просто, буквально - Многие не понимают,

    что это труд - Мало кому удается заменить работу - Github sponsors Так что там про доп. доход? 67
  42. - То есть правила поведения - Советую запастись терпением -

    Много недопонимания и разный проф. уровень Code of Conduct 70
  43. - То есть правила поведения - Советую запастись терпением -

    Много недопонимания и разный проф. уровень - Грубить, хамить, подшучивать не стоит Code of Conduct 71
  44. - То есть правила поведения - Советую запастись терпением -

    Много недопонимания и разный проф. уровень - Грубить, хамить, подшучивать не стоит - Сегодня пишут ишью с багом тебе, завтра пишешь ты Code of Conduct 72
  45. - Оставьте репо для истории - Не все может быть

    в кеше или папке vendor И просто не удаляйте проект 75
  46. - Оставьте репо для истории - Не все может быть

    в кеше или папке vendor - Возможно для кого-то это стартовая точка И просто не удаляйте проект 76
  47. - Оставьте репо для истории - Не все может быть

    в кеше или папке vendor - Возможно для кого-то это стартовая точка - Ностальгия и 2е дыхание внезапны И просто не удаляйте проект 77
  48. - Оставьте репо для истории - Не все может быть

    в кеше или папке vendor - Возможно для кого-то это стартовая точка - Ностальгия и 2е дыхание внезапны - А еще есть кнопочка Archive И просто не удаляйте проект 78
  49. - Понимаете, каждый год с 1 по 31 октября мы

    с друзьями ходим по Гитхабу. Это у нас такая традиция… Hacktoberfest 80
  50. - Понимаете, каждый год с 1 по 31 октября мы

    с друзьями ходим по Гитхабу. Это у нас такая традиция… - Отличный повод вкатиться Hacktoberfest 81
  51. - Понимаете, каждый год с 1 по 31 октября мы

    с друзьями ходим по Гитхабу. Это у нас такая традиция… - Отличный повод вкатиться - Бесполезных пулл-реквестов нет Hacktoberfest 82
  52. - Понимаете, каждый год с 1 по 31 октября мы

    с друзьями ходим по Гитхабу. Это у нас такая традиция… - Отличный повод вкатиться - Бесполезных пулл-реквестов нет - В конце-то концов клевая футболка Hacktoberfest 83
  53. - Понимаете, каждый год с 1 по 31 октября мы

    с друзьями ходим по Гитхабу. Это у нас такая традиция… - Отличный повод вкатиться - Бесполезных пулл-реквестов нет - В конце-то концов клевая футболка - А, знакомства и опыт еще Hacktoberfest 84