GPL در مقابل LGPL
GPL و LGPL مجوزهای نرم افزاری هستند که از آزادی کاربران برای اشتراک گذاری و/یا تغییر نرم افزار منبع باز محافظت می کنند. اکثر نرمافزارهای دارای مجوز، آزادی را در مورد تغییرات و توزیع محدود کردهاند، اما GPL و LGPL این محدودیتها را از بین میبرند و به کاربران خود آزادی عمل بیشتری میدهند. در میان مجوزهای منبع باز موجود امروز، این دو محبوب ترین هستند.
GPL چیست؟
GNU General Public License یا معمولاً GPL نامیده می شود، نوعی مجوز است که توسط بسیاری از نرم افزارهای رایگان مانند لینوکس استفاده می شود. تحت این مجوز، اطمینان حاصل می کند که نرم افزار برای همه کاربران باز است و آنها را برای اصلاح، ویرایش، یا اصلاح نرم افزار منبع باز، دریافت کد منبع و توزیع مجدد آنها آزاد می کند.محدودیت های مربوط به GPL فقط برای محافظت از حقوق کاربران وجود دارد. GPL هر کسی را از انکار حقوق کاربران یا تسلیم شدن حقوق آنها منع می کند.
LGPL چیست؟
GNU Lesser General Public License، که با نام LGPL شناخته می شود، کم و بیش یک نسخه اصلاح شده از GPL است. این مجوز عموماً محدود به کتابخانه های نرم افزاری است. این مجوز عمومی عمومی کمتر نامیده می شود زیرا از آزادی کاربر محافظت کمتری می کند. این به برنامه های غیر رایگان اجازه می دهد تا به کتابخانه دسترسی یا پیوند دهند. هنگامی که یک برنامه غیر رایگان به یک کتابخانه پیوند می دهد، به آن یک اثر ترکیبی یا مشتق از کتابخانه اصلی می گویند.
تفاوت بین GPL و LGPL چیست؟
• تفاوت اصلی بین GPL و LGPL این است که GPL حفاظت بیشتری را برای کاربران نرم افزار فراهم می کند. این به آنها آزادی ایجاد تغییرات در نرم افزار، اشتراک گذاری و دریافت کد منبع را می دهد.
• وقتی کاربر نرم افزار را توزیع می کند، باید مطمئن شود که دیگران می توانند از حقوق مشابه برخوردار شوند. توجه به این نکته ضروری است که هرگونه تغییری که در نرم افزار ایجاد می شود باید تحت مجوز GPL نیز باشد.
• LPGL، از سوی دیگر، به طور ویژه برای کتابخانه های نرم افزاری طراحی شده است، که در آن می توان تغییراتی ایجاد کرد و کدهای منبع را پس داد، اما می توان آن را به یک برنامه غیر رایگان پیوند داد که در آن تحت مجوز GPL نیست. امروزه اکثر برنامهها تحت مجوز GPL هستند، در حالی که بیشتر کتابخانهها از GPL استفاده میکنند، برخی از LGPL استفاده میکنند تا افراد بیشتری مجاز به استفاده از آن باشند.
به طور خلاصه:
•GPL بیشتر برای برنامه ها است در حالی که LGPL به کتابخانه های نرم افزار محدود می شود.
•هر زمان تغییراتی تحت مجوز GPL ایجاد می شود، کدهای منبع مورد نیاز است و تغییرات نیز باید تحت مجوز GPL باشند، در حالی که LGPL ممکن است به برنامه های غیر GPL اجازه پیوند به کتابخانه ها را بدهد اما همچنان باید کدهای منبع را ارائه دهد.