در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

تفاوت بین GPL و LGPL در GNU چیست ؟

پیش از این در انجمن تخصصی فناوری اطلاعات ایران در خصوص تفاوت نرم افزارهای Freeware و Open Source صحبت کردیم و در این میان در خصوص پروژه GNU نیز صحبت هایی کردیم ، در این مطلب می خواهیم در خصوص دو پروژه GPL و LGPL صحبت کنیم که از زیر مجموعه های پروژه GNU هستند . اگر با پروژه یا لایسنس GNU آشنایی ندارید بهتر است قبل از مطالعه این مطلب به مطب من در خصوص معرفی پروژه GNU مراجعه کنید. برای اینکه تفاوت بین لایسنس های GPL و LGPL را بهتر متوجه شوید اول از هر چیز باید توجه کنید که نرم افزارهای Open Source با انواع و اقسام لایسنس یا مجوز استفاده به دنیای فناوری اطلاعات معرفی می شوند که مهمترین و معروفترین مجوز استفاده از اینگونه نرم افزارها GPL و LGPL هستند. حتما با ایده اصلی نرم افزارهای Open Source یا سورس باز آشنایی دارید. GPL در واقع واژه اصلی است که Open Source را تعریف می کند و همان چیزی می کند که از آن انتظار می رود. تا زمانیکه شما به کدها یا سورس های یک نرم افزار Open Source دسترسی داشته باشید شما مجوز یا لایسنس این را دارید که بر روی این سورس کد تغییرات خود را اعمال کنید ، آن را پیشرفته تر کنید ، به آن امکانات بیشتری اضافه کنید و ... اما به هر حال لایسنس یک نرم افزار یا مجوز استفاده از نرم افزار باز متن به شما می گوید که شما ملزم هستید بعد از اینکه همه این کارها را بر روی نرم افزار Open Source انجام دادید ، نرم افزار خود را بصورت عمومی برای همه کاربران در اینترنت منتشر کنید و امکان استفاده رایگان دیگران از این سورس کد جدید را نیز فراهم کنید.

تفاوت GPL و LGPL در چیست

لینوکس شناخته ترین نوع نرم افزار Open Source در دنیا است که تحت لیسانس GPL ارائه شده است.یعنی اگر شخصی یا سازمان یا شرکت خاصی هر گونه تغییری بر روی این سیستم عامل انجام دهد ، موظف است کلیه تغییرات انجام شده بر روی این سیستم عامل را بصورت عمومی منتشر کند. GPL مخفف کلمه های General Public License می باشد و LGPL در واقع نسخه بهبود یافته یا ترمیم شده GPL است. LGPL مخفف کلمه های Lesser General Public License می باشد. اگر نرم افزار تحت لیسانس GPL باشد ، شما هر چقدر که کد به آن اضافه کنید موظف هستید کد اضافه شده را بدون هرگونه شرط و قانون برای دیگران نیز منتشر کنید. اما زمانیکه یک نرم افزار تحت لیسانس LGPL منتشر می شود اگر تغییرات زیادی بر روی نرم افزار انجام دهد همانند GPL باید این تغییرات را با سورس مورد نظر منتشر کند اما این امکان به شرکت توسعه دهنده یا شخص توسعه دهنده در لایسنس LGPL داده می شود که اگر ماژول یا امکانات جدیدی به نرم افزار اضافه کرده است و می خواهد این امکانات جدید را به فروش برساند ، این امکان و مجوز را دارد که فقط و فقط کدهای ماژول جدید اضافه شده توسط خود را منتشر نکند و آن را بصورت محرمانه نگه دارد. بنابراین LGPL به شما این امکان را می دهد که نرم افزار را تغییر دهید و نسخه دلخواه خود را از آن بیرون بیاورید و در این میان از محصول تولید شده جدید خود نیز محافظت کنید.

LGP به همان روشی که GPL برای استفاده طراحی شده است کار نمی کند. استفاده از لایسنس LGPL محدود به کتابخانه ها ( Library ) و از این قبیل موارد است. GPL برای فایل هایی که قابلیت اجرایی دارند طراحی شده است و قابل استفاده می باشد ، برای مثال شما می توانید با استفاده از یک نرم افزار Open Source که دارای فایل اجرایی و لایسنس GPL است ابتدا وب سایت خود را طراحی کنید و در انتها فقط کافیست که لینک نرم افزار و اطلاعات مورد نیاز برای عموم را در آن برای دیگران قرار دهید. GPL یک نعمت بزرگ برای صنعت برنامه نویسی به حساب می آید زیرا برنامه های زیادی همه روزه بصورت رایگان در اینترنت ایجاد می شوند ، توسعه پیدا می کنند و تغییر می کنند که هر برنامه نویسی می تواند با الگو برداری از شیوه کد نویسی این برنامه ها ، دانش برنامه نویسی خود را ارتقاء دهد. از GPL می توان به عنوان یک انقلاب در عرصه برنامه نویسی در دنیا نام برد. بصورت خلاصه تفاوت مجوز های GPL و LGP را می توان به شرح زیر عنوان کرد :

  1. در GPL شما موظف هستید که هر تغییری در کد نرم افزار ایجاد می کنید را بصورت عمومی منتشر کنید
  2. GPL در واقع پایه و اساس اصلی نرم افزارهای Open Source از دید برنامه نویسان است
  3. در GPL شما می توانید تمام فایل های اجرایی یک نرم افزار را تغییر دهید
  4. LGPL برای استفاده از کتابخانه ها یا Library های نرم افزارها استفاده می شود
  5. GPL باعث بالا رفتن دانش برنامه نویسی و در واقع به وجود آمدن یک انقلاب نرم افزاری در دنیا شد
  6. نرم افزارهای دارای مجوز LGPL این قابلیت را دارد که تبدیل به GPL شوند

البته این توضیحات و این مطلب به تنهایی برای تعریف کردن این مجوز ها کافی نیست و خوشحال می شویم در انتها دوستان اطلاعاتی که در این زمینه دارند را در اختیار سایرین قرار دهند. یک مشکل اساسی که در Open Source وجود دارد این است که در واقع درست است که مجوز هایی مثل GPL و LGPL در دنیا وجود دارد اما قوانین سفت و سختی در خصوص سوء استفاده از این مجوز ها وجود ندارد و در واقع بسیاری از افراد سودجو برنامه هایی که تحت لیسانس GPL ارائه می شوند را دستکاری و آن را به عنوان یک نرم افزار جدید به بازار ارائه می دهند. متاسفانه در طی سالهای اخیر این موارد به شدت در کشور عزیزمان ایران افزایش یافته است ، به خاطر دارم چند سال پیش در نمایشگاه الکامپ مشغول گشت و گذار بودم که یک تبلیغ جالب دیدم و محتوای تبلیغ به این شکل بود که سیستم مدیریت مخاطرات و تهدیدات بومی ... این تبلیغ نظر من را جلب کرد و بعد از نگاه کردن به چهره نرم افزار احساس کردن چهره آن را قبلا جایی دیده ام ... بعدها متوجه شدم که این UTM بومی در واقع فقط فارسی سازی شده یک UTM متن باز خارجی معروف بوده است و فقط چهره آن عوض شده است. البته این موارد خیلی پیش می آید ، بعضا سیستم های مدیریت محتوای اینترنتی که بیشتر به زبان PHP نوشته می شوند و در ایران به فروش می رسند اکثرا یک سیستم مدیریت محتوای فارسی سازی شده است که فقط لینک GNU آن حذف شده است و تغییرات جزئی در آن داده شده است ، قبل از خرید چنین محصولاتی حتما از کارشناسان زبده مشاوره بگیرید ، امیدوارم مورد توجه شما قرار گرفته باشد. ITPRO باشید

نویسنده : محمد نصیری

منبع : انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#open_source_چیست #مقایسه_gpl_و_lgpl #gpl_چیست #تفاوت_gpl_و_lgpl #زیرمجموعه_های_پروژه_gnu #مقایسه_shareware_و_freeware #تفاوت_open_source_و_freeware #lgpl_چیست #لینوکس_چیست #gnu_چیست
3 نظر
مهدی ربانی

1- ببخشید این مجوز ها برای استفاده و اجرای نرم افزار (آزادی شماره 0) هم صادق است یا بیشتر برای تغییر کد و ... است؟

مثلا اگر از وردپرس استفاده کنیم حق نداریم امضای آن را در پایین سایت برداریم؟

2- و آیا این مجوز ها بیشتر جنبه ی اخلاقی دارد یا قانونی؟

محمد نصیری

بیشتر در حوزه تغییر کد هست ؛ خیر نباید لایسنس رو حذف کنیم و در نهایت این قانون بیشتر جنبه معنوی داره در حال حاضر و کاملا بستگی به فرهنگ استفاده از اون داره.

معین توسلی نیا

با عرض سلام و خسته نباشید مطلبتون خیلی قشنگ بود فقط سوالی کلی راجع به این دو مجوز برام پیش اومده و اون این که من برداشت کردم اگر مجوز سورس LGPL باشه ما می تونیم تغییرات خودمون رو منتشر نکنیم ولی درکل حالا ما مثلا برای پروژه خود نیاز به یک ابزار اصلی داریم مثل یک تقویم از سورسی استفاده می کنیم که مثلا در گیتهاب است و مجوز آن GNU می باشد اما ما فقط از آن استفاده می کنیم و تغییرلت کوچکی در آن می دهیم و این تقویم در واقع یک ابزار استفاده برای ایده اصلی ما در نرم افزار است و نمی توانیم کل نرم افزار را منتشر کنیم چون تجاری است و اجازه نداریم سوال ریز این جاست که اگر ما از این کتابخانه یا بخشی از آن بهره ببریم آیا خود تقویم به دست آمده از آن کد که با تغییراتی ساخته ایم را منتشر کنیم کافی است یا باید کل پروژه را منتشر نماییم ؟

و درادامه براساس مطالب شما بنده برداشت کردم که اگر مجوز LGPL باشد دیگر اگر تغییرات خود رامنتشر نکنیم مشکلی نداره .

اگر میشه راجع به لایسنس های Apache و MIT هم توضیح مختصری بدید. از شما بسیار ممنونم

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....