گاهی ممکن است صدور مجوز (لایسنس) اپنسورس، به فرآیندی پیچیده تبدیل شود. در واقع، این روزها بسیاری از برنامهها شامل تنها ۲۰٪ کد اصلی و جدید هستند که بر مبنای ۸۰٪ کد اپنسورس از قبل موجود نوشته شدهاند و این موضوع، خود سبب ایجاد پیچیدگیهایی در کسب مجوز برای برنامهٔ تازه تولید شده میشود (برای آشنایی بیشتر با قانون ۸۰/۲۰، به مقالهٔ قانون ۸۰/۲۰ (اصل پارِتو) چیست؟ مراجعه نمایید). برای سادهتر کردن فرآیند کسب مجوزهای اپنسورس، گیتهاب یک ابزار اپنسورس تحت عنوان Licensed در اختیار دولوپرها قرار داده است که میتواند بخشی از فرآیند کسب مجوز اپنسورس را برای این دست پروژهها به صورت خودکار انجام دهد.
لازم به ذکر است که سیاست گیتهاب مبنی بر عدم مداخله در کسب مجوز، سبب شده بود تا در چند سال اخیر ۷۷٪ از کل ریپازیتوریهای گیتهاب هیچگونه مجوزی نداشته باشند که به نظر میرسد اگر این موضوع برای شما اهمیتی ندارد، احتمالاً شما جزو آن دسته از دولوپرها هستید که قصد تجاریسازی برنامههای خود را ندارید!
Licensed به دولوپرها کمک میکند تا در رابطه با وابستگیهای هر اپلیکیشن، مواردی را که احتمالاً موجب ایجاد مشکل در فرآیند کسب مجوز اپنسورس خواهند شد، در اپلیکیشن خود شناسایی و رفع نمایند (Dependency یا وابستگی چیزی است که اجرای درست یک برنامه به آن وابسته است).
کار Licensed بدین شکل است که در ریپازیتوریهای گیت، متادیتای مجوز وابستگیها را شناسایی کند؛ در واقع، این ابزار میتواند در یک ریپازیتوری واحد، وابستگیهای مختلف موجود در چندین پروژه مانند انواع زبانها و پکیج مَنِجرها را شناسایی کند. این انعطافپذیری این امکان را برای Licensed فراهم آورده است که در مورد یک ریپازیتوری حاوی هزاران پروژه به همان خوبی عمل کند که در مورد یک ریپازیتوری حاوی تنها یک پروژه عمل میکند.
این برنامهٔ اپنسورس گیتهاب، اصطلاحاً اپلیکیشن-محور است؛ به عبارت دیگر، در برنامهٔ Licensed، یک اپلیکیشن به عنوان ترکیبی از یک Source Path و یک Cache Path تعریف شده است. این برنامه، وابستگیهای موجود در هر یک از اپلیکیشنهای شما را پیدا کرده سپس Source Path هر یک از وابستگیهای شناسایی شده را یافت نموده و متادیتای اصلی آنها (مانند Name ،Version ،Homepage و Summary) را استخراج میکند. Licensed پس از استخراج این دادهها، از برنامهٔ Licensee استفاده نموده و مجوز هر یک از وابستگیها و متن مجوز را شناسایی میکند. سپس Licensed متادیتا و اطلاعات مجوز همهٔ وابستگیهای اپلیکیشن را گردآوری نموده و در اختیار شما قرار میدهد. پس از آن شما میتوانید در هر جایی که نیاز داشتید، یک کپی از این فایل را قرار دهید.
Licensed نه تنها با ایجاد این فایل کار را برای شما آسان میکند، بلکه فهرستی از مجوزهای اپنسورس اجزاء مختلف اپلیکیشن شما فراهم میکند و هنگامی که مشکلی را شناسایی نماید، وابستگیای که نیاز به بررسی دارد را گزارش مینماید.
این ابزار با یکپارچهسازی مداوم اطلاعات، تضمین میکند که همهٔ وابستگیها شرایط و ضروریات مجوز اپنسورس را دارند که این موضوع میتواند بسیاری از دولوپرها را از بررسی مکرر مجوزها بینیاز کند.
Licensed پیش از این، کارایی خود را در گیتهاب ثابت کرده است. اگر شما هم میخواهید با استفاده از این ابزار فرآیند صدور مجوز اپلیکیشنهای خود را آسانتر نمایید، به ریپازیتوری Licensed در گیتهاب مراجعه کرده، آن را امتحان کنید و دیدگاهها و تجربیات خود از استفادهٔ آن را با دیگر کاربران سکان آکادمی به اشتراک بگذارید.