ডিপিপিগুলির জন্য একটি সময় যন্ত্র

কল্পনা করুন, আপনি একটি পণ্য হাতে ধরে তার QR কোড স্ক্যান করছেন। PDF-এর বদলে একটি ছোট অ্যাপ খুলে যায়। আপনি পণ্যটিকে যেমন আছে তেমনই দেখতে পান: এটি কী দিয়ে তৈরি, কোথা থেকে এসেছে, এবং কী কী বিষয় মাথায় রাখতে হবে। একটি সোয়াইপ আপনাকে অতীতে ফিরিয়ে নিয়ে যায় - আপনি দেখতে পারবেন এখন পর্যন্ত প্রকাশিত প্রতিটি সংস্করণ।

এটি Transpareo Time Machine, যেকোনো ডিজিটাল প্রোডাক্ট পাসপোর্টের জন্য আমাদের ওপেন-সোর্স কনজিউমার অ্যাপ। কোডটি GPL v3 লাইসেন্সের অধীনে GitHub-এ উপলব্ধ।

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

নিজে দেখুন

ডেমো নমুনা ডেটা সহ সম্পূর্ণ পণ্য পাসপোর্ট দেখায়: সংস্করণ ইতিহাস ব্রাউজ করুন এবং পরিদর্শন স্টিকার খুলুন - সরাসরি আপনার ব্রাউজারে, কোনো অ্যাকাউন্টের প্রয়োজন ছাড়াই।

অ্যাপটি কী করে

পণ্যটি ধারণকারী ব্যক্তির দৃষ্টিকোণ থেকে চারটি স্পর্শবিন্দু। কোনো লগইন নেই, কোনো অ্যাপ ইনস্টলেশন নেই।

1

স্ক্যান করুন

আপনার স্মার্টফোনের ক্যামেরা ব্যবহার করে QR কোড স্ক্যান করুন। অ্যাপটি আপনার ব্রাউজারে খুলবে।

2

সর্বশেষ খবর দেখুন

এখানে এবং এখন পণ্য - উপাদান, উপকরণ, উৎপত্তি, যত্ন, পুনর্ব্যবহার।

3

ইতিহাস ব্রাউজ করুন

একটি সোয়াইপ আপনাকে অতীতে ফিরে নিয়ে যায়। প্রতিটি পূর্ববর্তী সংস্করণ, তারিখ এবং পরিবর্তনের কারণসহ।

4

শেয়ার

প্রতিটি সংস্করণের নিজস্ব লিঙ্ক আছে। একজন ব্যক্তি নির্দিষ্ট একটি সংস্করণ বন্ধুদের বা কর্তৃপক্ষের সাথে শেয়ার করে।

কেনই বা?

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

সংখ্যার দিক থেকে পরিস্থিতি স্পষ্ট। দশকের শেষ নাগাদ, একজন গড় ইউরোপীয় ব্যক্তি বছরে কয়েক ডজন থেকে কয়েকশো পণ্য পাসপোর্ট স্ক্যান করতে সক্ষম হবেন। ২০০ মিলিয়ন পরিবারের ভিত্তিতে, এটি বার্ষিক বিলিয়ন বিলিয়ন ভোক্তা মিথস্ক্রিয়া করে। তুলনামূলকভাবে, সরকারি কর্তৃপক্ষ ও পুনর্ব্যবহারকারীদের ক্ষেত্র সংখ্যাগতভাবে নগণ্য।

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

আমরা এই ভোক্তা-কেন্দ্রিক প্ল্যাটফর্মটি ওপেন-সোর্স সফটওয়্যার হিসেবে তৈরি করার সিদ্ধান্ত নিয়েছি যাতে এটি কোনো একক প্রদানকারীর উপর নির্ভর না করে।

ঘটনার গতিপথ পাথরে খোদিত; মেনিফেস্টো আমাদের।

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

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

বিঘ্ন ছাড়াই প্রদানকারী পরিবর্তন

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

Transpareo Time Machine হল সেই সমাধান যা এই প্রয়োজনীয়তাকে বাস্তবে রূপায়িত করে। কারণ প্রতিটি পণ্য পাসপোর্ট উন্মুক্ত মানদণ্ড অনুযায়ী সরবরাহ করা হয় - রিসলভার-নিরপেক্ষ শনাক্তকরণ, ক্যানোনিক্যাল সিরিয়ালাইজেশন, সর্বজনীনভাবে প্রকাশিত কী - এবং রেন্ডারার GPL v3-এর অধীনে ওপেন সোর্স হওয়ায়, পাসপোর্টের প্রদর্শন কখনোই আমাদের প্ল্যাটফর্মের ওপর নির্ভরশীল নয়।

পণ্যের পাসপোর্টের দায়িত্ব একটি ব্যবসায়িক সত্তার উপর বর্তায় - প্রস্তুতকারক, আমদানিকারক বা অনুমোদিত প্রতিনিধি। যদি তারা Transpareo ছেড়ে অন্য কোনো প্রদানকারীর কাছে যেতে সিদ্ধান্ত নেয়, প্রদর্শন সামঞ্জস্যপূর্ণ থাকে: একই ওপেন-সোর্স রেন্ডারার ইতিমধ্যেই প্রকাশিত সংস্করণগুলো, তাদের ইতিহাসসহ, কোনো পরিবর্তন ছাড়াই প্রদর্শন করতে থাকে, এবং একই ওপেন স্ট্যান্ডার্ড সমর্থনকারী একটি নতুন প্রদানকারী ঠিক একই অ্যাপ দ্বারা প্রদর্শিত হবে।

ডেটাও এর সাথে চলে যায়; ভোক্তারা কোনো বিঘ্নতা দেখেন না, এবং কারোই মাইগ্রেশনের জন্য অপেক্ষা করতে হয় না ।

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

আমাদের সার্ভারে নয়, ব্রাউজারে পরীক্ষা করা হয়েছে।

প্রতিটি পণ্যের পাসপোর্টের শীর্ষে একটি ব্যাজ দেখা যায়: ‘Transpareo দ্বারা যাচাইকৃত’। এটি একটি যাচাইকরণ প্রক্রিয়ার ফলাফল প্রদর্শন করে যা আমাদের সার্ভারে নয়, বরং ভিজিটরের ব্রাউজারে ঘটে - লোড হওয়া বাইটস এবং ইস্যুকারীর পাবলিক কী-এর ভিত্তিতে।

প্রতিটি DPP সংস্করণে দুইটি স্বাধীন পক্ষ স্বাক্ষর করে: ইস্যুকারী এবং Transpareo। ব্যাজটি সবুজ হতে হলে উভয় স্বাক্ষর যাচাইযোগ্য হতে হবে। Bring Your Own Key (BYOK) ব্যবহার করে ইস্যুকারী তার নিজস্ব স্বাক্ষর এন্ডপয়েন্ট পরিচালনা করে - Transpareo কখনোই ব্যক্তিগত কী ধারণ করে না এবং শুধুমাত্র স্বাধীন কাউন্টারস্বাক্ষর যোগ করে। এর ফলে এমন একটি ইস্যুকারী স্বাক্ষর তৈরি হয় যা Transpareo নিজেই তৈরি করতে পারে না।

একটি আপসকৃত সার্ভার টিক জাল করতে পারে না, কারণ যাচাইকরণ ভিজিটরের নিজস্ব ডিভাইসেই সম্পন্ন হয়।

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

একই যাচাইকরণ একটি স্বতন্ত্র পৃষ্ঠা হিসেবেও উপলব্ধ: ডিপিপি যাচাইকরণ -এ, কোনো পণ্য পাসপোর্টের ম্যানিফেস্ট URL প্রবেশ করান সম্পূর্ণ যাচাইকরণ ফলাফল দেখতে - পাসপোর্টটি নিজে খুলতে না পারলেও।

আমরা কোডটি রিলিজ করছি।

Transpareo Time Machine GPL v3 on GitHub এর অধীনে লাইসেন্সপ্রাপ্ত। যে কোনো প্রকাশিত পরিবর্তনকেও GPL v3 এর অধীনে লাইসেন্স দিতে হবে, যাতে ভবিষ্যৎ উন্নয়ন বৃহত্তর সম্প্রদায়ের উপকারে আসে।

ক্লোনিং, ফর্কিং, সেলফ-হোস্টিং - সবই অনুমোদিত।

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

যারা অ্যাপটি কার্যকরভাবে ব্যবহার করে

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

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

যদি Transpareo আর না থাকে তাহলে কী হবে?

ইউরোপীয় ইউনিয়ন (EU) নির্দেশ করে যে একটি নিবন্ধিত পণ্য পাসপোর্ট অন্তত দশ বছর ধরে উপলব্ধ থাকতে হবে - ইস্যুকারীর দেউলিয়া বা তরলীকরণ হওয়ার পরও। একটি SaaS প্রদানকারী সাধারণত এত দীর্ঘ সময় ধরে ব্যবসায় টিকে থাকে না। অতএব আমরা শুরু থেকেই প্ল্যাটফর্মটি এমনভাবে তৈরি করছি যাতে পণ্য পাসপোর্টগুলো আমাদের উপর নির্ভর না করে স্বতন্ত্রভাবে ব্যবহারযোগ্য থাকে:

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

যদি আগামীকাল Transpareo প্ল্যাটফর্ম অদৃশ্য হয়ে যায়, DPP সংস্করণ এবং ওপেন-সোর্স রেন্ডারার টিকে থাকবে।

প্রযুক্তি সম্পর্কে কৌতূহলী তাদের জন্য

এখানেই ঘটছে আসল ঘটনা। যদি আপনাকে বিস্তারিত জানতে না হয়, তাহলে আপনি এই অংশটি এড়িয়ে যেতে পারেন - অ্যাপটি তবুও কাজ করবে।

  • GS1 ডিজিটাল লিঙ্ক (ISO/IEC 18975): পণ্য পাসপোর্ট URL পণ্য শনাক্তকারীকে একটি মানসম্মত ফরম্যাটে বহন করে - রিসলভার-নিরপেক্ষ এবং প্রদানকারীদের মধ্যে বিনিময়যোগ্য।
  • JSON ক্যানোনিক্যালাইজেশন স্কিম (RFC 8785): একটি নির্ধারিত সিরিয়ালাইজেশন। এটি নিশ্চিত করে যে ফিল্ডের ক্রম বা ফাঁকা স্থান যাই হোক না কেন হ্যাশ পুনরুৎপাদনযোগ্য থাকবে - যে কেউ নিজেই এটি যাচাই করতে পারে।
  • W3C ডেটা অখণ্ডতা প্রুফ (eddsa-jcs-2022): ক্যানোনিকালকৃত ফর্মের উপর Ed25519 স্বাক্ষর (JCS)।
  • /.well-known/dpp-keys/ (RFC 8615): ইস্যুকারীদের পাবলিক কী-গুলো একটি মানসম্মত পাথে অবস্থিত - Transpareo-কে যোগাযোগ করার প্রয়োজন নেই; প্রতিটি যাচাইকারী নিজেই সেগুলো খুঁজে পেতে পারে।

সবকিছু GitHub-এ README-এ ডকুমেন্ট করা আছে - যার মধ্যে রয়েছে ফ্রন্ট-এন্ড আর্কিটেকচার (আমাদের নিজস্ব রিয়েক্টিভ কোর, কোনো বাহ্যিক ফ্রেমওয়ার্ক নেই) এবং স্ব-হোস্টিংয়ের জন্য বিল্ড নির্দেশনা।

GitHub-এ কোড দেখুন

আপনি পাবলিক রেপোজিটরিতে সম্পূর্ণ সোর্স কোড, সব রিলিজ এবং ইস্যুর আলোচনা দেখতে পাবেন।