From Wikipedia, the free encyclopedia
پروانهٔ جامع همگانی گنو (به انگلیسی: GNU GPL سرواژهٔ GNU General Public License) یکی از پروانههای بسیار رایج نرمافزارهای آزاد است که ضمانت میکند کاربران حق مطالعه، ویرایش، اشتراکگذاری و انتشار نرمافزار را خواهند داشت. به ادعای وبگاه گنو مورد استفادهٔ بیش از نیمی از نرمافزارهای آزاد قرار گرفتهاست.[5] عموماً این پروانه را به نام جیپیال که صورت خلاصه شدهٔ عبارت جنرال پابلیک لایسنس است میخوانند.
![]() GNU GPLv3 Logo | |
نویسنده | بنیاد نرمافزار آزاد |
---|---|
واپسین نسخه | ۳ |
منتشرکننده | بنیاد نرمافزار آزاد |
تاریخ انتشار | ۲۹ ژوئن ۲۰۰۷ |
سازگار با رهنمودهای نرمافزار آزاد دبیان | بله[1] |
پذیرفتهشده از سوی بنیاد نرمافزار آزاد | بله[2] |
پذیرفتهشده از سوی پیشگامان متنباز | بله[3] |
کپیلفت | بله[2][4] |
پیوند از کد با مجوز دیگر | خیر |
وبگاه | www.gnu.org/licenses/gpl.html |
از معروفترین سیستمعاملها و نرمافزارهای تحت مجوز گنو میتوان سیستمعاملهای گنو/لینوکس و بستههای نرمافزاری گنو اشاره کرد.
GPL توسط ریچارد استالمن در سال ۱۹۸۹ نوشته شدهاست، برای استفاده با برنامههایی که به عنوان بخشی از پروژه گنو منتشر شدهاست. GPL اصلی مبتنی بر وحدت مجوزهای مشابه بود که برای نسخههای اولیه گنو ایمکس (۱۹۸۵)، گنو دیباگر و کامپایلر GNU C استفاده میشد. این مجوزها حاوی مقررات مشابه GPL مدرن بودند، اما مخصوص هر برنامه، با وجود اینکه مجوز یکسانی دارند، آنها را ناسازگار جلوه دادند. هدف استالمن تولید یک مجوز است که میتواند برای هر پروژه ای مورد استفاده قرار گیرد، بنابراین امکان ایجاد کد برای بسیاری از پروژهها فراهم میشود.
نسخه دوم مجوز، نسخه ۲، در سال ۱۹۹۱ منتشر شد. طی ۱۵ سال بعد، اعضای جنبش نرمافزار آزاد نگران مشکلات موجود در مجوز GPLv2 بودند که میتواند به شخصی اجازه دهد از نرمافزارهای دارای مجوز GPL به شکلی خلاف مجوز سوء استفاده کند. این مشکلات شامل tivoization (درج نرمافزار دارای مجوز GPL در سختافزار است که از اجرای نسخههای اصلاح شده نرمافزار آن خودداری میکند)، موارد سازگاری مشابه مواردی که از پروانه کلی عمومی Affero — و معاملات ثبت اختراع بین مایکروسافت و توزیع کنندگان آزاد و منبع آزاد استفاده میشود. نرمافزاری که برخی به عنوان تلاش برای استفاده از حق ثبت اختراع به عنوان سلاحی علیه جامعه نرمافزار آزاد استفاده میکردند.
نسخه ۳ برای تلاش برای رفع این نگرانیها ساخته شد و در ۲۹ ژوئن ۲۰۰۷ رسماً منتشر شد.
نسخه ۱ پروانهٔ جامع همگانی گنو که در ۲۵ فوریه ۱۹۸۹منتشر شد،[6] از دو راه اصلی که توزیع کنندگان نرمافزار در آن زمان برای جلوگیری از استفاده از برنامههای خود استفاده میکردند مقابله کرد. اولین مشکل این بود که توزیعکنندگان ممکن است فقط فایلهای باینری را منتشر کنند - که قابل اجرا هستند، اما غیرقابل خواندن یا تغییر توسط کاربر. برای جلوگیری از این امر، GPLv1 بیان کرد که کپی و توزیع برنامهها یا هر بخشی از برنامهٔ مورد نظر باید کد منبع قابل خواندن توسط انسان را نیز تحت مجوز یکسان در دسترس قرار دهد.
مشکل دوم این بود که توزیع کنندگان ممکن است محدودیتهایی را به مجوز اضافه کنند یا با ترکیب نرمافزار با نرمافزارهای دیگری که محدودیتهای دیگری در مجوز خود دارد باعث شوند که ترکیبی از دو مجوز بر نرمافزار اعمال شود. برای جلوگیری از این امر، GPLv1 بیان کرد که نسخههای اصلاح شده، بهطور کلی، باید تحت شرایط موجود در GPLv1 توزیع شوند؛ بنابراین، نرمافزار توزیع شده تحت شرایط GPLv1 میتواند با نرمافزار تحت مجوزهای بازتر ترکیب شود، زیرا دراین حالت مجوزی را که تحت آن کل نرمافزار میتواند توزیع شود تغییر پیدا نمیکند. با این حال، نرمافزار توزیعشده تحت GPLv1 را نمیتوان با نرمافزار توزیعشده تحت مجوز محدودتر ترکیب کرد، زیرا این امر با الزامی که کل آن تحت شرایط GPLv1 قابل توزیع باشد در تضاد است.
به گفته ریچارد استالمن، تغییر عمده در GPLv2 عبارت «آزادی یا مرگ» در بخش ۷ این مجوز بود.[7] این بخش میگوید که دارندگان مجوز میتوانند یک اثر تحت پوشش GPL را تنها در صورتی توزیع کنند که بتوانند تمام تعهدات مجوز را، علیرغم هرگونه تعهد قانونی دیگری که ممکن است داشته باشند.
این ماده قصد دارد هر طرفی را از استفاده از ادعای نقض حق ثبت اختراع یا سایر دعواهای قضایی برای آسیب رساندن به آزادی کاربران تحت مجوز منصرف کند.[8]
در سال ۱۹۹۰، مشخص شد که یک مجوز با محدودیت کمتر برای کتابخانهC و برای کتابخانههای نرمافزاری که اساساً کار کتابخانههای اختصاصی را انجام میدهند، مفید خواهد بود.[9] بنابر این هنگامی که نسخه ۲ GPL در ژوئن ۱۹۹۱ منتشر شد، مجوز دوم - مجوز عمومی کتابخانه گنو - در همان زمان معرفی شد و با نسخه ۲ شماره گذاری شد تا نشان دهد که هر دو مکمل یکدیگر هستند.[10] شماره نسخهٔ این دو مجوز در سال ۱۹۹۹ زمانی که نسخه 2.1 LGPL منتشر شد، متفاوت شد
مجوز شامل دستورالعملهایی برای تعیین "نسخه ۲ مجوز، یا (به انتخاب شما) هر نسخه بعدی" است تا امکان استفاده اختیاری از هر دو نسخه ۲ یا ۳ را فراهم کند، اما برخی از توسعه دهندگان این را تغییر میدهند تا فقط "نسخه ۲" را مشخص کنند.
در اواخر سال ۲۰۰۵، بنیاد نرمافزار آزاد (FSF) کار بر روی نسخه ۳ (GPLv3) این مجوز را اعلام کرد. در ۱۶ ژانویه ۲۰۰۶، اولین «پیش نویس» GPLv3 منتشر شد و نظر سنجی عمومی آغاز شد. رایزنی عمومی در ابتدا برای ۹ تا ۱۵ ماه برنامهریزی شده بود، اما در نهایت با انتشار چهار پیش نویس به هجده ماه ادامه یافت. GPLv3 رسمی توسط FSF در ۲۹ ژوئن ۲۰۰۷ منتشر شد. GPLv3 توسط ریچارد استالمن با مشاور حقوقی ایبن موگلن و ریچارد فونتانا از مرکز حقوقی آزادی نرمافزار نوشته شدهاست.[11][12]
به گفته استالمن، مهمترین تغییرات در رابطه با پتنتهای نرمافزار، سازگاری مجوز نرمافزار آزاد، تعریف «کد منبع» و محدودیتهای سختافزاری بر روی تغییرات نرمافزار، مانند tivoization بود.[13] سایر تغییرات مربوط به بینالمللی سازی، نحوه رسیدگی به نقض مجوزها، و نحوه اعطای مجوزهای اضافی توسط دارنده حق انتشار. مفهوم «انتشار نرمافزار» به عنوان اصطلاحی برای کپی و تکثیر نرمافزار، به صراحت تعریف شد. فرایند مشاوره عمومی توسط بنیاد نرمافزار آزاد با کمک مرکز حقوقی آزادی نرمافزار، بنیاد نرمافزار آزاد اروپا و سایر گروههای نرمافزار آزاد هماهنگ شد. نظرات از طریق پورتال وب gplv3.fsf.org و با استفاده از نرمافزاری به نام stet جمعآوری شد که مختصا برای این امر ساخته شده بود.[14]
در طول فرایند مشاوره عمومی، ۹۶۲ نظر برای اولین پیش نویس ارائه شد. تا پایان دوره نظر سنجی، در مجموع ۲۶۳۶ نظر ارسال شد.[15]
پیش نویس سوم در ۲۸ مارس ۲۰۰۷ منتشر شد. این پیشنویس شامل زبانی بود که برای جلوگیری از توافقنامههای مرتبط با پتنت مانند قرارداد بحثبرانگیز ثبت اختراع مایکروسافت-ناول در نظر گرفته شده بود و بندهای ضد توویویزاسیون را به تعریف قانونی «کاربر» و «محصول مصرفکننده» محدود میکرد. همچنین صراحتاً بخش «محدودیتهای جغرافیایی» را که حذف احتمالی آن در آغاز رایزنی عمومی اعلام شده بود، حذف کرد.
نسخه ۳ همچنین سازگاری با چندین مجوز نرمافزار آزاد مانند مجوز آپاچی، نسخه ۲٫۰ را بهبود بخشید، که GPLv2 نمیتواند با آنها ترکیب شود. با این حال، نرمافزار تحت مجوز GPLv3 تنها در صورتی میتواند با دیگر مجوزها ترکیب شود و کد را با نرمافزار GPLv2 به اشتراک بگذارد که مجوز GPLv2 مورد استفاده دارای عبارت اختیاری «یا بعد» باشد و نرمافزار به GPLv3 ارتقا یابد. در حالی که بند «GPLv2 یا هر نسخه بعدی» توسط FSF به عنوان رایجترین شکل صدور مجوز نرمافزار GPLv2 در نظر گرفته میشود.[16]
نسخه نهایی متن مجوز در ۲۹ ژوئن ۲۰۰۷ منتشر شد.[17]
متن GPL خود دارای حق چاپ است و کپی رایت توسط بنیاد نرمافزار آزاد نگهداری میشود.
FSF به افراد اجازه میدهد تا مجوزهای جدیدی را براساس GPL ایجاد کنند، تا زمانی که مجوزهای اخذ شده از مقدمه GPL بدون اجازه استفاده نکنند. اما این دلسرد کننده است، زیرا چنین مجوزی ممکن است با GPL ناسازگار باشد و باعث گسترش مجوز ادراک شده میشود.
سایر مجوزهای ایجاد شده توسط پروژه گنو شامل گنو ال جی پی ال، مجوز مستندات آزاد GNU و پروانه عمومی همگانی آفرو است.
متن GPL به خودی خود تحت GPL نیست. مجوز حق چاپ مجوز اصلاح مجوز را مجاز نمیداند. کپی و توزیع مجوز مجاز است زیرا GPL به گیرندگان نیاز دارد تا "کپی از این مجوز را به همراه برنامه" دریافت کنند. طبق GPL FAQ، هر کسی میتواند مجوز جدیدی را با استفاده از نسخه اصلاح شده GPL بسازد تا زمانی که از نام دیگری برای مجوز استفاده کند، "GNU" را ذکر نکنید و مقدمه را حذف کنید، اگرچه از مقدمه در آن استفاده شود. مجوز اصلاح شده در صورت اجازه استفاده از آن از بنیاد نرمافزار آزاد (FSF) بهدست میآید.