การสร้างผลิตภัณฑ์ IoT - วิธีที่ดีที่สุดในการหลีกเลี่ยงการแชร์รหัสที่เป็นกรรมสิทธิ์ของ บริษัท คืออะไร


10

ฉันคิดว่ามันยากสำหรับฉันที่จะกำหนดชื่อ อย่างไรก็ตามฉันยังสามารถอธิบายปัญหาของฉันในรายละเอียดเพิ่มเติมได้ที่นี่

ฉันออกแบบผลิตภัณฑ์แบบฝังซึ่งประกอบด้วยบริการคลาวด์และฮาร์ดแวร์แบบฝัง บริการคลาวด์จะมี REST-api (แม้ว่าจะใช้งานได้ไม่ใช่จุดขาย) และจะสื่อสารกับฮาร์ดแวร์ที่ฝังตัว โดยหลักการแล้วฮาร์ดแวร์ที่ฝังจะมีส่วนต่อประสาน REST เพื่อการสื่อสาร ปัญหาคือการหาซอฟต์แวร์สแต็คที่ดีสำหรับมัน (หรือนั่นคือสิ่งที่ฉันคิดว่าเป็นปัญหา)

ตัวเลือกที่ดีที่สุดในความคิดของฉันคือการกระจาย Linux แบบฝังตัวบางส่วนพร้อมกับติดตั้งแอพพลิเคชั่นเว็บของตัวเอง (Ubuntu Core + Django ... ?) เป็นไปได้ไหมที่จะใช้ชุดค่าผสมนี้ในผลิตภัณฑ์เชิงพาณิชย์ แต่ในขณะเดียวกันก็ปิด webapp ไว้ภายใน?

เว็บไซต์อูบุนตูมีหลายแพลตฟอร์มที่รองรับและบางอันก็เหมาะสำหรับกรณีการใช้งานของฉัน อย่างที่ฉันพูดไว้ก่อนหน้านี้ความกังวลหลักของฉันในขณะนี้คือ


2
คุณช่วยอธิบายสิ่งที่คุณน่าจะแจกจ่ายหรือขายได้หรือไม่? ภายใน / ภายนอกและอนุพันธ์หรือผลที่เกี่ยวข้องทั้งหมดเมื่อมันมาถึงการออกใบอนุญาต
Sean Houlihane

ขออภัยไม่ได้สังเกตความคิดเห็น ซอฟต์แวร์จะเป็นเว็บเซิร์ฟเวอร์แบบง่ายที่ทำใน django หรือ nodejs ซึ่งจะมีทุกสิ่งที่จำเป็นสำหรับโครงการ Ubuntu Core จะเป็นเพียงแพลตฟอร์มสำหรับการปรับใช้
นิโคลัส

คำตอบ:


7

ก่อนอื่นโปรดทราบว่าฉันไม่ใช่ทนายความ รับหนึ่งถ้าคุณคิดว่าคุณต้องการคำแนะนำทางกฎหมาย ใบอนุญาตเป็นหนึ่งในพื้นที่ดังกล่าวที่ฉันอยากจะแนะนำ

สิทธิ์การใช้งานโอเพ่นซอร์สนั้นแตกต่างกันอย่างมากในสิ่งที่อนุญาต ลองใช้ตัวอย่างของห้องสมุดที่คุณใช้ (ไม่ได้แก้ไข) ในโครงการของคุณ ใบอนุญาตทั่วไปสองประการที่คุณอาจพบคือ GPL และ LGPL ซึ่งแตกต่างกันไปตามวิธีที่พวกเขาจัดการกับปัญหา จากบทความนี้เช่น:

โครงการ GNU มีใบอนุญาตหลักสองใบเพื่อใช้สำหรับห้องสมุด หนึ่งคือ GNU Lesser GPL; อีกอันคือ GNU GPL ทั่วไป การเลือกใบอนุญาตสร้างความแตกต่างใหญ่: การใช้ Lesser GPL อนุญาตให้ใช้ไลบรารีในโปรแกรมที่เป็นกรรมสิทธิ์ การใช้ GPL ปกติสำหรับไลบรารีทำให้ใช้ได้เฉพาะกับโปรแกรมฟรี

ตัวอย่างใบอนุญาตอื่น ๆ ที่ค่อนข้างเปิดกว้างในเรื่องนี้ ได้แก่ MIT และ BSD

ซอฟต์แวร์ Linux จำนวนมากคือ GPL และอาจรวมถึงส่วนประกอบของระบบปฏิบัติการที่คุณเลือก (เช่น Ubuntu Core) อย่างไรก็ตามตราบใดที่โครงการของคุณไม่ถือว่าเป็นงานดัดแปลงจากโครงการเหล่านี้คุณไม่ควรได้รับผลกระทบ ข้อมูลเพิ่มเติมในคำตอบนี้

จากมุมมองนี้การใช้ Ubuntu Core สำหรับผลิตภัณฑ์ของคุณจะไม่ส่งผลกระทบต่อการเปิดหรือปิดแอปพลิเคชันที่คุณจัดส่ง แน่นอนว่าการบรรจุแอปพลิเคชันของคุณเป็นสแน็ปอินเป็นวิธีที่ดีในการกระจายไบนารีบล็อต

คุณอาจได้รับการพิจารณาเรื่องนี้ แต่จากมุมมองทางเทคนิคถ้าคุณจัดส่ง Python snap โดยใช้ Django สแน็ปจะไม่ใช่ blobs ไบนารี - โดยค่าเริ่มต้นโค้ดของคุณจะนั่งอยู่ที่นั่นสำหรับผู้ที่ต้องการเห็นมัน ทิ้งเนื้อหาดิสก์หรือโดยการเข้าใช้งานเชลล์อย่างใด) คุณอาจต้องการทำให้งงงวยหรือจัดส่ง bytecode แทน ฯลฯ


1
นี่อาจเป็นสิ่งที่ฉันกำลังมองหา ฉันเดาว่าซอฟต์แวร์อาจถูกพิจารณาว่าเป็นงานที่ไม่ได้มาเนื่องจากการทำงานที่ไม่สำคัญทั้งหมดเกิดขึ้นใน Django นอกจากนี้เป็นไปไม่ได้ที่จะจัดส่งสแน็ปจากที่เก็บส่วนตัวหรือไม่ ในกรณีนั้นมันจะไม่สำคัญว่าจะมีรหัสไพ ธ อนอยู่
นิโคลัส

2
โอ้แน่ใจว่าคุณสามารถเก็บสแนปส่วนตัวได้เท่าที่ร้านค้านั้นเกี่ยวข้อง แต่ฉันกำลังบอกว่าอุปกรณ์ยังคงเป็นรหัส Python เว้นแต่คุณจะทำอะไรเกี่ยวกับมัน พิจารณาว่าใครก็ตามที่มีสิทธิ์เข้าถึงอุปกรณ์อาจสามารถดูสิ่งที่กำลังทำงานอยู่รวมถึงสแน็ปของคุณ
Kyle

1
อ่าถูกต้องแล้ว ฉันคิดว่าจะใช้งานอุปกรณ์ในโหมดหัวขาด (คิดว่า Samsung ARTIK) ดังนั้นนี่อาจไม่ใช่ปัญหาใหญ่ แน่นอนว่าหากคุณต้องการเข้าใช้งานอุปกรณ์นี้จริงๆอาจเป็นไปได้หรือไม่ป้องกันก็ได้ แต่ในขนาดใหญ่ฉันคิดว่าวิธีนี้จะพอเพียง ..
Nikolas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.