چنگال زدن

این مقاله پیش‌نویس است و محتوای آن کامل نیست.

چنگال زدن یا فورک کردن، یک اصطلاح در سامانه های مدیریت پروژه است و به معنی منشعب کردن یک پروژه و ایجاد نسخه ای متفاوت از آن است. از چنگال زدن علاوه بر ایجاد نسخه های سفارشی از یک پروژه، برای مشارکت در آن و ارائه تغییرات نیز استفاده می شود.

بدون چنگال زدن، نمی توان لفظ عمومی را به یک داده اطلاق کرد. یک داده عمومی به همراه چنگال های آن است که باعث می شود جامعه مالک آن داده باشند و شاخه اصلی (یا یک شاخه به تنهایی) را نمی توان به عنوان داده عمومی دید زیرا تنها افرادی خاص می توانند وضعیت شاخه را تعیین کنند.

مثال: سیستم عامل اندروید

دو گزاره زیر را ببینید:

  • سیستم عامل اندروید یک داده عمومی است.
  • برای استفاده از اندروید مجبورید حساب گوگل داشته باشید و از خدمات انحصاری آن استفاده کنید.

دو گزاره قبل چگونه با هم ممکن است؟

نکته این جاست که گوگل مالک اندروید نیست، اما مالک یکی از شاخه های مهم توسعه اندروید است (شاخه ای که به اسم اندروید خام معروف است) و در این شاخه، چیز های در انحصار خودش را قرار داده است (مثلا همگام سازی با حساب گوگل، فروشگاه گوگل، پیشفرض قرار دادن مرورگر گوگل و ...) و از طریق این کار از اندروید سود به دست می آورد.

اگر چه اندروید خام به خودی خود استفاده زیادی ندارد، اما شاخه هایی که سازنده های تلفن همراه از اندروید تهیه کرده اند و به طور پیشفرض روی محصولاتشان نصب می کنند نیز عمده بخش های انحصاری که گوگل آن ها را قرار داده را دارند.

اما شاخه هایی از اندروید نیز وجود دارند که بخش های انحصاری گوگل را حذف کرده اند. برای مثال لینیج او اس یکی از این انشعاب هاست. این موضوع اهمیت چنگال زدن و توانایی ایجاد تغییرات توسط عموم را نشان می دهد.