বাংলাদেশ সরকারে কাছে সোর্সকোড রেপোজিটরির ধারণা, সুস্পষ্ট ম্যান্ডেট এবং কার্যপদ্ধতি কোনটাই ছিলো না। সোর্সকোড কী, কীভাবে সংরক্ষণ করা যায়, সোর্স কোডের বিষয়ে জাতীয় নীতিমালা কেমন হতে পারে, অন্তর্বর্তীকালীন সরকারে দায়িত্ব পাবার পরে এসব বিষয় সামনে আনি আমরা।
সরকার নিযুক্ত পরামর্শকদের পরামর্শ দেওয়ার জন্য ও সর্বোপরি চলমান ভেন্ডর-লক এবং সোর্সকোড-লক অবস্থা থেকে পরিত্রাণের জন্য আমরা উদ্যোগ গ্রহণ করি। আমাদের টিমের তত্ত্বাবধানে সংশ্লিষ্ট সরকারি দপ্তরগুলো এসব সোর্সকোড বুঝে পাওয়া, টেস্টিং, মানোন্নয়ন ও ক্রিটিকাল সরকারি সার্ভিসকে ভেন্ডরের দখল থেকে বের করে এনে সরকারি বেশ কিছুটা সক্ষমতা বৃদ্ধি সম্ভব হয়।
আইসিটির বাইরেও আমরা বাকি সকল মন্ত্রণালয়কে ও প্রধান সরকারি প্রতিষ্ঠানগুলোকে আহ্বান জানাই সোর্সকোড বুঝে নিতে, যা রাষ্ট্রীয় কৌশলগত নিরাপত্তার সাথে সরাসরি জড়িত। আমাদের প্রচেষ্টার ফলে আইসিটির পাশাপাশি বাংলাদেশ ব্যাংক, এনবিআর, ভূমি, বিআরটিএ সবাই সোর্সকোড বুঝে নিতে শুরু করে।
এছাড়াও অন্তর্বর্তীকালীন সরকারের আমলে করা জাতীয় উপাত্ত ব্যবস্থাপনা অধ্যাদেশেও সকল সরকারি ডিজিটাল সার্ভিসের সকল ডেপ্লয়েড ভার্শনের সোর্সকোড সরকারকে বুঝে নেওয়ার ম্যান্ডেট সৃষ্টি করা হয়, এবং তত্ত্বাবধানকারী প্রতিষ্ঠান হিসেবে বাংলাদেশ কম্পিউটার কাউন্সিলকে সুনির্দিষ্ট করা হয়। এরই ধারাবাহিকতায় আমরা জাতীয় সোর্সকোড নীতিমালা প্রকাশ করি এবং বাংলাদেশ কমপিউটার কাউন্সিলের অধীন “জাতীয় সোর্সকোড রেপোজিটরি” চালু করি, যা সরকারি গিট রেপোজিটরি; এবং এর মাধ্যমে সকল সফটওয়্যারের সোর্সকোড আগারগাওতে অবস্থিত জাতীয় ডেটা সেন্টারে সংরক্ষিত রয়েছে।
এই প্রচেষ্টার মধ্যে আমরা কিছু অদ্ভুত বাস্তবতা দেখি। রাষ্ট্রীয় সকল ডিজিটাল নথির সফটওয়্যার ডি-নথির ভেন্ডর কোম্পানি ট্যাপওয়্যার তার সোর্সকোড কুক্ষিগত করে রাখে, এবং সোর্সকোড দিতে অস্বীকৃতি জানায়। পরে সোর্সকোড উদ্ধার করে পর্যালোচনা করে দেখা যায় ডি-নথির যেই এডিটর, সেটি পুরোনো প্রযুক্তির এবং আপডেট বা কাস্টোমাইজ করা যায় না, এআই সার্ভিস অ্যাড করা যায় না ঠিকমতন। এছাড়াও লেটেন্সি নিয়েও বিশদ সমস্যা খুঁজে পাই। অন্যদিকে জিজ্ঞাসাবাদে বেরিয়ে আসে সিলেটের বিভাগীয় কমিশনার অফিসের তিন মাসের সকল ডি-নথি ডেটা ডিলিট হয়ে যাওয়ার ঘটনা, যা এরা ধামাচাপা দিতে চেষ্টা করে। ডেটার ব্যাকআপ ছিলো না কোনও, সরকারি সাইডের পরামর্শকরা কখনও এত বছর ধরে চলে আসা সফটওয়্যারের সোর্সকোড দেখেনি, সিস্টেম আর্কিটেকচার সম্পর্কেও সম্যকভাবে অবগত না তখনও। সিনেসিসও শুরুতে সোর্সকোড না দিতে চাপাচাপি করেছে, পরে সব কোড দিয়েছে, আইসিটি ও এনবিআর এর।
এমনকি জাতীয় তথ্য বাতায়নের (মানে সরকারি ওয়েবসাইট) সোর্সকোডের মধ্যে হ্যাশে পর্নসাইটের লিঙ্ক পাওয়া যায়, এখানে ভেন্ডর ছিল সফটবিডি। সফটবিডি চালায় জাতীয় তথ্য বাতায়ন যা দেশের সর্ব নিকৃষ্ট সাইট বলা চলে। সফটবিডিকে তথ্য বাতায়ন আপডেট করতে বললে হুবহু ভারতের পরিবেশ মন্ত্রকের ওয়েবসাইট নকল করে এনেছে। সাইটের স্পেইস কাস্টমাইজ করা যেত না। এডিটর সেকেলে। একাধিক মন্ত্রণালয়ের সাইটে কয়েকদিন পরপর হাসিনা ও মুজিবের ছবি তুলে দিত, এজন্য একাধিকবার সচিব ও সিনিয়র সচিব আমাকে কল দিয়েছেন। এসব প্রতিকূল পরিস্থিতির মধ্যে আমাদের কাজ করতে হয় শৃঙ্খলা ফিরাতে।
আমরা এর পাশাপাশি বিভিন্ন সরকারি দপ্তরের এরকম নানান সফটওয়্যার বাংলাদেশ কম্পিউটার কাউন্সিলের অধীন টেস্টিং সেন্টার এসকিউটিসি এবং সার্ট এর মাধ্যমে পরীক্ষাও (ফাংশনাল টেস্ট, ভিএপিটি ইত্যাদি) করি এবং মানোন্নয়ন ত্বরান্বিত করি।
চলমান কন্ট্রাক্ট, সার্ভিস ডিস্কন্টিনিউটি এবং ওপেন টেন্ডারের দীর্ঘ প্রসেসজনিত কারনে এদেরকে লাথি দিয়ে আইসিটি থেকে বের করতে পারিনি বলে ক্ষমা চাই। তবে এদের এক্সপোজ করার সময় এসেছে। কিছু দুর্বৃত্তের জন্য ইন্ডাস্ট্রির সবার ক্ষতি হবে ভেবে এসব লিখিনি এতদিন।
সোর্সকোড না থাকলে CI/CD (কন্টিনিউয়াস ইন্টিগ্রেশন, কন্টিনিউয়াস ডেভেলপমেন্ট) তদারকি করা যায় না। সোর্সকোড না রাখলে ভেন্ডর যা ভূগোল বোঝায়, তাই একমাত্র সত্য হয়ে থাকে সরকারের কাছে। সে যদি সার্ভিস দেওয়া বন্ধ করে এমনকি চলেও যায়, বা সিস্টেম বন্ধ করে দেয়, তাহলে আপনার পক্ষে সিস্টেম রিস্টোর বা সার্ভিস কন্টিনিউ করা সম্ভব না।
এরকম ঘটনা ঘটেছে রেলওয়েতে বা বিআরটিএ-তে। সিএনএস সিস্টেম বন্ধ করে দিয়ে চলে যায়, পরে ২২ দিন ট্রেনের টিকেটিং বন্ধ ছিলো। পরে সহজ আসে, এবং পুরো সিস্টেম সম্পূর্ণ নতুন করে অতিরিক্ত খরচ করে তৈরী করতে হয়। বিআরটিএ-তেও মাদ্রাজ আইটি নানান ম্যালপ্র্যাক্টিস করে ধরা পড়ায় চুক্তি শেষের আগেই তড়িঘড়ি করে পালিয়ে যায় সোর্সকোড না দিয়ে, পরে বিআরটিএ নিজস্ব ক্যাপাসিটিতে নতুন করে ইন্টার্নালি প্রিন্টিং মিডলওয়্যার তৈরী করে নিতে হয়।
এই প্রক্রিয়ায় সজল আহমেদকে প্রযুক্তি বিশেষজ্ঞ হিসেবে অবৈতনিকভাবে আমার টেকনিকাল সাপোর্ট টিমে নিযুক্ত করা হয়। ইন্টারন্যাশনাল ইন্ডাস্ট্রিতে ও বিগ টেকে কাজ করা বেশকিছু এক্সপার্ট সরকারি সক্ষমতা বৃদ্ধি, ট্রেইনিং ও ইন্ডাস্ট্রি বেস্ট প্র্যাক্টিস অ্যাডপ্ট করতে অক্লান্ত পরিশ্রম করেছেন। সোর্স কোড রিপোজিটরি তৈরি, বিসিসিতে গিট রেপোজিটরি করার জন্য এরা ফ্রি ট্রেনিং দিয়েছে, স্পেক বানিয়েছে, ডেভেলপমেন্ট এর কাজ করে দিয়েছে। এসব উচ্চমার্গীয় কাজের গুরুত্ব এসব আইসিটিতে মুর্খ তথাকথিত সাংবাদিক বুঝে না। একজন লোক নিজের পয়সায় দেশে এসে গুগল/নেটফ্লিক্স/মাক্রো স্টান্ডার্ড এর ট্রেনিং দিয়েছে। নিরেট মুর্খ না হলে তাদের কাজকে আজকে সম্মান করা হত।
এসব কাজে সংক্ষুব্ধ করে এসব ভেন্ডর কোম্পানি ও কিছু দুর্নীতিগ্রস্ত সাংবাদিক স্মিয়ার ক্যাম্পেইন চালাচ্ছে। কারণ সোর্সকোড সরকার বুঝে পাওয়ায় ওদের একই সফটওয়্যার কুমিরের বাচ্চার মতন কয়েকবার বিক্রির রাস্তা বন্ধ হয়ে গেছে। আবার ভুলভাল বুঝিয়ে ‘সার্ভার ডাউন’ ঘোল খাওয়ানোও কঠিন হয়ে পড়েছে, কারণ সরকার এখন বুঝতে পারছে সিস্টেমে আসলে কী কারণে কী সমস্যা। সোর্স কোড সরকারের হাতে না থাকায় ভেন্ডর লকড পরিস্থিতি তৈরি হয়েছে বিভিন্ন মন্ত্রণালয়ে। সফটওয়ার গুলোতে ফিচার এড করা যায় না, পুরানো এডিটর থাকায় অনেক ক্ষেত্রেই নতুন ফিচার ও এআই আনা যাচ্ছে না।
আলহামদুলিল্লাহ্ কিছু সচেতনতা তৈরির ফলে বাংলাদেশ ব্যাংক, এনবিআর, ভূমি, প্ল্যানিং কমিশন, আইসিটিতে নিজস্ব গিট হাবে সোর্স কোড জমা রাখা শুরু হয়েছে। এখন বাংলাদেশ ব্যাংকের সিবিএস, আইবাস+, ই-রিটার্ন, ই-টিন, ডি-নথির সোর্স কোড সরকারের কাছে এসেছে। আমরা বাংলাদেশ রেলওয়েকেও সোর্স কোড সহজ থেকে নেয়ার জন্য পরামর্শ দিয়েছি, এতে সফটওয়ার খাতে সরকারের অর্থ সাশ্রয় হবে, CI-CD চলবে, প্রাইসে না মিল্লে সাপ্লায়ার চেঞ্জ হবে, নতুন ভেন্ডর পুরানা কোডে কাজ করে সার্ভিস কন্টিনিউটি রাখবে, খরচ ও বাঁচবে।
লাইসেন্স, সফ্টওয়্যার ও ভেন্ডর ডিপেন্ডেন্সি সরানোর জন্য আমরা এসব বাস্তবতায়ই প্রস্তাব করি, সকল মন্ত্রণালয় ও তাদের সংযুক্ত দপ্তর ও অধীনস্থ দপ্তরসমূহের একটি গিট রেপোজিটরি খুলে সেখানে সোর্সকোড রাখতে হবে। এজন্য সকল মন্ত্রণালয়কে এক্টিভ হতে হবে।
আমি খুশি যে কিছু ভেন্ডর সাপোর্টিভ। ইন্ডাস্ট্রিতে অনেক ভালো প্লেয়ার আছে। আসলে আপনার কাস্টমারকে সোর্স কোড দেওয়া এই উত্তম চর্চাটা আমাদের সফটওয়ার ইন্ডাস্ট্রিকে আন্তর্জাতিক কমপ্লায়েন্স এনে দিতে সাহায্য করবে। বিসিসির গিট হাবে আইসিটির বেশকিছু সোর্সকোড এখন জমা আছে। সোর্সকোড কেউ নিয়ে যায়নি, সম্ভবও না। আর ওপেনসোর্সের যুগে পৃথিবীর বড় বড়ো সফটওয়ার কোম্পানি নিজেদের সোর্সকোড উন্মুক্ত করে রাখে। তদুপরি কিছুদিন পর পরই যে-কোনো সোর্সকোড আপডেট হয় সিকিউরিটি এবং অ্যাপ্লিকেশন প্যাচ সহ। দেশের সরকারি খাতে কাজ করা কিছু ধান্ধাবাজ সফটওয়ার ব্যবসায়ীর ধান্ধায় আমরা বাধ সেধিছি, এই যা!
বাংলাদেশের আইসিটি বিট করা মিডিয়া কর্মীদের উল্লেখযোগ্য অংশ সাংবাদিক নামের দুর্বৃত্ত, ভেন্ডরের টাকা খেয়ে এর-ওর বিরুদ্ধে প্রায়ই রিপোর্ট করে। এই খাতের ব্যবসায়ীদের কাছে চাঁদাবাজি ও টেন্ডারবাজির প্রমাণ আছে।
তাই, বাংলাদেশের মিডিয়া যাতে কারিগরি বিষয়ে বিট করতে পাঠানোর আগে, তাদের সাংবাদিকদের ট্রেনিং দেয়, ট্রেনিং এন্ড ডেভেলপমেন্ট এ বিনিয়োগ করে। নাইলে একদল মুর্খ সাংবাদিক দিয়ে আইসিটি খাত ও সফটওয়ার ইন্ডাস্ট্রি আগাতে পারবে না। এরা সবাইকে ধরে ধরে নিচে নামাবে।
যাই হোক, আমরা দেশি-প্রবাসী বিশেষজ্ঞদের তত্ত্বাবধানে জাতীয় সোর্স কোড, পলিসি প্রণয়ন করে গেছি। বিজ্ঞপ্তিও দেয়া হয়। আন্তঃমন্ত্রণালয় সমন্বয় সভায় প্রতিটি মন্ত্রণালয়ের প্রতিনিধিগণ এর ভূয়সী প্রশংসা করেছেন। খসড়া প্রকাশ করে ওয়েবসাইটের মাধ্যমেও মতামত গ্রহণ করা হয়েছে। আশা করি, এর সার্বিক উন্নয়ন ও বাস্তবায়নে বর্তমান সরকার নিশ্চয়ই কাজ করবে।
সরকারি অর্থায়নে নির্মিত সফ্টওয়্যারকে “জাতীয় সম্পদ” হিসেবে স্বীকৃতি প্রদান এবং জনগণের অর্থে নির্মিত সফটওয়্যারের উপর জনস্বার্থভিত্তিক মালিকানা, নিরাপত্তা, স্বচ্ছতা ও পুনঃব্যবহারযোগ্যতা নিশ্চিত করার লক্ষ্যে “জাতীয় সোর্স কোড নীতিমালা), ২০২৫” শীর্ষক নীতিমালা প্রকাশ করা হয়েছে, যার ট্যাগলাইন “পাবলিক মানি, পাবলিক কোড”।
নীতিমালাটি সরকারিভাবে উন্নয়ন/অধিগৃহীত সফটওয়্যার সিস্টেম, অ্যাপ্লিকেশন, অ্যাপ, API ও ডিজিটাল সেবার ক্ষেত্রে প্রযোজ্য যা জাতীয় বাজেট, বৈদেশিক ঋণ বা সরকারের অধীন বাস্তবায়িত উন্নয়ন সহযোগী অর্থায়নে পরিচালিত। এটি সকল মন্ত্রণালয়/বিভাগ/অধিদপ্তর/সংবিধিবদ্ধ, স্বায়ত্তশাসিত ও আধা-স্বায়ত্তশাসিত সংস্থার জন্য বাধ্যতামূলক।
নীতিমালার প্রধান বিধানসমূহ-
১) কেন্দ্রীয় জাতীয় সোর্স কোড রিপোজিটরি (Central Repository) বাধ্যতামূলক
সরকারি অর্থায়নে তৈরি সকল সফটওয়্যারের সোর্স কোড, ডকুমেন্টেড ও সংশ্লিষ্ট সফটওয়্যার উপাদান যথাযথ কর্তৃপক্ষের তত্ত্বাবধানে বাংলাদেশ কম্পিউটার কাউন্সিল দ্বারা পরিচালিত জাতীয় সোর্স কোড রিপোজিটরিতে সংরক্ষণ করতে হবে; এবং সংশ্লিষ্ট সোর্সকোড রিপোজিটরিতে সংরক্ষণ না হওয়া পর্যন্ত অনির্ভরযোগ্য কোনো সফটওয়্যার প্রোডাকশনে ডেপ্লয় করা যাবে না। রিপোজিটরিতে বিস্তারিত ট্রেসেবিলিটি ও নিরীক্ষাযোগ্যতা নিশ্চিত করার নির্দেশনা রয়েছে। প্রয়োজনে এসক্রো (Escrow) ব্যবস্থা স্থাপনের নির্দেশনা রয়েছে।
২) “পুনঃব্যবহারে অগ্রাধিকার (Reuse First)” নীতি
নতুন সফটওয়্যার উন্নয়ন শুরুর পূর্বে সংশ্লিষ্ট সংস্থাকে “Reuse First” পদ্ধতি গ্রহণ করতে হবে; বাধ্যতামূলকভাবে বিদ্যমান কাছাকাছি সমাধান পুনঃব্যবহার এবং পুনঃব্যবহার না করলে তার যৌক্তিকতা লিখিতভাবে কর্তৃপক্ষকে অবহিত করার বিধান রাখা হয়েছে।
৩) “Public Money, Public Code” বাধ্যতামূলক সোর্সকোড উন্মুক্তকরণ ও নির্দিষ্ট শর্তে অব্যাহতি
নীতিমালার মূলনীতি হিসেবে “পাবলিক মানি, পাবলিক কোড”; অব্যাহতি না দেওয়া পর্যন্ত সরকারের মালিকানাধীন সোর্স কোড সাধারণভাবে উন্মুক্ত বলে গণ্য হবে। জাতীয় নিরাপত্তা/প্রতিরক্ষা, গোপনীয়তা বা বিশেষ ক্ষেত্রে কর্তৃপক্ষ উক্ত নির্দিষ্ট ক্ষেত্রে উন্মুক্তকরণ থেকে অব্যাহতি দিতে পারে তবে রেপোজিটরির মাধ্যমে রক্ষণাবেক্ষণ থেকে অব্যাহতি থাকবে না; অব্যাহতিপ্রাপ্ত সিস্টেমের জন্য লিখিত যুক্তি, নিবন্ধন, পাবলিক কোড রেজিস্ট্রি, এবং পর্যায়ক্রমিক পর্যালোচনার বিধান রাখা হয়েছে। সোর্স কোড উন্মুক্ত করার ক্ষেত্রে অনুমোদিত লাইসেন্স ব্যবহারের নীতি নির্ধারণ করা হয়েছে।
৪) নিরাপদ উন্নয়ন, CI/CD বাধ্যতামূলক এবং অ্যাক্সেস কন্ট্রোল
নিরাপদ কোডিং নির্দেশিকা প্রণয়ন ও তদারকির জন্য “Standard Coding Guideline Committee” ভিত্তিক কাঠামো প্রস্তাব করা হয়েছে। সফটওয়্যার স্থাপনায় অনুমোদিত CI/CD পাইপলাইন অনুসরণ বাধ্যতামূলক- স্বয়ংক্রিয় পরীক্ষা, দুর্বলতা স্ক্যানিং, লাইসেন্স যাচাই এবং প্রোডাকশনে প্রকাশের আগে ম্যানুয়াল অনুমোদনসহ। রিপোজিটরি “রোল বেজড অ্যাক্সেস কন্ট্রোল (RBAC)” এর অধীনে পরিচালিত হবে এবং কন্ট্রিবিউটর/মেইনটেইনার/অনুমোদনকারী/নিরীক্ষকদের প্রবেশাধিকারের আগে সরকার অনুমোদিত NDA স্বাক্ষরের বিধান রয়েছে।
৫) ডেটাসেট ব্যবস্থাপনা ও জাতীয় ডেটা ক্যাটালগে নিবন্ধন
সরকারি সফটওয়্যারের সঙ্গে সম্পর্কিত ডেটাসেটকে উন্মুক্ত (Open), সীমাবদ্ধ (Restricted), নিয়ন্ত্রিত (Regulated) এই তিন শ্রেণিতে শ্রেণীবদ্ধ করে প্রয়োজনীয় মেটাডেটাসহ জাতীয় ডেটা ক্যাটালগে নিবন্ধনের নির্দেশনা রয়েছে। মেশিন লার্নিং/এপিআই ভিত্তিক সিস্টেমের ক্ষেত্রে ইনপুট-আউটপুট কাঠামো, ডেটাসেট উৎস ও ইউজ কেইস ডকুমেন্টেশন রিপোজিটরিতে সংরক্ষণ এবং সীমাবদ্ধ/নিয়ন্ত্রিত ডেটাসেট ব্যবহারে NDA বাধ্যতামূলক করার বিধান আছে।
৬) বাস্তবায়ন, তদারকি ও সম্মতিসংক্রান্ত বিধান
নীতিমালা প্রয়োগ, ব্যাখ্যা ও ছাড়পত্র প্রদানে কর্তৃপক্ষ দায়িত্বপ্রাপ্ত; এবং রিপোজিটরি ব্যবস্থাপনা, CI/CD অবকাঠামো ও নিরাপদ অ্যাক্সেস নিয়ন্ত্রণে বাংলাদেশ কম্পিউটার কাউন্সিল পরিচালন সংস্থা হিসেবে দায়িত্ব পালন করবে। নীতিমালা যথাযথভাবে অনুসরণে ব্যর্থ হলে ব্যবস্থা গ্রহণের বিধান রাখা হয়েছে।
নীতিমালাটি প্রতি তিন বছর অন্তর (বা প্রয়োজন অনুযায়ী তার পূর্বেই) পর্যালোচনা ও হালনাগাদের বিধান রয়েছে।
লেখকঃ প্রযুক্তিবিদ, সাবেক প্রধান উপদেষ্টার বিশেষ সহকারী