10.3 ক্রয়, ওপেন সোর্স ও লাইসেন্সিং
পরিচিতি ও প্রেরণা
প্রায় প্রতিটি আধুনিক সফটওয়্যার সিস্টেম বেশিরভাগ অন্য কারও লেখা উপাদান থেকে জোড়া। ওপেন-সোর্স সফটওয়্যার অপারেটিং সিস্টেম, ভাষা, ফ্রেমওয়ার্ক, ডেটাবেস ও ক্লাউড অবকাঠামোর ভিত্তি গঠন করে। এটি এন্টারপ্রাইজে দুইভাবে ঢোকে: সুচিন্তিত ক্রয়-এর মাধ্যমে, এবং স্বতন্ত্র ডেভেলপারদের আকস্মিক import বিবৃতির মাধ্যমে। এই অধ্যায় সেই ভোগ (এবং যেখানে মানায়, অবদান) সুচিন্তিতভাবে করার বিষয়ে। এর মানে একটি কৌশল, লাইসেন্স সম্মতি, বাধ্যবাধকতা ও কপিলেফট ঝুঁকির বোঝাপড়া, এবং আপনি যে উপাদানের ওপর নির্ভর করেন তার অনিবার্য জীবনের শেষ-এর একটি পরিকল্পনা।
বড় দলের জন্য ঝুঁকি একসঙ্গে আইনি, পরিচালনগত ও কৌশলগত। আইনিভাবে ওপেন-সোর্স লাইসেন্স প্রকৃত বাধ্যবাধকতাসহ প্রয়োগযোগ্য চুক্তি। কপিলেফট (এমন লাইসেন্সিং যা ডেরিভেটিভ কাজ একই শর্তে ভাগ করতে দাবি করতে পারে) ভুল করা সবচেয়ে খারাপ ক্ষেত্রে মালিকানাধীন সোর্সের প্রকাশ বাধ্য করতে বা মামলা ট্রিগার করতে পারে। লাইসেন্স লঙ্ঘন যথাযথ-যত্ন-এর সময় একটি অধিগ্রহণ বা জনসাধারণের অফারও আটকাতে পারে। পরিচালনগতভাবে অপরিচালিত নির্ভরতা পচে: উপাদান অরক্ষিত যায়, দুর্বলতা জমায়, এবং প্রোডাকশনে গভীরে পোঁতা থাকা অবস্থায় জীবনের শেষে পৌঁছায়। কৌশলগতভাবে ওপেন সোর্স কেবল খরচ-সাশ্রয়ী ইনপুটের চেয়ে বেশি। এটি লক-ইন এড়ানো, প্রতিভা আকর্ষণ এবং আপনি নির্ভর করেন এমন ইকোসিস্টেম আকার দেওয়ার উপায়, সুবিধা যা আপনি কেবল উদ্দেশ্যমূলকভাবে জড়ালেই ধরেন।
সরকারের একটি অতিরিক্ত মাত্রা আছে। অনেক এখতিয়ার এখন ওপেন সোর্স, উন্মুক্ত মান ও সংস্থার মধ্যে কোড ভাগাভাগি পছন্দ করে এমন সুস্পষ্ট নীতি রাখে। এগুলো প্রায়ই “জনগণের অর্থ, জনগণের কোড” হিসেবে প্রকাশিত: করদাতার অর্থে অর্থায়িত সফটওয়্যার ডিফল্টে জনগণের কাছে উপলব্ধ হওয়া উচিত এই নীতি। তাই সরকারি খাতের ইঞ্জিনিয়ারদের লাইসেন্স সম্মতি এবং ওপেন সোর্স পছন্দ, প্রকাশ ও পুনর্ব্যবহারের সক্রিয় আদেশ দুটিই পেরোতে হয়। এই অধ্যায় এসবকিছু পরিসরে পরিচালনযোগ্য করার লক্ষ্য রাখে।
মূল নীতিসমূহ
- ওপেন সোর্স একটি সরবরাহ শৃঙ্খল, বিনামূল্যের জিনিস নয়। ভোগ করা উপাদানকে যেকোনো জটিল সরবরাহকারীর সমান কঠোরতায় গণ্য করুন।
- লাইসেন্স বাধ্যবাধকতা, উপেক্ষা করার অনুমতি নয়। প্রতিটি নির্ভরতা শর্ত বহন করে; পাঠানোর আগে সেগুলো জানুন।
- কপিলেফট নকশা সীমাবদ্ধতা, নিষিদ্ধ নয়। কপিলেফট লাইসেন্স ব্যবহারযোগ্য ও মূল্যবান; তাদের কেবল দরকার আপনি উপাদান কীভাবে মেলান ও বিতরণ করেন তা বোঝা।
- সুচিন্তিতভাবে ভোগ করুন, কৌশলগতভাবে অবদান রাখুন। কী ভেতরে আনবেন ঠিক করুন এবং যেখানে আপনার সেবা করে সেখানে ফর্ক করার বদলে উজানে পাঠাতে বিনিয়োগ করুন।
- সবকিছুর তালিকা করুন। যা দেখতে পান না তার সম্মতি, নিরাপত্তা বা হালনাগাদ করতে পারেন না; একটি SBOM (সফটওয়্যার বিল অফ মেটেরিয়ালস, আপনার সফটওয়্যারের উপাদানের সম্পূর্ণ তালিকা) অপরিহার্য ভিত্তি।
- শুরু থেকে জীবনের শেষের পরিকল্পনা করুন। প্রতিটি নির্ভরতা একদিন অরক্ষিত হবে; বাধ্য হওয়ার আগে আপনার প্রস্থান জানুন।
- সরকারে ডিফল্টে উন্মুক্ত। উন্মুক্ত মান ও ওপেন সোর্স পছন্দ করুন, এবং নির্দিষ্ট কারণ না থাকলে জনগণের-অর্থে-কোড প্রকাশ করুন।
সুপারিশ
একটি ওপেন-সোর্স কৌশল ও ভোগ নীতি ঠিক করুন
ডেভেলপাররা কীভাবে প্রতিষ্ঠানে ওপেন সোর্স আনতে পারে তার একটি স্পষ্ট নীতি প্রকাশ করুন: কোন লাইসেন্স পূর্ব-অনুমোদিত, কোনগুলোর পর্যালোচনা লাগে, এবং কোনগুলো আপনার ব্যবহারের ক্ষেত্রে নিষিদ্ধ। একটি দ্রুত, কম-ঘর্ষণ অনুমোদন পথ দিন। কোড কপি করার চেয়ে ধীর নীতি কেবল উপেক্ষিত হবে। প্রেক্ষাপট আলাদা করুন, কারণ একই লাইসেন্স আচরণ করে ভিন্নভাবে যখন একটি উপাদান অভ্যন্তরীণভাবে সেবা হিসেবে ব্যবহৃত, একটি বিতরিত পণ্যে গাঁথা, বা একটি মালিকানাধীন অ্যাপ্লিকেশনে লিংক করা। সহজ পথকে সম্মত পথ করুন: বাছাই করা পরীক্ষিত উপাদানের একটি অভ্যন্তরীণ রিপোজিটরি, পাইপলাইনে স্বয়ংক্রিয় স্ক্যানিং, এবং রুটিন ক্ষেত্রে একজন আইনজীবীকে ফোন না করে ডেভেলপাররা অনুসরণ করতে পারে এমন স্পষ্ট নির্দেশিকা।
লাইসেন্স সম্মতি, বাধ্যবাধকতা ও কপিলেফট ঝুঁকি পরিচালনা করুন
লাইসেন্সের পরিবার এবং তাদের বাধ্যবাধকতা জানুন। অনুমতিমূলক লাইসেন্স (যেমন MIT, BSD ও Apache 2.0) প্রধানত স্বীকৃতি ও নোটিশ সংরক্ষণ চায়; Apache 2.0 একটি সুস্পষ্ট পেটেন্ট অনুদান যোগ করে। দুর্বল কপিলেফট (যেমন LGPL ও MPL) আপনাকে আচ্ছাদিত ফাইলের পরিবর্তন ভাগ করতে দাবি করে কিন্তু সাধারণত মালিকানাধীন কোডের সঙ্গে মেলাতে দেয়। শক্তিশালী কপিলেফট (যেমন GPL) পুরো বিতরিত কাজ একই শর্তে দিতে দাবি করতে পারে। নেটওয়ার্ক কপিলেফট (AGPL) সেই বাধ্যবাধকতা কেবল বাইনারি হিসেবে বিতরিত নয়, নেটওয়ার্কের ওপর দেওয়া সফটওয়্যারে প্রসারিত করে। সবচেয়ে গুরুত্বপূর্ণ বাধ্যবাধকতা দুটি জিনিসের ওপর নির্ভর করে: আপনি সফটওয়্যার বিতরণ করেন কি না, এবং আপনি উপাদান কত আঁটোভাবে মেলান। সম্মতি স্বয়ংক্রিয় করুন: লাইসেন্সের জন্য নির্ভরতা স্ক্যান করুন, প্রয়োজনীয় স্বীকৃতি ও নোটিশ ফাইল তৈরি ও পাঠান, এবং নীতিতে বিল্ড গেট করুন যাতে একটি নিষিদ্ধ লাইসেন্স নীরবে প্রোডাকশনে ঢুকতে না পারে।
একটি ওপেন সোর্স প্রোগ্রাম অফিস (OSPO) স্থাপন করুন
আপনি পরিসরে ওপেন সোর্স ভোগ করলে একটি কেন্দ্রবিন্দু, একটি OSPO, তৈরি করুন যা ওপেন-সোর্স কৌশল, নীতি, সম্মতি টুলিং, অবদান শাসন এবং সম্প্রদায় সম্পর্কের মালিক। OSPO প্রতিটি দলের নিজস্ব সিদ্ধান্ত নেওয়ার বিশৃঙ্খলা সংযত করে। এটি এমন দক্ষতা দেয় যা স্বতন্ত্র দল রক্ষণাবেক্ষণ করতে পারে না। এবং এটি কৌশলগত মূল্য ধরে: কোন প্রকল্পে বিনিয়োগ করবেন, কখন উজানে অবদান রাখবেন, এবং আপনার নিজস্ব ওপেন-সোর্স প্রকল্প কীভাবে ভালোভাবে প্রকাশ করবেন ঠিক করা। একটি ছোট OSPO-ও (কখনো একজন ব্যক্তি সঙ্গে একটি আন্তঃ-কার্যকরী কার্যদল) সবার-জন্য-মুক্তের তুলনায় সামঞ্জস্য নাটকীয়ভাবে উন্নত করে এবং আইনি ঝুঁকি কমায়।
অবদান এবং, যেখানে মানায়, প্রকাশ শাসন করুন
কখন ফেরত অবদান রাখবেন তা সুচিন্তিতভাবে ঠিক করুন। আপনি নির্ভর করা প্রকল্পে সংশোধন ও ফিচার উজানে পাঠানো আপনার রক্ষণাবেক্ষণ বোঝা কমায়, কারণ আপনি ব্যক্তিগত প্যাচ বহন বন্ধ করেন। এটি শুভেচ্ছা ও প্রভাবও গড়ে, এবং আপনার জন্য জটিল উপাদান শক্তিশালী করে। বুদ্ধিবৃত্তিক সম্পত্তি ও অবদানকারী চুক্তি কীভাবে সামলানো হয় সহ অনুমোদিত অবদানের জন্য ডেভেলপারদের একটি স্পষ্ট, দ্রুত প্রক্রিয়া দিন। আপনার নিজস্ব ওপেন-সোর্স প্রকল্প প্রকাশ করলে যথাযথভাবে করুন: একটি উপযুক্ত লাইসেন্স বাছুন, শাসন নথিবদ্ধ করুন এবং তত্ত্বাবধানে প্রতিশ্রুতিবদ্ধ হোন। একটি পরিত্যক্ত প্রকল্প কোনো প্রকল্প না থাকার চেয়ে আপনার সুনামের বেশি ক্ষতি করে।
সরকারি ওপেন-সোর্স ও “জনগণের অর্থ, জনগণের কোড” আদেশ পূরণ করুন
সরকারি খাতের দলের উন্মুক্ততাকে ডিফল্ট গণ্য করা উচিত। লক-ইন এড়াতে এবং সংস্থা ও বিক্রেতা জুড়ে কাজ করতে উন্মুক্ত মান পছন্দ করুন। জনগণের অর্থে বিকশিত সোর্স কোড উন্মুক্তভাবে প্রকাশ করুন, যদি না একটি নির্দিষ্ট, নথিবদ্ধ ছাড় প্রযোজ্য হয়: নিরাপত্তা-সংবেদনশীল উপাদান, তৃতীয়-পক্ষ অধিকার বা গোপনীয়তা উদ্বেগের জন্য। গড়ার আগে পুনর্ব্যবহার করুন: অন্য কোনো সংস্থা ইতিমধ্যে উপযুক্ত কোড প্রকাশ করেছে কি না দেখুন। এই প্রত্যাশা ক্রয়ে গাঁথুন, যাতে বিক্রেতারা সংস্থা রক্ষণাবেক্ষণ বা ভাগ করতে পারে না এমন মালিকানাধীন কালো বাক্সের বদলে সরকার যথাযথ অধিকার রাখা উন্মুক্ত, পুনর্ব্যবহারযোগ্য, ভালো-নথিবদ্ধ কোড সরবরাহ করে।
নির্ভরতা ও জীবনের শেষের সফটওয়্যার পরিচালনা করুন
প্রতিটি উপাদান এবং তার সংস্করণ, লাইসেন্স ও রক্ষণাবেক্ষণ অবস্থার একটি জীবন্ত তালিকা (SBOM) রক্ষণাবেক্ষণ করুন। নির্ভরতা যুক্তিসঙ্গতভাবে হালনাগাদ রাখুন। ছোট, ঘন ঘন হালনাগাদ বিরল, বিশাল লাফের চেয়ে অনেক সস্তা ও নিরাপদ। জীবনের শেষের ঘোষণা ও নিরাপত্তা-সমর্থন জানালার জন্য উজান প্রকল্প নজরে রাখুন, এবং একটি দুর্বলতা হুড়োহুড়ি বাধ্য করার পরে নয়, সমর্থন শেষ হওয়ার আগে মাইগ্রেশন পরিকল্পনা করুন। পরিত্যক্ত হওয়ার ঝুঁকিতে থাকা জটিল উপাদানের জন্য আগে থেকে ঠিক করুন আপনি রক্ষণাবেক্ষণকারীকে অর্থায়ন করবেন, নিজে রক্ষণাবেক্ষণে অবদান রাখবেন, ফর্ক করবেন, নাকি প্রতিস্থাপন করবেন। বাণিজ্যিক ও ওপেন-সোর্স সফটওয়্যার উভয়ের জন্য জীবনের শেষ অনুসরণ করুন, এবং সমর্থন ফুরিয়ে যাওয়াকে অন্য যেকোনো পরিচালনগত ঝুঁকির সমান মানে ধরুন।
ট্রেড-অফ: সুবিধা ও অসুবিধা
| পছন্দ | সুবিধা | অসুবিধা |
|---|---|---|
| অবাধে ওপেন সোর্স ভোগ করুন | দ্রুত ডেলিভারি; বিশাল লিভারেজ; লাইসেন্স ফি নেই | লাইসেন্স, নিরাপত্তা ও রক্ষণাবেক্ষণ বাধ্যবাধকতা যার মালিক আপনি এখন |
| কঠোর লাইসেন্স অনুমতি-তালিকা | কম আইনি ঝুঁকি; পূর্বাভাসযোগ্য | দলকে ধীর করে; সত্যিই দরকারি উপাদান বাদ দিতে পারে |
| কেবল অনুমতিমূলক লাইসেন্স | ন্যূনতম বাধ্যবাধকতা; মেলানো সহজ | মূল্যবান কপিলেফট প্রকল্প ছাড়ে; কম পারস্পরিকতা |
| যেখানে মানায় কপিলেফট গ্রহণ করুন | শক্তিশালী ইকোসিস্টেমে প্রবেশ; পারস্পরিকতা সুবিধা | মেলানো ও বিতরণে যত্ন লাগে |
| উজানে অবদান রাখুন | কম ব্যক্তিগত-প্যাচ বোঝা; প্রভাব; শুভেচ্ছা | চলমান প্রচেষ্টা; IP ও প্রক্রিয়া ওভারহেড |
| পরিবর্তে মালিকানাধীন গড়ুন | পূর্ণ নিয়ন্ত্রণ; বাহ্যিক বাধ্যবাধকতা নেই | উচ্চ খরচ; পণ্য পুনরাবিষ্কার; আপনি চিরকাল রক্ষণাবেক্ষণ করেন |
| সরকারি ডিফল্টে-প্রকাশ | স্বচ্ছতা; পুনর্ব্যবহার; লক-ইন এড়ায় | প্রকাশ প্রচেষ্টা; নিরাপত্তা পর্যালোচনা; টেকসই তত্ত্বাবধান |
কেন্দ্রীয় টানাপোড়েন ডেভেলপার গতি ও নিয়ন্ত্রণের মধ্যে। সবকিছু ভারী পর্যালোচনার পিছনে তালা দিন এবং ডেভেলপাররা নীতি এড়িয়ে যায়। এটি অপরিচালিত ছায়া নির্ভরতা তৈরি করে, যা অনুমতিমূলক-কিন্তু-দৃশ্যমান পদ্ধতির চেয়ে খারাপ। সম্পূর্ণ অনিয়ন্ত্রিত ছেড়ে দিন এবং আপনি অদৃশ্যভাবে আইনি ও নিরাপত্তা ঋণ জমান। সমাধান স্বয়ংক্রিয়তা ও বাছাই: পূর্ব-পরীক্ষিত উপাদান, পাইপলাইন স্ক্যানিং এবং স্পষ্ট ডিফল্টের মাধ্যমে সম্মত পথকে দ্রুততম পথ করুন, যাতে ঘর্ষণ ছাড়াই নিয়ন্ত্রণ পান। কপিলেফটে ট্রেড-অফ “ঝুঁকিপূর্ণ বনাম নিরাপদ” নয়, “বোঝা বনাম অবোঝা।” আপনি কীভাবে মেলান ও বিতরণ করেন জানলে কপিলেফট সম্পূর্ণ ব্যবহারযোগ্য।
আপনার দলের সঙ্গে আলোচনার প্রশ্ন
অভ্যন্তরীণ, বিতরিত ও নেটওয়ার্ক-সেবা প্রেক্ষাপট জুড়ে শক্তিশালী ও নেটওয়ার্ক কপিলেফটের জন্য আপনার সুস্পষ্ট নিয়ম কী? কপিলেফট নকশা সীমাবদ্ধতা, নিষিদ্ধ নয়, এবং বাধ্যবাধকতা দুটি জিনিসের ওপর নির্ভর করে: আপনি সফটওয়্যার বিতরণ করেন কি না এবং আপনি উপাদান কত আঁটোভাবে মেলান। একটি অভ্যন্তরীণ টুলে GPL আপনি পাঠানো একটি পণ্যে লিংক করা GPL থেকে খুব ভিন্ন আচরণ করে, এবং AGPL আপনি শুধু নেটওয়ার্কের ওপর দেওয়া সফটওয়্যারে প্রকাশ কর্তব্য প্রসারিত করে, যা আপনি সেবা হিসেবে চালান এমন যেকোনো কিছুর জন্য আপনার গড়া-বনাম-গ্রহণ হিসাব বদলে। নিয়ম প্রতি প্রেক্ষাপটে লিখে রাখুন, যাতে একজন ডেভেলপার আইনজীবীকে ফোন না করে জানে (উদাহরণস্বরূপ) অনুমতিমূলক সর্বত্র পূর্ব-অনুমোদিত, শক্তিশালী কপিলেফট অভ্যন্তরীণভাবে ঠিক কিন্তু পাঠানো পণ্য থেকে আটকানো, এবং AGPL একটি নেটওয়ার্ক সেবা ছোঁয়ার আগে পর্যালোচনা লাগে। প্রমাণ আনুন: আপনার বর্তমান নির্ভরতা গাছ স্ক্যান করুন এবং আপনার বিতরণ সীমানার সাপেক্ষে কপিলেফট উপাদান ইতিমধ্যে কোথায় বসে খুঁজুন। তারপর সেই নীতিতে বিল্ড গেট করুন, কারণ কোনো স্ক্যানার প্রয়োগ করে না এমন নিয়ম ডেভেলপাররা দুর্ঘটনাক্রমে ভাঙবে।
আপনার কি একটি ওপেন সোর্স প্রোগ্রাম অফিস দরকার, এবং আজ লাইসেন্স নীতি, স্ক্যানিং ও অবদান সিদ্ধান্তের মালিক কে? সৎ উত্তর যদি “কেউ না” বা “প্রতিটি দল ঠিক করে” হয়, আপনি একটি সবার-জন্য-মুক্ত চালাচ্ছেন যা অদৃশ্যভাবে আইনি ও নিরাপত্তা ঋণ জমায়। একটি OSPO, একজন ব্যক্তি সঙ্গে একটি আন্তঃ-কার্যকরী কার্যদল হলেও, সেই বিশৃঙ্খলা সংযত করে এবং কৌশলগত মূল্য ধরে: কোন উজান প্রকল্পে বিনিয়োগ করবেন, কখন অবদান রাখবেন, এবং আপনার নিজস্ব প্রকল্প কীভাবে ভালোভাবে প্রকাশ করবেন। সভায় প্রমাণ আনুন: কেউ কি বর্তমান অনুমোদিত-লাইসেন্স তালিকা, SBOM, এবং অধিগ্রহণ যথাযথ-যত্নের সময় কপিলেফট প্রশ্ন সামলাবেন এমন ব্যক্তির নাম দিতে পারেন? উত্তর স্পষ্ট মালিকানা বরাদ্দ করা এবং পূর্ব-পরীক্ষিত উপাদান ও পাইপলাইন স্ক্যানিংয়ের মাধ্যমে সম্মত পথকে দ্রুততম পথ করা উচিত, যাতে ডেভেলপাররা ঘর্ষণ ছাড়াই নিয়ন্ত্রণ পায়। কোড কপি করার চেয়ে ধীর নীতি কেবল উপেক্ষিত হবে।
আগামীকাল পরিত্যক্ত হলে কোন নির্ভরতা সবচেয়ে বেশি ব্যথা দেবে, এবং প্রতিটির জন্য আপনার পূর্ব-ঠিক করা সাড়া কী? প্রতিটি নির্ভরতা শেষ পর্যন্ত জীবনের শেষে পৌঁছায়, এবং সেই ঘটনার ব্যয়বহুল রূপ হলো একটি মূল উপাদান মাস আগে সমর্থন হারিয়েছে তা আবিষ্কার করা, কেবল যখন একটি দুর্বলতা মনোযোগ বাধ্য করে। পরিত্যক্ত হওয়ার ঝুঁকিতে থাকা আপনার জটিল উপাদানের জন্য আগে থেকে ঠিক করুন আপনি রক্ষণাবেক্ষণকারীকে অর্থায়ন করবেন, নিজে রক্ষণাবেক্ষণে অবদান রাখবেন, ফর্ক করবেন, নাকি প্রতিস্থাপন করবেন। প্রমাণ আনুন: আপনার SBOM থেকে সেই উপাদান তালিকাভুক্ত করুন যাদের ব্যর্থতা একটি রাজস্ব বা মিশন-জটিল সেবা থামাবে, এবং প্রতিটির রক্ষণাবেক্ষণ অবস্থা ও নিরাপত্তা-সমর্থন জানালা নোট করুন। উত্তর জীবনের শেষকে বিস্ময় থেকে একটি পরিকল্পিত মাইগ্রেশনসহ অনুসরণ করা পরিচালনগত ঝুঁকিতে পরিণত করা উচিত, অন্য যেকোনো ঝুঁকির সমান মানে ধরা। ছোট, ঘন ঘন ধাপে নির্ভরতা হালনাগাদ রাখা বিরল, বিশাল, বাধ্য লাফের চেয়ে অনেক সস্তা।
আপনি কি আপনার ট্রানজিটিভ নির্ভরতা গাছের নিচ পর্যন্ত পৌঁছানো একটি সম্পূর্ণ, বর্তমান SBOM তৈরি করতে পারেন, এবং কত দ্রুত? একটি ব্যাপকভাবে ব্যবহৃত লাইব্রেরিতে একটি শিরোনাম দুর্বলতা নামলে নেতৃত্বের প্রথম প্রশ্ন হলো “আমরা কি উন্মুক্ত, এবং কোথায়?” যে দল ঘণ্টায় উত্তর দিতে পারে না সে ইতিমধ্যে পিছিয়ে, কারণ প্রকৃত ঝুঁকি সাধারণত কেউ উদ্দেশ্য করে না বাছা নির্ভরতার কয়েক স্তর গভীরে লুকায়। প্রতিদ্বন্দ্বী বিবেচনা খরচ ও কোলাহল: অনেক সেবা জুড়ে পূর্ণ ট্রানজিটিভ তালিকা একটি বড়, ঘূর্ণায়মান তালিকা তৈরি করে, এবং অতি-সতর্কতা মানুষকে তা উপেক্ষা করতে প্রশিক্ষিত করে, তাই আপনাকে ঠিক করতে হবে কোন গভীরতা ও কোন তীব্রতা আসলে কাজ ট্রিগার করে। আলোচনায় প্রমাণ আনুন: এখনই একটি প্রোডাকশন সেবার জন্য একটি নতুন SBOM তৈরির চেষ্টা করুন, কতগুলো উপাদান সরাসরি বনাম ট্রানজিটিভ গুনুন, এবং কত সময় লেগেছে মাপুন। একটি এন্টারপ্রাইজ বা সরকারি সংস্থার জন্য এটি একটি সুনির্দিষ্ট ঘটনা-সাড়া লক্ষ্য এবং প্রভাবিত উপাদান প্রকাশের যেকোনো নিয়ন্ত্রক কর্তব্যে বাঁধুন, কারণ আপনি গণনা করতে পারেন না এমন উন্মুক্ততা প্রতিবেদনের আদেশ এমন আদেশ যা আপনি ভাঙবেন।
একটি জটিল নির্ভরতাকে বিনামূল্যের গণ্য করার বদলে কখন তাতে অর্থায়ন, অবদান বা তত্ত্বাবধান করা মূল্যবান? বেশিরভাগ প্রতিষ্ঠান ওপেন সোর্স ভোগ করে একটি উপযোগিতার মতো, তারপর বিস্মিত হয় যখন একটি রাজস্ব সেবার নিচের উপাদান একজন অবৈতনিক স্বেচ্ছাসেবক বলে প্রমাণিত হয়। সুচিন্তিতভাবে একজন রক্ষণাবেক্ষণকারীকে অর্থায়ন, সংশোধন উজানে পাঠানো বা নিজের প্রকল্প প্রকাশ ও তত্ত্বাবধান করা ঠিক করা একটি ভঙ্গুর বিনামূল্যের ইনপুটকে টেকসই, প্রভাবিত ইনপুটে রূপান্তর করে, এবং আপনার ইঞ্জিনিয়ারদের প্রতিটি আপগ্রেডে ব্যক্তিগত প্যাচ বহন থেকে থামায়। টানাপোড়েন হলো অবদান ও তত্ত্বাবধান প্রকৃত, চলমান প্রকৌশল সময় খরচ করে এবং বুদ্ধিবৃত্তিক সম্পত্তি ও প্রক্রিয়া ওভারহেড বহন করে, তাই আপনি সবকিছুর জন্য তা করতে পারেন না। প্রমাণ আনুন: আপনার SBOM থেকে সেই মুষ্টিমেয় উপাদান চিহ্নিত করুন যাদের ব্যর্থতা একটি মিশন-জটিল সেবা থামাবে, এবং প্রতিটির রক্ষণাবেক্ষণকারী সংখ্যা, তহবিল এবং আপনি ইতিমধ্যে তার বিপরীতে কতগুলো ব্যক্তিগত প্যাচ বহন করছেন নোট করুন। একটি বড় বা জনসাধারণের প্রতিষ্ঠানের জন্য আপনি জাঁকজমকে প্রকাশ করা একটি পরিত্যক্ত ওপেন-সোর্স রিলিজের সুনামগত খরচ ওজন করুন, এবং সরকারে প্রকাশিত জনগণের-অর্থ-কোডের টেকসই তত্ত্বাবধানকে সরবরাহের অংশ গণ্য করুন, ঐচ্ছিক অতিরিক্ত নয়।
আপনার ক্রয় কি আসলে আপনার দরকারি অধিকারসহ উন্মুক্ত, পুনর্ব্যবহারযোগ্য, ভালো-নথিবদ্ধ কোড সরবরাহ করে, নাকি আপনি রক্ষণাবেক্ষণ বা প্রস্থান করতে পারেন না এমন মালিকানাধীন কালো বাক্স? ওপেন-সোর্স দক্ষতা ছাড়া লেখা চুক্তি নিয়মিত একজন বিক্রেতাকে এমন নিয়ন্ত্রণ দেয় যা আপনি অনুশোচনা করবেন: বদ্ধ ফরম্যাট, প্রকাশ বা পরিবর্তনের অধিকার নেই, এবং বিক্রেতা চলে গেলে সংস্থা প্যাচ করতে পারে না এমন নির্ভরতা। নবায়নের সময় আবিষ্কার করার চেয়ে এটি আগে সঠিক করা অনেক সস্তা যে আপনি ছেড়ে যেতে পারেন না। প্রতিদ্বন্দ্বী বিবেচনা গতি ও বিক্রেতা পছন্দ: উন্মুক্ত সরবরাহ ও বহনযোগ্যতা দাবি করা ক্ষেত্র সংকীর্ণ ও পুরস্কার ধীর করতে পারে, এবং কিছু সত্যিই দরকারি সরবরাহকারী এর প্রতিরোধ করে। প্রমাণ আনুন: দুটি সাম্প্রতিক চুক্তি টানুন এবং পরীক্ষা করুন তারা লাইসেন্স শর্ত, সোর্স-কোড সরবরাহ, নথি মান, SBOM সরবরাহ এবং প্রতিষ্ঠানের রাখা অধিকার নির্দিষ্ট করে কি না। এন্টারপ্রাইজ ক্রয়ের জন্য এটি লক-ইন ও মোট-খরচ বিশ্লেষণের সঙ্গে যুক্ত করুন; সরকারের জন্য এটি ডিফল্টে-উন্মুক্ত এবং “জনগণের অর্থ, জনগণের কোড” আদেশ, এবং পুরো সিস্টেমের বদলে কেবল নিরাপত্তা-সংবেদনশীল অংশ বন্ধ করতে দেওয়া নথিবদ্ধ-ছাড় প্রক্রিয়ার সঙ্গে যুক্ত করুন।
খাতভেদে দৃষ্টিভঙ্গি
স্টার্টআপ। আপনি প্রায় সবকিছু ওপেন সোর্স থেকে জোড়েন এবং কোনো আইনজীবী নেই, তাই নিয়ম এক পাতায় রাখুন: MIT ও Apache 2.0-র মতো অনুমতিমূলক লাইসেন্স পূর্ব-অনুমোদিত, শক্তিশালী কপিলেফট অভ্যন্তরীণ টুলিংয়ের জন্য ঠিক কিন্তু পাঠানো পণ্য থেকে আটকানো, এবং যেকোনো অস্বাভাবিক কিছু একটি দ্রুত প্রতিষ্ঠাতা পর্যালোচনা পায়। পাইপলাইনে একটি লাইসেন্স ও দুর্বলতা স্ক্যান যোগ করুন এবং প্রথম দিন থেকে একটি SBOM রাখুন, কারণ এটি সঠিক করার সস্তাতম মুহূর্ত একজন অধিগ্রহণকারীর যথাযথ-যত্ন আপনার নির্ভরতা গাছ চিরুনি দেওয়ার আগে। ভয়ে কপিলেফট নিষিদ্ধ করবেন না; বুঝুন, এবং এগিয়ে যান।
ছোট ব্যবসা। কোনো ওপেন-সোর্স বিশেষজ্ঞ নেই আর বাজেট কম, তাই হেডকাউন্টের বদলে টুলিংয়ের ওপর ঝুঁকুন: বিল্ডে একটি স্ক্যানার এবং একটি সংক্ষিপ্ত অনুমোদিত-লাইসেন্স তালিকা একজন ব্যক্তির করা বেশিরভাগ কাজ করে। ভোগকে সততার সঙ্গে কেনা-বনাম-গড়া ফ্রেম করুন, কারণ একটি ভালো-রক্ষণাবেক্ষণ করা উন্মুক্ত উপাদান পুনরাবিষ্কার সাধারণত ব্যয়বহুল পছন্দ, কিন্তু আপনি কখনো তালিকা করেন না এমন একটির ওপর নির্ভর করাও তাই। আপনি কী ব্যবহার করেন এবং কোন লাইসেন্সে তার একটি সরল রেকর্ড রাখুন, যাতে একটি গ্রাহক নিরাপত্তা প্রশ্নমালা বা দুর্বলতা সতর্কতা হুড়োহুড়ি না হয়।
এন্টারপ্রাইজ। পরিসরে সমস্যা অনেক দল জুড়ে সামঞ্জস্য, তাই নীতি, স্বয়ংক্রিয় স্ক্যানিং, স্বীকৃতি তৈরি এবং অবদান শাসনের মালিক হতে একটি OSPO দাঁড় করান, এবং বাছাই করা, পূর্ব-পরীক্ষিত উপাদানের মাধ্যমে সম্মত পথকে দ্রুততম পথ করুন। পাইপলাইনে প্রতি প্রেক্ষাপটে কপিলেফট নিয়ম প্রয়োগ করুন, সেবা জুড়ে SBOM রক্ষণাবেক্ষণ করুন, এবং নির্ভরতা সতেজতা ও জীবনের শেষ অনুসরণ করা পরিচালনগত ঝুঁকি হিসেবে পরিচালনা করুন। ওপেন সোর্সকে অধিগ্রহণ যথাযথ-যত্নের জন্য নিরীক্ষা-প্রস্তুত প্রমাণসহ আপনার কোডবেসের সংখ্যাগরিষ্ঠের সরবরাহ-শৃঙ্খল ব্যবস্থাপনা গণ্য করুন।
সরকার। উন্মুক্ততা প্রায়ই ঐচ্ছিক নয়, আদেশকৃত, তাই উন্মুক্ত মানে ডিফল্ট করুন এবং নিরাপত্তা, তৃতীয়-পক্ষ অধিকার বা গোপনীয়তার জন্য নথিবদ্ধ ছাড় প্রযোজ্য না হলে জনগণের-অর্থ-কোড প্রকাশ করুন। একটি আন্তঃ-সরকারি ক্যাটালগ পরীক্ষা করে গড়ার আগে পুনর্ব্যবহার করুন, এবং ক্রয়ে উন্মুক্ত, পুনর্ব্যবহারযোগ্য, ভালো-নথিবদ্ধ সরবরাহ ও রাখা অধিকার গাঁথুন যাতে আপনি মালিকানাধীন কালো বাক্সের বদলে রক্ষণাবেক্ষণযোগ্য কোড পান। প্রকাশিত কোডকে প্রকৃত তত্ত্বাবধানে ধরে রাখুন, এবং ছাড় প্রক্রিয়া সংকীর্ণ ও স্বচ্ছ রাখুন যাতে তা কেবল যা বন্ধ করতে হবে তাই বন্ধ করে।
উদাহরণ
স্টার্টআপ। একটি মোবাইল অ্যাপ গড়া চারজনের একটি স্টার্টআপ প্রায় সবকিছু ওপেন সোর্স থেকে জোড়ে এবং কর্মীতে কোনো আইনজীবী নেই। ভয়ে কপিলেফট নিষিদ্ধ করার বদলে প্রতিষ্ঠাতারা এক পাতার নীতি লেখেন: MIT ও Apache 2.0-র মতো অনুমতিমূলক লাইসেন্স পূর্ব-অনুমোদিত, GPL-এর মতো শক্তিশালী কপিলেফট অভ্যন্তরীণ টুলিংয়ের জন্য ঠিক কিন্তু প্রকাশ কর্তব্য এড়াতে পাঠানো অ্যাপ থেকে আটকানো, এবং যেকোনো অস্বাভাবিক কিছু একটি দ্রুত প্রতিষ্ঠাতা পর্যালোচনা পায়। তারা পাইপলাইনে একটি লাইসেন্স ও দুর্বলতা স্ক্যান যোগ করে যাতে একটি নিষিদ্ধ লাইসেন্স একটি রিলিজে পিছলাতে না পারে, প্রথম দিন থেকে একটি SBOM রাখে, এবং একটি জটিল লাইব্রেরিতে একটি ছোট সংশোধন উজানে পাঠায় যাতে প্রতিটি আপগ্রেডে ব্যক্তিগত প্যাচ বহন বন্ধ করে। এটি আগে সঠিক করা তাদের একটি বেদনাদায়ক বিস্ময়ও বাঁচায় যখন একজন অধিগ্রহণকারীর যথাযথ-যত্ন শেষ পর্যন্ত নির্ভরতা গাছ চিরুনি দেয়।
এন্টারপ্রাইজ। একটি বিতরিত পণ্য পাঠানো সফটওয়্যার বিক্রেতা একটি OSPO চালায়। OSPO একটি অনুমোদিত-লাইসেন্স তালিকা, একটি অভ্যন্তরীণ বাছাই করা উপাদান রিপোজিটরি, এবং প্রতিটি পাইপলাইনে স্বয়ংক্রিয় লাইসেন্স ও দুর্বলতা স্ক্যানিং রক্ষণাবেক্ষণ করে। একজন ডেভেলপার একটি নতুন নির্ভরতা টানলে পাইপলাইন নীতির বিপরীতে তার লাইসেন্স পরীক্ষা করে, পণ্যের সঙ্গে যাওয়া স্বীকৃতি নোটিশ তৈরি করে, এবং পর্যালোচনা লাগে এমন যেকোনো কিছু চিহ্নিত করে। শক্তিশালী-কপিলেফট উপাদান অভ্যন্তরীণ টুলিংয়ের জন্য অনুমোদিত কিন্তু প্রকাশ বাধ্যবাধকতা এড়াতে বিতরিত পণ্য থেকে আটকানো। কোম্পানি কয়েকটি জটিল নির্ভরতায় সংশোধন উজানে পাঠায়। তা ব্যক্তিগত প্যাচের ব্যাকলগ নির্মূল করেছে যা তার ইঞ্জিনিয়াররা প্রতিটি আপগ্রেডে বহন করত।
সরকার। একটি জাতীয় ডিজিটাল সেবা “জনগণের অর্থ, জনগণের কোড” নীতির অধীনে কাজ করে। নতুন সেবা উন্মুক্ত মানে গড়া, ডিফল্টে একটি জনসাধারণের কোড রিপোজিটরিতে উন্মুক্তভাবে বিকশিত, এবং সংস্থা জুড়ে পুনর্ব্যবহৃত। এর ক্রয় টেমপ্লেট বিক্রেতাদের উন্মুক্ত, ভালো-নথিবদ্ধ, পুনর্ব্যবহারযোগ্য কোড সরবরাহ করতে দাবি করে, সরকার প্রকাশ ও পরিবর্তনের অধিকার রাখে। একটি নতুন উপাদান শুরুর আগে দলগুলো বিদ্যমান পুনর্ব্যবহারযোগ্য কোডের জন্য একটি আন্তঃ-সরকারি ক্যাটালগ অনুসন্ধান করে। নিরাপত্তা-সংবেদনশীল মডিউল পুরো সিস্টেম বদ্ধ করার বদলে একটি নথিবদ্ধ প্রক্রিয়ার মাধ্যমে প্রকাশ থেকে ছাড় পায়।
ব্যবসায়িক যুক্তি: প্রেরণা, ROI ও TCO
ভালোভাবে ওপেন সোর্স পরিচালনা হলো এর বিপুল লিভারেজ ধরা এবং এর লুকানো খরচ দেওয়ার মধ্যে পার্থক্য। ওপেন সোর্স একটি বড় প্রতিষ্ঠানকে এমন ভিত্তির ওপর দাঁড়াতে দেয় যা সে কখনো গড়ার সামর্থ্য পেত না। কিন্তু মালিকানার মোট খরচ-এ সম্মতি, নিরাপত্তা প্যাচিং এবং শেষ পর্যন্ত মাইগ্রেশন আছে, খরচ যা আপনি পরিকল্পনা করুন বা না করুন আসে। সুচিন্তিত ব্যবস্থাপনা অপূর্বাভাসযোগ্য, ব্যয়বহুল সংকটকে ছোট, স্থির, পরিকল্পিত খরচে রূপান্তর করে। সেই সংকটে আছে অধিগ্রহণ যথাযথ-যত্নের সময় পাওয়া একটি কপিলেফট লঙ্ঘন, একটি পরিত্যক্ত উপাদান থেকে জরুরি মাইগ্রেশন, বা কেউ জানত না এমন নির্ভরতার একটি দুর্বলতা।
গ্রহণ খরচ উন্মুক্ততার তুলনায় সামান্য: একটি OSPO বা কার্যদল, স্ক্যানিং টুলিং, এবং একটি তালিকা রাখার শৃঙ্খলা। গ্রহণ না করার খরচ দেখা দেয় আইনি দায়, ব্যর্থ যথাযথ-যত্ন, অপ্যাচড নির্ভরতায় ফিরে যাওয়া নিরাপত্তা ঘটনা, এবং স্থগিত আপগ্রেডের চক্রবৃদ্ধি ব্যয় যা শেষ পর্যন্ত বেদনাদায়ক বিগ-ব্যাং মাইগ্রেশন বাধ্য করে। নেতৃত্বের কাছে যুক্তি দিতে ওপেন-সোর্স ব্যবস্থাপনাকে আপনার কোডবেসের সংখ্যাগরিষ্ঠের সরবরাহ-শৃঙ্খল ব্যবস্থাপনা হিসেবে ফ্রেম করুন। কৌশলগত সুবিধাও নোট করুন: এড়ানো লক-ইন, দ্রুততর ডেলিভারি, প্রতিভা আকর্ষণ এবং আপনি নির্ভর করেন এমন ইকোসিস্টেমের ওপর প্রভাব। সরকারে আদেশ মাত্রা যোগ করুন। উন্মুক্ততা প্রায়ই ঐচ্ছিক নয়, প্রয়োজনীয়, এবং ভালোভাবে করা অ-সম্মতি ও নকল সরকারি ব্যয় দুটিই এড়ায়।
অ্যান্টি-প্যাটার্ন ও ফাঁদ
- কপি-পেস্ট লাইসেন্সিং। ডেভেলপাররা কোনো লাইসেন্স পরীক্ষা ছাড়া উপাদান টানে, নিরীক্ষা বা অধিগ্রহণের সময় বাধ্যবাধকতা আবিষ্কার করে।
- কোনো তালিকা নেই। একটি দুর্বলতা বা লাইসেন্স প্রশ্ন ভাঙলে “আমরা কী ব্যবহার করি, কোন লাইসেন্সে?”-র উত্তর দিতে না পারা।
- কপিলেফট আতঙ্ক। বোঝার বদলে ভয়ে সব কপিলেফট নিষিদ্ধ করা, মূল্যবান ইকোসিস্টেম ছেড়ে।
- পরিত্যক্ত ওপেন-সোর্স রিলিজ। জাঁকজমকে একটি প্রকল্প প্রকাশ করে তারপর কখনো রক্ষণাবেক্ষণ না করা, সুনাম ক্ষতিগ্রস্ত করা।
- ট্রানজিটিভ নির্ভরতা উপেক্ষা। সরাসরি নির্ভরতা যাচাই করা যখন প্রকৃত ঝুঁকি কয়েক স্তর গভীরে লুকায়।
- জীবনের শেষের বিস্ময়। একটি মূল উপাদান মাস আগে সমর্থন হারিয়েছে আবিষ্কার করা, কেবল যখন একটি দুর্বলতা মনোযোগ বাধ্য করে।
- কপি করার চেয়ে ধীর নীতি। এত ভারী সম্মতি প্রক্রিয়া যে ডেভেলপাররা তা এড়ায়, অদৃশ্য ছায়া নির্ভরতা তৈরি করে।
- সরকারি কালো বাক্স। উন্মুক্ত-ডিফল্ট নীতি লঙ্ঘন করে সংস্থা রক্ষণাবেক্ষণ, ভাগ বা প্রস্থান করতে পারে না এমন মালিকানাধীন সিস্টেম ক্রয়।
পরিপক্বতা মডেল
স্তর 1: সূচনা। ডেভেলপাররা কোনো নীতি বা তালিকা ছাড়া অবাধে ওপেন সোর্স যোগ করে। লাইসেন্স অপরীক্ষিত এবং কপিলেফট বাধ্যবাধকতা অজানা। জীবনের শেষ দুর্ঘটনাক্রমে আবিষ্কৃত হয়, সাধারণত যখন একটি দুর্বলতা মনোযোগ বাধ্য করে। কেউ ওপেন-সোর্স কৌশলের মালিক নয়।
স্তর 2: বিকাশ। একটি মৌলিক নীতি ও অনুমোদিত-লাইসেন্স তালিকা আছে, এবং কিছু দল সেগুলো অনুসরণ করে। স্ক্যানিং ঘটে, কিন্তু প্রায়ই ম্যানুয়ালি, দেরিতে বা কেবল কয়েকটি প্রকল্পে। বড় সিস্টেমের জন্য একটি তালিকা রাখা হয় যখন ট্রানজিটিভ নির্ভরতা মানচিত্র করা হয় না। অবদান ও জীবনের শেষ সামলানো অ্যাড হক এবং দল-ধরে-দল অসঙ্গত।
স্তর 3: মানসম্মতকরণ। একটি OSPO বা সমতুল্য প্রতিষ্ঠান-ব্যাপী কৌশল, নীতি ও টুলিংয়ের মালিক। লাইসেন্স ও দুর্বলতা স্ক্যানিং প্রতিটি পাইপলাইনে স্বয়ংক্রিয়, স্বীকৃতি ও নোটিশ ফাইল স্বয়ংক্রিয়ভাবে তৈরি হয়, এবং বিল্ড গেট করা যাতে একটি নিষিদ্ধ লাইসেন্স ঢুকতে না পারে। SBOM ট্রানজিটিভ গাছ পর্যন্ত রক্ষণাবেক্ষণ করা হয়, অবদান একটি নথিবদ্ধ প্রক্রিয়া অনুসরণ করে, জীবনের শেষ পরিকল্পিত মাইগ্রেশনসহ অনুসরণ করা হয়, এবং সরকারি দল ডিফল্টে প্রকাশ করে।
স্তর 4: ব্যবস্থাপনা। কর্মসূচি ভিত্তিরেখার বিপরীতে মাপা ও নিয়ন্ত্রিত। আপনি সেবা জুড়ে নীতি-স্ক্যান কভারেজ, একটি প্রকাশিত নির্ভরতা দুর্বলতা প্যাচ করার গড় সময়, নিরাপত্তা-সমর্থন জানালার ভেতরে উপাদানের অংশ, লাইসেন্স-লঙ্ঘন পালানোর হার, নির্ভরতা-সতেজতা বিলম্ব, এবং উজানে বহন করা ব্যক্তিগত প্যাচের গণনা অনুসরণ করেন। বিতরণ সীমানার সাপেক্ষে কপিলেফট স্থান পর্যবেক্ষিত হয়, এবং লক্ষ্যের বিপরীতে মেট্রিক মতামতের বদলে প্রতিটি যাওয়া-না-যাওয়ার সিদ্ধান্ত চালায়।
স্তর 5: সমন্বয়। ওপেন সোর্স প্রতিষ্ঠান জুড়ে একীভূত একটি নিরন্তর উন্নত কৌশলগত সম্পদ। সম্মতি সম্পূর্ণ স্বয়ংক্রিয় এবং অসম্মত উপাদান প্রোডাকশনে পৌঁছাতে পারে না। আপনি জটিল উজান প্রকল্পে সুচিন্তিতভাবে বিনিয়োগ করেন, রুটিনভাবে অবদান রাখেন, এবং নিজের ভালো-চালানো প্রকল্প তত্ত্বাবধান করেন। ঝুঁকি ও মেট্রিক সরলে নির্ভরতা সতেজতা ও জীবনের শেষ অভিযোজিতভাবে পরিচালিত হয়, এবং উন্মুক্ততা একটি প্রকৃত প্রতিযোগিতামূলক ও নাগরিক সুবিধা হয়ে ওঠে।
আলোচনার ভাবনা
- আইনি ও নিরাপত্তা ঋণ এড়াতে দরকারি নিয়ন্ত্রণ ও একটি দ্রুত অনুমতিমূলক ডিফল্টের মধ্যে সঠিক রেখা কোথায়?
- একটি প্রতিষ্ঠানের কখন একটি জটিল উজান নির্ভরতাকে বিনামূল্যের গণ্য করার বদলে তাতে অর্থায়ন বা রক্ষণাবেক্ষণ করা উচিত?
- আপনার নিজস্ব উপাদানের কোনগুলো ওপেন সোর্স হিসেবে প্রকাশ ও তত্ত্বাবধানের যোগ্য আপনি কীভাবে ঠিক করেন?
- সরকারের জন্য নীতি ক্ষয় না করে ডিফল্টে-প্রকাশ থেকে উপাদান ছাড় দেওয়ার একটি রক্ষণযোগ্য প্রক্রিয়া কী?
- ট্রানজিটিভ নির্ভরতায় লাইসেন্স ও নিরাপত্তা পর্যালোচনা বাস্তবসম্মতভাবে কত গভীরে যেতে হবে?
- নেটওয়ার্ক কপিলেফট (AGPL) কি আপনি সেবা হিসেবে দেওয়া সফটওয়্যারের জন্য আপনার গড়া-বনাম-গ্রহণ হিসাব বদলে?
প্রধান শিক্ষা
- ওপেন সোর্স বেশিরভাগ কোডবেসের সংখ্যাগরিষ্ঠ এবং বিনামূল্যের ও পরিণতিহীন গণ্য না করে সরবরাহ শৃঙ্খল হিসেবে পরিচালনা করতে হবে।
- লাইসেন্স প্রকৃত বাধ্যবাধকতা বহন করে; অনুমতিমূলক, দুর্বল-কপিলেফট, শক্তিশালী-কপিলেফট ও নেটওয়ার্ক-কপিলেফট পরিবার এবং বিতরণ ও মেলানো কীভাবে কর্তব্য ট্রিগার করে তা বুঝুন।
- বাছাই, স্বয়ংক্রিয় স্ক্যানিং ও স্পষ্ট ডিফল্টের মাধ্যমে সম্মত পথকে দ্রুততম পথ করুন, নইলে ডেভেলপাররা নীতি এড়াবে।
- পরিসরে কৌশল, সম্মতি, অবদান ও তত্ত্বাবধানের মালিক হতে একটি OSPO স্থাপন করুন।
- একটি SBOM রাখুন, ছোট ধাপে নির্ভরতা হালনাগাদ রাখুন, এবং সংকট বাধ্য করার আগে জীবনের শেষের পরিকল্পনা করুন।
- সরকারে উন্মুক্ত মান ডিফল্ট করুন এবং জনগণের-অর্থ-কোড প্রকাশ করুন, গড়ার আগে পুনর্ব্যবহার করে।
তথ্যসূত্র ও আরও পড়ার জন্য
- Heather Meeker, Open (Source) for Business and Open Source for Business
- Van Lindberg, Intellectual Property and Open Source
- The Linux Foundation and TODO Group, OSPO guides and Open Source Program Office resources
- OpenChain (ISO/IEC 5230), Open Source Licence Compliance
- Software Package Data Exchange (SPDX, ISO/IEC 5962) specification
- CycloneDX SBOM specification
- Free Software Foundation, GNU General Public Licence and GPL FAQ
- Open Source Initiative, The Open Source Definition and approved licence list
- Free Software Foundation Europe, Public Money, Public Code
- U.S. Federal Source Code Policy and Code.gov guidance
- UK Government, Technology Code of Practice and open-standards principles