تفرع معدل (برمجة)

التفرع المُعدَّل (بالإنجليزية: 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. مؤرشف من الأصل في 2019-12-13. 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. {{استشهاد بأطروحة}}: |archive-date= / |archive-url= timestamp mismatch (مساعدة)
  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) في 2018-05-20. اطلع عليه بتاريخ 2012-10-20.
  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" نسخة محفوظة 29 فبراير 2012 على موقع واي باك مشين. (أنيل داش, 2010-09-10), "The Great Software Schism" (جلين مودي, Linux Journal, 2006-09-28), "To Fork Or Not To Fork: Lessons From Ubuntu and Debian" (بنجامين ماكو هيل, 2005). "نسخة مؤرشفة". مؤرشف من الأصل في 2018-09-05. اطلع عليه بتاريخ 2018-08-02.{{استشهاد ويب}}: صيانة الاستشهاد: BOT: original URL status unknown (link)