ওপেনসোর্স সফটওয়্যার প্রজেক্টে কেন অবদান রাখবেন?

অনিরুদ্ধ অধিকারী's picture

আচ্ছা বলুন তো, আপনার কম্পিউটার মোজিলা ফায়ারফক্স ব্রাউজারটি কে তৈরি করেছে? কিংবা অভ্র কীবোর্ড বা ভিএলসি মিডিয়া প্লেয়ার? উত্তরে হয়তো আপনি বলবেন মোজিলা ফাউন্ডেশন, অমিক্রনল্যাব বা ভিডিওল্যান। প্রকৃতপক্ষে এগুলো ওপেনসোর্স সফটওয়্যার প্রজেক্ট এবং কোর ডেভেলপারদের পাশাপাশি অসংখ্য স্বেচ্ছাসেবকের অবদান এসকল সফটওয়্যার তৈরি হয়। সাধারণ ক্লোজড সোর্স বা বদ্ধ সফটওয়্যারের সঙ্গে ওপেনসোর্স বা মুক্তসোর্স সফটওয়্যারের তফাৎ হল, চাইলে আপনিও সেই সফটওয়্যারের উন্নতিতে অবদান রাখতে পারবেন। মূলত কয়েক সহস্রাধিক সফটওয়্যার ডেভেলপার বর্তমানে নিয়মিত স্বেচ্ছাসেবার ভিত্তিতে বিভিন্ন ওপেনসোর্স সফটওয়্যার প্রজেক্টে অবদান রেখে ক্রমাগত তাদের মানোন্নয়নে অবদান রেখে চলেছে।

osi_standard_logo.png

ওপেনসোর্সের অর্থ কি?

কোন সফটওয়্যার যখন লেখা হয়, তখন মানুষের পঠনযোগ্য প্রোগ্রামিং ভাষাতেই তা লেখা হয়ে থাকে। কিন্তু, মানুষের বোধগম্য ভাষাকে কম্পিউটারের বোধগম্য ভাষায় রূপান্তর করতে চাইলে "কম্পাইলার" নামের একধরণের অনুবাদক প্রোগ্রাম ব্যবহৃত হয়। মানুষের ভাষাগুলোর মধ্যে, যেমন ইংরেজি থেকে বাংলায় অনুবাদ করলে আবার বাংলা থেকে ইংরেজি ফেরত পাওয়া যায়। কিন্তু, কম্পিউটারে কম্পাইল করা একটি "One way process"। অর্থাৎ, একবার কম্পাইল করলে সেখান থেকে মানুষের বোধগম্য রূপ ফেরত পাওয়া সম্ভব নয়! এই মানুষের বোধগম্য রূপটাই হল সোর্স কোড।

এখন বুঝতেই পারছেন,
ওপেনসোর্স = যার সোর্স কোড উন্মুক্ত। অর্থাৎ যে কেউ দেখতে পারবে, পরিবর্তন করতে পারবে নিজের ইচ্ছেমত।
ক্লোজডসোর্স = যার সোর্স কোড উন্মুক্ত নয়। বাইরের কেউ এটি দেখতেই পারবে না, ইচ্ছেমত পরিবর্তন তো দূরের কথা।

ক্লোজডসোর্স সফটওয়্যারের গুটিকয়েক মুষ্টিমেয় ডেভেলপারের ইচ্ছে ও দক্ষতার ওপর ভিত্তি করে একটি প্রজেক্ট পরিচালিত হয়, আর ওপেনসোর্স সফটওয়্যারের ক্ষেত্রে সহস্র মানুষের মতামত, দক্ষতা ও সাহায্যের ভিত্তিতে তৈরি।

কেন অবদান রাখবেন?

দক্ষতা বৃদ্ধির জন্য

আপনার বর্তমান কোডিং, ডিজাইনিং বা অন্য কোন দক্ষতা বৃদ্ধির শ্রেষ্ঠ উপায় অনুশীলন করা। ওপেনসোর্স প্রজেক্টে অন্যের কোড পড়ে তার উন্নয়ন করা কিংবা অন্যের ডিজাইনটাকে আরেকটু সুন্দর করার মধ্য দিয়ে অনেক অভিজ্ঞতা অর্জিত হয় এবং দক্ষতা বৃদ্ধিতে ব্যাপক অবদান রেখে থাকে।

চাকুরী বা আউটসোর্সিংয়ের জন্য

ধরুন আপনি চাকরী খুঁজছেন কিংবা আউটসোর্স করতে চাচ্ছেন। আপনাকে নিয়োগদানের পূর্বে নিয়োগকর্তা কিংবা বায়ার কি চাইবে না তার নিয়োগপ্রাপ্ত লোক অভিজ্ঞ হোক, কিংবা বাস্তব কাজের দক্ষতা থাকুক? অবশ্যই চাইবে এবং এটিই বাস্তব। এক্ষেত্রে CCNA বা RHCE কিংবা MSCSA সার্টিফিকেট দেখানোই যথেষ্ট নয়, চাই বাস্তব কাজের অভিজ্ঞতা। এই সুযোগে যদি আপনি দেখিয়ে দেন যে, "আমি মোজিলা ফায়ারফক্সে অমুক অংশটা তৈরি করেছি বা উন্নত করেছি" কিংবা "লিনাক্স কার্নেলের এই অংশটা মেরামত করেছি", অন্যদের তুলনায় আপনি কি নিয়োগকর্তার নজর একটু বেশি কাড়বেন না?

মনের খোরাকের জন্য

এমন অনেকেই আছেন, যারা অন্যের সাহায্য করে কিংবা কোডিং, ডিজাইনিং করে আনন্দ পান। তাদের জন্য সর্বোত্তম সুযোগ হচ্ছে একটি ওপেনসোর্স সফটওয়্যার প্রজেক্ট। এখানে কাজ করলে একদিকে যেমন মনে আনন্দও পাওয়া যায়, ঠিক তেমনিই আত্মবিশ্বাসী হওয়া যায়। "হ্যাঁ, মোজিলা ফায়ারফক্স তৈরিতেও আমার অবদান আছে", এ কথা চিন্তা করাটাই এক ধরণের গর্বের বিষয়! আর বন্ধুমহলে তো কথাই নেই!

এই সুযোগে বলে রাখি, ওপেনসোর্স সফটওয়্যার প্রজেক্টগুলোতে প্রত্যেক অবদানকারীর নাম সফটওয়্যারের প্রতিটি কপির সঙ্গে চলে যায়। যেমন:
Contrubtion

কৃতজ্ঞতা প্রকাশের জন্য

আমরা সকলেই প্রতিদিন কোন না কোনভাবে কোন না কোন ওপেনসোর্স সফটওয়্যার ব্যবহার করছি। ওয়েবে এসেছেন? আপনার গুগল সার্চ ইঞ্জিন বা ফেসবুকের সার্ভার কিন্তু ওপেনসোর্স অপারেটিং সিস্টেম লিনাক্সে চলছে, আপনার উইন্ডোজের যে অংশটি ইন্টারনেটের সঙ্গে যোগাযোগ রক্ষা করে, তা BSD নামের একটি ওপেনসোর্স প্রজেক্ট থেকে নেয়া হয়েছে। কখনো আপনার মন চাইলে এসকল প্রজেক্টের প্রতি কৃতজ্ঞতাস্বরূপও কিছু অবদান করতে পারেন।

অবদানের ক্ষেত্র কি কি?

আপনি যদি কোন ওপেনসোর্স প্রজেক্টে সাহায্য করার জন্য উৎসাহী হয়ে থাকেন, আপনাকে অভিনন্দন। এজন্য আপনাকে প্রোগ্রামার হতেই হবে এমন নয়, প্রযুক্তিজগতের বাইরের মানুষেরাও সাহায্য করতে পারবেন!

কোডিং

এই জায়গাটা প্রোগ্রামারদের জন্য। সফটওয়্যার কোডবেজের মধ্যে বাগ খুঁজে ঠিক করা, নতুন ফিচার যুক্ত করা কিংবা ইন্টারফেস ব্যবহারযোগ্য করা ইত্যাদি উন্নয়নমূলক কাজ।

ডিজাইনিং

প্রজেক্টের লোগো এবং গ্রাফিক্যাল ইন্টারফেসের আইকন, বাটন, মেনু ইত্যাদির ডেকোরেশন বা সাজগোজের জন্য গ্রাফিক্স ও ইউআই ডিজাইনাররা অবদান রাখতে পারেন।

সাপোর্ট

আপনি কোন সফটওয়্যার ব্যবহারে অভিজ্ঞ হলে, অন্যরা সেটি নিয়ে সমস্যায় পড়লে তাদের সাহায্য করতে পারেন। (যেমন আপনি মোজিলা ফায়ারফক্স পরিচালনায় দক্ষ, আপনি একজন সমস্যাক্রান্ত ব্যক্তিকে সাহায্য করলেন ফায়ারফক্সের সমস্যা সমাধান করতে)

অন্যদের জানানো

আপনার বন্ধু-বান্ধব, পরিবারের সদস্য, অফিসের স্টাফ কিংবা পরিচিত মানুষদেরকে উক্ত সফটওয়্যার সম্পর্কে জানাতে পারেন, ফেসবুকে লিংক দিতে পারেন কিংবা আপনার ব্লগ বা ওয়েবসাইটে রিভিউ দিতে পারেন।

কোয়ালিটি নিশ্চিতকরণ

কোন ওপেনসোর্স সফটওয়্যার প্রজেক্টে বিদ্যমান সমস্যাসমূহ ডেভেলপারদের জানিয়ে মানোন্নয়নে প্রভূত অবদান রাখতে পারেন। সমস্যাগুলো সম্পর্কে জেনে ডেভেলপারগণ তা ঠিক করে নিতে পারবেন।

অনুবাদ

আপনি চাইলে ওপেনসোর্স সফটওয়্যারকে নিজের মাতৃভাষায় অনুবাদ করতে পারবেন। এজন্য ভাষাগত দক্ষতাই যথেষ্ট।

কোথায় অবদান রাখবো?

অনলাইনে ঘাঁটলেই সাহায্য করার মত অনেক ওপেনসোর্স প্রজেক্ট পাবেন, তন্মধ্যে খুঁজে পাবার জন্য সেরা জায়গা হল SourceForge এবং Google Code. এছাড়াও বিশাল বড় স্কেলের প্রজেক্টের তালিকায় রয়েছে, মোজিলা ফায়ারফক্স, উবুন্টু লিনাক্স , ওয়ার্ডপ্রেস, ড্রুপাল, গুগল অ্যানড্রয়েড সহ অনেক কিছু! আশা করি, ওপেনসোর্স প্রজেক্টে অবদান রেখে নিজের ক্যারিয়ারের উন্নয়নের পাশাপাশি সফটওয়্যারের মানোন্নয়নেও অংশ নিতে পারবেন।