কি?
ওপেন সোর্স হল এমন সফটওয়্যার বা প্রজেক্ট যা সকলের জন্য উন্মুক্ত, যার কোড যে কেউ দেখতে, ব্যবহার করতে, পরিবর্তন করতে এবং বিতরণ করতে পারে। উদাহরণস্বরূপ, লিনাক্স, রিয়্যাক্ট, ভিএস কোড, কিংবা ফায়ারফক্স হল কিছু পরিচিত ওপেন সোর্স প্রজেক্ট। এই প্রজেক্ট গুলো কি তাদের নিজেদের ডেভেলপার দিয়ে এতোদূর এসেছে? না। হাজার হাজার ডেভেলপারের কন্ট্রিবিউশনেই আজকে এতদূর।
কেন?
কেন ওপেন সোর্সে অবদান রাখবেন?
১. দক্ষতা বৃদ্ধি এবং শেখার সুযোগ:
বাস্তব-জীবনের সমস্যাগুলি সমাধান করতে পারা এবং নতুন প্রযুক্তি শেখার সুযোগ পাওয়া যায়। এটি আপনার টেকনিক্যাল স্কিল উন্নত করতে সহায়ক।
২. একটি বড় কমিউনিটির অংশ হওয়া:
বিশ্বব্যাপী ডেভেলপারদের সাথে সংযোগ স্থাপন করার মাধ্যমে সহায়তা ও অভিজ্ঞতা শেয়ার করার সুযোগ থাকে, যা আপনার ক্যারিয়ারের জন্য মূল্যবান।
৩. ক্যারিয়ার এবং পোর্টফোলিও উন্নয়ন:
বাস্তব প্রোজেক্টে কাজ করার মাধ্যমে আপনার পোর্টফোলিওতে অভিজ্ঞতা যুক্ত হয়, যা নিয়োগকর্তাদের কাছে আকর্ষণীয়।
৪. নেটওয়ার্ক বৃদ্ধি:
অন্যান্য ডেভেলপারদের সাথে সম্পর্ক স্থাপন করে নতুন সুযোগের দরজা খুলতে পারেন, যা ভবিষ্যতে আপনার ক্যারিয়ারে সহায়ক।
৫. সমাজের উন্নতি:
আপনার অবদান প্রযুক্তি সম্প্রদায়ের উন্নয়নে সাহায্য করে এবং আরও অনেকের জন্য উপকারী হতে পারে।
কিভাবে?
ওপেন সোর্স প্রজেক্ট এ অবদান রাখার পদ্ধতি-
১. উপযুক্ত প্রজেক্ট নির্বাচন করা
কীভাবে উপযুক্ত প্রজেক্ট খুঁজবেন:
- নিজের আগ্রহের বিষয়: এমন প্রজেক্ট বাছাই করুন যেগুলো আপনার পছন্দের টেকনোলজি বা বিষয়ের সাথে সম্পর্কিত।
- নতুনদের জন্য বন্ধুসুলভ প্রজেক্ট: অনেক ওপেন সোর্স প্রজেক্টে “good first issue” বা “beginner-friendly” লেবেল দিয়ে ইস্যু চিহ্নিত করা থাকে। এগুলো সাধারণত নতুনদের জন্য উপযুক্ত হয়।
- প্রজেক্টের ডকুমেন্টেশন দেখুন: ডকুমেন্টেশন ভালোভাবে সাজানো এবং সহজবোধ্য কিনা, তা দেখুন। এতে কাজ করা সহজ হবে।
- কোডবেস বুঝে নিন: প্রজেক্টের সোর্স কোড ভালোভাবে বুঝে নিন। প্রজেক্টের গঠন, মডিউল এবং কিভাবে ফিচারগুলো কাজ করে তা জেনে নেওয়া প্রয়োজন।
২. গিটহাব বা গিটল্যাব প্রোফাইল তৈরি করা
- গিটহাব বা গিটল্যাব প্রোফাইল: ওপেন সোর্স কন্ট্রিবিউশন শুরু করার জন্য একটি গিটহাব বা গিটল্যাব প্রোফাইল থাকা প্রয়োজন। এই প্রোফাইলে আপনার প্রজেক্টগুলো বা যেসব প্রজেক্টে আপনি অবদান রেখেছেন, সেগুলো সংরক্ষণ থাকবে।
- গিট (Git) শিখুন: গিট ব্যবহার করে কীভাবে কাজ করতে হয়, সেটা শেখা অপরিহার্য। কোড রিপোজিটরি থেকে প্রজেক্ট ক্লোন করা, পরিবর্তন করা, এবং পুনরায় জমা দেওয়া (push) গিটের মাধ্যমে সহজে করা যায়।
৩. ডকুমেন্টেশন ও ইস্যু পড়া
- প্রজেক্টের ডকুমেন্টেশন: প্রজেক্টের ডকুমেন্টেশন পড়ুন। ডেভেলপারদের জন্য বিভিন্ন নীতি, কন্ট্রিবিউশনের নির্দেশিকা, এবং স্টাইল গাইড সেখানেই থাকে।
- ইস্যু বোঝা: প্রজেক্টের ইস্যু বিভাগে গিয়ে দেখতে হবে কোন সমস্যা বা ফিচারের জন্য কাজ প্রয়োজন। ছোট ও সহজ ইস্যু থেকে শুরু করা উত্তম। সাথে দেখে নিতে হবে কেউ অলরেডি এই ইস্যু তে কাজ করছে কিনা। তার বোঝার সহজ উপায় হলো উপরে ডান পাশে এসাইনি তে কাউকে দেখা যাচ্ছে কিনা। যদি কেউ না থাকে তাহলে কমেন্টে আপনাকে এসাইন করার জন্য বলতে হবে।
- মেইনটেইনারের নির্দেশনা অনুসরণ করা: প্রজেক্টের মেইনটেইনার কীভাবে কাজ চান বা কোন স্টাইল মেনে চলতে বলেন, তা নিশ্চিত করুন। এটি প্রজেক্টে অবদান রাখতে সাহায্য করবে এবং আপনার পুল রিকোয়েস্ট সহজেই গ্রহণ হবে।
৪. প্রজেক্ট ফর্ক করা এবং কাজ শুরু করা
কোনো প্রজেক্টে কাজ শুরু করার জন্য প্রথমে রিপোজিটরির ফর্ক করতে হবে, যা মূল রিপোজিটরির একটি কপি তৈরি করবে আপনার প্রোফাইলে। এটি আপনাকে মূল রিপোজিটরির উপর প্রভাব না ফেলে কাজ করার অনুমতি দেয়।
ফর্ক করার ধাপ:
- প্রজেক্টের গিটহাব রিপোজিটরিতে যান।
- উপরের ডানদিকে থাকা “Fork” বাটনটি ক্লিক করুন।
৫. ফোর্ক করা রিপোজিটরিটি ক্লোন করা
গিটের মাধ্যমে ফর্ক করা রিপোজিটরিটি আপনার প্রোফাইল থেকে ক্লোন করে আপনার লোকাল মেশিনে নিয়ে আসুন। টার্মিনালে এই কমান্ডটি ব্যবহার করুন:
$ git clone https://github.com/user/projectname.git
৬. আপস্ট্রিম (Upstream) সেট করা
ফর্ক করা প্রজেক্টের মূল রিপোজিটরির সাথে আপনার লোকাল রিপোজিটরিকে সংযুক্ত রাখতে upstream সেট করা গুরুত্বপূর্ণ। এর ফলে আপনি মূল প্রজেক্টে কোনো পরিবর্তন হলে সেগুলো আপনার লোকাল প্রজেক্টে টেনে নিতে পারবেন।
Upstream সেট করার ধাপ:
$ git remote add upstream https://github.com/original-owner/original-repository.git
এখন আপনার লোকাল রিপোজিটরির সাথে মূল রিপোজিটরির সংযোগ (upstream) তৈরি হলো। আপনি যে কোনো সময় মূল রিপোজিটরির পরিবর্তনগুলো লোকালে আনতে পারেন।
Upstream থেকে পরিবর্তনগুলো টেনে নেওয়ার ধাপ:
$ git fetch upstream
$ git merge upstream/main
৭. নতুন ব্রাঞ্চ তৈরি করা
কোনো পরিবর্তন করার আগে একটি নতুন ব্রাঞ্চ তৈরি করুন। এই ব্রাঞ্চে আপনি কোড এডিট করবেন। ব্রাঞ্চের নাম এমন হতে হবে যা প্রজেক্টের কাজ বা ইস্যুর সাথে সম্পর্কিত এবং বুঝতে সহজ হয়।
$ git checkout -b feature/fix-bug
৮. কোড এডিট করা
এখন আপনি প্রজেক্টের সোর্স কোড নিয়ে কাজ শুরু করতে পারেন। ইস্যু অনুযায়ী প্রয়োজনীয় ফিচার যোগ করা, বাগ ফিক্স করা বা ডকুমেন্টেশন আপডেট করা হতে পারে।
৯. কমিট করা
কোডে পরিবর্তন করার পরে তা লোকাল রিপোজিটরিতে সংরক্ষণ (commit) করতে হবে। আপনার পরিবর্তনটি সঠিকভাবে বর্ণনা করা উচিত, যেন অন্যরা সহজে বুঝতে পারে।
$ git add .
$ git commit -m "fix: resolve login issue"
১০. পরিবর্তন পুশ করা
এখন আপনার পরিবর্তনগুলো লোকাল থেকে ফর্ক করা রিপোজিটরিতে পুশ করুন। প্রথমবার পুশ করার সময় --set-upstream
ব্যবহার করুন, যাতে পরবর্তীতে একই ব্রাঞ্চে কাজ করা সহজ হয়।
$ git push --set-upstream origin feature/fix-bug
এরপর থেকে আপনি $ git push
কমান্ড ব্যবহার করে সরাসরি একই ব্রাঞ্চে পুশ করতে পারবেন।
১১. পুল রিকোয়েস্ট পাঠানো
আপনার পরিবর্তন ফর্ক করা রিপোজিটরিতে পুশ হওয়ার পরে, মূল রিপোজিটরির সঙ্গে আপনার পরিবর্তন তুলনা (compare) করতে পারবেন। এরপর “Pull Request” (PR) পাঠান।
- গিটহাব বা গিটল্যাবে গিয়ে আপনার ফর্ক করা প্রোজেক্টে যান।
- “Compare & pull request” অপশন সিলেক্ট করুন।
- পুল রিকোয়েস্টের শিরোনাম এবং বিবরণ লিখুন, যেন রিপোজিটরির মেইনটেইনার আপনার কাজ সহজে বুঝতে পারেন।
১২. পর্যালোচনা এবং ফিডব্যাক
- মেইনটেইনারের প্রতিক্রিয়া অনুসরণ করা: মেইনটেইনার যদি পরিবর্তন বা সংশোধনের অনুরোধ করেন, তা দ্রুত সম্পন্ন করুন।
- ফিডব্যাকের জন্য প্রস্তুত থাকুন: ফিডব্যাক মেনে নিয়ে দ্রুত প্রতিক্রিয়া দিন, যাতে আপনার পুল রিকোয়েস্ট গ্রহণের সম্ভাবনা বাড়ে।
১৩. ধৈর্য ধারণ করা
কখনো কখনো পুল রিকোয়েস্ট পর্যালোচনা হতে সময় লাগে। ধৈর্য ধরে অপেক্ষা করুন এবং যদি প্রয়োজন হয়, নতুন ইস্যুতে কাজ শুরু করুন।
হ্যাকটোবারফেস্ট
হ্যাকটোবারফেস্ট মূলত ওপেন সোর্সে অবদান রাখার জন্য উৎসাহ দেয়। প্রতি বছর অক্টোবর মাসে এই ইভেন্টটি অনুষ্ঠিত হয়, যেখানে গিটহাব বা গিটল্যাবে ওপেন সোর্স প্রজেক্টে চারটি পুল রিকোয়েস্ট জমা দিয়ে আপনি পুরস্কার অর্জন করতে পারেন।
হ্যাকটোবারফেস্টের মূল লক্ষ্য হলো নতুন ডেভেলপারদের ওপেন সোর্সে নিয়ে আসা। এটা এমন একটা ইভেন্ট যেখানে নতুন এবং অভিজ্ঞ ডেভেলপাররা একসাথে কাজ করতে পারে। এই ইভেন্টে অবদান রাখা মানে শুধু আপনার নিজের দক্ষতা বাড়ানো নয়, বরং ওপেন সোর্স কমিউনিটিকে এগিয়ে নিয়ে যাওয়া। ওপেন সোর্সের মাধ্যমে অনেক কোম্পানি যেমন নতুন টেকনোলজি তৈরি করে, তেমনি হ্যাকটোবারফেস্ট এই প্রচেষ্টাকে সাপোর্ট করতে সাহায্য করে।
হ্যাকটোবারফেস্টে অংশ নেওয়ার পদ্ধতি
হ্যাকটোবারফেস্টে অবদান রাখা আর ওপেন সোর্সে অবদান রাখার একই জিনিস। এটি শুধুমাত্র কিছু নির্বাচিত রিপোজিটরির উপর ভিত্তি করে, যেখানে আপনি ওপেন সোর্স প্রকল্পে অংশগ্রহণ করতে পারেন। নিচে হ্যাকটোবারফেস্টে অংশ নেওয়ার পদ্ধতি উল্লেখ করা হলো:
১. প্রথমে Hacktoberfest ওয়েবসাইটে সাইন আপ করুন।
২. অংশগ্রহণের নিয়মগুলি জানার জন্য এখানে যান।
৩. গিটহাব বা গিটল্যাবে ওপেন সোর্স প্রোজেক্ট খুঁজে নিন। পুল/মার্জ রিকোয়েস্টগুলি যে কোনও GitHub বা GitLab-হোস্টেড প্রকল্পে করা যেতে পারে যা হ্যাকটোবারফেস্টে অংশগ্রহণ করছে (হ্যাকটোবারফেস্ট টপিক খুঁজুন)। আপনার PR/MRs অবশ্যই hacktoberfest টপিকযুক্ত রিপোজিটরিতে থাকতে হবে, অথবা hacktoberfest-accepted লেবেল থাকতে হবে।
৪. অক্টোবরের মধ্যে চারটি পুল রিকোয়েস্ট পাঠান।
৫. সফলভাবে অবদান রাখলে ডিজিটাল সার্টিফিকেট অর্জন করতে পারবেন।
কিছু কথা
আমি একজন জুনিয়র ডেভেলপার হিসেবে এই বছর হ্যাকটোবারফেস্ট সম্পন্ন করেছি, এবং আপনাদেরও এটি চেষ্টা করা উচিত! এখনো ১৫ দিন বাকি আছে। হ্যাকটোবারফেস্ট শুধু একটা ইভেন্ট নয়, এটা নতুন কিছু শেখার এবং আমাদের ওপেন সোর্স কমিউনিটিকে সমৃদ্ধ করার একটি দারুণ সুযোগ। বিশেষ করে আমরা বাংলাদেশিরা যদি আরও সক্রিয় হই, তাহলে আমাদের কমিউনিটি আরও শক্তিশালী হবে। ওপেন সোর্সের মাধ্যমে আমরা শুধু নিজেদের দক্ষতা বৃদ্ধি করবো না, বরং গ্লোবাল টেকনোলজি কমিউনিটিতেও বড় অবদান রাখতে পারবো।
এটা আমার প্রথম আর্টিকেল, তাই আমার ভুল-ত্রুটি ক্ষমাসুন্দর দৃষ্টিতে দেখবেন এবং আপনার মূল্যবান মন্তব্য জানাতে ভুলবেন না। এতে আমি অনেক কিছু শিখতে পারবো।