ওপেন-সোর্স কন্ট্রিবিউশন

লিপির আলো
By -
0
Open-source contributions


ওপেন-সোর্স কন্ট্রিবিউশন হচ্ছে, কোনো প্রজেক্ট বা সফটওয়্যারে কোড কন্ট্রিবিউট করা। কোড কন্ট্রিবিউশন ছাড়া আরো কিছু উপায়ে কন্ট্রিবিউট করা যায়, যাকে নো-কোড কন্ট্রিবিউশন বলে। যেমন: ডকুমেন্টেশন, UI/UX ফিডব্যাক, কন্টেন্ট বানানো, কমিউনিটি ম্যানেজমেন্ট, অনুবাদ ইত্যাদি। 


জনপ্রিয় কিছু ওপেন-সোর্স সফটওয়্যারঃ লিনাক্স অপারেটিং সিস্টেম, অ্যান্ড্রয়েড, মজিলা ফায়ারফক্স, ক্রোমিয়াম (গুগল ক্রোম এবং মাইক্রোসফট এজ), ভিএসকোড ইত্যাদি। 


১. কিভাবে ওপেন-সোর্স কন্ট্রিবিউশন করা যায় ?

১.১. প্রজেক্ট বা সফটওয়্যারে নতুন ফিচার এড করা, বাগ ফিক্সড করা, মেইনটেইনার হয়ে কোড রিভিউ করা অথবা কোড রিভিউয়ে সাহায্য করা, টেস্টিং করা, ডকুমেন্টেশন আপডেট করা, UI/UX এবং সিস্টেম ইম্প্রুভমেন্ট ফিডব্যাক দেয়া, প্রজেক্ট বা সফটওয়্যার নিয়ে ভিডিও অথবা কন্টেন্ট তৈরি করা।


১.২. একটি ওপেন-সোর্স প্রজেক্ট বা সফটওয়্যারে একজন অথবা অনেকজন মেইনটেইনার থাকে, যাদের কাছে প্রজেক্টের সব এক্সেস থাকে। এখানে সাধারণত মেইন রিপো ফর্ক অথবা ক্লোন করে কন্ট্রিবিউট করতে হয়। পারসোনাল ব্রাঞ্চ ওপেন করে সেখানে কোড রেখে তারপর পুল রিকোয়েস্ট দিতে হয়। মেইনটেইনার কোড রিভিউ করে যদি দেখে সেটা গ্রহণযোগ্য তাহলে কোডটি মেইন ব্রাঞ্চে মার্জ করে এবং কোনো ফিডব্যাক থাকলেও সেটা দেয়। 


২. ওপেন-সোর্স কন্ট্রিবিউশনের সুবিধা কি ? 

২.১. যেহেতু এখানে রিডেবল এবং স্কেলেবল (পারফরম্যান্স, ফাংশনাল, আর্কিটেকচারাল) কোড লিখতে হয়, তাই কোডিং দক্ষতা বাড়বে।


২.২. এই কন্ট্রিবিউশনের মাধ্যমে নতুন নতুন টেকনোলজি নিয়ে আইডিয়া পাওয়া যাবে এবং এই টেকনোলজিস কিভাবে "ইন্ডাস্ট্রি স্ট্যান্ডার্ড" প্রজেক্টের মধ্যে ব্যবহার করতে হয় সেটা জানা যায় (ইন্ডাস্ট্রি এক্সপার্ট/মেইনটেইনার এটা নিয়ে ফিডব্যাক দিয়ে থাকে)।


২.৩. নেটওয়ার্কিংয়ে সাহায্য করে, যেমন অনেক সময় এটার মাধ্যমে ডিরেক্ট জব অফারও পাওয়া যায়। নেটওয়ার্কিং ছাড়াও এনালিটিক্যাল থিংকিং, টিম ওয়ার্ক, লিডারশিপের মতো বিভিন্ন দক্ষতা অর্জন করা যায়। 


২.৪. সিভি/রেজ্যুমে অথবা পোর্টফলিও এর মধ্যে এটা হাইলাইট করে সহজেই জব ক্র্যাক করা যায়। 


৩. কন্ট্রিবিউটর হওয়ার জন্য কিভাবে প্রিপারেশন নিতে হবে ?

৩.১. যেকোনো একটি প্রোগ্রামিং ভাষা শিখতে হবে এবং যেকোনো একটি শিখলেই পরবর্তী প্রয়োজনে অন্য যে কোনোটা সহজেই শিখতে পারবেন। তবে ডকুমেন্টেশন, অনুবাদ ইত্যাদির জন্য প্রোগ্রামিংয়ের প্রয়োজন হয় না।


৩.২. ভার্সন কন্ট্রোল সিস্টেমস: অনেকগুলো ভার্সন কন্ট্রোল সিস্টেমস আছে যেমন Git, Mercurial, CVS, SVN ইত্যাদি। কিন্তু গিট সবচেয়ে জনপ্রিয় এবং প্রচলিত! (তাই গিট শিখতে হবে)


গিটের জন্য কিছু কোড হোস্টিং প্ল্যাটফর্ম আছে। যেমনঃ GitHub, GitLab, Bitbucket, Azure Repos, SourceForge.


৩.৩. ডকুমেন্টেশন: ভালো ডকুমেন্টেশন লেখার স্কিল থাকতে হবে। 


৩.৪. ইন্টারেস্ট এবং স্কিল অনুযায়ী প্রজেক্ট বা সফটওয়্যার খুঁজে বের করে কোডবেসের সাথে পরিচিত হওয়ার পর নতুন ফিচার এড, বাগ/ইস্যু ফিক্সড, ডকুমেন্টেশন আপডেট এগুলো নিয়ে ইস্যু তৈরি করবেন। 


এখানে কিছু ওয়েবসাইট সম্পর্কে বলা হলো যা নতুনদের জন্য ইস্যু খুঁজতে সাহায্য করবে:

১. Up For Grabs

২. 24 Pull Requests

৩. Hacktoberfest

৪. First Timers Only

৫. Your First PR

৬. CodeTriage

৭. Open Source Friday


লেখা: মাহবুবা মীম 

সহসম্পাদক লিপির আলো 

আইটি এক্সপার্ট 

একটি মন্তব্য পোস্ট করুন

0মন্তব্যসমূহ

একটি মন্তব্য পোস্ট করুন (0)