WireBD
ওপেন সোর্স সফটওয়্যার

ওপেন সোর্স সফটওয়্যার কি? ওপেন সোর্স মানেই কি ফ্রী?

ওপেন সোর্স শব্দটি দিনদিন আরো বেশি ছড়িয়ে যাচ্ছে এবং জনপ্রিয়তা লাভ করছে। আপনি হয়তো অবশ্যই জানেন যে, লিনাক্স বা অ্যান্ড্রয়েড হলো ওপেন সোর্স, কিন্তু আপনি জানেন কি, এর মানেটা কি? আপনি জেনেন কি, ওপেন-সোর্স সফটওয়্যার কি? কেমন করে বলতে পারবেন, সফটওয়্যারটি ওপেন-সোর্স কিনা? আমরা তো “ওপেন সোর্স” বলতেই ফ্রী বুঝি, এটা কি সত্য? চলুন সকল প্রশ্নের উত্তর খোঁজার চেষ্টা করি।

ওপেন সোর্স সফটওয়্যার কি?

ওপেন সোর্স সফটওয়্যার কি

যখন বেশিরভাগ ব্যবহারকারীগন কোন সফটওয়্যার প্রোগ্রাম ডাউনলোড করে (যেমন; আইটিউনস) তখন তারা একটি ইন্সটলার ফাইলকে ডাউনলোড করে—যেটি আপনার প্রোগ্রামটিকে আনপ্যাক করে আপনার সিস্টেমে কাজ করানোর জন্য সাহায্য করে। আর এই জন্যই ব্যবহারকারীগন যেকোনো সফটওয়্যারের এক্সিকিউট আবোল ফাইল (সাধারনত .exe ফাইল) ক্লিক করে কোন প্রোগ্রামকে তাদের সিস্টেমে রান করায়। কিন্তু এই এক্সিকিউট আবোল ফাইল গুলো হাজার হাজার লাইনের সোর্স কোডের সমন্বয়ে তৈরি হয়।

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

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

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

এক কথায় “ওপেন সোর্স সফটওয়্যার” বলতে, যেখানে সফটওয়্যারটির সোর্স কোড সকলের জন্য ওপেন থাকে (পাবলিক) এবং অন্যান্য সফটওয়্যার গুলোর সোর্স কোড ক্লোজ থাকে (প্রাইভেট)। তো ওপেন-সোর্স সফটওয়্যার বলতেই ফ্রী কিছু নয়। হ্যাঁ হয়তো আপনি অনেক সফটওয়্যারকে ফ্রী দেখতে পান, তবে এটির সংখ্যা অতি সামান্য। শুধু ওপেন-সোর্স নয়, প্রাইভেট সফটওয়্যার গুলোও ফ্রী হতে পারে। আপনারা যদি চান, তবে ওপেন-সোর্স সফটওয়্যার ডেভেলপাররা কীভাবে অর্থ উপার্জন করে এই ব্যাপারে একটি বিস্তারিত আর্টিকেল লিখে ফেলবো।

কেন ওপেন-সোর্স সফটওয়্যার ব্যবহার করবেন?

কেন ওপেন-সোর্স সফটওয়্যার ব্যবহার করবেন

মনেকরুন কোন ইঞ্জিনিয়ার একটি বাড়ি তৈরি করলেন এবং বিক্রি করার জন্য বিজ্ঞাপন দিলেন। আপনি সেই বিজ্ঞাপন দেখে বাড়িটি কিনলেন। বাড়িটি কেনার পরে আপনি সেটি যথাযতো ভাবে ব্যবহার করতে শুরু করলেন। আপনি সকল রুম ব্যবহার করছেন, সকল সুইচ ব্যবহার করছেন, সকল বাথরুম ব্যবহার করছেন, ইত্যাদি। এখন মনেকরুন আচানক একটি ঘরের বিদ্যুতের লাইনের সমস্যা হয়ে গেলো বা পানির নল ফেটে কোথা হতে পানি নির্গমন করা আরম্ভ করে দিল। তবে আপনি কি করবেন? আপনি তো নিজে ঠিক করতে পারবেন না—কেনোনা আপনি আপনার বাড়ির বৈদ্যুতিক লাইন সম্পর্কে জেনেন না, আর নাই বা জেনেন কোন দিক দিয়ে কোন পানির নল নিয়ে যাওয়া হয়েছে।

একইভাবে যখন আপনি কোন সফটওয়্যারকে আপনার সিস্টেমে ইন্সটল করেন, তখন তার সোর্স কোড সম্পর্কে আপনার কোন জ্ঞান থাকেন না আর নাইবা আপনি চাইলে সেই কোড গুলোকে অ্যাক্সেস করতে পারবেন। যেমন করে আপনার বাড়ির নলের ব্যবস্থা এবং ইলেক্ট্রিসিটি লাইন আপনার বাড়ির পানি এবং বিদ্যুৎকে চালাতে সাহায্য করে (যদি আপনি জানেন না, কোন পথে কীভাবে লাইন করা আছে), ঠিক একইভাবে কোন সফটওয়্যার তার কাজ করার পদ্ধতি আপনাকে না জানিয়েই আপনার কাজ করে দেয়। কিন্তু এখন ভেবে দেখুন, যদি সফটওয়্যারটিতে কোন মারাত্মক নিরাপত্তা ত্রুটি বা বাগ থাকে, তখন?

বাড়ির পানির নল বা বিদ্যুৎ ঠিক করার জন্য যেমন আপনাকে কন্ট্রাক্টর বা ইলেক্ট্রিশিয়ান বা প্লামবারের জন্য অপেক্ষা করতে হবে ঠিক তেমনি কোন সফটওয়্যারে সমস্যা দেখা দিলে ততোক্ষণ পর্যন্ত অপেক্ষা করতে হবে, যতক্ষণ না এর ডেভেলপার নতুন ভার্সন উন্মুক্ত করছে।

আপনি হয়তো বলবেন, কেন, অনেক মানুষ তো রয়েছে যারা নিজের বাড়ির সমস্যা নিজের ঠিক করে। হ্যাঁ, আপনি ঠিক বলছেন, কিন্তু এটি তখনই সম্ভব হবে যখন আপনার বাড়ির ইঞ্জিনিয়ার আপনার বাড়ির ব্লুপ্রিন্ট আপনাকে দিয়ে দেবে। ব্লুপ্রিন্ট ব্যবহার করে আপনি সহজেই বুঝতে পারবেন, আপনার বাড়ির কোন তার বা কোন নল কোন দিয়ে চলে গেছে। আর ঠিক এই জিনিষটায় ওপেন সোর্স সফটওয়্যার করে থাকে—এরা সফটওয়্যারটির সোর্স কোড আপনাকে প্রদান করে, যাতে আপনি সফটওয়্যারটি কাজ করা বুঝতে পারেন, এবং যেকোনো সমস্যা ঠিক সহ যা ইচ্ছা তা করতে পারেন।

ওপেন সোর্সের সুবিধা

ওপেন সোর্সের সুবিধা

এই অবস্থায় আপনি হয়তো বলবেন, “আরে ভাই সোর্স কোড নিয়ে আমি কি করবো? আমি তো প্রোগ্রামিং পারি না”। ঠিক আছে, আপনি যদি এক লাইন প্রোগ্রামিং ও না পারেন তারপরেও আপনার ওপেন সোর্সকে সমর্থন করা প্রয়োজন। কেন? চলুন আমি নিচে কিছু কারন দর্শাচ্ছি।

ওপেন-সোর্স, কমিউনিটি তৈরি করতে সাহায্য করে

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

এটি দ্রুত সাহায্যের হাত বাড়িয়ে দেয়

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

ওপেন সোর্স সফটওয়্যার প্রতিযোগিতা ও বৈচিত্র্যতার সৃষ্টি করে

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

ওপেন-সোর্স সফটওয়্যার দায়িত্বকে প্রচার করে

যখন আপনি কোন প্রোগ্রামের সোর্স-কোড দেখতে পান, তখন আপনি নিশ্চিত হতে পারেন যে, ডেভেলপার কোন ম্যালিসিয়াস কিছু আপনার কম্পিউটারে প্রবেশ করাচ্ছে কিনা। যেমন ধরুন কীপাস একটি ওপেন-সোর্স পাসওয়ার্ড ম্যানেজার, যার মানে আপনি চেক করতে পারবেন যে, ডেভেলপাররা আপনার পাসওয়ার্ড চুরি করছে কিনা।

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

শেষ কথা

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

এই ব্লগে এরকম আরো কিছু আর্টিকেল—

তাহমিদ বোরহান

প্রযুক্তির জটিল টার্মগুলো কি আপনাকে বিভ্রান্ত করছে? কিছুতেই কি আপনার মস্তিষ্কে পাল্লা পড়ছে না? তাহলে বন্ধু, আপনি এবার সঠিক জায়গায় এসেছেন—কেনোনা এখানে আমি প্রযুক্তির সকল জটিল বিষয় গুলো ভাঙ্গিয়ে সহজ পানির মতো উপস্থাপন করার চেষ্টা করি, যাতে সকলে সহজেই সকল টেক টার্ম গুলো বুঝতে পারে।

23 comments

সোশ্যাল মিডিয়া

লজ্জা পাবেন না, সোশ্যাল মিডিয়া গুলোতে টেকহাবসের সাথে যুক্ত হয়ে সকল আপডেট গুলো সবার আগে পান!