آفس میں لکھا گیا پروگرام کمپنی کی ملکیت کہلائے گا یا پروگرامر کی؟

رانا

محفلین
میں اپنے سوال کی ذرا تفصیلی وضاحت کردوں کیونکہ عنوان سے غلط فہمی ہوسکتی ہے۔

ایک پروگرامر دوران ملازمت جب کوئی پروگرامز بناتا ہے تو وہ دو طرح کے ہوسکتے ہیں۔ ایک تو وہ پروگرامز جن کے لئے اسے ملازمت پر رکھا گیا ہے۔ یا ایسے پروگرامز جن کے لئے وقتا فوقتا کمپنی کی طرف سے ڈیمانڈ آتی رہتی ہے چاہے وہ کسی بھی حوالے سے ہوں۔ ایسے پروگرامز اور ان کے کوڈ تو بہرحال کمپنی کی ملکیت ہوتے ہیں۔ اس میں تو مجھے کوئی کنفیوژن نہیں۔

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

میرا سوال تو پورا ہوچکا ہے اب ذرا اس سوال کا بیک گراؤنڈ بھی بتادوں کہ مجھے اس سوال کے پوچھنے کی ضرورت کیوں محسوس ہوئی۔ میں جس کمپنی میں ملازمت کررہا ہوں یہاں میں نے چھ ماہ قبل جونئیر ڈاٹ نیٹ ڈیویلپر کے طور پر جوائن کیا تھا۔ یہاں بھی عمومی طور پر Business Logic Layer اور Data Access Layer کی اپروچ ہی استعمال ہوتی ہے۔ جس میں ہر ٹیبل کے لئے ایک اسٹور پروسیجر لکھا جاتا ہے، ایک BLL Class بنائی جاتی ہے اور ایک DAL کلاس بنائی جاتی ہے۔ اس کے لئے ٹیبل میں جتنی زیادہ فیلڈز ہوں اتنا ہی زیادہ ٹائم لگتا ہے۔ مجھے ایک ہفتے کے بعد خیال آیا کہ ہر کلاس کا آرکیٹیکچر تو ایک جیسا ہی ہے تو کیوں نہ ایک یوٹیلیٹی بنادی جائے جو خود سے یہ تینوں چیزیں جنریٹ کردے اسطرح غلطیوں کا امکان بھی ختم ہوجائے گا اور ایک دو گھنٹے کا کام چند سیکنڈز میں ہوجائے گا۔ سو اس خیال پر میں نے کام کیا اور کچھ وقت لگا کر ایک پروگرام بنالیا جس کو صرف ٹیبل کا نام بتانا ہوتا ہے اسکے بعد وہ خود ہی اس ٹیبل کی فیلڈز کے مطابق SP، BLL، اور DAL بنا دیتا تھا۔ اس کے بعد جو مجھے پہلا جینوئن ٹاسک دیا گیا تو وہ میں نے بہت جلدی مکمل کرلیا۔ میرے سینئر کافی حیران ہوئے کہ اس نئے پنچھی نے ستر اسی فیلڈز والے ٹیبل پر اتنی جلدی فارم کیسے کھڑا کردیا کہیں کلاسز میں ڈنڈی تو نہیں ماردی۔:) ان کی حیرت دور کرنے کے لئے میں نے انہیں اس یوٹیلیٹی کے بارے میں بتایا۔ بس پھر کیا تھا ایک عدد خالی خولی تعریف سے نوازا گیا :) اور اب پورے آفس میں اسی یوٹیلیٹی سے کام کیا جاتا ہے۔ اب میرے ایک دوست کو ایک پروجیکٹ بنانا تھا تو اسے کیونکہ علم تھا کہ میں نے ایسی ایک یوٹیلٹی بنائی ہوئی ہے اس نے مانگی ہے۔ تو اب میں کنفیوز ہوں کہ آیا یہ یوٹیلیٹی میں دوسروں سے شئیر کرنے کا مجاز ہوں یا نہیں کیونکہ میں نے یہ آفس ٹائم میں بنائی ہے۔ اس دوست سے تو میں نے یہ کہہ دیا کہ یار تمہیں میں دوبارہ بنادوں گا کیونکہ پہلے اگر ڈیڑھ دن میں بنائی تھی تو اب ایک دن میں بنا سکتا ہوں۔ لیکن پھر خیال آتا ہے کہ اگر میری کنفیوژن دور ہوجائے تو نئے سرے سے محنت کرنے سے بچ جاؤں گا۔
 

نایاب

لائبریرین
محترم بھائی اس کنفیوزن سے بچنے کے لیئے آپ اپنے ذاتی وقت میں اپنے دوست کو یہ یوٹیلٹی بنا دیں ۔ تو بہتر رہے گا ۔
اور آپ کے ضمیر کی یہ الجھن بھی نہیں تنگ کرے گی ۔ یہ بھی ممکن ہے کہ پہلے سے بھی بہتر بن جائے ۔
اک دن کی محنت اور سکون و اطمینان کروڑوں کا ۔۔۔۔۔۔۔۔۔۔۔
 

فاتح

لائبریرین
میں اپنے سوال کی ذرا تفصیلی وضاحت کردوں کیونکہ عنوان سے غلط فہمی ہوسکتی ہے۔

ایک پروگرامر دوران ملازمت جب کوئی پروگرامز بناتا ہے تو وہ دو طرح کے ہوسکتے ہیں۔ ایک تو وہ پروگرامز جن کے لئے اسے ملازمت پر رکھا گیا ہے۔ یا ایسے پروگرامز جن کے لئے وقتا فوقتا کمپنی کی طرف سے ڈیمانڈ آتی رہتی ہے چاہے وہ کسی بھی حوالے سے ہوں۔ ایسے پروگرامز اور ان کے کوڈ تو بہرحال کمپنی کی ملکیت ہوتے ہیں۔ اس میں تو مجھے کوئی کنفیوژن نہیں۔

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

میرا سوال تو پورا ہوچکا ہے اب ذرا اس سوال کا بیک گراؤنڈ بھی بتادوں کہ مجھے اس سوال کے پوچھنے کی ضرورت کیوں محسوس ہوئی۔ میں جس کمپنی میں ملازمت کررہا ہوں یہاں میں نے چھ ماہ قبل جونئیر ڈاٹ نیٹ ڈیویلپر کے طور پر جوائن کیا تھا۔ یہاں بھی عمومی طور پر Business Logic Layer اور Data Access Layer کی اپروچ ہی استعمال ہوتی ہے۔ جس میں ہر ٹیبل کے لئے ایک اسٹور پروسیجر لکھا جاتا ہے، ایک BLL Class بنائی جاتی ہے اور ایک DAL کلاس بنائی جاتی ہے۔ اس کے لئے ٹیبل میں جتنی زیادہ فیلڈز ہوں اتنا ہی زیادہ ٹائم لگتا ہے۔ مجھے ایک ہفتے کے بعد خیال آیا کہ ہر کلاس کا آرکیٹیکچر تو ایک جیسا ہی ہے تو کیوں نہ ایک یوٹیلیٹی بنادی جائے جو خود سے یہ تینوں چیزیں جنریٹ کردے اسطرح غلطیوں کا امکان بھی ختم ہوجائے گا اور ایک دو گھنٹے کا کام چند سیکنڈز میں ہوجائے گا۔ سو اس خیال پر میں نے کام کیا اور کچھ وقت لگا کر ایک پروگرام بنالیا جس کو صرف ٹیبل کا نام بتانا ہوتا ہے اسکے بعد وہ خود ہی اس ٹیبل کی فیلڈز کے مطابق SP، BLL، اور DAL بنا دیتا تھا۔ اس کے بعد جو مجھے پہلا جینوئن ٹاسک دیا گیا تو وہ میں نے بہت جلدی مکمل کرلیا۔ میرے سینئر کافی حیران ہوئے کہ اس نئے پنچھی نے ستر اسی فیلڈز والے ٹیبل پر اتنی جلدی فارم کیسے کھڑا کردیا کہیں کلاسز میں ڈنڈی تو نہیں ماردی۔:) ان کی حیرت دور کرنے کے لئے میں نے انہیں اس یوٹیلیٹی کے بارے میں بتایا۔ بس پھر کیا تھا ایک عدد خالی خولی تعریف سے نوازا گیا :) اور اب پورے آفس میں اسی یوٹیلیٹی سے کام کیا جاتا ہے۔ اب میرے ایک دوست کو ایک پروجیکٹ بنانا تھا تو اسے کیونکہ علم تھا کہ میں نے ایسی ایک یوٹیلٹی بنائی ہوئی ہے اس نے مانگی ہے۔ تو اب میں کنفیوز ہوں کہ آیا یہ یوٹیلیٹی میں دوسروں سے شئیر کرنے کا مجاز ہوں یا نہیں کیونکہ میں نے یہ آفس ٹائم میں بنائی ہے۔ اس دوست سے تو میں نے یہ کہہ دیا کہ یار تمہیں میں دوبارہ بنادوں گا کیونکہ پہلے اگر ڈیڑھ دن میں بنائی تھی تو اب ایک دن میں بنا سکتا ہوں۔ لیکن پھر خیال آتا ہے کہ اگر میری کنفیوژن دور ہوجائے تو نئے سرے سے محنت کرنے سے بچ جاؤں گا۔
ایسی یوٹیلٹیز پر قانونی طور پر کمپنی کا براہ راست حق نہیں ہوتا۔۔۔ ہاں اگر ایسا کوئی کنٹریکٹ آپ سے پہلے سائن کروایا گیا ہو کہ آفس ٹائم میں کیا گیا ہر کام (جس میں محبوبہ کو لکھے گئے خطوط بھی شامل ہوتے ہیں) کمپنی کی ملکیت ہو گا تب دوسری بات ہے۔ :)
 

رانا

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

رانا

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

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

فاتح

لائبریرین
بہت شکریہ فاتح بھائی۔ میرا دل بھی یہی کہہ رہا تھا کہ کمپنی کو تو اگر میں نہ بتاتا تو اسے پتہ بھی نہیں لگنا تھا اور وہ اسی طرح اپنے گھنٹوں برباد کرتی رہتی۔:) تو جس چیز سے کمپنی کے وقت کا کافی حصہ بچ رہا ہے اس سے دوسروں کو بھی فائدہ ملنا چاہئے۔

باقی کنٹریکٹ تو میں نے سائن کیا تھا لیکن پڑھے بغیر۔;) کیونکہ اس کنٹریکٹ کے حوالے سے میرا سارا فوکس ایک شق پر ہی کمپنی سے جھگڑا کرنے پر رہا اور یہ جھگڑا کچھ اس نہج پر پہنچ گیا کہ جاب خطرے میں پڑ گئی۔ اصل میں اس شق کے مطابق میں تین سال تک کمپنی میں ملازمت کرنے کا پابند تھا۔ یہ شق پڑھتے ہی میرا میٹر گھوم گیا اور باقی کی شقوں کی طرف دھیان ہی نہیں گیا۔:) پہلے تو میں نے صاف منع کردیا کہ میں اس شق کو نہیں مانتا آخر باس سے میٹنگ ہوئی کافی بحث و تمحیص کے بعد ایک سال پر فریقین راضی ہوئے۔ اب ایک سال تک تو کہیں اپلائی بھی نہیں کرسکتا۔ ویسے یہ بحث اور باس سے میٹنگ کی نوبت بھی اس لئے آگئی کہ کنٹریکٹ تین ماہ کے بعد میری خدمت میں پیش کیا گیا تھا۔:) اگر شروع کے دن ہوتے تو پہلے انکار پر ہی دھکے دے کر نکال دیا گیا ہوتا۔:p
کسی معینہ مدت تک ملازمت نہ چھوڑ سکنے کی شق صرف اسی صورت میں قابل قبول ہوتی ہے جب یہ دو طرفہ ہو یعنی نہ کمپنی آپ کو نکال سکتی ہے اور نہ آپ چھوڑ سکتے ہیں۔
 
Top