Я думаю, мне было трудно сформулировать название. Тем не менее, я все еще могу объяснить мою проблему более подробно здесь.
Я разрабатываю встроенный продукт, который состоит из облачного сервиса и встроенного оборудования. Облачный сервис будет иметь REST-API (хотя его доступность не является точкой продажи) и будет взаимодействовать со встроенным оборудованием. В идеале, встраиваемое оборудование также должно иметь REST-подобный интерфейс для связи. Проблема в том, чтобы найти хороший программный стек для этого (или я думаю, что это проблема).
На мой взгляд, лучшим вариантом будет какой-то встроенный дистрибутив Linux с собственным веб-приложением, установленным внутри (Ubuntu Core + Django ...?). Можно ли как-то использовать эту комбинацию в коммерческом продукте, но в то же время держать внутреннее приложение закрытым?
Веб-сайт Ubuntu предоставляет несколько поддерживаемых платформ, и некоторые из них выглядят идеально для моего случая использования. Как я уже говорил, моей главной заботой на данный момент является лицензирование.
источник
Ответы:
Прежде всего, обратите внимание, что я не юрист. Получить его, если вы считаете, что вам нужна юридическая консультация. Лицензирование - одна из тех областей, где я бы порекомендовал.
Лицензии с открытым исходным кодом сильно различаются в том, что они позволяют. Давайте воспользуемся примером библиотеки, которую вы используете (немодифицированной) в вашем проекте. Вы можете найти две распространенные лицензии: GPL и LGPL, которые различаются в зависимости от решения этой проблемы. Из этой статьи , например:
Другие примеры лицензий, которые немного более открыты в этом отношении, включают MIT и BSD.
Большая часть программного обеспечения для Linux является GPL, и это, вероятно, будет включать компоненты любой выбранной вами ОС (например, Ubuntu Core). Тем не менее, если ваш проект не считается производной от этих проектов, это не должно повлиять на вас. Больше информации в этом ответе .
С этой точки зрения, использование Ubuntu Core для вашего продукта не должно влиять на то, открыто или закрыто приложение, на котором вы поставляете его. Действительно, упаковка приложения в виде оснастки - хороший способ распространения двоичных двоичных объектов.
Вы, вероятно, рассмотрели это, но с технической точки зрения, если вы отправляете снимок Python с использованием Django, снимок не будет двоичными каплями - по умолчанию ваш код будет находиться там для всех, кто хочет его увидеть (либо выгрузка содержимого диска или получение доступа к оболочке каким-либо образом). Вы можете вместо этого запутать или отправить байт-код и т. Д.
источник