الرئيسيةعريقبحث

انشقاق (برمجة)


لمعانٍ أخرى، انظر انشقاق (توضيح).

انشقاق أو تفرع (بالإنجليزية: Fork) في هندسة البرمجيات, انشقاق أو تفرع المشروع يحدث عندما يقوم المطورين باخذ نسخة قانونية لشيفرة المصدر من حزمة برمجية واحدة، والبدء في تطويرها على أنها مستقلة.[1][2][3] أحيانا يكون المنبع مجتمع كبير لكن هناك جزء كبير من هذا المجتمع غير راضين عن القرارات فيتم عمل شق للصف ومجتمع موازي بأهداف أكثر تحررا من السياسة أو أكثر تبعية لسياسة أخرى (ظاهرة أو خفية). بعض المجتمعات المنشقة تكمل الحلقة وتعيد تحسيناتها للمنبع الأصلي ولو بعد حين وبعضها الآخر يتقصد أن لا يفعل ذلك. وبعضها تكتفي بأن تعيد جلب تحسينات المنبع بشكل دوري وتسمى rebase. مع كل إصدار جديد من المنبع فإن هؤلاء المنشقين يكون عليهم هدم كل ما بنوه وإعادة فحص رقاعهم رؤية ماذا حدث لها. هل لا تزال تعمل؟ هل لا تزال ذات قيمة؟ هل يمكن تطبيقها من الأساس (مثلا تعديلات على دوال لم تعد موجودة).

تفرعات

  • من أشهر الأمثلة أن مجتمع المكتب المفتوح أوبن أوفيس الذي تديره شركة صن كانت تطغى عليه قرارات سياسية معينة مثل اعتماد جافا ورفض إضافات أفضل وأسرع مكتوبة بلغة سي كان هناك مجتمع موازي اسمه go openoffice تقوده نوفل/سوزي ليكون منبع لمجتمع موازي يضم كل المنشقين بما فيهم ديبيان وأوبنتو وماندريفا وغيرهم.
  • معظم توزيعات لينكس تنحدر من توزيعات أخرى، معظم هذه التوزيعات تنحدرمن ثلاثات توزيعات أم وهي دبيان أو سلاكوير أو ريدهات. حيث أن المحتويات الموزعة بين هذه التوزيعات هي من البرمجيات الحرة والمفتوحة المصدر، لذلك تجد الكثير من تبادل الأفكار أو عمليات تبادل البرامج بحرية كما هناك عمليات دمج (على سبيل المثال، لينكس المتحدة أو ماندريفا).
  • من الأمثلة الأخرى mysql وmariadb. وغالبا ما تعتبر عملية شق الصف عملية تصحبها الكثير من الكراهية.

مراجع

  1. Nyman, Linus (2015). "Understanding Code Forking in Open Source Software" (Ph.D.). Hanken School of Economics. صفحة 57. مؤرشف من الأصل في 13 ديسمبر 2019. Where practitioners have previously had rather narrow definitions of a fork, [...] the term now appears to be used much more broadly. Actions that would traditionally have been called a branch, a new distribution, code fragmentation, a pseudo-fork, etc. may all now be called forks by some developers. This appears to be in no insignificant part due to the broad definition and use of the term fork by GitHub.
  2. Robles, Gregorio; González-Barahona, Jesús M. (2012). A Comprehensive Study of Software Forks: Dates, Reasons and Outcomes ( كتاب إلكتروني PDF ). OSS 2012 The Eighth International Conference on Open Source Systems. مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 20 مايو 201820 أكتوبر 2012.
  3. "the Lemacs/FSFmacs schism"(Jamie Zawinski, 2000), "Behind the KOffice split" (Joe Brockmeier, Linux Weekly News, 2010-12-14), "Copyright assignment - once bitten, twice shy" (Richard Hillesley, H-Online, 2010-08-06), "Forking is a feature" (أنيل داش, 2010-09-10), "The Great Software Schism" (جلين مودي, Linux Journal, 2006-09-28), "To Fork Or Not To Fork: Lessons From Ubuntu and Debian" (بنجامين ماكو هيل, 2005). نسخة محفوظة 16 يونيو 2018 على موقع واي باك مشين.

موسوعات ذات صلة :