#Branching_merging
#Git_Flow
#Feature_Based_Development
Git Flow (Feature Based Development) — одна из первых крупных стратегий ветвления, которая описывает несколько веток для разработки, релизов и взаимодействия между ними.
В Git Flow используются следующие типы веток:
• Feature branches
• Release branches
• Hotfix branches
#Git_Flow
#Feature_Based_Development
Git Flow (Feature Based Development) — одна из первых крупных стратегий ветвления, которая описывает несколько веток для разработки, релизов и взаимодействия между ними.
В Git Flow используются следующие типы веток:
• Feature branches
• Release branches
• Hotfix branches
#Branching_merging
#Git_Flow
#Feature_Based_Development
Feature branches
1️⃣Могут бранчеватся от
2️⃣Должны вмержится в
#Git_Flow
#Feature_Based_Development
Feature branches
1️⃣Могут бранчеватся от
develop2️⃣Должны вмержится в
develop
3️⃣Naming convention: любые названия кроме master, develop, release-*, или hotfix-*#Branching_merging
#Git_Flow
#Feature_Based_Development
Hotfix branches
1️⃣Могут бранчеватся от
2️⃣Должны вмержится в
3️⃣Naming convention:
#Git_Flow
#Feature_Based_Development
Hotfix branches
1️⃣Могут бранчеватся от
master2️⃣Должны вмержится в
develop и master3️⃣Naming convention:
hotfix-*#Branching_merging
#Git_Flow
#Feature_Based_Development
Release branches
1️⃣Могут бранчеватся от
2️⃣Должны вмержится в
3️⃣Naming convention:
‼️до того как вмержить код в релиз ветку, необходимо добавить ей тег с версией релиза (например "0.9 hotfix")
#Git_Flow
#Feature_Based_Development
Release branches
1️⃣Могут бранчеватся от
develop2️⃣Должны вмержится в
develop и master3️⃣Naming convention:
release-*‼️до того как вмержить код в релиз ветку, необходимо добавить ей тег с версией релиза (например "0.9 hotfix")
#Git_Flow
Плюсы и минусы Git Flow:
📌Плюсы:
✅Git Flow используется многими распределенными командами, в тч и open source команды, которые имеют разные уровни квалификации. Сопровождающие проекта могут проводить код ревью и утверждать каждую строку кода в релизы.
✅Git Flow хорошо подходит для "традиционной модели релизов", где релизы делаются раз в месяц или раз в пару недель.
✅Git Flow также хорошо работает при работе с установленным продуктом или несколькими версиями в производстве.
📌Минусы:
⚠️Git Flow может замедлять работу, когда приходится ревьювить большие пулл реквесты, когда вы пытаетесь выполнить итерацию быстро.
⚠️Релизы сложно делать чаще, чем раз в неделю.
⚠️Большие функции могут потратить дни на мерж и резолв конфликтов и форсировать несколько циклов тестирования.
⚠️История проекта в гите имеет кучу merge commits и затрудняет просмотр реальной работы.
⚠️Может быть проблематичным в CI/CD сценариях.
Плюсы и минусы Git Flow:
📌Плюсы:
✅Git Flow используется многими распределенными командами, в тч и open source команды, которые имеют разные уровни квалификации. Сопровождающие проекта могут проводить код ревью и утверждать каждую строку кода в релизы.
✅Git Flow хорошо подходит для "традиционной модели релизов", где релизы делаются раз в месяц или раз в пару недель.
✅Git Flow также хорошо работает при работе с установленным продуктом или несколькими версиями в производстве.
📌Минусы:
⚠️Git Flow может замедлять работу, когда приходится ревьювить большие пулл реквесты, когда вы пытаетесь выполнить итерацию быстро.
⚠️Релизы сложно делать чаще, чем раз в неделю.
⚠️Большие функции могут потратить дни на мерж и резолв конфликтов и форсировать несколько циклов тестирования.
⚠️История проекта в гите имеет кучу merge commits и затрудняет просмотр реальной работы.
⚠️Может быть проблематичным в CI/CD сценариях.
#GitHubFlow
⛳️GitHub Flow⛳️
📍Он выглядит почти так же как и Git Flow, но фиксированная ветка всего одна — master; всё остальное принадлежит тематическим ветвям.
📍Тематические ветви, в свою очередь, создаются в форках — клонированных копиях репозитория. То есть центральный репозиторий тематических веток не содержит. В том числе и после слияния, так как метки веток при этом снимаются и их головы становятся анонимными.
⛳️GitHub Flow⛳️
📍Он выглядит почти так же как и Git Flow, но фиксированная ветка всего одна — master; всё остальное принадлежит тематическим ветвям.
📍Тематические ветви, в свою очередь, создаются в форках — клонированных копиях репозитория. То есть центральный репозиторий тематических веток не содержит. В том числе и после слияния, так как метки веток при этом снимаются и их головы становятся анонимными.
#Git_Flow
🟢GitLab Flow🟢
✅фиксированная ветка всего одна —
✅ для каждого релиза создаётся своя, отдельная ветка;
✅никакого мержа этих веток с parent'ом не производится;
✅если ветка отбранчевалась, значит она будет жить своей жизнью, получая исправления ошибок в виде отдельных коммитов (возможно, портированных из head/master с учётом накопившейся разницы в функционале между ветками).
🟢GitLab Flow🟢
✅фиксированная ветка всего одна —
master, всё остальное принадлежит тематическим ветвям;✅ для каждого релиза создаётся своя, отдельная ветка;
✅никакого мержа этих веток с parent'ом не производится;
✅если ветка отбранчевалась, значит она будет жить своей жизнью, получая исправления ошибок в виде отдельных коммитов (возможно, портированных из head/master с учётом накопившейся разницы в функционале между ветками).
Как получить прибыль от открытого программного обеспечения
Вариант #1
Программное обеспечение как услуга (OpenSaaS)
🟢Один из способов монетизировать проект с открытым исходным кодом - это использование бизнес-модели SaaS.
🟡Этот вариант имеет смысл, если есть полноценное приложение, способное генерировать спрос.
🟠Модель SaaS является популярным способом лицензирования программного обеспечения, поскольку она гибкая и предлагает быстрое развертывание и снижение затрат.
🟣Привлекательность SaaS заключается в том, что программное обеспечение хранится в облаке; для доступа к приложению пользователям нужен только веб-браузер.
🔴SaaS - популярная бизнес-модель для поставщиков, которые создают инструменты для HR, совместной работы, управления контентом и проектами.
🟤SaaS-решения с бесплатной кодовой базой снижают затраты на разработку и устраняют необходимость построения избыточной функциональности.
🟢Кроме того, активное сообщество OSS с удовольствием будет продвигать качественные продукты с открытым исходным кодом.
🟡При использовании модели OpenSaaS программное обеспечение приобретается по подписке, которая может предложить различные уровни обслуживания. Например, вы можете предложить техническую поддержку, настройку программного обеспечения и тренинги в качестве опций пакета.
🟠WordPress и Sharetribe - два ярких примера продуктов OpenSaaS.
Вариант #1
Программное обеспечение как услуга (OpenSaaS)
🟢Один из способов монетизировать проект с открытым исходным кодом - это использование бизнес-модели SaaS.
🟡Этот вариант имеет смысл, если есть полноценное приложение, способное генерировать спрос.
🟠Модель SaaS является популярным способом лицензирования программного обеспечения, поскольку она гибкая и предлагает быстрое развертывание и снижение затрат.
🟣Привлекательность SaaS заключается в том, что программное обеспечение хранится в облаке; для доступа к приложению пользователям нужен только веб-браузер.
🔴SaaS - популярная бизнес-модель для поставщиков, которые создают инструменты для HR, совместной работы, управления контентом и проектами.
🟤SaaS-решения с бесплатной кодовой базой снижают затраты на разработку и устраняют необходимость построения избыточной функциональности.
🟢Кроме того, активное сообщество OSS с удовольствием будет продвигать качественные продукты с открытым исходным кодом.
🟡При использовании модели OpenSaaS программное обеспечение приобретается по подписке, которая может предложить различные уровни обслуживания. Например, вы можете предложить техническую поддержку, настройку программного обеспечения и тренинги в качестве опций пакета.
🟠WordPress и Sharetribe - два ярких примера продуктов OpenSaaS.
Как получить прибыль от открытого программного обеспечения
Вариант #2
Платная поддержка
🔴Многие компании OSS добиваются успеха, предоставляя дополнительные услуги: техническая поддержка, сертификация и обучение.
🟠Большинство профессиональных компаний с открытым исходным кодом, включая Red Hat, JBoss и MySQl, построили весь свой бизнес, предоставляя бесплатные решения. Они получают прибыль только от дополнительных услуг.
🟡Наиболее распространенным способом получения дохода от OSS является предоставление платной поддержки.
🟢Red Hat устанавливает планку для этой модели, имея значительный доход. В 2016 году компания - широко известная своей корпоративной операционной системой Red Hat Enterprise Linux - объявила о прибыли в 2,05 миллиарда долларов. Red Hat делает это замечательно, продавая годовые подписки для пользователей и технической поддержки. Клиенты могут выбрать план подписки, основываясь на количестве запросов, серьезности запросов, каналах поддержки и часах покрытия.
🔵MySQL, ведущая база данных с открытым исходным кодом, получает доход от продажи подписок на поддержку своего продукта.
🟣Платная поддержка является эффективным инструментом для получения прибыли из открытых источников по нескольким причинам:
🟪Во-первых, владельцы предприятий могут сэкономить на заработной плате. Вместо того, чтобы нанимать собственных специалистов, предприятия могут иметь доступ к сертифицированным специалистам поддержки на более дешевой основе.
🟪Во-вторых, предприятия могут быть спокойны, зная, что при возникновении проблем они могут обратиться к профессионалам.
Вариант #2
Платная поддержка
🔴Многие компании OSS добиваются успеха, предоставляя дополнительные услуги: техническая поддержка, сертификация и обучение.
🟠Большинство профессиональных компаний с открытым исходным кодом, включая Red Hat, JBoss и MySQl, построили весь свой бизнес, предоставляя бесплатные решения. Они получают прибыль только от дополнительных услуг.
🟡Наиболее распространенным способом получения дохода от OSS является предоставление платной поддержки.
🟢Red Hat устанавливает планку для этой модели, имея значительный доход. В 2016 году компания - широко известная своей корпоративной операционной системой Red Hat Enterprise Linux - объявила о прибыли в 2,05 миллиарда долларов. Red Hat делает это замечательно, продавая годовые подписки для пользователей и технической поддержки. Клиенты могут выбрать план подписки, основываясь на количестве запросов, серьезности запросов, каналах поддержки и часах покрытия.
🔵MySQL, ведущая база данных с открытым исходным кодом, получает доход от продажи подписок на поддержку своего продукта.
🟣Платная поддержка является эффективным инструментом для получения прибыли из открытых источников по нескольким причинам:
🟪Во-первых, владельцы предприятий могут сэкономить на заработной плате. Вместо того, чтобы нанимать собственных специалистов, предприятия могут иметь доступ к сертифицированным специалистам поддержки на более дешевой основе.
🟪Во-вторых, предприятия могут быть спокойны, зная, что при возникновении проблем они могут обратиться к профессионалам.
Forwarded from 🇺🇦 Math.random(): javascript community via @like
Красивенький терминал для Windows, Linux и MacOS. Написан на typescript и electron. https://github.com/Eugeny/terminus
Как получить прибыль от открытого программного обеспечения
Вариант #3
Двойное лицензирование
🟠Двойная лицензия позволяет компаниям выпускать коммерческое программное обеспечение (с коммерческой лицензией), производное от свободной OSS, обычно распространяемой под лицензией GNU General Public (GPL).
🟢Двойное лицензирование может быть реализовано несколькими способами.
✅В первом сценарии компания выпускает идентичные продукты под коммерческой лицензией и под свободной лицензией, такой как GPL.
✅Во втором сценарии компания выпускает разные версии под разными лицензиями.
🔴Так в чем же смысл двойного лицензирования?
📌Лицензия GPL позволяет конечным пользователям запускать OSS, перераспространять эту программу и изменять ее.
📌Однако вы не можете встраивать решения OSS в свое несвободное (коммерческое) программное обеспечение и получать прибыль под лицензией GPL.
📌Именно здесь вам понадобится коммерческая версия продукта с открытым исходным кодом, чтобы иметь право продавать ваше коммерческое программное обеспечение.
‼️Самый известный пример успешного двойного лицензирования - MySQL. Компания выпускает MySQL Enterprise Edition, MySQL Cluster CGE и MySQL Standard Edition по коммерческим лицензиям, одновременно предлагая два других продукта - MySQL Classic Edition и MySQL Community Edition - по лицензии GPL. Коммерческие версии получают расширенные функции безопасности, резервное копирование, круглосуточную поддержку и многое другое.
Вариант #3
Двойное лицензирование
🟠Двойная лицензия позволяет компаниям выпускать коммерческое программное обеспечение (с коммерческой лицензией), производное от свободной OSS, обычно распространяемой под лицензией GNU General Public (GPL).
🟢Двойное лицензирование может быть реализовано несколькими способами.
✅В первом сценарии компания выпускает идентичные продукты под коммерческой лицензией и под свободной лицензией, такой как GPL.
✅Во втором сценарии компания выпускает разные версии под разными лицензиями.
🔴Так в чем же смысл двойного лицензирования?
📌Лицензия GPL позволяет конечным пользователям запускать OSS, перераспространять эту программу и изменять ее.
📌Однако вы не можете встраивать решения OSS в свое несвободное (коммерческое) программное обеспечение и получать прибыль под лицензией GPL.
📌Именно здесь вам понадобится коммерческая версия продукта с открытым исходным кодом, чтобы иметь право продавать ваше коммерческое программное обеспечение.
‼️Самый известный пример успешного двойного лицензирования - MySQL. Компания выпускает MySQL Enterprise Edition, MySQL Cluster CGE и MySQL Standard Edition по коммерческим лицензиям, одновременно предлагая два других продукта - MySQL Classic Edition и MySQL Community Edition - по лицензии GPL. Коммерческие версии получают расширенные функции безопасности, резервное копирование, круглосуточную поддержку и многое другое.
Как получить прибыль от открытого программного обеспечения
Вариант #4
Платные дополнительные функции
✳️Некоторые компании зарабатывают деньги, используя открытый исходный текст таким образом: они распространяют свои программы бесплатно, но платят деньги за дополнительные функции, функциональность или обновления.
✳️Взимание платы за дополнительную функциональность привлекательно по целому ряду причин.
⚠️Во-первых, понятно, за какой дополнительный функционал клиенты платят.
⚠️Во-вторых, клиенты могут сэкономить на развертывании и устранении неполадок, когда эти услуги включены в платные пакеты.
✔️Например, GitLab распространяет инструменты своих разработчиков в трех редакциях. Их версия для предприятий включает премиум-поддержку, блокировку файлов и расширенные решения для удаленных команд, а также выставляется счет на каждого пользователя.
✳️Деньги за дополнительную функциональность хорошо работают для программного обеспечения, предназначенного для ведения блогов, HR, совместной работы, управления клиентами и других подобных нужд.
✔️Например, WordPress предоставляет своим премиум-клиентам и корпоративным клиентам дополнительные веб-сайты и дополнительную рабочую силу для поддержки их сайтов WordPress. Несмотря на то, что плата за разработку достаточно высока - $5k USD в месяц - клиенты получают сертифицированных профессионалов, которые занимаются конкретными технологиями и бизнесом.
Вариант #4
Платные дополнительные функции
✳️Некоторые компании зарабатывают деньги, используя открытый исходный текст таким образом: они распространяют свои программы бесплатно, но платят деньги за дополнительные функции, функциональность или обновления.
✳️Взимание платы за дополнительную функциональность привлекательно по целому ряду причин.
⚠️Во-первых, понятно, за какой дополнительный функционал клиенты платят.
⚠️Во-вторых, клиенты могут сэкономить на развертывании и устранении неполадок, когда эти услуги включены в платные пакеты.
✔️Например, GitLab распространяет инструменты своих разработчиков в трех редакциях. Их версия для предприятий включает премиум-поддержку, блокировку файлов и расширенные решения для удаленных команд, а также выставляется счет на каждого пользователя.
✳️Деньги за дополнительную функциональность хорошо работают для программного обеспечения, предназначенного для ведения блогов, HR, совместной работы, управления клиентами и других подобных нужд.
✔️Например, WordPress предоставляет своим премиум-клиентам и корпоративным клиентам дополнительные веб-сайты и дополнительную рабочую силу для поддержки их сайтов WordPress. Несмотря на то, что плата за разработку достаточно высока - $5k USD в месяц - клиенты получают сертифицированных профессионалов, которые занимаются конкретными технологиями и бизнесом.