প্রকল্প সম্পর্কে

Keybase/client হলো Keybase ক্লায়েন্ট ইকোসিস্টেমের অফিসিয়াল সোর্স রিপোজিটরি। এতে কোর Go লাইব্রেরি (ক্রিপ্টো প্রিমিটিভ, Keybase সার্ভিস এবং `keybase` কমান্ড-লাইন ক্লায়েন্ট) এবং প্রতিটি প্রধান প্ল্যাটফর্মের জন্য ব্যবহারকারী-মুখী অ্যাপ্লিকেশন একসাথে রয়েছে: `osx/`-এর অধীনে একটি macOS নেটিভ অ্যাপ, Electron-এ নির্মিত `shared/desktop`-এর অধীনে একটি ক্রস-প্ল্যাটফর্ম ডেস্কটপ অ্যাপ, এবং React Native-এ লেখা `shared/{ios,android}`-এর অধীনে iOS ও Android-এর জন্য মোবাইল অ্যাপ, যাতে ডেস্কটপ ও মোবাইলের মধ্যে React কোড শেয়ার করা যায়। `protocol/` ডিরেক্টরিটি Avro-ভিত্তিক ওয়্যার প্রোটোকল সংজ্ঞায়িত করে, যা ক্লায়েন্টরা Keybase সার্ভিসের সাথে যোগাযোগ করতে ব্যবহার করে, `packaging/`-এ প্রতিটি প্ল্যাটফর্মের জন্য রিলিজ স্ক্রিপ্ট (Linux-এর জন্য একটি Docker ইমেজসহ) রয়েছে, এবং `media/`-তে আইকন ও গ্রাফিক্স সংরক্ষিত আছে। README-তে স্পষ্টভাবে বলা হয়েছে যে ট্রির কিছু অংশ পরীক্ষামূলক এবং সোর্স থেকে বিল্ড করলে সম্পূর্ণ কার্যকর অ্যাপ নাও তৈরি হতে পারে; যারা শুধু Keybase ইনস্টল করতে চান তাদের অফিসিয়াল রিলিজ পেজে নির্েশ করা হয়েছে। অবদানকারীদের pre-commit.com-এর মাধ্যমে pre-commit হুক ইনস্টল করতে হবে, এবং বাইরের পুল রিকোয়েস্ট Keybase টিমের কোনো সদস্য পর্যালোচনা না করা পর্যন্ত Jenkins CI বিল্ড করে না, কারণ পর্যালোচনাহীন কোড বিল্ড করাকে নিরাপত্তা ঝুঁকি হিসেবে বিবেচনা করা হয়। ইস্যু GitHub-এ ট্র্যাক করা হয়, ওয়েবসাইট সমস্যার জন্য আলাদা `keybase-issues` ট্র্যাকার এবং CLI-এর জন্য একটি ট্রাবলশুটিং ডক রয়েছে। বেশিরভাগ কোড New BSD 3-Clause License-এর অধীনে প্রকাশিত, এবং যেখানে উল্লেখ করা হয়েছে সেখানে সাবডিরেক্টরি-নির্দিষ্ট লাইসেন্স অগ্রাধিকার পায়। রিপোজিটরিতে একটি স্ট্যান্ডার্ড ক্রিপ্টোগ্রাফিক-সফটওয়্যার এক্সপোর্ট নোটিশও (ECCN 5D002.C.1, TSU ব্যতিক্রম) রয়েছে, যা এনক্রিপশন কোড ব্যবহারের আগে ব্যবহারকারীদের স্থানীয় আইন পরীক্ষা করার কথা মনে করিয়ে দেয়।