مرجع آموزشهای نرمافزارهای آزاد/ متنباز - وبسایت http://opencontent.ir - صفحه اینستاگرام https://www.instagram.com/opencontent.ir - کانال تلگرام https://t.me/opencontent
مقدمهای بر مجوزهای آزاد/ متنباز
مجوزهای آزاد/ متنباز مجوزهایی هستند که با تعریف متنباز (Open Source) و نرمافزار آزاد (Free Software) مطابقت دارند.
بهطور خلاصه، مجوزهای متنباز اجازه میدهند که نرمافزار آزادانه مورد استفاده، اصلاح و به اشتراک گذاشته شود.
مجوز باید توسط Open Source Initiated که بهعنوان OSI شناخته میشود نیز تأیید شده باشد و میبایست از پروسه بازبینی مجوز Open Source Initiative استفاده نماید.
ایده اساسی متنباز توسط OSI اینگونه بیان میشود:
هنگامی که برنامهنویسان بتوانند منبع (Source) دستورالعملهای یک برنامه رایانهای را بخوانند، در آن تغییرات ایجاد کنند و در برنامههای خود از بخشهای آن استفاده کنند تا کارهای کاملتر و بهتری به دست آید، مفهوم نرمافزار متنباز متجلی میگردد. یعنی افراد و کاربران محترمند و دارای حقوق شناخته میشوند که بتوانند برنامه را برای کار خاص خود آنطور که میخواهند سازگار کرده و به کار برده و به سهولت اشکالهای احتمالی موجود در آن را از بین ببرند.
در نقطه مقابل با ساختار قانونی دنیای انحصار، کپیرایت (Copyright) از زمانی که یک نرمافزار تولید گردد به مالک آن تعلق میگیرد.
بدون وجود یک بیان روشن و صریح، اینگونه فرض میشود که دارنده کپیرایت میتواند ادعا کند تمامی حقوق به وی داده شده است و هر گونه نظریه متفاوت، باید رد شود. درواقع در صورت وجود قانونی با تعریف روشن، به دارنده کپیرایت به هیچ وجه اجازه چنین ادعایی داده نمیشود.
اینجاست که مجوزهای آزاد/ متنباز راهکار مناسبی خواهند بود.
مجوزهای آزاد/ متنباز
مجوزهای مورد تایید OSI که محبوبیت و استفاده بیشتری دارند، از این قرارند:
- GNU General Public License (GPL)
- GNU Lesser General Public License (LGPL)
- Berkeley System Distribution License (BSD)
- Mozilla Public License (MPL)
- Apache License
- PHP License
- Massachusetts Institute of Technology License (MIT)
- Python License
- Qt Public License (QPL)
- Sun Industry Standards Source License (SISSL)
- GNU Free Documentation License (GFDL)
- Open Publication License (OPL)
- Creative Commons License (CC)
در ادامه شرح مختصری از هر یک از مجوزها ارائه کردهایم:
مجوز GPL
مشهورترین مجوز متنباز، GPL یا GNU General Public License به معنای «مجوز عمومی کلی گنو» است. GPL توسط ریچارد استالمن بهعنوان راهی برای جلوگیری از سواستفاده از مفاهیم نرمافزار آزاد، تألیف شد. این مجوز چنین طراحی شده است که آزادیهای کاربر تا ابد حفظ شود. در این مجوز، کاربران مجاز هستند تقریبا هر کاری که میخواهند با برنامه از قبیل کپی کردن، توزیع کردن و تغییر آن انجام دهند.
از میان شرطهای کلیدی توزیع یک نرمافزار GPL، میتوان به موارد زیر اشاره کرد:
- توزیعکننده یک برنامه GPL باید کد منبع (Source Code) آن را نیز در اختیار دریافتکننده برنامه قرار دهد.
- هر تغییری که روی یک برنامه GPL صورت میگیرد، باید مجدداً تحت مجوز GPL عرضه شود.
- توزیعکنندگان اجازه ندارند هیچ شرطی خارج از GPL به کاربران تحمیل کنند.
دریافتکنندگان یک نرمافزار GPL نیز همچنان حق کپی، اصلاح و توزیع مجدد آن نرمافزار را همانگونه که توزیعکننده اصلی داشته است، دریافت میکنند.
شرح کامل مجوز GPL نیازمند مقاله مجزایی است که آن را در آموزشهای بعدی، از مجموعه آموزشهای مجوزهای آزاد/ متنباز تقدیمتان خواهیم کرد.
مجوز LGPL
علاوه بر مجوز GPL، گزینهای به نام LGPL وجود دارد که از محدودیت کمتری برخوردار است. مجوز LGPL، تمام آزادیهای موجود GPL را داراست. با این تفاوت که بر خلاف GPL به برنامهها و کتابخانههای تحت نظارتش امکان اتصال به نرمافزارهای تجاری را نیز میدهد. این آزادی مجوز LGPL، میتواند به گسترش کتابخانههای باز کمک نماید و میتوان امیدوار بود که به عنوان یک استاندارد واقعی و عملی شناخته شود. تغییر مجوز LGPL به مجوز GPL در هر زمانی میسر است. اما برنامههای تحت مجوز GPL را نمیتوان تحت مجوز LGPL منتشر کرد.
مجوز BSD
مجوز BSD از یک سو آزادیهای اساسی مجوز GPL نظیر دسترسی آزاد به کدهای منبع، انتقال آزاد و امکان تغییر را داراست و از سوی دیگر محدودیتهای فراوان ایجاد نمیکند. نرمافزار میتواند با تغییر یا بدون تغییر، بهعنوان کد منبع و یا به شکل دودویی (Binary) توسعه یابد.
این مجوز از آنجایی که اجازه تغییر و توزیع برنامه بدون انتشار کد منبع را میدهد، بسیار طرفدار دارد. مجوز BSD اجازه میدهد که کد منبع را محرمانه نگه دارید و سپس آن را تحت یک مجوز اختصاصی منتشر کنید. گرچه این مجوز بسیار جذاب به نظر میرسد، اما خواصِ تشویقکننده کارِ گروهی موجود در GPL را ندارد.
مجوز MPL
مجوز MPL دسترسی آزاد به نرمافزار را تضمین میکند، البته تمام تغییرات اعمال شده نیز باید به کد منبع اضافه گردند. اتصال نرمافزار متنباز به نرمافزارهای تجاریِ دیگر نیازمند فعالیت گستردهای است و نتایج میتواند در شرایط خاصی تحت یک مجوز دیگر، به غیر از مجوز MPL منتشر شود.
در این مجوز میتوان کدی را که تحت این مجوز است با کدی که تحت مجوز دیگری است ادغام کرده و نرمافزار بزرگتری بهوجود آورد. در این موارد باید مطمئن شد کلیه شرایط این مجوز برای نرمافزار جدید وجود داشته باشد؛ یعنی اینکه این مجوز تمام شرایط مجوزهای دیگری که مورد استفاده قرار گرفتهاند را داشته باشد تا در نتیجه، محصول جدید نیز تحت مجوز MPL باشد.
یکی از معایب اصلی این مجوز ناسازگاری با مجوز GPL میباشد. عدم تغییر مجوز نرمافزار تحت این مجوز دلیلی برای ناسازگار بودن آن با مجوز GPL است.
مجوز MPL اولین مجوز تجاری متنباز است و اکثر مجوزهای از این دست از این مجوز مشتق شدهاند.
مجوز Apache
این مجوز مورد استفاده وبسرور Apache و شبیه مجوزهای MIT و BSD میباشد.
تفاوت اصلی آن اینجاست که باید ذکر شود که نام تجاری Apache به همراه نرمافزار مجوزدهی نمیشود. یعنی اگر شما کد منبع Apache را تغییر دهید اجازه ندارید برنامه حاصل را Apache بنامید.
مجوز Apache نسخه ۲
این مجوز در ماه ژوئن سال ۲۰۰۴ میلادی توسط سازمان نرمافزاری Apache به وجود آمد. توزیع مجدد در این مجوز با رعایت موارد زیر امکانپذیر است:
- یک نسخه از مجوز به هر کسی که نرمافزار را دریافت میکند داده میشود.
- اگر تغییری در نرمافزار داده شده است به صراحت مشخص شود.
- باید مشخصههای کد منبع برنامه را نیز توزیع و در اختیار کسی که برنامه را دریافت میکند قرار میدهید.
- اگر برنامه اصلی دارای فایل متنیِ «توضیحات» باشد، در نسخهای که شما منتشر میکنید نیز باید چنین فایلی وجود داشته باشد. این فایل فقط برای اطلاعات عمومی میباشد و تغییری در مجوز نخواهد داد.
مجوز PHP
مجوز PHP مجوزی شبیه به مجوزهای آپاچی است که توزیعکنندگان نرمافزار PHP از آن استفاده میکنند. در این مجوز نگهداری شرایط مجوز PHP، در نرمافزار توزیع شده لازم است.
مجوز PHP اجازه هر گونه فعالیتی (اعم از تجاری و غیرتجاری) را روی نرمافزارهای تحت آن میدهد ولی باید به اطلاع کاربران برسانید که در تهیه نرمافزار شما از نرمافزار تحت PHP استفاده شده است.
در تمام نسخههایی که مجدداً توزیع میشوند، اعلانِ «این محصول شامل PHP میباشد که به صورت رایگان از سایت php.net قابل دریافت است.» لازم میباشد. این مجوز با مجوز GPL سازگاری ندارد ولی محدودیتهای این مجوز از GPL کمتر است.
مجوز MIT
مجوزی است بسیار ساده که هیچ محدودیتی در استفاده از کد منبع ندارد.
تنها لازمه آن، افزودن متن مجوز به تمامی نسخهها میباشد. اگر قصد دارید مالکیت کد خود را حفظ کنید و در عین حال هر گونه استفاده از آن را نیز آزاد گذارید، این مجوز انتخاب خوب و مناسبی خواهد بود.
مجوز Python
پایتون (Python) یک زبان برنامهنویسی شیگرای تفسیری میباشد که در بین جوامع لینوکس و یونیکس از محبوبیت خاصی برخوردار است.
مجوز Python مخصوص Python بوده ولی بسیار آزاد (Free) است. برای بهکارگیری آن، کافی است نام مجوز Python را در کارهای مشتق شده خود ذکر کنید.
مجوز QPL
این مجوز توسط شرکت Trolltech برای یکی از محصولات نرمافزاری این شرکت به نام Qt تهیه شده است. Qt یکی از کتابخانههای مرکزی میزِکار KDE است.
این مجوز شرایطی مشابه مجوز GPL دارد. با این تفاوت که از محصول مشتق شده از Qt فقط میتوان استفادههای غیرتجاری نمود و استاندارد تجاری از محصول مشتق شده ممنوع میباشد.
مجوز SISSL
این مجوز توسط بنیاد نرمافزار آزاد و OSI ارائه گردید و در سپتامبر ۲۰۰۵ استفاده از آن منسوخ شد. تحت مجوز SISSL توسعهدهندگان امکان تغییر و توزیع آزادانه کد منبع و مشتقات دودویی را داشتند. بهعلاوه توسعهدهندگان میتوانستند تغییرات خود را بهصورت اختصاصی و یا عمومی ارائه نمایند.
بسیاری از پروژههای شرکت Sun Microsystems تحت مجوز SISSL از جمله Sun GridEngine و OpenOffice (که امروزه آن را به LibreOffice میشناسیم) ارائه گردیدهاند.
دلیل منسوخ شدن مجوز SISSL وجود تعداد زیاد مجوزهای متنباز و سردرگمی کاربران در انتخاب مجوز بود که OSI آن را اعلام نمود. شرکت Sun بهدنبال تصمیم Intel در منسوخ کردن مجوز متنباز خود، SISSL را بازنشسته کرد.
مجوز GFDL
مجوز اسناد آزاد گنو یا GFDL مستقیماً در خصوص مستندسازی و فایلهای مستند صادر شده است. مجوز GFDL همان کاری را برای اسناد انجام میدهد که مجوز GPL آن را برای نرمافزارها به کار میگیرد.
بدین معنی که کارهای مشتق شده (نسخه تغییر یافته کار اصلی، یا کارهای دیگری مبتنی بر کار اصلی) میبایست تحت مجوز GFDL مجوزدهی شوند. این همان ویژگی سیستم مجوزدهی GPL بوده که در اصطلاح «اثر ویروسی» نام گرفته است.
مجوز OPL
مجور نشرِ باز یا OPL که مجوزی دیگر برای صدور مستندات است، راهها و روشهای مجوزهای BSD و MIT را حداقل در برخی از نسخهها در پیش گرفته و به کارهای مشتق شده امکان توزیع شدن تحت سایر مجوزها را تا وقتی که با شرایط مقرر مطابق باشد، میدهد.
مجوز CC
پروژههای Creative Commons و مجوزهای همراه شده با آن به دنبال هدفهای بزرگتری هستند و در تلاشند قوانین متنباز را برای حفظ آزادی محتویات دیجیتالِ رسانههای مختلفی شامل موسیقی و فیلم نیز مانند آثار مستند، به کار ببرند. شرح و تفصیل مجوز CC نیاز به مقالهای جداگانه دارد که در این مجال نمیگنجد.
در آموزشهای بعدی، مقالات بیشتری را در رابطه با جزئیات هر یک از مجوزهای آزاد/ متنباز ارائه خواهد شد.
نوشته: «فرشید نوتاش حقیقت» در رسانه محتوای باز
اطلاعات تماس:
مطلبی دیگر از این انتشارات
نرمافزار متنباز (Open Source) چیست؟
مطلبی دیگر در همین موضوع
کارهایی که کاتلین بهتر از جاوا انجام میدهد
بر اساس علایق شما
مرا بشنو