Xây dựng một sản phẩm IoT - cách tốt nhất để tránh chia sẻ mã độc quyền nội bộ là gì?


10

Tôi nghĩ rằng thật khó cho tôi để xây dựng tiêu đề. Tuy nhiên, tôi vẫn có thể giải thích vấn đề của mình chi tiết hơn ở đây.

Tôi đang thiết kế một sản phẩm nhúng bao gồm dịch vụ đám mây và phần cứng nhúng. Dịch vụ đám mây sẽ có REST-api (mặc dù nó không có sẵn không phải là điểm bán hàng) và nó sẽ giao tiếp với phần cứng nhúng. Lý tưởng nhất là phần cứng nhúng cũng sẽ có giao diện giống như REST để liên lạc. Vấn đề là tìm ra phần mềm tốt cho nó (hoặc đó là điều tôi nghĩ là vấn đề).

Theo tôi, tùy chọn tốt nhất sẽ là một loại phân phối Linux nhúng với ứng dụng web riêng được cài đặt bên trong (Ubuntu Core + Django ...?). Có thể bằng cách nào đó có thể sử dụng kết hợp này trong một sản phẩm thương mại nhưng đồng thời giữ kín ứng dụng web?

Trang web Ubuntu cung cấp nhiều nền tảng được hỗ trợ và một số trong số chúng trông lý tưởng cho trường hợp sử dụng của tôi. Như tôi đã nói trước đây, mối quan tâm chính của tôi tại thời điểm này là cấp phép.


2
Bạn có thể làm rõ những gì bạn có khả năng phân phối, hoặc bán? Nội bộ / bên ngoài và phái sinh hoặc kết quả đều có liên quan khi cấp phép.
Sean Houlihane

Xin lỗi, không để ý bình luận. Phần mềm sẽ là một máy chủ web đơn giản được tạo bằng django hoặc nodejs, sẽ chứa mọi thứ thiết yếu cho dự án. Ubuntu Core sẽ chỉ là nền tảng để triển khai.
Nikolas

Câu trả lời:


7

Trước hết, lưu ý rằng tôi không phải là một luật sư. Nhận một nếu bạn nghĩ rằng bạn cần tư vấn pháp lý. Cấp phép là một trong những lĩnh vực mà tôi muốn giới thiệu.

Giấy phép nguồn mở khác nhau rất nhiều trong những gì họ cho phép. Hãy sử dụng ví dụ về thư viện mà bạn đang sử dụng (chưa sửa đổi) trong dự án của bạn. Hai giấy phép phổ biến bạn có thể tìm thấy là GPL và LGPL, khác nhau về cách họ xử lý vấn đề này. Từ bài viết này , ví dụ:

Dự án GNU có hai giấy phép chính để sử dụng cho các thư viện. Một là GPL GNU GNU; khác là GPL GNU thông thường. Sự lựa chọn giấy phép tạo ra sự khác biệt lớn: sử dụng GPL ít hơn cho phép sử dụng thư viện trong các chương trình độc quyền; sử dụng GPL thông thường cho thư viện làm cho nó chỉ khả dụng cho các chương trình miễn phí.

Các ví dụ giấy phép khác cởi mở hơn một chút về vấn đề này bao gồm MIT và BSD.

Rất nhiều phần mềm Linux là GPL và điều này có thể sẽ bao gồm các thành phần của bất kỳ HĐH nào bạn chọn (ví dụ: Ubuntu Core). Tuy nhiên, miễn là dự án của bạn không được coi là một tác phẩm phái sinh từ các dự án này, bạn không nên bị ảnh hưởng. Thêm thông tin trong câu trả lời này .

Từ quan điểm này, việc sử dụng Ubuntu Core cho sản phẩm của bạn sẽ không ảnh hưởng đến việc ứng dụng bạn gửi trên đó là mở hay đóng. Thật vậy, đóng gói ứng dụng của bạn như một snap là một cách tốt để phân phối các đốm màu nhị phân.

Bạn có thể đã cân nhắc điều này, nhưng từ góc độ kỹ thuật, nếu bạn gửi một snap Python bằng Django, thì snap sẽ không phải là các đốm nhị phân-- theo mặc định, mã của bạn sẽ nằm ở đó cho bất kỳ ai muốn xem nó (bởi đổ nội dung đĩa hoặc bằng cách truy cập shell bằng cách nào đó). Thay vào đó, bạn có thể muốn làm xáo trộn hoặc gửi mã byte, v.v.


1
Đây có thể là một cái gì đó tôi đã tìm kiếm. Tôi đoán phần mềm có thể được coi là công việc không phái sinh vì tất cả các chức năng không tầm thường xảy ra bên trong Django. Ngoài ra, không thể gửi snaps từ kho riêng? Trong trường hợp đó, sẽ không có vấn đề gì nếu có mã python.
Nikolas

2
Ồ chắc chắn, bạn có thể giữ snap snap ở xa như cửa hàng có liên quan, nhưng tôi đang nói trên thiết bị vẫn là mã Python trừ khi bạn làm gì đó với nó. Hãy xem xét rằng bất cứ ai có quyền truy cập vật lý vào thiết bị có thể có thể nhìn vào những gì đang chạy trên thiết bị, bao gồm cả snap của bạn.
Kyle

1
À, đúng rồi. Tôi đã nghĩ đến việc chạy thiết bị ở chế độ không đầu (nghĩ rằng Samsung ARTIK) vì vậy có lẽ đây sẽ không phải là vấn đề lớn. Tất nhiên nếu bạn THỰC SỰ muốn vào thiết bị thì điều này có thể hoặc không thể ngăn chặn điều này. Nhưng ở quy mô lớn, tôi nghĩ giải pháp này sẽ đủ ..
Nikolas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.