我认为我很难制定标题。但是,我仍然可以在这里更详细地说明我的问题。

我正在设计一种包含云服务和嵌入式硬件的嵌入式产品。云服务将具有REST-api(尽管它不是卖点),并且它将与嵌入式硬件通信。理想情况下,嵌入式硬件还应具有类似REST的接口进行通信。问题是为此找到了良好的软件堆栈(或者这就是我认为的问题)。

我认为最好的选择是某种嵌入式Linux发行版,其中装有自己的Web应用程序(Ubuntu Core + Django ...?)。是否可以以某种方式在商业产品中使用此组合,但同时又保持内部Web应用处于关闭状态?

Ubuntu网站提供了多个受支持的平台,其中某些平台对于我的用例而言非常理想。就像我之前说过的那样,目前我主要关心的是许可。

评论

您能否阐明您可能分配或出售的商品?内部/外部以及派生或结果与许可有关。

抱歉,没有注意到此评论。该软件将是使用django或nodejs制造的简单Web服务器,其中将包含项目必需的所有内容。 Ubuntu Core只是要部署的平台。

#1 楼

首先,请注意我不是律师。如果您认为自己需要法律建议,请找一个。许可是我推荐的领域之一。

开源许可在允许范围方面有很大差异。让我们以您在项目中使用(未修改)的库为例。您可能会发现两种常见的许可证,即GPL和LGPL,它们在如何处理此问题方面有所不同。例如,从本文中可以得到以下内容:GNU项目具有两个用于库的主要许可证。一个
是GNU Lesser GPL;另一个是普通的GNU GPL。选择许可证
有很大的不同:使用Lesser GPL允许在专有程序中使用该库。对
库使用普通的GPL使其只能用于免费程序。


在这方面更开放的其他许可示例包括MIT和BSD。 />
很多Linux软件都是GPL,这很可能包括您选择的任何操作系统的组件(例如Ubuntu Core)。但是,只要您的项目不被认为是这些项目的衍生作品,您就不会受到影响。从这个角度来看,更多信息。确实,将应用程序打包为快照是分发二进制blob的好方法。

您可能已经考虑过这一点,但是从技术角度来看,如果您使用Django交付Python快照,则快照会获得成功。并不是二进制blob-默认情况下,您的代码将坐在那里,供任何希望看到它的人使用(通过转储磁盘内容或通过某种方式获得shell访问权限)。您可能想混淆或发送字节码,等等。

评论


这可能是我一直在寻找的东西。我猜该软件可能被认为是非衍生产品,因为所有非平凡的功能都发生在Django内部。另外,是否有可能从私有存储库中发送快照?在那种情况下,可以使用python代码并不重要。

–尼古拉斯
18年2月19日在19:26

哦,可以肯定的是,您可以在商店范围内将快照保持私有状态,但是我要说的是在设备上它仍然是Python代码,除非您对此进行处理。考虑一下,只要对设备具有物理访问权限的人都可以查看设备上正在运行的内容,包括快照。

–凯尔
18-2-19在20:07



嗯,没错。我当时正在考虑以无头模式运行设备(想想三星ARTIK),所以也许这不会成为大问题。当然,如果您真的想进入设备,则可能会或可能不会阻止这种情况。但是我认为这种解决方案就足够了。

–尼古拉斯
18-2-20在11:51