ну вы чего как маленький? Все пишется для себя и для своих задач, по своим «лекалам» и правилам. Что бы что-то выложить в апстрим в том же OpenStack (да и не важно, куда), нужно переписать код под требования проекта куда выклажываешь, описать документацию по требованиям проекта, пройти множетсво ревью, на которых тебе будут говорить «тут вот не так, надо так, тут переписать. А нет все не так. Я в отпуске, через месяц посмотрю» и т.д. Потом окажется, что твои наработки - нафиг никому не нужны, а нужны только твоей компании и ей (что бы наработки не выкинули из апстрима) придется и дальге их сопровождать, НО теперь уже в коде апстрима и твои новые фичи - уже надо будет согласовывать с другими участниками, т.к. могут затронуть их код или чужой код затрагивает твой и ломает твой и опять полгода согласований на ревью.
И все вот это - это человеко-часы, квалифицированного персонала, которому платится ЗП. Вопрос - оно надо генеральному?