Я Мне понастваили минусов..Поясню когда имеет смысл делать опенсорсное ПО, а когда нет:
1)Вы крупная компания и хотите уменьшить издержки на разработку продукта "А". В продукте продукта "А" заинтересованы ещё крупные компании, возможно их не очень много. Вы можете позволить держать штат программистов. Ваш основной доход - не доход от этого ПО. Ваша лицензия скорее всего будет либиральная: Apache или MIT и др.
2) вы небольшая компания, вы пишите опенсорсный продукт зарабатываете на поддержке.
Ваши клиенты - небольшие компании и не могу позволить держать штат программистов - будет дорого.
Пользователей вашего продукто должно быть очень много. Ваша лицензия gpl, lgpl, agpl + комерческая (менее удобны Apache, MIT )
Пример компаний canonical, redhat, компании из MariaDB Foundation.
3)Вы программист. Вы знаете продукт "А", Вы хорошо разбираетесь в нём вы его писали. Доступ к исходникм довольно простой.
В принципе не важно открытый продукт "А" или нет. Те кто писал ядро виндуса - скорее всего более ценны чем кто писал ядро Linux(конкуренция меньше).
Когда опенсорс плохо работает
1) вы небольшая компания, Ваши клиенты - небольшие компании. которые не могут позволить держать штат программистов. Компаний-клиентов сравнительно мало(например потому что вы делаете специализированный продукт).
Сделав закрытый продукт вы можете сделать его:
-дешёвым потому что платят все, издержки распределяются более равномерно.
В SaS продукте издержки распределяются ещё более равномерно по времени (помесячная например оплата). Ещё меньше затраты на администрирование.
2)Ваше конкурентное преимущество - ПО. сделав его открытым вы наплодите сильны конкурентов за свои деньги.