Open Source litsenziya va cheklovlar
1) Nima uchun iGaming-da OSS va xavf-xatarlar qayerda
OSS platformani ishlab chiqishni tezlashtiradi (oʻyin fronti/bek, toʻlov integratsiyalari, antifrod, tahlillar), lekin litsenziyalashdagi xatolar yopiq kodni oshkor qilishga, relizlarni blokirovka qilishga va provayderlar bilan nizolarga olib keladi. Bizga: aniq siyosat, qaramliklar reyestri (SBOM), audit jarayonlari va litsenziyalarni toʻgʻri tanlash kerak.
2) Litsenziyalar xaritasi: turlari va ma’nosi
2. 1 Permissive (ruxsat beruvchi)
MIT, BSD-2/3-Clause, Apache-2. 0
Asosiy vazifa - xabarnoma/nusxa nusxasini Apache-2 saqlash. 0 shuningdek, patent granti + «defensive termination».
Muvofiq: UI-fraymvorkov, utilit, SDK-mijozlar, loging kutubxonalari/MTTR.
2. 2 Weak copyleft (zaif kopileft)
MPL-2. 0, LGPL-2. 1/3. 0
Oʻzgarishlarni kutubxona/modul ichida ochish talab etiladi, lekin butun loyiha emas.
LGPL bilan dinamik linkovka odatda shartlarni bajarishda mumkin (foydalanuvchi tomonidan versiyani almashtirish imkoniyati, xabarnoma).
2. 3 Strong copyleft (kuchli kopileft)
GPL-2. 0/3. 0, AGPL-3. 0
Sizning kodingiz bilan «ulanganda» hosilani xuddi shu litsenziya ostida ochish majburiyati paydo bo’ladi («tivoization», «SaaS-tutashuv» shartlari AGPLni yopadi).
O’yin yadrosi, antifrod, to’lov shlyuzlarining yopiq modullari uchun xavf.
3) Linkovka va «hosila asar» (soddalashtirilgan holda)
GPL bilan statik linkovka → «yuqtirish» xavfi yuqori.
LGPL → bilan dinamik linkovka odatda shartlarga rioya qilinganda (almashtirish, bildirishnoma) mumkin.
IPC/REST/gRPC, alohida jarayonlar → ishlab chiqarish xavfini kamaytiradi, lekin tahlilni bekor qilmaydi (AGPL «tarmoq orqali» «ulanish» deb talqin qiladi).
Plaginlar/skriptlar → haqiqiy integratsiyaga qarab baholanadi (API barqarorligi, manzilli makonga yuklash).
4) Patentlar va shartlar
Apache-2. 0 muallifning patentlarini litsenziyalashni beradi → patent da’volari xavfini kamaytiradi.
GPL-3. 0/AGPL-3. 0 anti-patent/anti-circumvention qoidalariga ega.
Agar sizning modulingiz patent ahamiyatiga ega bo’lsa (RNG-matematika, antifrod-algoritmlar) - patent grantisiz litsenziyalardan qoching yoki tijorat bitimlariga alohida patent kovenantlarini qo’shing.
5) OSS bo’yicha majburiyatlar: aniq nima qilish kerak
Ogohlantirishlarni saqlash/NOTICE (permisisve).
Kopileft komponentlarining modifikatsiyalarini (MPL/LGPL/GPL) va qayta yig’ish usulini ochib berish.
GPL/LGPL ostida (va AGPL ostida tarmoq orqali) binarniklarni tarqatishda manbalarni taqdim etish.
Litsenziyani «Dastur haqida «oynasida/« OSS Credits »sahifasida koʻrsatish.
Ta’minotdagi uch qismli litsenziyalarni kuzatish (o’yin vendorlari/SDK/mobil bildlar).
6) Platforma uchun OSS siyosati (tavsiya etilgan minimal)
1. Litsenziyalar tasnifi: yashil (MIT/BSD/Apache/MPL), sariq (shartlarda LGPL), qizil (yopiq qismlar uchun GPL/AGPL/SSPL).
2. Komponentga ruxsat berish jarayoni: so’rov → yuridik va texnik baholash → SBOMga yozuv → davriy audit.
3. Kopileft izolatsiyasi: alohida jarayon/mikroservis, gRPC/HTTP chegarasi, statik linkovka yoʻq.
4. Yigʻish boʻyicha SBOM: har bir prod/stage chiqarilishi uchun.
5. Xabarnomalar va manbalar: NOTICE/THIRD-PARTY avtomatik ishlab chiqarish va manbalarni kerakli joyga joylashtirish.
6. Omonatlar (upstream): CLA/DCO, sirlar/patentlar yo’qligini tekshirish, Legal bilan kelishish.
7. Security: zaifliklarni tekshirish, patch siyosati, zaif versiyalarni waiversiz «pin» ni taqiqlash.
7) tipik iGaming zonalaridagi OSS (best practice)
O’yin matematikasi/RNG: GPL/AGPL’dan qochish; oʻz kodini yoki permissive kutubxonasini afzal koʻring.
UI/mijoz: React/Vue/bandlerlar - permissive → ok, litsenziyalar va shriftlarni kuzatib boring.
To’lovlar/KS: SDK vendorlari qat’iy ToS bilan; kopileft bilan aralashtirmaslik.
Observabiliti/DevOps: Prometheus/Grafana/Elastic - ularning litsenziyalarini hisobga olish (OSS bo’lmagan modullarning bir qismi); «server side» shartlarini oʻqish.
Antifrod/skoring: model/qoidalar - proprietar; uchinchi tomon liblari - permissive/MIT/Apache.
8) Muvofiqlik jadvali (qisqacha)
9) Xavf matritsasi (RAG)
10) Chek-varaqlar
Kutubxonani qoʻshishdan oldin
- Kutubxona litsenziyasi «yashil/sariq» ro’yxatda.
- Sink mosligi tekshirildi (static/dynamic/IPC).
- SBOM + versiya + manba.
- Ogohlantirishlar yaratildi (LICENSE/NOTICE).
Chiqarishdan oldin
- SBOM yigʻish uchun saqlangan (prod/stage).
- Zaiflik skaneri o’tdi; kritik - yopiq yoki waiver.
- Talab qilinadigan manbalar/yamalar berishga tayyor (agar kerak bo’lsa).
- «OSS Credits »/About sahifasi yangilandi.
Omonatlar uchun (contributions)
- CLA/DCO imzolandi.
- Sirlar/patentlar yo’qligini tekshirish.
- Mualliflik huquqi/nusxasi to’g "ri yozilgan.
11) OSS siyosati (parchalar)
11. 1 Tasniflash
green: [MIT, BSD-2, BSD-3, Apache-2. 0, MPL-2. 0]
amber: [LGPL-2. 1, LGPL-3. 0] # speaker only/IPC + conditions red: [GPL-2. 0, GPL-3. 0, AGPL-3. 0, SSPL] # disallow for closed modules
11. 2 Ruxsat berish jarayoni
request → legal+tech review → approve/deny → SBOM entry → periodic audit
11. 3 Kopileftni izolyatsiya qilish
Alohida xizmat, tarmoq interfeysi, binarlar birlashmasi, statik linkovka yoʻq.
Kutubxonalarni yig’ish va yangilash hujjatlari (LGPL/MPL).
12) Reyestrlar (YAML-shablonlar)
12. 1 SBOM / third-party
yaml component: "rng-core-utils"
version: "1. 8. 2"
license: "Apache-2. 0"
source: "maven:com. example:rng-core:1. 8. 2"
linkage: "dynamic"
notices: ["apache-2. 0. txt"]
security:
cvEs: []
owner: "Engineering"
approved_by: ["Legal","Security"]
approved_at: "2025-11-05"
12. Ochish uchun 2 OSS manbalari
yaml package: "lgpl-math-lib"
our_version: "2. 3. 1-gamblehub"
license: "LGPL-3. 0"
modified_files: ["matrix. c","fft. c"]
public_src_url: "https://example. com/oss/lgpl-math-lib-2. 3. 1-src. zip"
build_instructions: "BUILD. md"
12. 3 Omonatlar reyestri (upstream)
yaml project: "open-telemetry"
pr: 4521 author: "dev_a"
cla: true dco: true files: ["exporter. go"]
review_legal: "2025-10-28"
status: "merged"
13) Xavfsizlik va muvofiqlik
SCA/SAST - CI, yangi qaramliklarni avtoskanlash.
Patch siyosati: P1 zaiflik - ≤ 72 soat, P2 - ≤ 14 kun.
Artefaktlar keshi: asl LICENSE/NOTICE’ni saqlang; xeshlarning yaxlitligini tekshiring.
Eksport/sanksiyalar: taqiqlangan mamlakatlar tarkibiy qismlaridan/oynalaridan foydalanmang; Tekshirishlarni qayd qiling.
14) Pleybuklar (operatsion stsenariylar)
P-OSS-01: Yopiq modulda GPL aniqlandi
Aloqalarni inventarizatsiya qilish → izolyatsiya/almashtirish varianti → yuridik xulosa → reliz-fiks → jarayon bo’yicha retro.
P-OSS-02: Boshlang’ich manbalar talabi
Majburiyatlar hajmini aniqlash → arxivlarni tayyorlash va NOTICE → hujjatlarni qonuniy muddatda topshirish → yangilash.
P-OSS-03: Tanqidiy zaiflik
Backport/yangilanish → navbatdan tashqari reliz → manfaatdorlarni xabardor qilish → post-dengiz va pinning qoidalari.
15) Mini-FAQ
LGPL ishlatish mumkinmi? Ha, dinamik linkovka/IPC va shartlarga rioya qilinganda (almashtirilishi, bildirishnomalar).
Binarsiz AGPL xavfsiz emasmi? Yo’q: AGPL tarmoq orqali xizmat ko’rsatuvchi foydalanuvchilarga manbalarni taqdim etishni talab qiladi.
Patent granti kerakmi? Algoritmik yangiliklarga ega modullar uchun maqbul; Apache-2. 0 afzalroq.
Saytingizda OSS koʻrsatish kifoya qiladimi? Yo’q, barcha talablarni bajaring: xabarnomalar, manbalar, ko’rsatmalar.
16) Xulosa
OSS bilan ishlash - bu bir martalik tekshirish emas, balki jarayon: ruxsat standartlari, kopileftni izolyatsiya qilish, avtomatlashtirilgan bildirishnomalar va har bir yig’ish uchun to’liq SBOM. Ushbu maqolaga amal qilib, siz ishlab chiqish tezligini saqlab qolasiz va «tarmoq kopileftidan» patent da’volarigacha bo’lgan huquqiy tuzoqlardan qochasiz.