Bir IoT ürünü oluşturmak - şirket içi özel kod paylaşmaktan kaçınmanın en iyi yolu nedir?


10

Başlığı formüle etmemin zor olduğunu düşünüyorum. Ancak yine de sorunumu burada daha ayrıntılı olarak açıklayabilirim.

Bulut hizmeti ve gömülü donanımdan oluşan gömülü bir ürün tasarlıyorum. Bulut hizmetinin bir REST-api'si olacaktır (kullanılabilir olması satış noktası olmamasına rağmen) ve gömülü donanımla iletişim kuracaktır. İdeal olarak, gömülü donanımın iletişim için REST benzeri bir arayüzü de olacaktır. Sorun bunun için iyi bir yazılım yığını bulmak (ya da sorun olduğunu düşünüyorum).

Bence en iyi seçenek, kendi web uygulaması (Ubuntu Core + Django ...?) Yüklü olan bir çeşit gömülü Linux dağıtımı olacaktır. Bu kombinasyonu ticari bir üründe kullanmak bir şekilde mümkün mü, aynı zamanda web uygulamasını içeride kapalı tutmak mı?

Ubuntu web sitesi birden fazla desteklenen platform sunuyor ve bazıları kullanım durumum için ideal görünüyor. Daha önce söylediğim gibi, şu andaki temel endişem lisanslama.


2
Neyi dağıtma veya satma olasılığınızı netleştirebilir misiniz? İç / dış ve türev ya da sonuç, lisanslama söz konusu olduğunda geçerlidir.
Sean Houlihane

Üzgünüm, yorum fark etmedi. Yazılım, django veya nodejs'de yapılan ve proje için gerekli olan her şeyi içeren basit bir web sunucusu olacaktır. Ubuntu Core sadece dağıtım platformu olacaktı.
Nikolas

Yanıtlar:


7

Her şeyden önce, ben bir avukat olmadığımı unutmayın. Yasal tavsiyeye ihtiyacınız olduğunu düşünüyorsanız bir tane alın. Lisanslama, böyle bir alanı tavsiye ederim.

Açık kaynak lisansları izin verdiklerinden büyük ölçüde farklılık gösterir. Projenizde kullandığınız (değiştirilmemiş) kütüphane örneğini kullanalım. Bulabileceğiniz iki yaygın lisans, bu sorunu nasıl ele aldıklarına bağlı olarak değişen GPL ve LGPL'dir. Gönderen Bu makalede , örneğin:

GNU Projesi'nin kütüphaneler için kullanmak üzere iki ana lisansı vardır. Birincisi GNU Lesser GPL; diğeri sıradan GNU GPL. Lisans seçimi büyük bir fark yaratır: Lesser GPL kullanımı kütüphanenin tescilli programlarda kullanılmasına izin verir; bir kütüphane için normal GPL kullanılması kütüphaneyi sadece ücretsiz programlar için kullanılabilir kılar.

Bu konuda biraz daha açık olan diğer lisans örnekleri MIT ve BSD'dir.

Bir çok Linux yazılımı GPL'dir ve bu muhtemelen seçtiğiniz herhangi bir işletim sisteminin bileşenlerini (örn. Ubuntu Core) içerecektir. Ancak, projeniz bu projelerden türetilmiş bir çalışma olarak görülmediği sürece etkilenmemelisiniz. Bu cevapta daha fazla bilgi .

Bu perspektiften bakıldığında, ürününüz için Ubuntu Core'un kullanılması, üzerinde gönderdiğiniz uygulamanın açık veya kapalı olmasını etkilememelidir. Aslında, uygulamanızı bir çırpıda paketlemek, ikili lekeleri dağıtmanın iyi bir yoludur.

Muhtemelen bunu düşündünüz, ancak teknik açıdan bakıldığında, Django kullanarak bir Python eki gönderiyorsanız, ek ikili blob olmayacak - varsayılan olarak kodunuz onu görmek isteyen herkes için orada olacak (ya disk içeriğini boşaltmak veya bir şekilde kabuk erişimi elde etmek). Bunun yerine bayt kodunu gizlemek veya göndermek isteyebilirsiniz.


1
Bu aradığım bir şey olabilir. Önemsiz işlevselliklerin hepsi Django içinde gerçekleştiğinden, yazılımın türev olmayan bir çalışma olduğu düşünülebilir. Ayrıca, özel bir depodan ekler göndermek mümkün değil mi? Bu durumda, python kodunun mevcut olması önemli değildir.
Nikolas

2
Ah emin, mağaza ile ilgili olarak ek gizli tutabilirsiniz, ama bu konuda bir şey yapmazsanız cihazda hala Python kodu söylüyorum . Cihaza fiziksel erişimi olan herkesin, çıtçıtınız da dahil olmak üzere üzerinde neler çalıştığına bakabileceğini düşünün.
Kyle

1
Ah, bu doğru. Cihazı başsız modda çalıştırmayı düşünüyordum (Samsung ARTIK'i düşünün), belki de bu büyük bir sorun olmayacak. Elbette cihaza gerçekten girmek istiyorsanız bunu engelleyebilir veya engelleyemeyebilirsiniz. Ama büyük ölçekte bu çözüm yeterli olacağını düşünüyorum ..
Nikolas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.