ซอฟต์แวร์กึ่งกรรมสิทธิ์สามารถใช้ Linux Kernel ได้อย่างไร


9

หากฉันเข้าใจอย่างถูกต้องเคอร์เนล Linux ได้รับอนุญาตภายใต้ GPL ซึ่งหมายความว่าหากใครก็ตามมีสิ่งใดอยู่ในนั้นพวกเขาจะต้องอนุญาตให้ใช้งานตราสารอนุพันธ์ทั้งหมดภายใต้ GPL ทำให้ทุกคนมีอิสระในการแก้ไขและ / หรือแจกจ่ายงานต่อเนื่อง

ตัวอย่างเช่นทุกรุ่น Android จะขึ้นอยู่กับ LK ไม่ได้หมายความว่าจะต้องมีการปล่อยทั้งหมดและส่วนประกอบทั้งหมดภายใต้ GPL หรือไม่

ตัวอย่างเช่น Android ส่วนใหญ่วางจำหน่ายพร้อมส่วนประกอบที่เป็นกรรมสิทธิ์ นั่นไม่ได้เป็นการละเมิด GPL หรือไม่? ไม่จำเป็นต้องมีการดัดแปลงงานทั้งหมดภายใต้ GPL หรือไม่

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

Android จะเผยแพร่ได้อย่างไร


2
รุ่นสั้นคือคุณภาพของ 'ไวรัส' ของ GPL สามารถกระทำได้ในงานดัดแปลงของรหัสภายใต้ใบอนุญาตเท่านั้นและผู้ใช้ที่เรียกเคอร์เนลไม่ได้ทำให้มันเป็นงานดัดแปลงของเคอร์เนล
Tom Hunt

ฉันเห็นเคอร์เนลและซอฟต์แวร์อื่น ๆ ที่ด้านบนมีลิขสิทธิ์แยกต่างหากและ GPL อนุญาตสิ่งนี้
Revetahw พูดว่า Reinstate Monica

ฉันต้องการเพิ่มว่าเพื่อความเข้าใจของฉันมีความแตกต่างอย่างมากระหว่าง GPL v2 และ GPL v3 และ Linus ยังคงใช้ GPL v2 ซึ่งได้รับอนุญาตมากกว่าเดิม นี่คือข้อมูลเล็กน้อยเกี่ยวกับเรื่องนี้ คำตอบสองอันดับแรกดูเหมือนจะค่อนข้างดี
KGIII

คำตอบ:


9

ก่อนอื่นคุณต้องชัดเจนว่ารหัส Android และเคอร์เนล Linux ของ Google นั้นแยกจากกัน Android นั้นได้รับอนุญาตภายใต้ Apache License 2.0 ซึ่งอนุญาตและเป็นคำของWikipedia :

สิทธิ์ใช้งาน Apache อนุญาตให้ใช้งานได้โดยไม่จำเป็นต้องมีงานดัดแปลงของซอฟต์แวร์หรือดัดแปลงแก้ไขต้นฉบับให้แจกจ่ายโดยใช้สิทธิ์การใช้งานเดียวกัน

ดังนั้นปกติแล้วการปรับเปลี่ยน Android ของผู้ขายจะไม่สามารถใช้งานได้

ประการที่สองในกรณีของเคอร์เนล Linux ที่ได้รับอนุญาตภายใต้ GPLv2 รหัสจะถูกเผยแพร่สู่สาธารณะไม่ว่าจะฝังอยู่ที่ไหนสักแห่งภายในอุปกรณ์ (มีโอกาสน้อยกว่า) หรือมีให้ดาวน์โหลดในหน้าปิดบังบางหน้าในเว็บไซต์ของผู้จำหน่าย ผลิตภัณฑ์ของพวกเขา

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


อนุญาตในบริบท

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

อนุญาตในบริบทนี้หมายถึงอนุญาตให้คุณทำตามที่คุณต้องการด้วยซอร์สโค้ดได้อย่างไร

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

Apache License และสิทธิ์ใช้งาน BSD เป็นตัวอย่างของสิทธิ์การใช้งานที่อนุญาต ตรงข้ามของ GPL อย่างเคร่งครัดไม่อนุญาตจะช่วยให้คุณทำการปรับเปลี่ยนใด ๆ กับรหัสที่ได้รับใบอนุญาตภายใต้พวกเขาและเก็บไว้ให้กับตัวเองในคำอื่น ๆ ก็เป็นบุตร กล่าวคือคุณสามารถใช้รหัส Android แม้ว่าคุณจะเปลี่ยนได้มากพอที่จะทำให้ไม่สามารถจดจำได้ แต่คุณสามารถรักษาไว้ได้ด้วยตนเอง และนั่นคือสิ่งที่ผู้ขายอุปกรณ์ Android ทำ


1
ไม่ เป็นเพราะโปรแกรมเพียงทำงานบนเคอร์เนล (และใช้ประโยชน์จาก syscalls ของเคอร์เนล) ไม่ใช่อนุพันธ์ของเคอร์เนล รหัส userland ของ Android ทำงานบนเคอร์เนล Linux เท่านั้น
cas

1
เคอร์เนล @Fiksdal Linux ได้รับอนุญาตภายใต้ GPL ไม่ใช่สิทธิ์การใช้งานที่อนุญาต คุณสามารถรัน Android และซอฟต์แวร์ที่อนุญาตอื่น ๆ บน Linux ได้เช่นเดียวกับที่คุณสามารถใช้ไดรเวอร์ที่เป็นกรรมสิทธิ์ของ Nvidia บนพีซีปกติของคุณ
Oxwivi

1
@Fiksdal หรือเป็นตัวอย่างที่ดีกว่านี้ Android ใช้ไบนารีที่เป็นกรรมสิทธิ์และได้รับอนุญาตบน Linux ในลักษณะเดียวกับที่สามารถเรียกใช้ Steam และ Google Chrome
Oxwivi

1
@ Fiksdal ใช่มันแยกออกจากกันอย่างแท้จริง พิจารณาสิ่งนี้: เคอร์เนลเดียวกันสามารถเรียกใช้ Ubuntu หรือ Linux ปกติอื่น ๆ ที่ด้านบนของมัน ลินุกซ์เคอร์เนลเป็นแค่นั้นเคอร์เนล มันหมายถึงการสามารถเรียกใช้โปรแกรมทุกประเภทที่ด้านบนของมัน
Oxwivi

1
@Fiksdal ฉันได้แก้ไขคำตอบลองดูสิ
Oxwivi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.