2008-09-22 48 views
4

我想編寫自己的操作系統,並且想要暫時跳過編寫內核這個複雜的任務,並在之後通過使用Linux內核回來。但是,我想現在提供操作系統作爲封閉源代碼。 Linux內核下的許可是什麼,是否可以在封閉的源操作系統上使用它進行發佈?授權和使用Linux內核

編輯:我對關閉Linux內核的源碼不感興趣,我仍然會將其作爲開源代碼提供。我想知道是否可以在開源內核中使用封閉的源操作系統。

進一步編輯:通過操作系統,我指的是在內核之上運行並用於啓動其他程序的系統。我當然不打算在封閉源語句中包含內核。

+4

我投票結束這個問題作爲題外話題,因爲它涉及許可或法律問題,而不是編程或軟件開發。 [見這裏](http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964)和[here](http://meta.stackexchange.com/questions/139804/can-許可問題永遠在主題上)以獲取詳細信息,以及[幫助]瞭解更多信息。 – JasonMArcher 2015-06-17 03:20:20

回答

10

您當然可以在Linux內核上編寫任何閉源操作系統,只要您與鏈接的組件的許可兼容即可。

當然,這可能包括gnu C庫(或其他一些C庫)。您可能還需要一些命令行實用程序,這些實用程序可能是GPL來執行文件系統維護,網絡設置等操作。但是,如果您將它們保留爲獨立程序,則不應該成爲問題。

任何你鏈接到內核本身的東西(例如自定義模塊,補丁)都應該作爲開源GPL發佈,以符合內核的許可證。

4

Linux內核是在GPLv2下發布的,你可以把它當作一個封閉源代碼的操作系統的一部分,但你必須保持內核和所有修改發佈的GPLv2。

編輯:順便說一句,你可能想使用類似OpenSolaris的東西來代替。在我看來,處理起來要容易得多(顯然是非常主觀的),只要你遵循CDDL的條款,你可以保持修改是閉源的。

1

這是GPL版本2,你當然可以不關閉其源。

+1

你不能釋放/它/閉源,但沒有什麼能阻止你將它用作其他閉源操作系統的基礎。 – 2008-09-22 19:45:31

-1

這是GPL。簡短的回答 - 不。

2

Linux擁有GPL(v2)作爲其許可證,這意味着您必須開放源代碼的任何衍生作品。

您可能需要使用BSD,其許可證是你可以用衍生作品

+0

這似乎是一個合理的選擇。感謝這個想法。 – 2008-09-22 19:48:27

+0

沒有probs :)(但記住開源是一個好主意(tm)) – dsm 2008-09-22 19:50:05

+0

開源是未來可能的方向,但我希望我自己的工作,以便我可以學習如何自己做的事情。 – 2008-09-22 19:53:54

3

我認爲你將不得不更加具體談談你的意思是「OS」什麼做什麼了不少LES限制。這絕不是一個明確的概念。有人會說內核就是所有的操作系​​統。其他人會說,shell和核心實用程序(如'ls')是操作系統的一部分。其他人甚至會說,標準應用程序(如記事本)是操作系統的一部分。

IANAL,但我不相信有什麼來自用自己的閉源程序的負載捆綁Linux內核阻止你。請注意不要使用任何GPL庫代碼(LGPL是OK)。

我確實質疑你的動機。

+0

我想說的內核是一箇中心(如果小)的組成部分,而且操作系統停止桌面開始的地方,但是那只是我的意見 – dsm 2008-09-22 19:59:23

0

您可以隨時保留您編寫的任何擴展(模塊)和/或應用程序爲封閉源代碼,但內核本身需要保持開源。

還有的GPLv2的,而測試系統,你可以利用的不那麼明顯的方面:你只需要釋放源代碼的那些誰有權訪問系統。 GPLv2指出,您需要對任何有權訪問該程序的二進制/編譯分發的人員完全訪問源代碼。因此,如果您只是使用付費公司內部的軟件來開發它,則不需要將源代碼分發給世界其他地方,而只需將它們分發給世界其他地方。

2

然而,你必須保持源開放,並從代碼衍生的任何作品,如果你使用的內核,編寫自己的應用程序棧最重要的是(幾乎所有的GNU的東西),那麼你不必打開它。

的GPL說,「衍生」的作品......所以,如果你在編寫新的代碼,而不是expanind,那麼這很好。實際上,例如,你甚至可以使用GNU工具鏈,Linux內核,然後在你的系統之上(或者只是一個封閉源代碼)使用你自己的系統。

這是當你修改/派生的東西,你必須保持它打開!

0

一般我會說,你被允許做這樣的事情,只要你提供的內核源,但有一個地步,我不能確定:

在之間的正常的Linux系統(GPL)內核和非GPL兼容應用程序,總是存在GNU libc,它是LGPL,因此允許非自由的派生作品。現在,如果你有一個非自由的libc,那可能被認爲是派生工作,因爲你直接調用內核,並且也使用內核頭文件。

正如其他許多人之前所說的,使用* BSD可能會更好。

1

如果您使用的文件系統將被鏈接到內核本身如果您打算將它分發給其他人,那麼GPL相當明確地要求文件系統也要GPL。這就是說:一種合法地將Linux與GPL不兼容的文件系統連接的方式是通過FUSE(用戶空間中的文件系統)。例如,這已被用於在Linux之上運行GPL不兼容的ZFS文件系統。然而,在用戶空間中運行文件系統的性能損失可能很大。

0

如果您在開發新的操作系統方面非常認真,並且希望有一個工作的內核開始,我建議您查看FreeBSD內核。它比Linux有更寬鬆的許可證,我認爲你可能會覺得它值得。

只是我的2美分...