সফটওয়্যার মুক্তির জীবনচক্র

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

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

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

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

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

সাধারণত আলফা সংস্করণটি সম্পন্ন করা হয় ফিচার ফ্রিজ এর মাধ্যমে। আলফা সংস্করণের পর সফটওয়্যারটিতে নতুন কোনো বৈশিষ্ট সংযোজন করা হয় না। সফটওয়্যার ডেভলপমেন্টের এই ধাপটিকে বৈশিষ্ট সম্পন্ন বলা হয়।

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

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

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

বড় কয়েকটি সফটওয়্যার প্রকল্পের পাবলিক বেটা বা ওপেন বেটা সংস্করণের উদাহরণ হল:

 সেপ্টেম্বর ২০০০-এ অ্যাপেল ইনকর্পোরেট বক্স ভার্সন ম্যাক ওএস এক্স পাবলিক বেটা প্রকাশ করে। 
 মাইক্রোসফট উইন্ডোজ ভিস্তা এর কমিউনিটি টেকনোলজি প্রিভিউ (সিটিপি) প্রকাশ করেছিল জানুয়ারি ২০০৫ এ।

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

 রিলিজ ক্যান্ডিডেট 
রিলিজ ক্যান্ডিডেট (আরসি) এর মাধ্যমে সফটওয়্যারের এমন সকল সংস্করণগুলোকে বোঝানো হয়ে যাকে যেগুলো ফাইনাল সংস্করণ হওয়ার যোগ্যতা আছে, এমন ফ্যাটাল বাগসমূহ সংশোধনের পর এটি প্রকাশ করা হবে। এই সময় পণ্যটি আরও নির্ভরযোগ্য করার চেষ্টা করা হয়। সকল বৈশিষ্ট ডিজাইন, কোড এবং টেস্টিং এর কাজগুলোও প্রায় সম্পন্ন হয়ে যায় এই ধাপে। পরবর্তী এক বা একাধিক বেটা সাইকলের মাধ্যমে বাগ সমূহ খুঁজে বের করা এবং সমাধানের কাজ করা হয়।

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

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

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

 সাধারণ সহজলভ্যতা 

 সাপোর্ট 
 সার্ভিস রিলিজ 
 এন্ড অফ লাইফ 

যখন কোনো সফটওয়্যার বিক্রি এবং বিক্রয় পরবর্তী সেবা বন্ধ করে দেয়া হয় তখন সফটওয়্যারটি এন্ড-অফ-লাইফে এসেছে বলা হয়ে থাকে।

 ওয়ান্ড ওয়াইড ওয়েবের প্রভাব 
 ওয়েব সংস্করণ 
ওয়েব রিলিজ হল সফটওয়্যার পৌছে দেয়ার এমন একটি পদ্ধতি যেখানে বিতণের মাধ্যম হিসাবে ইন্টারনেট ব্যবহার করা হয়। এই পদ্ধতিতে প্রকাশ করা হলে সাধারণত সফটওয়্যার প্রস্তুতকারক অন্য কোনো ধরনের মাধ্যম ব্যবহার করেন না। এই পদ্ধতিকে কখনো কখনো  ওয়েবে প্রকাশ (release to web (RTW)) বলা হয়ে থাকে।

 আরও দেখুন 
 Paper launch
 Release engineering
 Release management
 Rolling release
 Software maintenance
 Software testing
 Software versioning
 Software deployment
 Vaporware

 তথ্যসূত্র 

 বহিঃসংযোগ 
 Apple, Inc. Version Territory
 Free Software Project Management HOWTO.
 Java Standard Terms.
 Software Release Decisions
 A Methodology to Support Software Release Decisions
 Software Testing Life Cycle.
 computeruser.com definition 
 smartcomputing.com definition
 techweb.com definition 
 Semantic versioning

 আরও পড়ুন 
 "Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation" by Jez Humble, David Farley; 

বিষয়শ্রেণী:সফটওয়্যার