10.3

انگریزی میں دیکھیں

10.3 خریداری، اوپن سورس، اور لائسنسنگ

جائزہ اور محرکات

تقریباً ہر جدید سافٹ ویئر نظام زیادہ تر ان اجزا سے جوڑا گیا ہے جو کسی اور نے لکھے۔ اوپن سورس سافٹ ویئر آپریٹنگ سسٹمز، زبانوں، فریم ورکس، ڈیٹا بیسز، اور کلاؤڈ انفراسٹرکچر کی بنیاد بناتا ہے۔ یہ انٹرپرائز میں دو طرح سے آتا ہے: دانستہ خریداری سے، اور انفرادی ڈویلپرز کے اتفاقی import بیانات سے۔ یہ باب اس استعمال کو (اور، جہاں موزوں ہو، شراکت کو) دانستہ کرنے کے بارے میں ہے۔ اس کا مطلب حکمت عملی، لائسنس کی تعمیل، ذمہ داریوں اور copyleft کے خطرے کی سمجھ، اور ان اجزا کے ناگزیر زندگی کے اختتام کا منصوبہ ہے جن پر آپ منحصر ہیں۔

بڑی ٹیموں کے لیے داؤ بیک وقت قانونی، آپریشنل، اور اسٹریٹجک ہیں۔ قانونی طور پر، اوپن سورس لائسنس قابل نفاذ معاہدے ہیں جن کی حقیقی ذمہ داریاں ہیں۔ Copyleft (لائسنسنگ جو مشتق کاموں کو انہی شرائط پر بانٹنے کا تقاضا کر سکتی ہے) غلط کرنا بدترین صورت میں ملکیتی سورس کے افشا پر مجبور یا قانونی چارہ جوئی ٹرگر کر سکتا ہے۔ لائسنس کی خلاف ورزیاں due diligence کے دوران حصول یا عوامی پیشکش روک بھی سکتی ہیں۔ آپریشنل طور پر، غیر منظم انحصار سڑتے ہیں: اجزا غیر برقرار رہتے، کمزوریاں جمع کرتے، اور پروڈکشن میں گہرے دبے ہوتے ہوئے زندگی کے اختتام تک پہنچتے ہیں۔ اسٹریٹجک طور پر، اوپن سورس لاگت بچانے کے ان پٹ سے بڑھ کر ہے۔ یہ lock-in سے بچنے، ٹیلنٹ کھینچنے، اور ان ماحولیاتی نظاموں کو شکل دینے کا طریقہ ہے جن پر آپ منحصر ہیں، وہ فوائد جو آپ تبھی پاتے ہیں جب مقصد کے ساتھ شامل ہوں۔

حکومت کا اضافی پہلو ہے۔ بہت سے دائرہ اختیار اب اوپن سورس، کھلے معیارات، اور ایجنسیوں کے بیچ کوڈ کی شراکت کو ترجیح دینے والی واضح پالیسیاں رکھتے ہیں۔ یہ اکثر “عوامی پیسہ، عوامی کوڈ” کے طور پر ظاہر ہوتی ہیں: اصول کہ ٹیکس دہندگان کا فنڈ کیا ہوا سافٹ ویئر ڈیفالٹ طور پر عوام کے لیے دستیاب ہونا چاہیے۔ اس لیے عوامی شعبے کے انجینئروں کو لائسنس کی تعمیل اور اوپن سورس کو ترجیح دینے، شائع کرنے، اور دوبارہ استعمال کرنے کے فعال مینڈیٹ دونوں میں راستہ نکالنا ہے۔ یہ باب ان سب کو پیمانے پر قابل انتظام بنانے کا ہدف رکھتا ہے۔

بنیادی اصول

  • اوپن سورس سپلائی چین ہے، مفت چیز نہیں۔ استعمال شدہ اجزا کو کسی بھی نازک سپلائر جتنی سختی سے سنبھالیں۔
  • لائسنس ذمہ داریاں ہیں، نظر انداز کرنے کی اجازتیں نہیں۔ ہر انحصار شرائط اٹھاتا ہے؛ بھیجنے سے پہلے انہیں جانیں۔
  • Copyleft ڈیزائن کی پابندی ہے، ممنوع نہیں۔ Copyleft لائسنس قابل استعمال اور قیمتی ہیں؛ بس آپ کو سمجھنا ہے کہ آپ سافٹ ویئر کیسے ملاتے اور تقسیم کرتے ہیں۔
  • دانستہ استعمال کریں، اسٹریٹجک طور پر شراکت کریں۔ طے کریں کیا اندر لانا ہے اور، جہاں آپ کی خدمت ہو، fork کی بجائے upstream میں سرمایہ لگائیں۔
  • ہر چیز کی فہرست بنائیں۔ آپ جو دیکھ نہیں سکتے اس کی تعمیل، حفاظت، یا اپ ڈیٹ نہیں کر سکتے؛ SBOM (software bill of materials، آپ کے سافٹ ویئر کے اجزا کی مکمل فہرست) بنیادی ضرورت ہے۔
  • شروع سے زندگی کے اختتام کا منصوبہ بنائیں۔ ہر انحصار ایک دن غیر برقرار ہوگا؛ مجبور ہونے سے پہلے اپنا اخراج جانیں۔
  • حکومت میں، ڈیفالٹ کھلا۔ کھلے معیارات اور اوپن سورس کو ترجیح دیں، اور عوامی-پیسہ کوڈ شائع کریں جب تک مخصوص وجہ نہ ہو۔

سفارشات

اوپن سورس کی حکمت عملی اور استعمال کی پالیسی طے کریں

واضح پالیسی شائع کریں کہ ڈویلپرز اوپن سورس کو ادارے میں کیسے لا سکتے ہیں: کون سے لائسنس پہلے سے منظور شدہ ہیں، کن کو ریویو چاہیے، اور آپ کے استعمال کے معاملات کے لیے کون سے ممنوع ہیں۔ تیز، کم رگڑ منظوری کا راستہ دیں۔ کوڈ کاپی کرنے سے سست پالیسی محض نظر انداز ہوگی۔ سیاق میں فرق کریں، کیونکہ وہی لائسنس مختلف برتاؤ کرتا ہے جب جزو اندرونی طور پر سروس کے طور پر استعمال ہو، تقسیم شدہ پروڈکٹ میں سمایا ہو، یا ملکیتی ایپلیکیشن سے linked ہو۔ آسان راستے کو مطابق راستہ بنائیں: جانچے اجزا کی منتخب اندرونی repository، pipeline میں خودکار اسکیننگ، اور واضح رہنمائی جس کی ڈویلپرز معمول کے معاملات کے لیے وکیل کو فون کیے بغیر پیروی کر سکیں۔

لائسنس کی تعمیل، ذمہ داریوں، اور copyleft کے خطرے کا انتظام کریں

لائسنس کے خاندانوں اور ان کی ذمہ داریوں کو جانیں۔ Permissive لائسنس (جیسے MIT، BSD، اور Apache 2.0) بنیادی طور پر انتساب اور نوٹس کی حفاظت مانگتے ہیں؛ Apache 2.0 واضح patent grant جوڑتا ہے۔ کمزور copyleft (جیسے LGPL اور MPL) آپ سے ڈھکی فائلوں کی ترامیم بانٹنے کا تقاضا کرتا ہے مگر عموماً ملکیتی کوڈ کے ساتھ ملانے دیتا ہے۔ مضبوط copyleft (جیسے GPL) تقاضا کر سکتا ہے کہ پورا تقسیم شدہ کام انہی شرائط پر پیش ہو۔ نیٹ ورک copyleft (AGPL) اس ذمہ داری کو محض binaries کے طور پر تقسیم کی بجائے نیٹ ورک پر پیش کیے سافٹ ویئر تک بڑھاتا ہے۔ جو ذمہ داریاں سب سے زیادہ اہم ہیں وہ دو چیزوں پر موڑتی ہیں: آیا آپ سافٹ ویئر تقسیم کرتے ہیں، اور آپ اجزا کو کتنی سختی سے ملاتے ہیں۔ تعمیل خودکار کریں: انحصار کو لائسنس کے لیے اسکین کریں، مطلوبہ انتساب اور نوٹس فائلیں بنائیں اور بھیجیں، اور build کو پالیسی پر دروازہ بند کریں تاکہ ممنوع لائسنس خاموشی سے پروڈکشن میں نہ گھس سکے۔

Open Source Program Office (OSPO) قائم کریں

اگر آپ پیمانے پر اوپن سورس استعمال کرتے ہیں تو مرکزی نقطہ، OSPO، بنائیں جو اوپن سورس کی حکمت عملی، پالیسی، تعمیل کی ٹولنگ، شراکت کے نظم و نسق، اور کمیونٹی کے تعلقات کا مالک ہو۔ OSPO ہر ٹیم کے اپنے فیصلے کرنے کی افراتفری کو قابو میں رکھتا ہے۔ یہ وہ مہارت دیتا ہے جو انفرادی ٹیمیں برقرار نہیں رکھ سکتیں۔ اور یہ اسٹریٹجک قدر پکڑتا ہے: یہ طے کرنا کہ کن پروجیکٹس میں سرمایہ لگانا ہے، کب upstream میں حصہ ڈالنا ہے، اور اپنے اوپن سورس پروجیکٹس اچھی طرح کیسے ریلیز کرنے ہیں۔ چھوٹا OSPO بھی (کبھی ایک شخص جمع کثیر شعبہ ورکنگ گروپ) سب کے لیے کھلے کھیل کے مقابل مستقل مزاجی کو ڈرامائی طور پر بہتر اور قانونی خطرے کو کم کرتا ہے۔

شراکت کا نظم و نسق کریں اور، جہاں مناسب ہو، اشاعت کا

دانستہ طے کریں کہ کب واپس حصہ ڈالنا ہے۔ جن پروجیکٹس پر آپ منحصر ہیں ان میں اصلاحات اور فیچرز upstream کرنا آپ کی دیکھ بھال کا بوجھ گھٹاتا ہے، کیونکہ آپ نجی patches اٹھانا چھوڑ دیتے ہیں۔ یہ خیر سگالی اور اثر بھی بناتا ہے، اور آپ کے لیے نازک اجزا کو مضبوط کرتا ہے۔ ڈویلپرز کو منظور شدہ شراکتوں کے لیے واضح، تیز عمل دیں، بشمول دانشورانہ ملکیت اور شراکت کے معاہدے کیسے سنبھلتے ہیں۔ جب آپ اپنے اوپن سورس پروجیکٹس ریلیز کریں تو صحیح طریقے سے کریں: مناسب لائسنس چنیں، نظم و نسق دستاویزی کریں، اور نگرانی داری کا عہد کریں۔ ترک شدہ پروجیکٹ آپ کی ساکھ کو کسی پروجیکٹ نہ ہونے سے زیادہ نقصان پہنچاتا ہے۔

حکومت کے اوپن سورس اور “عوامی پیسہ، عوامی کوڈ” کے مینڈیٹ پورے کریں

عوامی شعبے کی ٹیموں کو کھلا ہونا ڈیفالٹ سمجھنا چاہیے۔ lock-in سے بچنے اور ایجنسیوں اور فروخت کنندگان کے پار کام کرنے کو کھلے معیارات کو ترجیح دیں۔ عوامی فنڈز سے تیار سورس کوڈ کھلے عام شائع کریں، جب تک مخصوص، دستاویزی استثنا لاگو نہ ہو: سیکیورٹی کے حساس اجزا، تیسری پارٹی کے حقوق، یا رازداری کی فکروں کے لیے۔ بنانے سے پہلے دوبارہ استعمال کریں: جانچیں کہ آیا کسی اور ایجنسی نے پہلے سے موزوں کوڈ ریلیز کیا ہے۔ ان توقعات کو خریداری میں سمائیں، تاکہ فروخت کنندگان کھلا، دوبارہ قابل استعمال، اچھی طرح دستاویزی کوڈ دیں جس میں حکومت مناسب حقوق رکھے، ملکیتی بلیک باکس کی بجائے جنہیں ایجنسی برقرار یا بانٹ نہ سکے۔

انحصار اور زندگی کے اختتام کے سافٹ ویئر کا انتظام کریں

ہر جزو اور اس کے ورژن، لائسنس، اور دیکھ بھال کی حالت کی زندہ فہرست (SBOM) برقرار رکھیں۔ انحصار کو معقول حد تک موجودہ رکھیں۔ چھوٹی، بار بار کی اپ ڈیٹس نادر، بڑی چھلانگوں سے کہیں سستی اور محفوظ ہیں۔ زندگی کے اختتام کے اعلانات اور سیکیورٹی سپورٹ کی کھڑکیوں کے لیے upstream پروجیکٹس پر نظر رکھیں، اور سپورٹ ختم ہونے سے پہلے منتقلی کا منصوبہ بنائیں، کمزوری کے بھاگ دوڑ پر مجبور کرنے کے بعد نہیں۔ ترک ہونے کے خطرے والے نازک اجزا کے لیے پہلے سے طے کریں کہ آپ maintainer کو فنڈ کریں گے، دیکھ بھال خود میں حصہ ڈالیں گے، fork کریں گے، یا بدلیں گے۔ تجارتی اور اوپن سورس سافٹ ویئر دونوں کے لیے زندگی کا اختتام ٹریک کریں، اور سپورٹ کے ختم ہونے کو کسی بھی دوسرے آپریشنل خطرے جیسے معیار پر رکھیں۔

سمجھوتے: فوائد اور نقصانات

انتخابفوائدنقصانات
اوپن سورس آزادی سے استعمال کریںتیز ترسیل؛ بڑا فائدہ؛ لائسنس کی فیس نہیںلائسنس، سیکیورٹی، اور دیکھ بھال کی ذمہ داریاں جو اب آپ کی ہیں
سخت لائسنس allow-listکم قانونی خطرہ؛ قابل پیش گوئیٹیموں کو سست کرتی ہے؛ واقعی مفید اجزا خارج کر سکتی ہے
صرف permissive لائسنسکم سے کم ذمہ داریاں؛ ملانا آسانقیمتی copyleft پروجیکٹس چھوڑنا؛ کم باہمی عمل
جہاں موزوں ہو copyleft قبول کریںمضبوط ماحولیاتی نظاموں تک رسائی؛ باہمی عمل کے فوائدملانے اور تقسیم میں احتیاط چاہیے
upstream میں شراکتکم نجی-patch کا بوجھ؛ اثر؛ خیر سگالیجاری کوشش؛ IP اور عمل کا اوور ہیڈ
اس کی جگہ ملکیتی بنائیںمکمل کنٹرول؛ بیرونی ذمہ داریاں نہیںزیادہ لاگت؛ عام چیز دوبارہ ایجاد؛ آپ ہمیشہ برقرار رکھتے ہیں
حکومت کی ڈیفالٹ-اشاعتشفافیت؛ دوبارہ استعمال؛ lock-in سے بچاؤاشاعت کی کوشش؛ سیکیورٹی ریویو؛ مستقل نگرانی داری

مرکزی کھنچاؤ ڈویلپر کی رفتار اور کنٹرول کے درمیان ہے۔ ہر چیز بھاری ریویو کے پیچھے مقفل کریں تو ڈویلپر پالیسی کے گرد راستہ نکالتے ہیں۔ یہ غیر منظم سایہ انحصار پیدا کرتا ہے، جو permissive-مگر-نظر آنے والے طریقے سے بدتر ہیں۔ اسے مکمل بے قابو چھوڑ دیں تو آپ قانونی اور سیکیورٹی قرض نظر آئے بغیر جمع کرتے ہیں۔ حل خودکاری اور curation ہے: مطابق راستے کو تیز ترین راستہ بنائیں، پہلے سے جانچے اجزا، pipeline اسکیننگ، اور واضح ڈیفالٹس کے ذریعے، تاکہ آپ کو رگڑ کے بغیر کنٹرول ملے۔ copyleft پر سمجھوتا “خطرناک بمقابلہ محفوظ” نہیں بلکہ “سمجھا ہوا بمقابلہ نہیں” ہے۔ Copyleft مکمل طور پر قابل استعمال ہے جب آپ جان لیں کہ آپ اسے کیسے ملاتے اور تقسیم کرتے ہیں۔

اپنی ٹیم کے ساتھ بحث کے سوالات

  1. اندرونی، تقسیم شدہ، اور نیٹ ورک سے پیش کیے سیاق میں مضبوط اور نیٹ ورک copyleft کے لیے آپ کا واضح قاعدہ کیا ہے؟ Copyleft ڈیزائن کی پابندی ہے، ممنوع نہیں، اور ذمہ داریاں دو چیزوں پر موڑتی ہیں: آیا آپ سافٹ ویئر تقسیم کرتے ہیں اور اجزا کو کتنی سختی سے ملاتے ہیں۔ اندرونی ٹول میں GPL اس پروڈکٹ سے linked GPL سے بہت مختلف برتاؤ کرتا ہے جو آپ بھیجتے ہیں، اور AGPL افشا کی ذمہ داریاں اس سافٹ ویئر تک بڑھاتا ہے جو آپ محض نیٹ ورک پر پیش کرتے ہیں، جو سروس کے طور پر چلائی ہر چیز کے لیے آپ کے بنانے-بمقابلہ-اپنانے کا حساب بدلتا ہے۔ قاعدہ فی سیاق لکھیں، تاکہ ڈویلپر وکیل کو فون کیے بغیر جانے کہ (مثلاً) permissive ہر جگہ پہلے سے منظور شدہ ہے، مضبوط copyleft اندرونی طور پر ٹھیک ہے مگر بھیجی پروڈکٹ سے بلاک، اور AGPL کو نیٹ ورک سروس کو چھونے سے پہلے ریویو چاہیے۔ شہادت لائیں: اپنے موجودہ انحصار کے درخت کو اسکین کریں اور دیکھیں copyleft اجزا آپ کی تقسیم کی حد کے مقابل پہلے سے کہاں بیٹھے ہیں۔ پھر build کو اس پالیسی پر دروازہ بند کریں، کیونکہ جس قاعدے کو کوئی scanner نافذ نہ کرے اسے ڈویلپر حادثاتی طور پر توڑیں گے۔

  2. کیا آپ کو Open Source Program Office چاہیے، اور آج لائسنس کی پالیسی، اسکیننگ، اور شراکت کے فیصلوں کا مالک کون ہے؟ اگر ایماندار جواب “کوئی نہیں” یا “ہر ٹیم فیصلہ کرتی ہے” ہے تو آپ سب کے لیے کھلا کھیل چلا رہے ہیں جو نظر آئے بغیر قانونی اور سیکیورٹی قرض جمع کرتا ہے۔ OSPO، ایک شخص جمع کثیر شعبہ ورکنگ گروپ بھی، اس افراتفری کو قابو میں رکھتا اور اسٹریٹجک قدر پکڑتا ہے: کن upstream پروجیکٹس میں سرمایہ لگانا ہے، کب حصہ ڈالنا ہے، اور اپنے پروجیکٹس اچھی طرح کیسے ریلیز کرنے ہیں۔ میٹنگ میں شہادت لائیں: کیا کوئی موجودہ منظور شدہ لائسنس کی فہرست، SBOM، اور اس شخص کا نام پیش کر سکتا ہے جو حصول کی due diligence کے دوران copyleft کے سوال کا جواب دے گا؟ جواب کو واضح ملکیت تفویض کرنی اور مطابق راستے کو تیز ترین راستہ بنانا چاہیے، پہلے سے جانچے اجزا اور pipeline اسکیننگ سے، تاکہ ڈویلپر رگڑ کے بغیر کنٹرول پائیں۔ کوڈ کاپی کرنے سے سست پالیسی محض نظر انداز ہوگی۔

  3. کون سے انحصار کل ترک ہونے پر سب سے زیادہ نقصان دیں گے، اور ہر ایک کے لیے آپ کا پہلے سے طے جواب کیا ہے؟ ہر انحصار آخرکار زندگی کے اختتام کو پہنچتا ہے، اور اس واقعے کا مہنگا ورژن یہ دریافت کرنا ہے کہ بنیادی جزو نے مہینوں پہلے سپورٹ کھو دی تھی، صرف تب جب کمزوری توجہ مجبور کرے۔ ترک ہونے کے خطرے والے اپنے نازک اجزا کے لیے پہلے سے طے کریں کہ آپ maintainer کو فنڈ کریں گے، دیکھ بھال خود میں حصہ ڈالیں گے، fork کریں گے، یا بدلیں گے۔ شہادت لائیں: اپنے SBOM سے ان اجزا کی فہرست بنائیں جن کی ناکامی آمدنی یا مشن کے لیے نازک سروس روک دے، اور ہر ایک کی دیکھ بھال کی حالت اور سیکیورٹی سپورٹ کی کھڑکی نوٹ کریں۔ جواب کو زندگی کے اختتام کو حیرت سے منصوبہ بند منتقلی والے ٹریک شدہ آپریشنل خطرے میں بدلنا چاہیے، جو کسی بھی دوسرے خطرے کے معیار پر رکھا جائے۔ انحصار کو چھوٹے، بار بار کے قدموں میں موجودہ رکھنا نادر، بڑی، مجبور چھلانگ سے کہیں سستا ہے۔

  4. کیا آپ مکمل، موجودہ SBOM پیش کر سکتے ہیں جو آپ کے transitive انحصار کے درخت کے نیچے تک پہنچے، اور کتنی جلدی؟ جب وسیع استعمال کی لائبریری میں سرخیوں والی کمزوری آئے تو قیادت کا پہلا سوال ہے “کیا ہم بے نقاب ہیں، اور کہاں؟”۔ جو ٹیم گھنٹوں میں جواب نہیں دے سکتی وہ پہلے ہی پیچھے ہے، کیونکہ حقیقی خطرہ عموماً ان انحصار میں کئی تہیں نیچے چھپا ہوتا ہے جنہیں کسی نے مقصد سے نہیں چنا۔ متصادم غور لاگت اور شور ہے: بہت سی سروسز میں مکمل transitive فہرست بڑی، بدلتی فہرست پیدا کرتی ہے، اور حد سے زیادہ الرٹنگ لوگوں کو اسے نظر انداز کرنا سکھاتی ہے، اس لیے آپ کو طے کرنا ہے کہ کون سی گہرائی اور شدت واقعی عمل ٹرگر کرے۔ بحث میں شہادت لائیں: ابھی ایک پروڈکشن سروس کے لیے تازہ SBOM بنانے کی کوشش کریں، گنیں کتنے اجزا براہ راست بمقابلہ transitive ہیں، اور وقت ناپیں۔ انٹرپرائز یا سرکاری ادارے کے لیے اسے ٹھوس واقعے کے جواب کے ہدف اور متاثرہ اجزا افشا کرنے کی کسی بھی ضابطے کی ذمہ داری سے جوڑیں، کیونکہ اس نمائش کی رپورٹ کا مینڈیٹ جسے آپ شمار نہیں کر سکتے ایسا مینڈیٹ ہے جسے آپ توڑیں گے۔

  5. نازک انحصار کو مفت سمجھنے کی بجائے کب اسے فنڈ کرنا، اس میں حصہ ڈالنا، یا اس کی نگرانی داری کرنا قابل ہے؟ زیادہ تر ادارے اوپن سورس کو افادیت کی طرح استعمال کرتے ہیں، پھر حیران ہوتے ہیں جب آمدنی کی سروس کو سہارا دینے والا جزو ایک بلا معاوضہ رضاکار نکلتا ہے۔ دانستہ طور پر maintainer کو فنڈ کرنے، اصلاحات upstream کرنے، یا اپنا پروجیکٹ ریلیز اور اس کی نگرانی کا فیصلہ نازک مفت ان پٹ کو پائیدار، متاثر شدہ ان پٹ میں بدلتا ہے، اور آپ کے انجینئروں کو ہر اپ گریڈ میں نجی patches اٹھانے سے روکتا ہے۔ کھنچاؤ یہ ہے کہ شراکت اور نگرانی داری حقیقی، جاری انجینئرنگ کا وقت لیتے اور دانشورانہ ملکیت اور عمل کا اوور ہیڈ اٹھاتے ہیں، اس لیے آپ یہ ہر چیز کے لیے نہیں کر سکتے۔ شہادت لائیں: اپنے SBOM سے ان مٹھی بھر اجزا کو نشان زد کریں جن کی ناکامی نازک سروس روک دے، اور ہر ایک کے maintainers کی تعداد، فنڈنگ، اور آپ اس کے مقابل پہلے سے کتنے نجی patches اٹھاتے ہیں نوٹ کریں۔ بڑے یا عوامی ادارے کے لیے اس شان سے ریلیز کیے ترک شدہ اوپن سورس ریلیز کی ساکھ کی لاگت تولیں، اور حکومت میں شائع شدہ عوامی-پیسہ کوڈ کی مستقل نگرانی داری کو ترسیل کا حصہ سمجھیں، اختیاری اضافہ نہیں۔

  6. کیا آپ کی خریداری واقعی کھلا، دوبارہ قابل استعمال، اچھی طرح دستاویزی کوڈ دیتی ہے جس کے وہ حقوق آپ کو چاہییں، یا ملکیتی بلیک باکس جنہیں آپ برقرار نہیں رکھ سکتے یا چھوڑ نہیں سکتے؟ اوپن سورس کی مہارت کے بغیر لکھے معاہدے معمول سے فروخت کنندہ کو وہ کنٹرول سونپ دیتے ہیں جس پر آپ پچھتائیں گے: بند فارمیٹس، شائع یا ترمیم کا حق نہیں، اور وہ انحصار جنہیں فروخت کنندہ کے آگے بڑھنے پر ایجنسی patch نہیں کر سکتی۔ اسے جلد درست کرنا تجدید پر یہ دریافت کرنے سے کہیں سستا ہے کہ آپ چھوڑ نہیں سکتے۔ متصادم غور رفتار اور فروخت کنندہ کا انتخاب ہیں: کھلے ڈیلیورایبلز اور پورٹیبلٹی کا مطالبہ میدان تنگ اور ایوارڈ سست کر سکتا ہے، اور کچھ واقعی مفید سپلائرز اس کی مزاحمت کرتے ہیں۔ شہادت لائیں: دو حالیہ معاہدے نکالیں اور جانچیں کہ کیا وہ لائسنس کی شرائط، سورس کوڈ کی ترسیل، دستاویزات کے معیارات، SBOM کی فراہمی، اور ادارے کے برقرار رکھے حقوق متعین کرتے ہیں۔ انٹرپرائز خریداری کے لیے اسے lock-in اور کل لاگت کے تجزیے سے جوڑیں؛ حکومت کے لیے اسے ڈیفالٹ-کھلے اور “عوامی پیسہ، عوامی کوڈ” کے مینڈیٹ سے، اور دستاویزی استثنا کے عمل سے جوڑیں جو پورا نظام بند کرنے کی بجائے صرف سیکیورٹی کے حساس حصے بند کرنے دیتا ہے۔

شعبہ جاتی نقطۂ نظر

اسٹارٹ اپ۔ آپ تقریباً سب کچھ اوپن سورس سے جوڑتے ہیں اور آپ کے پاس وکیل نہیں، اس لیے قاعدہ ایک صفحے کا رکھیں: MIT اور Apache 2.0 جیسے permissive لائسنس پہلے سے منظور، مضبوط copyleft اندرونی ٹولنگ کے لیے ٹھیک مگر بھیجی پروڈکٹ سے بلاک، اور کچھ بھی عجیب بانی کے فوری ریویو کو جاتا ہے۔ pipeline میں لائسنس اور کمزوری کا scan جوڑیں اور پہلے دن سے SBOM رکھیں، کیونکہ اسے درست کرنے کا سب سے سستا لمحہ حاصل کنندہ کی due diligence کے آپ کے انحصار کے درخت میں کنگھی کرنے سے پہلے ہے۔ Copyleft کو خوف سے ممنوع نہ کریں؛ اسے سمجھیں، اور آگے بڑھیں۔

چھوٹا کاروبار۔ اوپن سورس کے ماہر اور تنگ بجٹ کے بغیر، عملے کی بجائے ٹولنگ پر ٹیک لگائیں: build میں scanner اور مختصر منظور شدہ لائسنس کی فہرست زیادہ تر وہ کام کرتے ہیں جو شخص کرتا۔ استعمال کو ایمانداری سے خریدنے-بمقابلہ-بنانے کے طور پر تشکیل دیں، کیونکہ اچھی طرح برقرار کھلے جزو کو دوبارہ ایجاد کرنا عموماً مہنگا انتخاب ہے، مگر ایسے پر انحصار بھی جس کی آپ فہرست نہ بنائیں۔ جو آپ استعمال کرتے ہیں اور کس لائسنس کے تحت اس کا سادہ ریکارڈ رکھیں، تاکہ گاہک کا سیکیورٹی سوالنامہ یا کمزوری کا الرٹ بھاگ دوڑ نہ بنے۔

بڑا ادارہ۔ پیمانے پر مسئلہ بہت سی ٹیموں میں مستقل مزاجی ہے، اس لیے پالیسی، خودکار اسکیننگ، انتساب کی تیاری، اور شراکت کے نظم و نسق کا مالک OSPO کھڑا کریں، اور منتخب، پہلے سے جانچے اجزا کے ذریعے مطابق راستے کو تیز ترین راستہ بنائیں۔ pipeline میں فی سیاق copyleft کے قواعد نافذ کریں، سروسز میں SBOMs برقرار رکھیں، اور انحصار کی موجودگی اور زندگی کے اختتام کو ٹریک شدہ آپریشنل خطرے کے طور پر سنبھالیں۔ اوپن سورس کو اپنے کوڈ بیس کے بڑے حصے کے لیے سپلائی چین مینجمنٹ سمجھیں، حصول کی due diligence کے لیے آڈٹ کے لیے تیار شہادت کے ساتھ۔

حکومت۔ کھلا ہونا اکثر مینڈیٹ ہے، اختیاری نہیں، اس لیے کھلے معیارات ڈیفالٹ کریں اور عوامی-پیسہ کوڈ شائع کریں جب تک سیکیورٹی، تیسری پارٹی کے حقوق، یا رازداری کے لیے دستاویزی استثنا لاگو نہ ہو۔ کراس-سرکاری کیٹلاگ دیکھ کر بنانے سے پہلے دوبارہ استعمال کریں، اور کھلی، دوبارہ قابل استعمال، اچھی طرح دستاویزی ڈیلیورایبلز اور برقرار رکھے حقوق خریداری میں سمائیں تاکہ آپ کو ملکیتی بلیک باکس کی بجائے قابل دیکھ بھال کوڈ ملے۔ شائع شدہ کوڈ کو حقیقی نگرانی داری کے معیار پر رکھیں، اور استثنا کا عمل تنگ اور شفاف رکھیں تاکہ وہ صرف وہ بند کرے جو لازمی ہو۔

مثالیں

اسٹارٹ اپ۔ موبائل ایپ بنانے والا چار افراد کا اسٹارٹ اپ تقریباً سب کچھ اوپن سورس سے جوڑتا ہے اور اس کے عملے میں وکیل نہیں۔ copyleft کو خوف سے ممنوع کرنے کی بجائے، بانی ایک صفحے کی پالیسی لکھتے ہیں: MIT اور Apache 2.0 جیسے permissive لائسنس پہلے سے منظور، GPL جیسا مضبوط copyleft اندرونی ٹولنگ کے لیے ٹھیک مگر افشا کی ذمہ داریوں سے بچنے کو بھیجی ایپ سے بلاک، اور کچھ بھی غیر معمولی بانی کا فوری ریویو پاتا ہے۔ وہ pipeline میں لائسنس اور کمزوری کا scan جوڑتے ہیں تاکہ ممنوع لائسنس ریلیز میں نہ پھسل سکے، پہلے دن سے SBOM رکھتے ہیں، اور نازک لائبریری میں چھوٹی اصلاح upstream کرتے ہیں تاکہ ہر اپ گریڈ میں نجی patch اٹھانا بند ہو۔ اسے جلد درست کرنا انہیں اس تکلیف دہ حیرت سے بھی بچاتا ہے جب حاصل کنندہ کی due diligence آخرکار انحصار کے درخت میں کنگھی کرتی ہے۔

بڑا ادارہ۔ تقسیم شدہ پروڈکٹ بھیجنے والا سافٹ ویئر فروخت کنندہ OSPO چلاتا ہے۔ OSPO منظور شدہ لائسنس کی فہرست، اندرونی منتخب جزو repository، اور ہر pipeline میں خودکار لائسنس اور کمزوری کی اسکیننگ برقرار رکھتا ہے۔ جب ڈویلپر نیا انحصار کھینچتا ہے تو pipeline اس کا لائسنس پالیسی کے مقابل جانچتی، پروڈکٹ کے ساتھ بھیجے جانے والے انتساب کے نوٹس بناتی، اور ریویو مانگنے والی ہر چیز نشان زد کرتی ہے۔ مضبوط-copyleft اجزا اندرونی ٹولنگ کے لیے مجاز ہیں مگر افشا کی ذمہ داریوں سے بچنے کو تقسیم شدہ پروڈکٹ سے بلاک۔ کمپنی چند نازک انحصار میں اصلاحات upstream کرتی ہے۔ اس نے نجی patches کا وہ backlog ختم کیا جو اس کے انجینئر ہر اپ گریڈ میں اٹھاتے تھے۔

حکومت۔ قومی ڈیجیٹل سروس “عوامی پیسہ، عوامی کوڈ” کی پالیسی کے تحت کام کرتی ہے۔ نئی سروسز کھلے معیارات پر بنتی ہیں، ڈیفالٹ طور پر عوامی کوڈ repository پر کھلے عام تیار ہوتی ہیں، اور ایجنسیوں میں دوبارہ استعمال ہوتی ہیں۔ اس کے خریداری کے ٹیمپلیٹس فروخت کنندگان سے کھلا، اچھی طرح دستاویزی، دوبارہ قابل استعمال کوڈ مانگتے ہیں، حکومت شائع اور ترمیم کے حقوق رکھتے ہوئے۔ نیا جزو شروع کرنے سے پہلے ٹیمیں موجودہ دوبارہ قابل استعمال کوڈ کے لیے کراس-سرکاری کیٹلاگ تلاش کرتی ہیں۔ سیکیورٹی کے حساس ماڈیولز کو پورا نظام بند کرنے کی بجائے دستاویزی عمل سے اشاعت سے مستثنیٰ کیا جاتا ہے۔

کاروباری جواز: محرکات، ROI اور TCO

اوپن سورس کا اچھی طرح انتظام اس کے وسیع فائدے کو پکڑنے اور اس کی چھپی لاگتیں ادا کرنے کے درمیان فرق ہے۔ اوپن سورس بڑے ادارے کو ایسی بنیاد پر کھڑا ہونے دیتا ہے جو وہ کبھی خود بنانے کی استطاعت نہیں رکھتا۔ لیکن ملکیت کی کل لاگت میں تعمیل، سیکیورٹی patching، اور آخری منتقلی شامل ہیں، وہ لاگتیں جو آپ منصوبہ بنائیں یا نہ بنائیں آتی ہیں۔ دانستہ انتظام غیر متوقع، مہنگے بحرانوں کو چھوٹی، مستقل، منصوبہ بند لاگتوں میں بدلتا ہے۔ ان بحرانوں میں حصول کی due diligence کے دوران ملی copyleft کی خلاف ورزی، ترک شدہ جزو سے ہنگامی منتقلی، یا ایسے انحصار میں کمزوری شامل ہیں جس کا کسی کو علم نہ تھا۔

اپنانے کی لاگت نمائش کے مقابل معمولی ہے: OSPO یا ورکنگ گروپ، اسکیننگ کی ٹولنگ، اور فہرست رکھنے کا نظم و ضبط۔ نہ اپنانے کی لاگت قانونی ذمہ داری، ناکام due diligence، غیر patch شدہ انحصار سے منسوب سیکیورٹی کے واقعات، اور موخر اپ گریڈ کے مرکب خرچ کے طور پر سامنے آتی ہے جو آخرکار تکلیف دہ big-bang منتقلیاں مجبور کرتے ہیں۔ قیادت کے سامنے دلیل رکھتے ہوئے اوپن سورس کے انتظام کو اپنے کوڈ بیس کے بڑے حصے کے لیے سپلائی چین مینجمنٹ کے طور پر پیش کریں۔ اسٹریٹجک فائدہ بھی نوٹ کریں: ٹلا ہوا lock-in، تیز ترسیل، ٹیلنٹ کی کشش، اور ان ماحولیاتی نظاموں پر اثر جن پر آپ منحصر ہیں۔ حکومت میں مینڈیٹ کا پہلو جوڑیں۔ کھلا ہونا اکثر مطلوب ہے، اختیاری نہیں، اور اسے اچھی طرح کرنا عدم تعمیل اور نقل شدہ عوامی خرچ دونوں سے بچاتا ہے۔

ضد نمونے اور خامیاں

  • کاپی-پیسٹ لائسنسنگ۔ ڈویلپرز کا بغیر لائسنس کی جانچ کے اجزا کھینچنا، ذمہ داریاں صرف آڈٹ یا حصول پر دریافت کرنا۔
  • فہرست نہیں۔ “ہم کیا استعمال کر رہے ہیں اور کس لائسنس کے تحت؟” کا جواب نہ دے سکنا جب کمزوری یا لائسنس کا سوال ٹوٹے۔
  • Copyleft کی گھبراہٹ۔ سمجھ کی بجائے خوف سے تمام copyleft ممنوع کرنا، قیمتی ماحولیاتی نظاموں کو چھوڑنا۔
  • ترک شدہ اوپن سورس ریلیز۔ پروجیکٹ کو شان سے شائع کرنا اور پھر کبھی برقرار نہ رکھنا، ساکھ کو نقصان پہنچانا۔
  • Transitive انحصار کو نظر انداز کرنا۔ براہ راست انحصار کی جانچ جبکہ حقیقی خطرہ کئی تہیں نیچے چھپا ہو۔
  • زندگی کے اختتام کی حیرت۔ یہ دریافت کرنا کہ بنیادی جزو نے مہینوں پہلے سپورٹ کھو دی تھی، صرف تب جب کمزوری توجہ مجبور کرے۔
  • کاپی کرنے سے سست پالیسی۔ تعمیل کا اتنا بھاری عمل کہ ڈویلپر اس کے گرد راستہ نکالیں، نظر نہ آنے والے سایہ انحصار پیدا کرتے ہوئے۔
  • سرکاری بلیک باکس۔ ایسے ملکیتی نظام خریدنا جنہیں ایجنسی برقرار رکھ، بانٹ، یا چھوڑ نہ سکے، ڈیفالٹ-کھلے اصولوں کی خلاف ورزی میں۔

پختگی کا ماڈل

سطح 1: آغاز۔ ڈویلپر بغیر پالیسی یا فہرست کے آزادی سے اوپن سورس جوڑتے ہیں۔ لائسنس غیر جانچے ہیں اور copyleft کی ذمہ داریاں نامعلوم۔ زندگی کا اختتام اتفاق سے دریافت ہوتا ہے، عموماً جب کمزوری توجہ مجبور کرے۔ اوپن سورس کی حکمت عملی کا کوئی مالک نہیں۔

سطح 2: ترقی۔ بنیادی پالیسی اور منظور شدہ لائسنس کی فہرست موجود ہے، اور کچھ ٹیمیں ان کی پیروی کرتی ہیں۔ اسکیننگ ہوتی ہے، مگر اکثر دستی، دیر سے، یا صرف چند پروجیکٹس پر۔ بڑے نظاموں کی فہرست رکھی جاتی ہے جبکہ transitive انحصار کا نقشہ نہیں۔ شراکت اور زندگی کے اختتام کا انتظام ٹیموں کے بیچ ایڈہاک اور غیر مستقل ہے۔

سطح 3: معیار بندی۔ OSPO یا مساوی ادارہ بھر حکمت عملی، پالیسی، اور ٹولنگ کا مالک ہے۔ لائسنس اور کمزوری کی اسکیننگ ہر pipeline میں خودکار ہے، انتساب اور نوٹس کی فائلیں خودکار بنتی ہیں، اور build دروازہ بند ہے تاکہ ممنوع لائسنس اندر نہ آ سکے۔ SBOMs transitive درخت تک برقرار رکھے جاتے ہیں، شراکت دستاویزی عمل کی پیروی کرتی ہے، زندگی کا اختتام منصوبہ بند منتقلیوں کے ساتھ ٹریک ہوتا ہے، اور سرکاری ٹیمیں ڈیفالٹ طور پر شائع کرتی ہیں۔

سطح 4: انتظام۔ پروگرام بنیادی خطوط کے مقابل ناپا اور کنٹرول کیا جاتا ہے۔ آپ سروسز میں پالیسی-scan کی coverage، ظاہر شدہ انحصار کی کمزوری patch کرنے کا اوسط وقت، سیکیورٹی سپورٹ کی کھڑکی کے اندر اجزا کا حصہ، لائسنس کی خلاف ورزی کے فرار کی شرح، انحصار کی موجودگی کی تاخیر، اور upstream میں شراکت شدہ نجی patches کی گنتی ٹریک کرتے ہیں۔ تقسیم کی حد کے مقابل copyleft کی جگہ مانیٹر ہوتی ہے، اور اہداف کے مقابل میٹرکس ہر go یا no-go کے فیصلے کو رائے کی بجائے چلاتی ہیں۔

سطح 5: ہم آہنگی۔ اوپن سورس مسلسل بہتر ہوتا، ادارے بھر مربوط اسٹریٹجک اثاثہ ہے۔ تعمیل مکمل خودکار ہے اور غیر مطابق اجزا پروڈکشن تک نہیں پہنچ سکتے۔ آپ نازک upstream پروجیکٹس میں دانستہ سرمایہ لگاتے، معمول سے حصہ ڈالتے، اور اپنے اچھی طرح چلائے پروجیکٹس کی نگرانی داری کرتے ہیں۔ انحصار کی موجودگی اور زندگی کا اختتام خطرے اور میٹرکس بدلنے پر تطبیقی طور پر سنبھلتے ہیں، اور کھلا ہونا حقیقی مسابقتی اور شہری فائدہ بنتا ہے۔

بحث کے لیے خیالات

  • تیز permissive ڈیفالٹ اور قانونی اور سیکیورٹی قرض سے بچنے کو درکار کنٹرول کے بیچ درست لکیر کہاں ہے؟
  • ادارے کو نازک upstream انحصار کو مفت سمجھنے کی بجائے کب فنڈ یا برقرار رکھنا چاہیے؟
  • آپ کیسے فیصلہ کرتے ہیں کہ آپ کے اپنے کون سے اجزا اوپن سورس کے طور پر ریلیز اور ان کی نگرانی داری کے لائق ہیں؟
  • حکومت کے لیے اصول کو گھسے بغیر اجزا کو ڈیفالٹ-اشاعت سے مستثنیٰ کرنے کا قابل دفاع عمل کیا ہے؟
  • لائسنس اور سیکیورٹی ریویو کو حقیقت پسندی سے transitive انحصار میں کتنی گہرائی تک جانا چاہیے؟
  • کیا نیٹ ورک copyleft (AGPL) اس سافٹ ویئر کے لیے آپ کا بنانے-بمقابلہ-اپنانے کا حساب بدلتا ہے جو آپ سروس کے طور پر پیش کرتے ہیں؟

اہم نکات

  • اوپن سورس زیادہ تر کوڈ بیسز کا اکثریتی حصہ ہے اور اسے سپلائی چین کے طور پر منظم کرنا ہے، مفت اور نتائج سے پاک نہیں سمجھنا۔
  • لائسنس حقیقی ذمہ داریاں اٹھاتے ہیں؛ permissive، کمزور-copyleft، مضبوط-copyleft، اور نیٹ ورک-copyleft خاندان سمجھیں، اور یہ کہ تقسیم اور ملاپ ذمہ داریاں کیسے ٹرگر کرتے ہیں۔
  • مطابق راستے کو curation، خودکار اسکیننگ، اور واضح ڈیفالٹس سے تیز ترین بنائیں، ورنہ ڈویلپر پالیسی کے گرد راستہ نکالیں گے۔
  • پیمانے پر حکمت عملی، تعمیل، شراکت، اور نگرانی داری کا مالک OSPO قائم کریں۔
  • SBOM برقرار رکھیں، انحصار کو چھوٹے قدموں میں موجودہ رکھیں، اور بحران مجبور کرنے سے پہلے زندگی کے اختتام کا منصوبہ بنائیں۔
  • حکومت میں کھلے معیارات ڈیفالٹ کریں اور عوامی-پیسہ کوڈ شائع کریں، بنانے سے پہلے دوبارہ استعمال کرتے ہوئے۔

حوالہ جات اور مزید مطالعہ

  • Heather Meeker, Open (Source) for Business and Open Source for Business
  • Van Lindberg, Intellectual Property and Open Source
  • The Linux Foundation and TODO Group, OSPO guides and Open Source Program Office resources
  • OpenChain (ISO/IEC 5230), Open Source Licence Compliance
  • Software Package Data Exchange (SPDX, ISO/IEC 5962) specification
  • CycloneDX SBOM specification
  • Free Software Foundation, GNU General Public Licence and GPL FAQ
  • Open Source Initiative, The Open Source Definition and approved licence list
  • Free Software Foundation Europe, Public Money, Public Code
  • U.S. Federal Source Code Policy and Code.gov guidance
  • UK Government, Technology Code of Practice and open-standards principles