خطرہ استعفے کے خط سے شروع نہیں ہوتا۔ یہ اس سے ہفتوں پہلے شروع ہوتا ہے، جب انجینئر ابھی بھی ہر ریپوزیٹری میں لاگ اِن ہے، ابھی بھی ڈیزائن دستاویزات تک مکمل رسائی رکھتا ہے، اور پہلے ہی آگے کی سوچ رہا ہے۔ یہ وقت خاموش ہوتا ہے، کوئی الارم نہیں بجاتا، اور ایک عام منگل جیسا لگتا ہے۔ یہی وہ لمحہ بھی ہے جب ایک سٹارٹ اپ اس سب سے واضح ریکارڈ کو کھو دیتا ہے کہ اصل میں کس نے کیا بنایا۔
دروازے سے اصل میں کیا باہر جاتا ہے
شاید ہی کبھی یہ تیار شدہ پروڈکٹ ہوتا ہے۔ پروڈکشن ریپوزیٹری عام طور پر ٹھیک ہوتی ہے: اس کی کمٹ ہسٹری ہے، ایک اصلی چینج لاگ ہے، اور ایک سے زیادہ لوگ اس کی تصدیق کر سکتے ہیں۔ جو غائب ہوتا ہے وہ اس کے ارد گرد کی ہر چیز ہے۔ ایک نجی ریپوزیٹری جو کسی ابتدائی پروٹوٹائپ کے لیے بنائی گئی، اس سے پہلے کہ "اصل" ریپوزیٹری بنی بھی ہو۔ ایک ڈیزائن دستاویز جو ذاتی ای میل میں چسپاں کی گئی کیونکہ اس دن Slack کام نہیں کر رہا تھا۔ ایک برانچ جسے کسی نے مرج نہیں کیا کیونکہ فیچر مؤخر کر دیا گیا تھا، مگر جس میں اب بھی اس خیال کا پہلا کام کرنے والا ورژن موجود ہے جسے کمپنی نے بعد میں کسی اور نام سے لانچ کیا۔ جب تک وہ شخص ٹیم میں ہے، ان میں سے کچھ بھی اہم نہیں لگتا۔ جس دن وہ ٹیم میں نہیں رہتا، یہ سب تنازع کا موضوع بن جاتا ہے۔
کوئی تکنیکی شریک بانی جو اختلاف کے بعد چلا جاتا ہے، اس مسئلے کی سب سے تیز شکل ہے۔ دو لوگ ایک ہی چھ مہینوں کو بالکل مختلف انداز میں یاد رکھ سکتے ہیں، اور ایک بار رشتہ ٹوٹ جانے کے بعد، یہ مشترکہ بیان باقی نہیں رہتا کہ کس نے کون سی لائن پہلے لکھی، کس کا خاکہ آرکیٹیکچر بنا، یا کوئی خیال اصل میں کب شکل اختیار کر گیا۔ جو باقی رہتا ہے وہ یادداشت کے خلاف یادداشت ہے، اور یہ ثبوت نہیں ہے۔
یہ صرف بانیوں تک محدود نہیں۔ ایک کنٹریکٹر جس نے کل وقتی ملازمت سے پہلے کسی فیچر کا پہلا ورژن بنایا۔ ایک انٹرن جس کا گرمیوں کا منصوبہ خاموشی سے پروڈکٹ کا ایک بنیادی حصہ بن گیا۔ ایک فری لانسر جس نے اصل آرکیٹیکچر ڈایاگرام بنایا۔ یہ سب پیچھے وہی خلا چھوڑ جاتے ہیں، عام طور پر بغیر کسی کے متوجہ ہوئے، جب تک کوئی تنازع کسی کو ایسا ثبوت تلاش کرنے پر مجبور نہ کرے جو کبھی محفوظ ہی نہیں کیا گیا تھا۔
"بڑے سنگ میلوں پر" مہر لگانا یہ خلا کھلا کیوں چھوڑتا ہے
زیادہ تر تکنیکی ٹیمیں جو اس بارے میں سوچتی بھی ہیں، غلط وقت پر سوچتی ہیں۔ ایک ریلیز کو ٹیگ کیا جاتا ہے۔ ایک معاہدے پر دستخط ہوتے ہیں۔ یہی مہر بند ہوتا ہے، اگر کچھ مہر بند ہوتا بھی ہے۔ وہ تحقیقی برانچ جس نے ریلیز کو شکل دی، وہ ابتدائی پروٹوٹائپ جس نے ثابت کیا کہ خیال واقعی ممکن تھا، وہ اندرونی ڈیزائن دستاویز جس پر ریلیز اصل میں مبنی ہے: ان سب کو شاذ و نادر ہی وہی توجہ ملتی ہے، کیونکہ جب لوگ مل کر کوڈ لکھ رہے ہوتے ہیں، اس وقت کوئی کسی کے جانے کے بارے میں نہیں سوچ رہا ہوتا۔ یہ بالکل الٹا ہے۔ سب سے کمزور دستاویزی نشان والا مواد وہی ہوتا ہے جس کی جانے والے انجینئر کو سب سے واضح یاد ہوتی ہے، اور اکثر اس کا سہرا لینے کا سب سے مضبوط رجحان بھی اسی میں ہوتا ہے۔
مسلسل مہر بندی اصل میں کیا قائم کرتی ہے
حل کوئی بڑی قانونی ٹیم نہیں ہے۔ یہ مہر بندی کو تکنیکی کام محفوظ کرنے کے معمول کے حصے کے طور پر لینا ہے، نہ کہ لانچ اور دستخطوں کے لیے مخصوص کسی قدم کے طور پر۔ عملی طور پر اس کا مطلب ہے ایک عادت جو مرکزی برانچ میں مرج کرنے جتنی ہی عام ہو: سورس کوڈ کو صرف ریلیز پر نہیں بلکہ باقاعدہ وقفوں پر مہر بند کرنا، ڈیزائن دستاویز کو اس دن مہر بند کرنا جس دن وہ ٹیم کے ساتھ شیئر کی جاتی ہے نہ کہ جس دن وہ حتمی شکل اختیار کرتی ہے، اور ابتدائی پروٹوٹائپ کو اسی ہفتے مہر بند کرنا جب وہ پہلی بار چلتا ہے، مہینوں بعد نہیں، اگر تب بھی ہو۔ ان میں سے کچھ بھی یہ یاد رکھنے پر منحصر نہیں کہ کوئی رخصتی کبھی ہو سکتی ہے۔ اسے بس پہلے سے ہی ٹیم کے کام کرنے کا طریقہ ہونا چاہیے۔ eIDAS کے آرٹیکل 41 کے تحت، ایک اہل الیکٹرانک ٹائم اسٹیمپ اس تاریخ اور وقت کی درستگی کا تصور رکھتا ہے جو وہ درج کرتا ہے، اور اس ڈیٹا کی سالمیت کا بھی جسے وہ احاطہ کرتا ہے۔ سوئٹزرلینڈ میں، ZertES سے تسلیم شدہ فراہم کنندہ کے ذریعے جاری دستخط وہی قانونی وزن رکھتا ہے جو ہاتھ سے کیے گئے دستخط کا ہوتا ہے۔ ان میں سے کوئی بھی فریم ورک اس بات کی پروا نہیں کرتا کہ جب آخرکار کوئی تنازع سامنے آتا ہے تب کون ابھی بھی ملازم ہے۔ دونوں اس بات کی پروا کرتے ہیں کہ کیا درج ہوا اور کب، اور یہی وہ حصہ ہے جو اس بات پر منحصر نہیں کہ کہانی کون سنا رہا ہے۔
دو بانیوں کا تصور کریں جو مل کر کسی پروڈکٹ کا پہلا کام کرنے والا ورژن بناتے ہیں، اور پھر اٹھارہ مہینے بعد بری طرح الگ ہو جاتے ہیں۔ اگر ابتدائی پروٹوٹائپ اور اس سے جڑی ڈیزائن دستاویز اسی ہفتے مہر بند کی گئی تھی جب وہ لکھے گئے تھے، تو ایک تاریخ زدہ، چھیڑ چھاڑ سے محفوظ ریکارڈ موجود ہے، جو دونوں میں سے کسی کی بھی یادداشت یا موجودہ رشتے سے آزاد ہے۔ اگر ایسا نہیں ہوا، تو تنازع اس پر آ ٹھہرتا ہے کہ کون زیادہ قابلِ اعتماد لگتا ہے، اور یہ ایسی صورتحال ہے جس میں کسی بھی بانی کو نہیں ہونا چاہیے۔
یہ کیا نہیں کرتا
مہر بندی کسی ملازمت کے معاہدے یا دانشورانہ ملکیت کی منتقلی کی شق کا متبادل نہیں، اور یہ خود سے کوئی تنازع طے نہیں کرتی۔ کسی کمپنی کو پھر بھی وہ بنیادی معاہدے درکار ہوتے ہیں جو سب سے پہلے یہ طے کرتے ہیں کہ کام کے نتیجے کا مالک کون ہے۔ مہر بندی جو اضافہ کرتی ہے وہ وہ ثبوتی ریکارڈ ہے جس کی کسی تنازع کو ان معاہدوں کے موجود ہونے کے بعد واقعی ضرورت ہوتی ہے: یہ ثبوت کہ کیا موجود تھا، کس شکل میں، اور کب، جسے کوئی بھی فریق رشتہ ختم ہونے کے بعد خاموشی سے تبدیل نہیں کر سکتا۔
اسے رخصتی سے پہلے عادت بنائیں، بعد میں نہیں
جب تک کوئی نوٹس دیتا ہے، تب تک سب سے اہم کام کو مہر بند کرنا شروع کرنے میں پہلے ہی دیر ہو چکی ہوتی ہے۔ وہ سٹارٹ اپس جو اس جھگڑے سے بچتے ہیں وہی ہیں جنہوں نے شروع سے ہی مہر بندی کو اپنے تکنیکی کام کو محفوظ کرنے کے طریقے کا حصہ بنایا، بالکل ویسے ہی جیسے انہوں نے ورژن کنٹرول کو اسے لکھنے کے طریقے کا حصہ بنایا۔ اگلی رخصتی، چاہے طے شدہ ہو یا نہ ہو، اس سوال کو فوری بنائے اس سے پہلے دیکھیں کہ یہ سافٹ ویئر اور آئی پی ٹیموں کے لیے کیسے کام کرتا ہے۔





