তুমি কি Project development এ interested? এবং public project এ অংশ নেয়ার মাধ্যমে experience gain করতে চাও? তবে open source project এ contribution করা তোমার নিজের achievement section enhance করার জন্য একটি চমৎকার সুযোগ হতে পারে। আজকে আমি বিস্তারিত আলোচনা করব open source contribution কী, কেন এটি গুরুত্বপূর্ণ, কীভাবে অংশগ্রহণ করতে হবে এবং কী ধরনের skill প্রয়োজন। পাশাপাশি কিছু beginner tips এবং most popular open-source contribution event Hacktoberfest নিয়েও আলোচনা করব।
Open Source Contribution কী?
GitHub-এ অনেক open source project আছে যার code গুলো publicly available এবং যে কেউ চাইলেই সেটা use বা contribute করতে পারে, যেমন C++, Linux, Nodejs বা Python-এর মত বিভিন্ন project. এই project গুলোতে সাধারণত pre-existing একটা codebase থাকে, developer কে প্রথমে সেই codebase বুঝে নিতে হয়। তারপর সে দেখে কোনো bug আছে কিনা বা project এ কোনো relevant feature add করা যায় কিনা। Code change করে pull request আকারে submit দেয়ার পর, project এর owner যদি মনে করে তার overall contribution good enough, তাহলে সে pull request-টি approve করে। এভাবে, বিশ্বের নানাপ্রান্তের অসংখ্য developer একসাথে কাজ করে একটি open source project এ contribute করতে পারে।
কেন করা প্রয়োজন?
-
যেকোনো open source project এ contribute করতে গেলে প্রথমেই তোমাকে ওই project এর codebase ভালোভাবে বুঝতে হবে। নিজের project এর জন্য code করা আর অন্যের কোড পড়ে বোঝার মধ্যে রয়েছে আকাশ-পাতাল তফাত।
-
No doubt, একটি ভালো project এ contribute তোমার জন্য হতে পারে একটি উল্লেখযোগ্য achievement.
মজার ব্যাপার, তুমি কোনো coding skill ছাড়াও এসব project এ contribute করতে পারো। যেমনঃ documentation এ কোনো typo থাকলে ঠিক করা, বা যদি কেউ মনে করে documentation এ কিছু info missing আছে সেটাও add করতে পারবে।
তবে আমি পরামর্শ দিবো এ ধরনের কাজ না করার, কারণ এতে তেমন কোনো কিছু শিখা হয় না। Choose quality over quantity.
কীভাবে শুরু করবে?
শুরুতেই Linux এর মত বড় বড় open source project এ কন্ট্রিবিউট করা বেশ tough একটা ব্যাপার। আপাতত অন্য যেকোনো random ও simple project এ contribute করে experience gain করতে পারো। অনেক developer প্রাথমিকভাবে ছোটখাটো project public করে দেয়, যেখানে শুধুমাত্র একটা login system বা অন্য কোনো basic feature থাকে। এই project গুলোতে অন্যান্য developer রা নতুন feature add করে বা bug fix করে project টিকে ধীরে ধীরে develop করে। এ ধরনের project এ তুমি সহজেই contribute করতে পারো এবং আস্তে আস্তে অভিজ্ঞতা বাড়াতে পারো।
অবশ্য এজন্য তোমার Git এর basic skill যেমন: branching, forking, pull request করা, issues create and manage করা এবং অন্যদের প্রজেক্টে কীভাবে কন্ট্রিবিউট করতে হয় — এসবের উপর মোটামুটি ধারণা থাকতে হবে। তবে আমি মনে করি, কাজ শুরু করার মাধ্যমেই তুমি আস্তে আস্তে এসব শিখে নিতে পারবে।
HacktoberFest কী?
এখন আসি hacktoberfest এ। এটা মূলত একটা open-souce contribution এর competition, যা প্রতি বছর October মাসজুড়ে চলতে থাকে, এই event এর মূল উদ্দেশ্য হলো নতুন এবং অভিজ্ঞ developer দের open-source project-এ অংশগ্রহণে উত্সাহিত করা।
এই event এ বেশকিছু নির্দিষ্ট open-source project এর লিস্ট নির্ধারিত করে দেয়া হয়। Participate করতে হলে, এই এক মাসের মধ্যে তোমাকে এই project গুলোর মধ্যে যেকোন ৪টিতে contribute করতে হবে। এটা হতে পারে bug fix করা, নতুন feature add করা, documentation improve করা, বা অন্য কোনো error fixing. তবে তোমার contribution অবশ্যই standard হতে হবে এবং project maintainer-রা সেটি যাচাই করবে।
আগামী October মাসে আবারও Hacktoberfest অনুষ্ঠিত হতে যাচ্ছে, যার রেজিস্ট্রেশন শুরু হবে ২৩ September থেকে। Beginner দের open-souce contribution এ অংশ নেয়ার জন্য এটাই হতে পারে দারুণ সুযোগ। তোমরাও চাইলে অংশ নিতে পারো। কীভাবে open source contribution করা লাগে যদি কেউ এই topic এ tutorial চাও, কমেন্টে জানাতে পার।
এমনকি Hacktoberfest-এ অংশ নিলে রয়েছে gift পাওয়ার সুযোগ। তোমার ৪ টি pull request approved হলে তুমি তাদের পক্ষ থেকে বিভিন্ন gift যেমন sticker বা hosting discount পেতে পারো।
কীভাবে অংশ নিবে?
- প্রথমত তোমার অবশ্যই একটি github account থাকতে হবে।
- Competition এর listed open source project গুলো browse করা শুরু করো।
- ছোট, সহজ এবং শুরু করার মতো project খুঁজে বের করো যা তোমার skill level এর সাথে মানানসই।
- Project epository-র "issues" tab এ যাও। সেখানে already অনেকগুলো issue listed থাকে। সেখানে কোনো feature দরকার বা issue আছে এমন declare করা থাকে।
- এই list থেকে এমন কোনো issue select করো, যা তুমি resolve করতে পারবে বলে মনে করো। এরপর project এর owner কে জানাও যে তুমি সেই issue তে কাজ করতে চাও। Owner এর অনুমতি পেলে কাজ শুরু করতে পারো।
- যদি সেই list এর কোনো issue তোমার পছন্দ না হয়, তবে তুমি নিজেই নতুন issue তৈরি করে সেটি owner কে জানাতে পারো। Owner এর কাছে যদি সেটি legit issue মনে হয়, তবে সে কাজটি তোমাকে assign করে দিবে। এ ক্ষেত্রে project run করে issue খুঁজে বের করার চেষ্টা করতে পারো।
- কাজ শেষ হলে Pull Request সাবমিট করো। সেটি approved হলে তোমার successfully contribute করা done।
Register করো Hacktoberfest-এ
Details জানতে পারো এই লিংকগুলোতেঃ
-
Open Source BootCamp - Master Open Source Contributions - Youtube Playlist
-
How to Open Source Contribute to Large Codebase | Hacktoberfest 2023
আজকের মত ইতি টানলাম।
আর কোনো enquiry বা পরামর্শ থাকলে জানাতে পার৷