This translation may not reflect the changes made since 2004-02-17 in the English original.
Please see the Translations README for information on maintaining translations of this article.
ফ্রী সফটওয়ারের ব্যাখ্যা
ফ্রী সফটওয়ারের এই ব্যাখ্যাটি আমরা প্রকাশ করছি কোন বিশেষ সফটওয়ারকে ফ্রী সফটওয়াররূপে বিবেচিত হওয়ার জন্য যেসব গুণাবলী থাকা প্রয়োজন তা তুলে ধরার উদ্দেশ্যে।
‘ফ্রী সফটওয়ারের’ মূল বিষয়টি হল ব্যবহারের স্বাধীনতা, সফটওয়ারের মূল্য নয় । “ফ্রী বিয়ার” এর “ফ্রী” নয়, বরং “ফ্রী বক্তৃতা” পঙ্ক্তিতে “ফ্রী” এর যে অর্থ, আমাদের আলোচ্য “ফ্রী”-ও সেই একই অর্থ বহন করে।
কোন সফটওয়ার চালানো, কপি করা, বিতরণ করা, তার খুঁটিনাটি জানা এবং তা পরিবর্তন ও উন্নত করার স্বাধীনতাই হল ফ্রী সফটওয়ারের মূল কথা। আরো বিস্তারিতভাবে বলতে গেলে এটি সফটওয়ার ব্যবহারকারীদের চারপ্রকার স্বাধীনতার কথা বলে:
- যেকোন উদ্দেশ্যে সফটওয়ারটি চালানোর স্বাধীনতা (প্রথম স্বাধীনতা)।
- সফটওয়ারটির কার্যপদ্ধতি জেনে নিজের প্রয়োজন মত তাকে পরিবর্তন করার স্বাধীনতা (দ্বিতীয় স্বাধীনতা)। এর একটি পূর্বশর্ত হল সফটওয়ারটির সোর্সকোড পড়তে পারা।
- সফটওয়ারটির কপি পুনঃবিতরণের স্বাধীনতা, যেন আপনি আপনার প্রতিবেশিকে সাহায্য করতে পারেন (তৃতীয় স্বাধীনতা)।
- সফটওয়ারটি উন্নত করা এবং সমাজের সুবিধার্থে উন্নত সংস্করণটি সকলের ব্যবহারের জন্য প্রকাশের স্বাধীনতা (চতুর্থ স্বাধীনতা)। সফটওয়ারের সোর্সকোড পড়তে পারা এটিরও একটি পূর্বশর্ত।
এই স্বাধীনতাসমূহের সবগুলো প্রদান করলেই কেবল একটি সফটওয়ারকে ফ্রী সফটওয়াররূপে বিবেচনা করা হয়। সুতরাং এরকম একটি সফটওয়ারকে আপনি পরিবর্তিত বা অপরিবর্তিত অবস্থায়, বিনামূল্যে কিংবা অর্থের বিনিময়ে এবং যেকোন স্থানে যেকোন ব্যক্তির নিকট পুনঃবিতরণ করতে পারবেন। এরকম স্বাধীনতার অর্থ হল (অন্যান্য অর্থের পাশাপাশি), একাজগুলো করার জন্য আপনাকে কারো নিকট থেকে কোন অনুমতি নিতে হবে না কিংবা অনুমতি লাভের জন্য কাউকে কোন অর্থও প্রদান করতে হবে না।
কোন প্রোগ্রাম স্বাধীনভাবে ব্যবহার করতে পারার অর্থ হল, যেকোন ব্যক্তি বা প্রতিষ্ঠান যেকোন ধরনের কম্পিউটারে যেকোন কাজের জন্য প্রোগ্রামটি ব্যবহার করতে পারবে এবং এজন্য প্রোগ্রামটির প্রস্তুতকারক বা এজাতীয় কোন সত্ত্বার সাথে যোগাযোগেরও কোন আবশ্যকতা থাকবে না।
সফটওয়ারটি ইচ্ছামত পরিবর্তন করার এবং পরিবর্তিত সংস্করণটি ব্যক্তিগত কাজে ব্যবহার করার ক্ষেত্রেও সকলের পূর্ণ স্বাধীনতা থাকবে; এক্ষেত্রে সফটওয়ারটির মূল সংস্করণের কথা উল্লেখ করার কোন প্রয়োজন নেই। আর যদি সফটওয়ারের পরিবর্তিত সংস্করণটি প্রকাশ করার হয়, তবে কোন বিশেষ ব্যক্তিকে কোন বিশেষ উপায়ে কোন কিছু জানানোরও কোন বাধ্যবাধকতা থাকতে পারবে না।
কোন প্রোগ্রামকে পরিবর্তন করা ও উন্নত সংস্করণটি প্রকাশ করার যে স্বাধীনতা, তা তখনই কার্যকর হয় যখন উক্ত প্রোগ্রামের সোর্সকোড পড়ার সুযোগ থাকে। তাই ফ্রী সফটওয়ারের একটি অন্যতম বৈশিষ্ট্য হল তার উন্মুক্ত সোর্সকোড।
পুনঃবিতরণের যে স্বাধীনতা, তা সফটওয়ারের পরিবর্তিত ও অপরিবর্তিত সংস্করণের সোর্সকোড এবং বাইনারি তথা এক্সিকিউটেবল উভয়ের ক্ষেত্রেই প্রযোজ্য। ( ফ্রী অপারেটিং সিস্টেমের সহজে ইনস্টলযোগ্য সংস্করণের সাথে সফটওয়ারসমূহের বাইনারি রূপটি বিতরণের প্রয়োজন পড়ে। ) কোন সফটওয়ারের বাইনারি তথা এক্সিকিউটেবল (Executable) রূপ তৈরির কোন ব্যবস্থা না থাকলে কোন সমস্যা নেই। ( যেহেতু অনেক প্রোগ্রামিং ভাষায় এরকম কোন বৈশিষ্ট্য নেই। ) কিন্তু কেউ যদি এ জাতীয় সফটওয়ারেরও বাইনারি সংস্করণ তৈরির পদ্ধতি উদ্ভাবন করে, তবে সেই বাইনারি সংস্করণ পুনঃবিতরণের অধিকার তার থাকবে।
তবে মূল স্বাধীনতার ব্যত্যয় না ঘটলে ফ্রী সফটওয়ার বিতরণের ক্ষেত্রে কিছু বিশেষ নিয়মাবলী গ্রহণযোগ্য বলে বিবেচিত হয়। উদাহরণস্বরূপ, কপিলেফট (সহজ ভাষায় বললে ) হল এমন একটি নিয়ম যা কোন প্রোগ্রাম পুনঃবিতরণের সময় এমন কোন শর্ত আরোপ করা প্রতিহত করে যা মানুষকে মূল স্বাধীনতা হতে বঞ্চিত করে। এই নিয়মটি মূল স্বাধীনতার বিরোধিতা করে না; বরং তাকে রক্ষা করে।
এই স্বাধীনতাগুলো সকলের জন্য আইনসঙ্গতভাবে রক্ষা করার জন্য গনুহ (GNU) প্রজেক্টে আমরা কপিলেফট ব্যবহার করি। তবে কপিলেফট নয়, এধরনের ফ্রী সফটওয়ারের অস্তিত্বও আছে। কপিলেফটকে ভাল বিবেচনা করার পেছনে আমাদের কিছু গুরুত্বপূর্ণ কারণ আছে, তবে আপনার প্রোগ্রামটি যদি কপিলেফট নাও হয়, সেক্ষেত্রেও কোন সমস্যা নেই। “ফ্রী সফটওয়ার”, “কপিলেফট সফটওয়ার” ও অন্যান্য ধরনের সফটওয়ারের পারস্পরিক সম্পর্ক বোঝার জন্য ফ্রী সফটওয়ারের শ্রেণীবিভাগ দেখুন।
‘ফ্রী সফটওয়ার’ মানেই কিন্তু ‘অবাণিজ্যিক’ সফটওয়ার নয় । যেকোন ফ্রী প্রোগ্রামকে অবশ্যই বাণিজ্যিক উদ্দেশ্যে ব্যবহার, পরিবর্তন ও বিতরণ করার অনুমতি সম্বলিত হতে হবে। বাণিজ্যিক উদ্দেশ্যে ফ্রী সফটওয়ার তৈরি করা আজ আর কোন ব্যতিক্রমী ঘটনা নয়; তাছাড়া এধরনের বাণিজ্যিক ফ্রী সফটওয়ারের ভূমিকাও বেশ গুরুত্বপূর্ণ। যেকোন ফ্রী সফটওয়ারের একটি কপি ব্যবহারের জন্য আপনি কোন অর্থ ব্যয় করে থাকেন বা না থাকেন - সফটওয়ারটি কপি করা, পরিবর্তন করা এবং এমন কি বিক্রি করার অধিকারও আপনার সবসময়ই থাকছে।
ফ্রী সফটওয়ারের পরিবর্তিত সংস্করণ প্যাকেজ করার ব্যাপারে যদি কোন শর্ত আরোপ করা হয় এবং এর ফলে আপনার পরিবর্তিত সংস্করণ প্রকাশের স্বাধীনতা রুদ্ধ না হয়, তবে উক্ত শর্ত গ্রহণযোগ্য বলে বিবেচিত হবে। একইভাবে এই জাতীয় নিয়মাবলীও মেনে নেওয়া যাবে, যা বলে যে, “প্রোগ্রামটিকে এই উপায়ে প্রকাশ করলে তা ঐ উপায়েও প্রকাশ করতে হবে”। ( লক্ষ করুন যে, এক্ষেত্রেও প্রোগ্রামটি প্রকাশ করা বা না করা আপনার ইচ্ছাধীন। ) যদি লাইসেন্সে এরকম কিছু বলা থাকে যে, আপনি কোন প্রোগ্রামের পরিবর্তিত সংস্করণ পুনঃবিতরণের সময় মূল প্রোগ্রামের একজন ডেভেলপার আপনার নিকট একটি কপি দাবী করলে আপনি তা দিতে বাধ্য থাকবেন, তবে সেই শর্তটিও গ্রহণযোগ্য বলে বিবেচিত হবে।
কখনো কখনো হয়তো রপ্তানী বিষয়ক সরকারী নীতিমালা ও বাণিজ্যিক নিষেধাজ্ঞার কারণে আন্তর্জাতিক বলয়ে সফটওয়ার বিতরণের ক্ষেত্রে আপনার স্বাধীনতা বাঁধাগ্রস্ত হতে পারে। এধরনের বিধিনিষেধ বাতিল বা অমান্য করার ক্ষমতা সফটওয়ার ডেভেলপারদের না থাকলেও তাদের তৈরিকৃত প্রোগ্রাম ব্যবহারের পূর্বশর্ত হিসেবে এসব বিধিনিষেধ আরোপ করতে তারা অস্বীকার করতে পারেন ( এবং অবশ্যই তা করার উচিত্ )। এর ফলে বিধিনিষেধ আরোপকারী সরকারের কার্য-সীমার বাইরে অবস্থিত মানুষ ও বিভিন্ন ফ্রী সফটওয়ার সংক্রান্ত কার্যক্রম এসব বিধিনিষেধ দ্বারা আক্রান্ত হবে না।
যতক্ষণ পর্যন্ত না আপনি আপত্তিকর কিছু করছেন ততক্ষণ পর্যন্ত এই স্বাধীনতাগুলো অপরিবর্তনীয় থাকবে এবং এভাবেই এগুলো প্রকৃত স্বাধীনতার মর্যাদা পাবে; আপনার পক্ষ থেকে আপত্তিকর কিছু না করা সত্ত্বেও যদি সফটওয়ারটির ডেভেলপার লাইসেন্স পরিবর্তনের ক্ষমতা রাখে, তবে সেই সফটওয়ারকে আর ফ্রী বলা যাবে না।
ফ্রী সফটওয়ার বিষয়ক আলোচনায় “বিলিয়ে দেওয়া” বা “বিনামূল্য” জাতীয় পরিশব্দ (Term) পরিহার করাই ভাল, কারণ এই পরিশব্দসমূহ নির্দেশ করে যে, ফ্রী সফটওয়ারের মূল বিষয়টি হল মূল্য, ব্যবহারের স্বাধীনতা নয়। আমরা আশা করি যে, বহুল ব্যবহৃত কিছু পরিশব্দ, যেমন “পাইরেসি”, যে মতের ধারক ও বাহক আপনি তা সমর্থন করেন না। এ বিষয়ে আরো বিস্তারিত জানার জন্য সংশয় উদ্রেককারী এসব শব্দ ও পঙ্ক্তির তালিকাটি দেখুন। বিভিন্ন ভাষায় ‘ফ্রী সফটওয়ার’ পঙ্ক্তিটির অনুবাদ সম্বলিত একটি তালিকাও আমাদের আছে।
সর্বশেষে লক্ষ করুন যে, ফ্রী সফটওয়ারের এই ব্যাখ্যায় উল্লেখকৃত মানদণ্ডসমূহের অর্থ করতে হলে বেশ মনোযোগ সহকারে চিন্তা করা প্রয়োজন। কোন বিশেষ লাইসেন্সকে একটি ফ্রী সফটওয়ার লাইসেন্সরূপে গণ্য করা যায় কিনা তা বিবেচনা করার সময় আমরা এই মানদণ্ডগুলোর ওপর নির্ভর করে নির্ধারণ করি যে, লাইসেন্সটি পুঙ্খানুপুঙ্খভাবে এই মানদণ্ডগুলোর সাথে এবং এই মানদণ্ডসমূহে প্রকাশিত চেতনার সাথে সঙ্গতিপূর্ণ কিনা। যদি লাইসেন্সটিতে কোন বিবেকহীন শর্ত আরোপ করা হয়, তবে এই মানদণ্ডগুলোর সাথে তা সম্পর্কহীন হলেও আমরা লাইসেন্সটি বাতিল করি। কখনো কখনো বিবেচনাধীন লাইসেন্সের কোন শর্ত হয়তো এমন একটি বিষয়ের অবতারণা করে, যার জন্য অত্যন্ত গভীর চিন্তাভাবনার প্রয়োজন হয়। শর্তটি গ্রহণযোগ্য কিনা তা নির্ধারণের পূর্বে হয়তো আইনজ্ঞের সাথে পরামর্শও করতে হয়। নতুন কোন বিষয়ে একটি সিদ্ধান্তে উপনীত হলে আমরা প্রায়ই ফ্রী সফটওয়ারের মানদণ্ডসমূহ পরিমার্জন করি; ফলে বিশেষ কিছু লাইসেন্সকে কেন গ্রহণযোগ্য বলে বিবেচনা করা হল বা হল না, তা সকলের নিকট সুস্পষ্ট হয়।
কোন বিশেষ লাইসেন্স একটি ফ্রী সফটওয়ার লাইসেন্সরূপে উত্তীর্ণ হয় কিনা তা যদি আপনি জানতে আগ্রহী হন তবে আমাদের ফ্রী সফটওয়ার লাইসেন্সের তালিকা দেখুন। আর আপনি যে লাইসেন্সটি সম্পর্কে জানতে চান তা যদি এই তালিকায় না থাকে, তবে লাইসেন্সটি সম্পর্কে আমাদের মতামত জানার জন্য <licensing@gnu.org> এই ঠিকানায় ই-মেইল করতে পারেন।
ওপেন সোর্স?
‘ফ্রী সফটওয়ার’-এর মতই কিছু একটা (তবে হুবহু এক নয়) বোঝানোর জন্য অপর একটি গোষ্ঠী ‘ওপেন-সোর্স’ নামক একটি পরিশব্দ ব্যবহার করছে। তবে আমরা ‘ফ্রী সফটওয়ার’ পরিশব্দটিই পছন্দ করি, কারণ একবার যখন আপনি জানবেন যে এটি মূল্য নয় বরং স্বাধীনতাকেই নির্দেশ করছে তখন তা আপনার মনে স্থায়ী আসন করে নেবে।