Monday, November 03, 2008

খোলা পাতা, খোলা কোড - ওপেন সোর্সের দুনিয়া (৩)

খোলা পাতার গত দুটো পর্বের (এক এবং দুই) পর বেশ কিছু তর্ক হয়ে গেছে গুরুচণ্ডা৯র পাতায় - ওপেন সোর্স সফটওয়্যারের বাণিজ্যিক দিক এবং কারিগরী দিক নিয়ে৷ কারিগরী দিকটা নিয়ে বিশদে লেখা এই সিরিজে সম্ভব নয়, কারণ তার জন্যে এত ভিতরে ঢুকতে হবে, সফটওয়্যারের এত টেকনিক্যাল কচকচি আসবে, যে সেটা বড়ই নীরস ঠেকতে পারে - হয়তো এমনিই সেরকম ঠেকে, গুরুচণ্ডা৯র পাঠকরা নেহাতই চক্ষুলজ্জার খাতিরে বা নিতান্তই গোবেচারা বলে সেটা সহ্য করে যান৷ তাই সেই কারিগরী দিকটা গুরুচণ্ডা৯র টইপত্তরের জন্যেই তোলা থাক৷

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

হয়তো এইভাবে পাসওয়ার্ড ভাঙা সম্ভব, কিন্তু খোলা কোড বলে সেটা অপেক্ষাকৃত সহজ - এই বক্তব্যটার ভিত্তি নেই৷ এর জন্য আমরা দুটো উদাহরণ রাখি চোখের সামনে -

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

(২) সাম্বা - লিনাক্স থেকে উইন্ডোজ ফাইল সিস্টেমে ফাইল আদানপ্রদানের জন্যে ফাইল শেয়ারিং সিস্টেম - মাইক্রোসফট উইন্ডোজের প্রোপ্রাইটারি কোড ছাড়াই তৈরী, সেই রিভার্স ইঞ্জিনিয়ারিংএর মাধ্যমে৷

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

"Open source security is like a military general who shows his plans to both his allies and his enemies. On the one hand, his enemies can try to exploit the plan by targeting its weaknesses. But on the other hand, by exposing his tactics to those who want to help, the plan is ultimately much stronger as a result of their feedback and modifications.

Open source applications make their source code publicly available for any user to download, compile and execute. This makes it possible for developers to modify different aspects of the program to their needs. However, it also makes it extremely easy for malicious coders to find and use exploits in the software against unsuspecting users. To prevent this from happening, open source software employs some of the highest forms of security around, and when it comes to open source security applications, that bar is set even higher." (সুত্র - Open Source Security Mother Lode)

ব্যাস্ - টেকনিক্যাল কচকচি আর নয় - এই সিরিজে ফ্রী সফটওয়্যার আর ওপেন সোর্সের ফিলোজফির মধ্যেই থাকবো আমরা৷ স্টলম্যানের আরেকটা প্রবন্ধ নিয়ে এগৈ এবার৷ ফ্রী সফটওয়্যার ফাউন্ডেশনের সাইটে প্রকাশিত "মাইক্রোসফটই কি শয়তান?"

------

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

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

১৯৯৮ সালের অক্টোবরে মাইক্রোসফটের বড়কর্তারা তৈরী করেন এক গুচ্ছ ডকুমেন্ট, যাদের নাম দেওয়া হয় "হ্যালৌইন ডকুমেন্টস" - যার উদ্দেশ্য ছিলো ফ্রী সফটওয়্যার আন্দোলনকে রুখে দেওয়া - নানা উপায়ে - যেমন গোপন সফটওয়্যার প্রোটোকল, ফাইল ফরম্যাট তৈরী করে, অ্যালগরিদম এবং সফটওয়্যার ফীচারের পেটেন্ট নিয়ে৷

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

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

ধন্যবাদ মাইক্রোসফট, পথ ছাড়ো এবার৷

Copyright © 1997, 1998, 1999, 2000, 2007 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved.

------

এই লেখাটার মধ্যে দিয়ে একটা জিনিস দেখানো গেলো - যে ফ্রী সফটওয়্যার এবং ওপেন সোর্স কিভাবে কাজ করে৷ লেখাটা ফ্রী সফটওয়্যার ফাউন্ডেশনের সাইটে প্রকাশিত একটি লেখার অনুবাদ - এবং অনুবাদের নীচে এই ডকুমেন্টের কপিরাইট নোটিশ, যেটা বলছে ঐ নোটিশটুকু দিয়ে ফ্রী সফটওয়্যার ফাউন্ডেশনের কাছে ঋণস্বীকার করে এই ডকুমেন্টটিকে কপি করা এবং ছড়িয়ে দেওয়া সম্ভব৷

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

খোলা পাতা, খোলা কোড - ওপেন সোর্সের দুনিয়া (১)
খোলা পাতা, খোলা কোড - ওপেন সোর্সের দুনিয়া (২)


No comments: