StartupEmulator
58 subscribers
134 photos
7 videos
178 links
StartupEmulator – Training Platform for Developers.
Вопросы и предложения: @StartupEmulatorAdmin.
Наш сайт: https://startupemulator.com
Download Telegram
#Branching_merging
#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️⃣
Могут бранчеватся от develop
2️⃣Должны вмержится в develop
3️⃣
Naming convention: любые названия кроме masterdeveloprelease-*, или hotfix-*
#Branching_merging
#Git_Flow
#Feature_Based_Development

Hotfix branches
1️⃣
Могут бранчеватся от master
2️⃣Должны вмержится в develop и master
3️⃣Naming convention: hotfix-*
#Branching_merging
#Git_Flow
#Feature_Based_Development

Release branches
1️⃣
Могут бранчеватся от develop
2️⃣Должны вмержится в develop и master
3️⃣Naming convention: release-*
‼️до того как вмержить код в релиз ветку, необходимо добавить ей тег с версией релиза (например "0.9 hotfix")
#Git_Flow

Плюсы и минусы Git Flow:

📌Плюсы:

Git Flow используется многими распределенными командами, в тч и open source команды, которые имеют разные уровни квалификации. Сопровождающие проекта могут проводить код ревью и утверждать каждую строку кода в релизы.
Git Flow хорошо подходит для "традиционной модели релизов", где релизы делаются раз в месяц или раз в пару недель.
Git Flow также хорошо работает при работе с установленным продуктом или несколькими версиями в производстве.

📌Минусы:

⚠️Git Flow может замедлять работу, когда приходится ревьювить большие пулл реквесты, когда вы пытаетесь выполнить итерацию быстро.
⚠️Релизы сложно делать чаще, чем раз в неделю.
⚠️Большие функции могут потратить дни на мерж и резолв конфликтов и форсировать несколько циклов тестирования.
⚠️История проекта в гите имеет кучу merge commits и затрудняет просмотр реальной работы.
⚠️Может быть проблематичным в CI/CD сценариях.
#GitHubFlow

⛳️GitHub Flow⛳️

📍Он выглядит почти так же как и Git Flow, но фиксированная ветка всего одна — master; всё остальное принадлежит тематическим ветвям.

📍Тематические ветви, в свою очередь, создаются в форках — клонированных копиях репозитория. То есть центральный репозиторий тематических веток не содержит. В том числе и после слияния, так как метки веток при этом снимаются и их головы становятся анонимными.
#Git_Flow

🟢GitLab Flow🟢

фиксированная ветка всего одна — master, всё остальное принадлежит тематическим ветвям;
для каждого релиза создаётся своя, отдельная ветка;
никакого мержа этих веток с parent'ом не производится;
если ветка отбранчевалась, значит она будет жить своей жизнью, получая исправления ошибок в виде отдельных коммитов (возможно, портированных из head/master с учётом накопившейся разницы в функционале между ветками).
Environment branches в GitLab flow
Release branches в GitLab flow
Как получить прибыль от открытого программного обеспечения

Вариант #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, ведущая база данных с открытым исходным кодом, получает доход от продажи подписок на поддержку своего продукта.

🟣Платная поддержка является эффективным инструментом для получения прибыли из открытых источников по нескольким причинам:

🟪Во-первых, владельцы предприятий могут сэкономить на заработной плате. Вместо того, чтобы нанимать собственных специалистов, предприятия могут иметь доступ к сертифицированным специалистам поддержки на более дешевой основе.

🟪Во-вторых, предприятия могут быть спокойны, зная, что при возникновении проблем они могут обратиться к профессионалам.
Красивенький терминал для 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. Коммерческие версии получают расширенные функции безопасности, резервное копирование, круглосуточную поддержку и многое другое.
Our startups in progress 🥳
Как получить прибыль от открытого программного обеспечения

Вариант #4

Платные дополнительные функции

✳️Некоторые компании зарабатывают деньги, используя открытый исходный текст таким образом: они распространяют свои программы бесплатно, но платят деньги за дополнительные функции, функциональность или обновления.

✳️Взимание платы за дополнительную функциональность привлекательно по целому ряду причин.
⚠️Во-первых, понятно, за какой дополнительный функционал клиенты платят.
⚠️Во-вторых, клиенты могут сэкономить на развертывании и устранении неполадок, когда эти услуги включены в платные пакеты.
✔️Например, GitLab распространяет инструменты своих разработчиков в трех редакциях. Их версия для предприятий включает премиум-поддержку, блокировку файлов и расширенные решения для удаленных команд, а также выставляется счет на каждого пользователя.

✳️Деньги за дополнительную функциональность хорошо работают для программного обеспечения, предназначенного для ведения блогов, HR, совместной работы, управления клиентами и других подобных нужд.
✔️Например, WordPress предоставляет своим премиум-клиентам и корпоративным клиентам дополнительные веб-сайты и дополнительную рабочую силу для поддержки их сайтов WordPress. Несмотря на то, что плата за разработку достаточно высока - $5k USD в месяц - клиенты получают сертифицированных профессионалов, которые занимаются конкретными технологиями и бизнесом.