K>Так вот меня интересует вопрос: почему первый подход сейчас распространён гораздо меньше второго? Почему не понаписано платформ, заточенных под решение целых классов крупных задач, или хотя бы того класса, который я описал?
А ответ тривиален
1. Если A и B распространяют свои продукты под знаком GPL и D работает над коммерческим продуктом, и при этом A и B ни в какую не хотят менять условия лицензирования, то D, воспользовавшись их кодом просто не может позиционировать свой проект как коммереческий.
В то же время C написал коммереческий продукт, а у D просто нет желания/времени/финансовых возможностей для согласования условий лицензирования использования частей проекта C в своём проекте.
На самом деле, зачастую легче написать с нуля, чем решить проблемы именно такого уровня, котороы у непосредственно написанию кода никакого отношения не имеют.