এই সংস্করণ তার অ্যাপ্লিকেশন লাইসেন্সকে CH-J Proprietary Software License, version 1.14 হিসেবে চিহ্নিত করে, তারিখ 11 অক্টোবর 2026। তৃতীয় পক্ষের উপাদানগুলো নিজ নিজ লাইসেন্স বজায় রাখে। আইনগতভাবে বাধ্যতামূলক লাইসেন্স পাঠ শুধু ইংরেজিতে; এই পৃষ্ঠা কেবল গ্রহণের প্রক্রিয়া ব্যাখ্যা করে এবং লাইসেন্স পাঠের বিকল্প নয়, তা পরিবর্তনও করে না।
ইনস্টলেশন ও আপডেট
- ওয়েবসাইট: ডাউনলোড সঙ্গে সঙ্গে বেছে নেওয়া প্যাকেজে রিডাইরেক্ট হয়। ওয়েবে কোনো সম্মতির প্রয়োজন নেই। লাইসেন্স ও পরিচালনাগত নির্দেশনা ওয়েবসাইটে পাওয়া যায় এবং ব্যবহারের আগে অ্যাপ্লিকেশনে দেখানো হয়।
- Windows NSIS: ইন্টারঅ্যাক্টিভ ইনস্টলেশন প্রথমে বেছে নেওয়া ইনস্টলার-ভাষায় নির্দেশনা দেখায়, তারপর সম্পূর্ণ অ্যাপ্লিকেশন লাইসেন্স, এবং লাইসেন্স গ্রহণ দাবি করে। নীরব ইনস্টলেশন ও আপডেটার মোড ইনস্টলারের পৃষ্ঠা এড়িয়ে যেতে পারে; অ্যাপ্লিকেশন চালু হওয়ার সময় সবসময় সম্মতি যাচাই করে।
- macOS DMG: সম্পূর্ণ স্বাক্ষরিত অ্যাপ্লিকেশন বান্ডেল ও Applications শর্টকাট ড্র্যাগ-অ্যান্ড-ড্রপ ইনস্টলেশন সমর্থন করে। প্রথমবার চালু করার সময় নির্দেশনা ও প্রতি-ব্যবহারকারী লাইসেন্স গ্রহণ যাচাই করা হয়। কাস্টম আপডেটার এই একই DMG যাচাই করে খোলে।
- Debian/Ubuntu DEB: প্যাকেজ ম্যানেজার নির্ভরযোগ্য ইন্টারঅ্যাক্টিভ সম্মতির ধাপ দেয় না। প্রথমবার চালু করার সময় গ্রহণ প্রয়োজন।
- সব প্ল্যাটফর্ম: আপডেটের পর নতুন রিলিজ ব্যবহারের আগে গ্রহণ প্রয়োজন, এমনকি সংস্করণ নম্বর বা লাইসেন্স পাঠ অপরিবর্তিত থাকলেও। ইনস্টলারের প্রম্পট অ্যাপ্লিকেশনের ভেতরের প্রতি-ব্যবহারকারী সম্মতির বিকল্প নয়।
স্টার্টআপ উইন্ডো প্রথমে চেক, জার্মান বা ইংরেজিতে সম্পূর্ণ পরিচালনাগত নির্দেশনা দেখায়। Continue (চালিয়ে যান) চেক, জার্মান ও ইংরেজি নিয়ন্ত্রণসহ বান্ডেল করা সম্পূর্ণ ইংরেজি লাইসেন্স খোলে। নির্দেশনার ধাপ দেখানো না হওয়া পর্যন্ত গ্রহণ আটকে থাকে। চেকবক্সটি শুরুতে খালি থাকে। এর লেবেল লাইসেন্স সম্মতিকে ডেটা হারানোর ঝুঁকি ও উপযুক্ত ব্যাকআপের স্বীকৃতির সঙ্গে যুক্ত করে; এটি পরিচালনাগত নির্দেশনাকে চুক্তির শর্তে পরিণত করে না। চেক নিশ্চিতকরণের পাঠ এরকম:
Souhlasím s licenčními podmínkami CH-J Proprietary Software License 1.14.
Beru na vědomí riziko ztráty nebo poškození dat a nutnost přiměřeného zálohování před rizikovými operacemi. Rozumím, že aplikace sama nezaručuje existenci ani obnovitelnost záloh.
গ্রহণ করলে কোনো Vault, প্লাগইন, নেটওয়ার্ক, ডায়াগনস্টিকস বা আপডেটার পরিষেবা চালু হওয়ার আগে একটি স্থানীয় রেকর্ড সংরক্ষিত হয়। লাইসেন্স প্রত্যাখ্যান করলে বা এর উইন্ডো বন্ধ করলে অ্যাপ্লিকেশন বন্ধ হয়ে যায়। সংরক্ষণ ব্যর্থ হলে উইন্ডো খোলা থাকে এবং অ্যাপ্লিকেশন লক থাকে। লাইসেন্স ফাইল না থাকলে বা অবৈধ হলে অ্যাপ্লিকেশন চালু হয় না।
স্থানীয় রেকর্ড
legal/license-acceptance.json ফাইলটি Electron-এর userData ডিরেক্টরিতে সংরক্ষিত হয়। এতে থাকে লাইসেন্সের নাম ও সংস্করণ, দেখানো সঠিক পাঠের SHA-256, অ্যাপ্লিকেশন সংস্করণ, Build ID, গ্রহণের ফ্ল্যাগ ও টাইমস্ট্যাম্প, নির্দেশনা দেখানোর ফ্ল্যাগ এবং বান্ডেল করা তিনটি নির্দেশনা ডকুমেন্টের SHA-256। নির্দেশনায় পরিবর্তন হলে নতুন লাইসেন্স গ্রহণের আগে তা আবার দেখাতে হয়। কোনো লাইসেন্স সক্রিয়করণ বা সার্ভারে রিপোর্টিং নেই। কোনো অমিল, মুছে ফেলা বা অপাঠ্য রেকর্ড থাকলে নতুন সম্মতি প্রয়োজন। অন্য কোনো বিল্ডে ডাউনগ্রেড করলেও গ্রহণ প্রয়োজন। একই গৃহীত বিল্ড বারবার চালু করলে প্রয়োজন নেই।
প্রতিটি রিলিজের src/shared/buildInfo.json-এ একটি অনন্য Build ID থাকতে হবে। সাধারণ বিল্ড স্ক্রিপ্ট এটি স্বয়ংক্রিয়ভাবে যুক্ত করে। ভিন্ন ভিন্ন প্রকাশিত বিল্ডের জন্য CHJ_BUILD_ID পুনর্ব্যবহার করবেন না।
এই স্থানীয় রেকর্ডটি অ্যাপ্লিকেশনের কার্যপ্রবাহের একটি নিয়ন্ত্রণ, টেম্পার-প্রুফ প্রমাণ বা লাইসেন্স কী নয়। এই কার্যপ্রবাহে পরিচালনাগত নির্দেশনা দেখানো বাধ্যতামূলক; এর সুপারিশ মানা ঐচ্ছিক। নির্দেশনা কখনো সম্মতির চেকবক্সে অন্তর্ভুক্ত হয় না। সরাসরি/অফলাইন DMG বা DEB ইনস্টলেশন এবং নীরব ইনস্টলার ইনস্টলেশনের আগে প্রদর্শনের নিশ্চয়তা দিতে পারে না; বাধ্যতামূলক স্টার্টআপ ধাপ বিকল্প হিসেবে কাজ করে। ওয়েবসাইট আপডেট আগে প্রকাশিত বাইনারি পরিবর্তন করে না।
প্যাকেজিং ও যাচাই
পূর্ণ ওয়ার্কস্পেস থেকে বিল্ড করার সময় npm run legal:prepare রুট লাইসেন্স ও পরিচালনাগত নির্দেশনা অ্যাপে কপি করে, লাইসেন্সের সংস্করণ যাচাই করে এবং NSIS-এর জন্য build/license.rtf, এর কাস্টম প্রথম পৃষ্ঠার জন্য UTF-16 নির্দেশনা-পাঠ, এবং DMG-এর জন্য নির্দেশনা ও তারপর লাইসেন্সসহ build/installation.rtf প্রস্তুত করে। RTF সংস্করণ লাইসেন্সদাতার নামসহ সম্পূর্ণ পাঠ ও Unicode অক্ষর সংরক্ষণ করে, DMG-এর সাধারণ-পাঠ লাইসেন্সের পুরোনো Mac Roman সীমাবদ্ধতা ছাড়াই। স্বতন্ত্র অ্যাপ সোর্স নিজেদের বান্ডেল করা কপি রাখে এবং ডেভেলপমেন্ট/ওয়েব ফোল্ডারের প্রয়োজন হয় না। prepare:release প্যাকেজিংয়ের আগে এটি চালায়। প্যাকেজার resources/licenses/ ও resources/docs/ অন্তর্ভুক্ত করে; afterPack এগুলোর প্রয়োজনীয় বিষয়বস্তু যাচাই করে।
node --test test/licenseAcceptance.test.js test/licensePackaging.test.js test/i18n.test.js এবং npm run test:license:ui চালান। macOS প্যাকেজের স্মোক টেস্ট শুধু নিজের অস্থায়ী টেস্ট প্রোফাইলে একটি গ্রহণ-ফিক্সচার তৈরি করে; প্রোডাকশন স্টার্টআপে সম্মতি এড়ানোর কোনো উপায় নেই।