خلاصه در ۶۰ ثانیه
- قابلیت Open source license compliance برای مشتریان GitHub Enterprise Cloud با GitHub Code Security به GA رسیده است.
- سیاست مجوز میتواند در سطح Enterprise تعریف و با Ruleset روی Repositoryها اعمال شود.
- شرط «Require license compliance results before merging» میتواند نتیجهٔ بررسی dependencyهای تازه یا تغییرکرده را وارد مسیر Merge کند.
اصل خبر چیست؟
خبر مهم فقط اضافهشدن یک Check جدید نیست؛ GitHub میخواهد تصمیم حقوقی و فنی دربارهٔ مجوز dependencyها از فایلهای پراکنده و review دستی، به یک Policy مرکزی و قابل ممیزی نزدیک شود. برای سازمانی که دهها یا صدها Repository دارد، تفاوت واقعی اینجاست: مجوز یک کتابخانه دیگر صرفاً مسئلهٔ تیم حقوقی در انتهای پروژه نیست و میتواند همان جایی دیده شود که dependency وارد کد میشود.
این گزارش ترجمهٔ خطبهخط منبع نیست؛ تحریریهٔ IROSG اطلاعات اعلامشده را از منبع رسمی استخراج کرده و آن را با زبان فارسی روان، context فنی و نکات عملی بازنویسی کرده است. لینک منبع اصلی در انتهای صفحه قرار دارد تا هر ادعا قابل پیگیری باشد.

چرا مهم است؟
برای شرکتهای محصولی، مسئلهٔ اصلی کاهش فاصلهٔ زمانی بین «ورود dependency» و «کشف ریسک مجوز» است. هرچه این فاصله کوتاهتر باشد، جایگزینی یک کتابخانه کمهزینهتر است. این ویژگی بهخصوص برای تیمهایی که از package ecosystemهای متعدد استفاده میکنند یا محصول را به مشتریان سازمانی تحویل میدهند مهم است.
برای تصمیم عملی، چهار سؤال را کنار خبر نگه دارید: این تغییر دقیقاً روی کدام دارایی یا workflow ما اثر دارد؟ چه چیزی قبل و بعد قابل اندازهگیری است؟ اگر feature یا نسخهٔ جدید شکست خورد مسیر بازگشت چیست؟ و کدام بخش خبر «اعلام سازنده» است که هنوز باید در محیط واقعی یا منبع مستقل تأیید شود؟ همین چهار سؤال جلوی تبدیل خبر فناوری به هیجان بیعمل را میگیرد.
از دید فنی چه چیزی تغییر میکند؟
این قابلیت روی سازوکار Dependency Review سوار میشود و سیاست سازمانی را با Ruleset ترکیب میکند. وقتی Pull Request dependency تازهای اضافه یا نسخهٔ موجودی را عوض میکند، GitHub میتواند مجوز آن را با Policy سازمان مقایسه کند و نتیجه را در PR نشان دهد. از دید معماری DevSecOps، این یعنی License Governance به همان نقطهای نزدیک میشود که Code Scanning، Branch Protection و Approvalها قرار دارند؛ البته کیفیت نتیجه همچنان به شناسایی درست dependency و metadata مجوز وابسته است.
چه تیمهایی باید توجه کنند؟
تیمهای Platform Engineering، AppSec، Open Source Program Office، حقوقی و مالکانی که Rulesetهای GitHub را مدیریت میکنند باید این تغییر را ببینند. توسعهدهنده هم باید بداند Fail شدن این Check الزاماً به معنی «کتابخانه ناامن» نیست؛ موضوع میتواند صرفاً ناسازگاری مجوز با Policy تجاری سازمان باشد.
برای تیم فنی، ارزش خبر وقتی ایجاد میشود که به owner و asset مشخص وصل شود. اگر هیچ سرویس، repository، endpoint، workstation یا فرایند شما با این تغییر تماس ندارد، شاید بهترین تصمیم فقط ثبت خبر و بازبینی بعدی باشد.
قبل از اقدام چه کنیم؟
قبل از فعالسازی سراسری، فهرست مجوزهای مجاز/ممنوع را با تیم حقوقی نهایی کنید، روی چند Repository آزمایشی Ruleset بسازید، false positiveها و dependencyهای بدون metadata را ثبت کنید و مسیر Exception را مشخص کنید. Policy بدون Exception process معمولاً یا دور زده میشود یا تیمها را به pin کردن dependencyهای قدیمی سوق میدهد.
روش پیشنهادی IROSG برای خبرهای محصولی ساده است: اول منبع اصلی و release note را بخوانید؛ بعد inventory محیط خودتان را استخراج کنید؛ آزمایش را روی کوچکترین دامنهٔ معنادار اجرا کنید؛ metric موفقیت و failure را قبل از آزمایش بنویسید؛ و فقط وقتی evidence دارید rollout را بزرگ کنید. اگر تغییر برگشتناپذیر است، backup و recovery test بخشی از rollout است نه کاری برای بعد.
یک سناریوی عملی برای آزمایش
یک محیط کوچک انتخاب کنید که شکست آن به کاربر واقعی آسیب نزند. قبل از تغییر، نسخهها، تنظیم مؤثر، زمان پاسخ، خطاها و یک نمونهٔ سالم از رفتار سیستم را ثبت کنید. سپس فقط یک متغیر مرتبط با همین خبر را عوض کنید و نتیجه را با baseline مقایسه کنید. اگر feature امنیتی است، یک تست منفی هم اجرا کنید تا مطمئن شوید چیزی که نباید مجاز باشد واقعاً رد میشود. اگر ابزار توسعه یا platform است، علاوه بر موفقشدن build یا deploy، زمان بازگشت، کیفیت log و امکان توضیح failure را هم بسنجید. در پایان نتیجه را با سه برچسب «آمادهٔ استفاده»، «نیازمند آزمایش بیشتر» یا «فعلاً نامناسب» ثبت کنید و دلیل تصمیم را کنار evidence نگه دارید.
چیزی که تیتر نمیگوید
مجوز نرمافزار مسئلهای حقوقی است و Check خودکار جای تحلیل حقوقی را نمیگیرد. همچنین نام مجوز در package metadata همیشه تمام تعهدات واقعی یک dependency یا کد vendored را توضیح نمیدهد. این ابزار را Gate اولیه و ابزار Governance ببینید، نه مشاور حقوقی خودکار.
چه چیزی را دنبال کنیم؟
در هفتههای بعد باید دید APIها، audit log، مدیریت Exception و پوشش ecosystemها چقدر برای سازمانهای بزرگ کامل میشود. برای تیم IROSG، مهمترین سؤال این است که آیا میتوان خروجی این Policy را با SBOM و فرایند Release Management یکپارچه کرد یا نه.
در روزهای بعد از انتشار، changelog، issue tracker، advisoryها و تجربهٔ production معمولاً جزئیاتی را آشکار میکنند که در launch post دیده نمیشود. بنابراین یک تصمیم «فعلاً نه» میتواند بهاندازهٔ adoption فوری حرفهای باشد؛ به شرطی که زمان بازبینی و معیار تغییر تصمیم ثبت شود.
جمعبندی IROSG
اگر GitHub Enterprise Cloud و Code Security دارید، این قابلیت ارزش Pilot دارد؛ چون ریسک مجوز را به لحظهٔ تصمیم فنی نزدیک میکند و Evidence قابلردیابیتری برای Audit میسازد.
در IROSG تلاش میکنیم خبر را از «چه چیزی معرفی شد؟» یک مرحله جلوتر ببریم و بپرسیم «برای معماری، امنیت و عملیات واقعی چه معنایی دارد؟». اگر منبع رسمی بعداً اطلاعات تازهای منتشر کند، این تحلیل باید با evidence جدید بازبینی شود.