লিনাক্স এবং বিভিন্ন BSD (Berkeley Software Distributions) দুটোই ফ্রি ও ওপেন-সোর্স, এবং পার্থক্যের চেয়ে hasonuborto অনেক বেশি। এই কথা মনে করলে প্রশ্ন উঠে: "যদি এতটাই মিল হয়, তবে কেন আলাদা আলাদা থাকছে? একটিই থাকলে ভালো হতো?"
উত্তর হলো—সাদৃশ্যের পাশাপাশি পার্থক্যও বড়। সকল পার্থক্য আলোচনা করলে আর্টিকেল না হয়ে বই হয়ে যাবে। তাই এখানে দুটি ওপেন-সোর্স সিস্টেমের বেসিক পার্থক্য আলোচনা করব যাতে আপনি নিজেই সিদ্ধান্ত নিতে পারেন।
লিনাক্স বনাম BSD
লিনাক্স টেকনিক্যালি একটি অপারেটিং সিস্টেম নয়। বাস্তবে এটি শুধু একটি কার্নেল (kernel)। কার্নেল হলো যেকোনো ওএসের কোর অংশ, যা সফ্টওয়্যার ও হার্ডওয়্যারের মাঝপথে অবস্থান করে। এটি সিস্টেমের রিসোর্স ব্যবহারকারীকে উপলব্ধ করতে সাহায্য করে। অপারেটিং সিস্টেম কার্নেলের ওপর বিল্ড করা হয়।
কার্নেল বনাম অপারেটিং সিস্টেম
লিনাক্স এবং BSD দুটোই ইউনিক্স-লাইক অপারেটিং সিস্টেম। লিনাক্স ইনস্টল করলে আপনি লিনাক্স কার্নেল ব্যবহার করে বিল্ড করা একটি ডিস্ট্রিবিউশন ইনস্টল করেন। অনেক ডিস্ট্রিবিউশন আছে—উবুন্টু, ডেবিয়ান ইত্যাদি, যেগুলো সব লিনাক্স কার্নেল ব্যবহার করে। ডিস্ট্রিবিউশন রিলিজের আগে কার্নেলের ওপর ভিন্ন প্রোগ্রাম এম্বেড করা হয়।
BSD, লিনাক্সের বিপরীতে, একটি পূর্ণ অপারেটিং সিস্টেম। BSD একটি কার্নেলও, যা ওএসের কোর হিসেবে ব্যবহৃত হয়। BSD ডেভেলপাররা সেই কার্নেলে ভিন্ন প্রোগ্রাম যোগ করে একটি পূর্ণ ডিস্ট্রিবিউশন হিসেবে ডাউনলোডযোগ্য প্যাকেজ তৈরি করে। অর্থাৎ, FreeBSD বা NetBSD-এর মতো BSD ওএস = কার্নেল + ওপর যোগ করা প্রোগ্রামগুলো, একসাথে এক প্যাকেজ হিসেবে।
BSDs ports system ব্যবহার করে। এই সিস্টেম সফ্টওয়্যার প্যাকেজ ইনস্টল করতে দেয়। সফ্টওয়্যার সোর্স ফর্মে থাকে, অর্থাৎ প্রতিবার রান করার আগে কম্পাইল করতে হয়। তবে প্রি-কম্পাইলড বাইনারি প্যাকেজও ইনস্টল করা যায়, যা কম্পাইলেশন ধাপ বাঁচায়।
মৌলিক পার্থক্য: লিনাক্স ডিস্ট্রিবিউশনে ভিন্ন প্রোগ্রাম ও রিপোজিটরি থাকে, যেখান থেকে ব্যবহারকারী ডিস্ট্রিবিউশনের আশ্রয়ে প্রয়োজনীয় প্রোগ্রাম ডাউনলোড করে। BSD ইনস্টল করলে শুধু BSD-র দেওয়া প্রোগ্রামই मिलে (সফ্টওয়্যার প্যাকেজ দুটোর জন্যই উপলব্ধ)।
লাইসেন্সিং-এ পার্থক্য
অনেকের কাছে এটি গুরুত্বপূর্ণ না লাগলেও লাইসেন্স পার্থক্য খুব বড়। লিনাক্স GNU General Public License (GPL) ব্যবহার করে। এর মানে ডেভেলপাররা লিনাক্স কার্নেল মডিফাই বা নতুন ফিচার যোগ করতে পারেন, শর্ত শুধু একটা: সমস্ত নতুন সোর্স কোড পাবলিক রিলিজ করতে হবে, ইচ্ছা না ইচ্ছা।
BSDs নিজস্ব BSD লাইসেন্স ব্যবহার করে। এটি ডেভেলপারকে কার্নেল বা ডিস্ট্রিবিউশন মডিফাই/নতুন ফিচার যোগ করার অনুমতি দেয় সোর্স কোড রিলিজ করার বাধ্যতা ছাড়া। অর্থাৎ, একজন ডেভেলপার ওপেন-সোর্স BSD-কে ক্লোজড-সোর্স ঘোষণা করতে পারেন। সার্স কোড কারো কাছে দিতে বাধ্য নন।
সফ্টওয়্যার উপলব্ধতা ও কম্প্যাটিবিলিটি
এটি সরাসরি ওএসের জনপ্রিয়তা ও গ্রহণযোগ্যতাকে প্রভাবিত করে। আধুনিক সফ্টওয়্যার সাথে কম্প্যাটিবিলিটি অনেকের জন্য ডিল-ব্রেকার।
লিনাক্সের ক্ষেত্রে, ডেভেলপারদের প্রি-কম্পাইলড বাইনারি প্যাকেজ তৈরি করে ব্যবহারকারীদের কাছে দিতে সহজ। apt, yum ইত্যাদি প্যাকেজ ম্যানেজার দিয়ে ইনস্টল হয়। লিনাক্সের ওপেন-সোর্স প্রকৃতি এটিকে সহজ করে।
BSD ব্যবহারকারীদের জন্য সহজ নয়। হাজার হাজার পোর্ট থেকে সোর্স কোড ডাউনলোড করে নিজের সিস্টেমে কম্পাইল করতে হয়। এই অতিরিক্ত ঝামেলায় সাধারণ ব্যবহারকারীদের মধ্যে BSD কম জনপ্রিয়। প্রি-কম্পাইলড বাইনারি প্যাকেজ একমাত্র রক্ষাকবচ, কিন্তু অ্যাপ্লিকেশন প্রোগ্রামের উপলব্ধতায় এটিও কম পড়ে।
বασ করুন: কোনটি বেছে নেবেন?
লিনাক্স নিঃসন্দেহে ওপেন-সোর্স, ইউনিক্স-ভিত্তিক ওএসগুলোর মধ্যে বেশি জনপ্রিয়। হার্ডওয়্যার সাপোর্ট দ্রুত পায়। সাধারণ উদ্দেশ্যে দুটোই इतना مشابه যে পার্থক্য মোনে পড়ে না।
দুটোই নিজস্ব সুবিধা রাখে। FreeBSD-র ডেভেলপমেন্ট টিম অনেক কমন টুলের নিজস্ব ভার্সন মেইন্টেইন করে, যা তাদের সিস্টেমের জন্য টুল ভেরিয়েন্ট তৈরি করতে সাহায্য করে। লিনাক্সের টুলগুলো মূলত GNU suite থেকে আসে, তাই ভেরিয়েশন কম।
BSD-র সিরিয়াস অ্যাপ্লিকেশন অভাব আছে। এজন্য ডেভেলপাররা লিনাক্স কম্প্যাটিবিলিটি প্যাকেজ তৈরি করেছে যাতে লিনাক্স অ্যাপ BSD-তে চলে। লিনাক্স ডিস্ট্রিবিউশনে অ্যাপ্লিকেশনের কোনো অভাব নেই।
আসল জটিলতা: ফ্রি-সোর্স বিতর্ক।
ডেভেলপার ও ইউজার বনাম বাধ্যবাধকতা
লিনাক্স GPL লাইসেন্স ডেভেলপারদের স্ট্রিক্ট: মডিফাইড সোর্স কোড রিলিজ করতে বাধ্য। BSD ডেভেলপারদের এমন বাধ্যবাধকতা নেই। কিন্তু নন-ডেভেলপার পাবলিক কী পায় সেটি চিন্তার বিষয়।
ম্যানুফ্যাকচারাররা নতুন ডিভাইস তৈরির সময় BSD বেছে নিতে পারেন লিনাক্সের বদলে, যাতে কোড মডিফিকেশন গোপন রাখতে পারেন। লিনাক্স ব্যবহার করলে সোর্স কোড পাবলিক করতে হতো।
লিনাক্স লাইসেন্সের বাধ্যবাধকতা ব্যবহারকারীদের নিশ্চিততা দেয়: অ্যাপ বানলে সেটি তাদের কাছে পৌঁছাবে। BSD লাইসেন্স ডেভেলপারকে চোখে বন্ধ করে রাখার সুযোগ দেয়, ফলে সাধারণ মানুষ কিছু বানলেও সেটি জানতে পাওয়া নাও হতে পারে।
BSD সিস্টেম লিনাক্সের চেয়ে বেশি विश्वস্ত বলে বিবেচিত হয়। এছাড়া লিনাক্স বাইনারি এক্সিকিউট করতে পারে এবং সেন্ট্রালাইজড রিপোজিটরি আছে—যা লিনাক্সে নেই।
ইউনিক্স-ভিত্তিক ওএস প্রয়োজন হলে দুটোই ভালো অপশন। সাদৃশ্যের কারণে একটিকে অন্যটির চেয়ে ভালো প্রমাণ করা কঠিন। নির্বাচন 전적으로 ডেভেলপার বনাম ইউজার এবং ওপেন-সোর্স ওএস-এ আপনার প্রয়োজনীয় ফিচারের ওপর নির্ভর করে।