سؤال

أرغب في كتابة نظام التشغيل الخاص بي، وأرغب في القفز مؤقتًا فوق المهمة المعقدة المتمثلة في كتابة النواة والعودة إليها لاحقًا باستخدام Linux kernel في هذه الأثناء.ومع ذلك، أود توفير نظام التشغيل كمصدر مغلق في الوقت الحالي.ما هو الترخيص الموجود ضمن Linux kernel وهل من الممكن استخدامه للإصدار مع نظام تشغيل مغلق المصدر؟

يحرر:أنا لست مهتمًا بإغلاق مصدر Linux kernel، وسأظل أقدمه باعتباره مصدرًا مفتوحًا.أتساءل عما إذا كان بإمكاني استخدام نظام تشغيل مغلق المصدر مع نواة مفتوحة المصدر.

مزيد من التحرير:وأعني بنظام التشغيل النظام الذي يعمل فوق النواة ويستخدم لتشغيل برامج أخرى.بالتأكيد لم أقصد تضمين النواة في بيان المصدر المغلق.

هل كانت مفيدة؟

المحلول

يمكنك بالطبع كتابة أي نظام تشغيل مغلق المصدر تفضله عبر Linux kernel بشرط أن تكون متوافقًا مع ترخيص المكونات التي ترتبط بها.

بالطبع من المحتمل أن يشمل ذلك مكتبة gnu C (أو بعض مكتبات C الأخرى).قد تحتاج أيضًا إلى بعض الأدوات المساعدة لسطر الأوامر والتي من المحتمل أن تكون GPL للقيام بأشياء مثل صيانة نظام الملفات وإعداد الشبكة وما إلى ذلك.ولكن بشرط أن تترك هذه البرامج كبرامج مستقلة خاصة بها، فلا ينبغي أن تكون هناك مشكلة.

أي شيء تربطه بالنواة نفسها (على سبيل المثال.الوحدات المخصصة والتصحيحات) يجب إصدارها كرخصة عامة مفتوحة المصدر للتوافق مع ترخيص النواة.

نصائح أخرى

تم إصدار نواة Linux ضمن GPLv2 ويمكنك استخدامها كجزء من نظام تشغيل مغلق المصدر ولكن يجب عليك الاحتفاظ بالنواة وجميع التعديلات التي تم إصدارها GPLv2.

يحرر:راجع للشغل، قد ترغب في استخدام شيء مثل OpenSolaris بدلا من ذلك.من الأسهل العمل معه، في رأيي (من الواضح أنه شخصي للغاية)، ويمكنك الاحتفاظ بالتعديلات مغلقة المصدر إذا اخترت ذلك، طالما أنك تتبع شروط CDDL.

أعتقد أنه سيتعين عليك أن تكون أكثر تحديدًا بشأن ما تعنيه بـ "نظام التشغيل".إنه ليس مفهومًا واضحًا بأي حال من الأحوال.قد يقول البعض أن النواة هي نظام التشغيل بأكمله.قد يقول آخرون أن الصدفة والأدوات المساعدة الأساسية مثل 'ls' هي جزء من نظام التشغيل.قد يذهب البعض الآخر إلى حد القول بأن التطبيقات القياسية مثل Notepad هي جزء من نظام التشغيل.

IANAL، لكنني لا أعتقد أن هناك أي شيء يمنعك من تجميع نواة Linux مع عدد كبير من البرامج مغلقة المصدر الخاصة بك.احرص على عدم استخدام أي رمز مكتبة GPL (لا بأس بـ LGPL).

أنا أتساءل عن دوافعك.

لدى Linux ترخيص GPL (الإصدار الثاني)، مما يعني أنه يتعين عليك فتح المصدر لأي أعمال مشتقة.

قد ترغب في استخدام BSD، ترخيصه مقيد كثيرًا فيما يمكنك فعله بالأعمال المشتقة

يجب عليك إبقاء المصدر مفتوحًا، وأي أعمال مشتقة من الكود، ومع ذلك، إذا كنت تستخدم Kernel، فاكتب حزمة التطبيقات الخاصة بك فوق ذلك (تقريبًا كل عناصر GNU) فلن تضطر إلى فتح ذلك .

تقول GPL أن الأعمال "المشتقة" ...لذا، إذا كنت تكتب كودًا جديدًا، بدلاً من التوسع فيه، فلا بأس بذلك.في الواقع، يمكنك، على سبيل المثال، استخدام سلسلة أدوات GNU، و Linux Kernel، ومن ثم يكون لديك نظامك الخاص فوق ذلك (أو مجرد DE) مغلق المصدر.

عندما تقوم بتعديل/اشتقاق شيء ما، عليك أن تبقيه مفتوحًا!

إنه الإصدار 2 من GPL ويمكنك ذلك بالتأكيد لا إغلاق مصدره.

إذا كان نظام الملفات الذي تستخدمه سيتم ربطه بالنواة نفسها، و إذا كنت تخطط لتوزيعه على الآخرين، فإن رخصة GPL تتطلب بشكل لا لبس فيه أن يكون نظام الملفات تحت رخصة GPL أيضًا.

ما قيل:إحدى الطرق لربط Linux قانونيًا بنظام ملفات غير متوافق مع GPL هي عبر فيوز (نظام الملفات في مساحة المستخدم).لقد تم استخدام هذا، على سبيل المثال، لتشغيل الإصدار غير المتوافق مع GPL ZFS نظام الملفات على رأس لينكس.ومع ذلك، فإن تشغيل نظام الملفات في مساحة المستخدم يحمل عقوبة أداء قد تكون كبيرة.

يمكنك دائمًا الاحتفاظ بأي امتدادات (وحدات) و/أو تطبيقات تكتبها مغلقة المصدر، لكن النواة نفسها ستحتاج إلى أن تظل مفتوحة المصدر.

هناك جانب غير واضح في GPLv2 يمكنك استغلاله أثناء اختبار النظام:ما عليك سوى إصدار كود المصدر لأولئك الذين لديهم حق الوصول إلى النظام.تنص GPLv2 على أنك تحتاج إلى منح حق الوصول الكامل إلى الكود المصدري لأي شخص لديه حق الوصول إلى التوزيع الثنائي/المجمع للبرنامج.لذا، إذا كنت ستستخدم فقط البرنامج الموجود داخل الشركة التي تدفع مقابل تطويره، فلن تحتاج إلى توزيع كود المصدر على بقية العالم، بل عليهم فقط.

بشكل عام، أود أن أقول إنه يُسمح لك بفعل مثل هذا الشيء، طالما قمت بتوفير مصدر النواة، ولكن هناك نقطة واحدة لست متأكدًا منها:

في نظام Linux العادي بين نواة (GPL) وتطبيق متوافق غير GPL، يوجد دائمًا GNU libc، وهو LGPL وبالتالي يسمح بالأعمال المشتقة غير الحرة.الآن، إذا كان لديك libc غير حر، فقد يعتبر ذلك عملاً مشتقًا، حيث أنك تتصل بالنواة مباشرة، وتستخدم أيضًا رؤوس النواة.

كما قال العديد من الآخرين من قبل، قد يكون من الأفضل لك استخدام *BSD.

إذا كنت جادًا في تطوير نظام تشغيل جديد وتريد أن تبدأ النواة العاملة به، أقترح عليك أن تبحث في نواة FreeBSD.لديه ترخيص أكثر استرخاءً من Linux، وأعتقد أنك قد تجده مفيدًا.

فقط 2 سنتي...

أنا أتفق مع MarkR ولكن لم يذكر أحد ما هو واضح لك.إذا كنت جادًا، فأنت بحاجة إلى استشارة محامٍ ذو خبرة في هذا المجال.

إنها جي بي إل.إجابة مختصرة - لا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top