مفهوم بسیار مهم کپی-لفت Copyleft یا حفظ اجباری آزادی تا آخرین توزیع
مفهوم کپی-لفت به معنی در نظر گرفتن مجوز هایی دارای ویژگی خاص (Copylefted Free Software License) برای نرم افزار های آزاد است تا نرم افزار آزاد همواره آزاد بماند و آزادی آن حفظ شود. طبق مجوز های Copyleft تبدیل نرم افزار آزاد به نرم افزار غیر آزاد غیر قانونی خواهد بود. بعضی مجوز های نرم افزار های آزاد مانند BSD License یا MIT License آزادی های ۰ الی ۳ را برای کاربر فراهم می کنند یعنی کاربر مجاز است تا نرم افزار را به هر شکلی تغییر دهد و باز منتشر کند ولی الزامی برای او نیست که توزیع جدید حاصل از تغییرات خود را همچنان بصورت نرم افزاری آزاد ارایه کند. از طرفی مجوز های Copyleft آزادی های ۰ الی ۳ را برای کاربر به شرطی فراهم می کنند که فرد پس از استفاده از آزادی های فراهم شده همان آزادی را برای دیگران نیز فراهم کند و بسته نرم افزاری حاصل خود را همچنان بصورت آزاد ارایه کند. برای مثال مجوز GPL License مجوزی آزاد است که نرم افزار های منتشر شده با آن قابل تبدیل به نرم افزار غیر آزاد نیستند و از اولین توزیع تا آخرین توزیع اجبارا آزاد خواهند ماند.
مجوز GNU General Public License و مفهوم کپی-لفت قوی Strong Copyleft
GNU General Public License یا به اختصار GPL مجوزی است که توسط ریچارد استالمن موسس بنیاد نرم افزار های آزاد نوشته شده و اولین مجوزی است که مفهوم کپی-لفت در آن وجود دارد. نرم افزار های آزاد دارای مجوز های بسیاری متنوعی میباشند ولی اکثر نرم افزار هایی که پدید آورندگانشان تاکید بسیاری بر آزاد بودن نرم افزار و تضمین شدن آزاد ماندن آن از اولین الی آخرین توزیع ممکن آن داشته اند از GPL استفاده کرده اند. به عنوان مثال هسته لینوکس تحت مجوز GPL منتشر شده و کاملا آزاد است و تبدیل و انتشار آن بصورت نرم افزاری غیر آزاد ممنوع می باشد.
مجوز GPL مجوزی دارای ویژگی Strong Copyleft می باشد به این معنی که سلب آزادی نرم افزار تحت هیچ شرایطی توسط GPL پذیرفته نیست.
مجوز GNU Lesser General Public License و مفهوم کپی-لفت ضعیف Weak Copyleft
مجوز دیگری که توسط ریچارد استالمن بر اساس مفهوم کپی-لفت نوشته شده مجوز GNU Lesser General Public License یا LGPL می باشد و برای توزیع توابع کتابخانه ای (Link Libraries) علی الخصوص توابع کتابخانه ای سیستم عامل GNU طراحی شده است. توابع کتابخانه ای نرم افزار هایی هستند که نرم افزار های دیگر از آنها برای انجام اعمال خاصی استفاده می کنند. تمامی سیستم عامل ها دارای توابع کتابخانه ای هستند که نرم افزار های کاربردی از آنها برای انجام اعمال مختلف تحت آن سیستم عامل و همچنین ارتباط با هسته سیستم عامل استفاده می کنند.
توابع کتابخانه ای بر دو قسم هستند. توابع کتابخانه ای پویا (Dynamic Link Libraries) نرم افزار هایی هستند که کاملا مستقل از نرم افزاری که از آنها استفاده می کند در فایل های جداگانه ای قرار دارند. از طرف دیگر توابع کتابخانه ای ایستا (Static Link Libraries) نرم افزار هایی هستند که عملا با نرم افزار بکار گیرنده ترکیب شده و عملا بطور کامل یا ناقص به درون فایل حاصل کپی می شوند.
از آنجایی که نیاز است تا نرم افزار های غیر آزاد و Proprietary قابلیت اجرا بر روی سیستم عامل های آزاد را داشته باشند نیاز است تا توابع کتابخانه ای ایستای سیستم عامل آزاد دارای مجوزی غیر از GPL باشد تا بتواند به درون نرم افزار های غیر آزاد کپی شود و توسط آنها استفاده گردد. این مساله به جهت لزوم پشتیبانی نرم افزار های غیر آزاد اجتناب ناپذیر است.
مجوز LGPL این مساله را با مفهوم کپی-لفت ضعیف حل می کند. مجوز LGPL ایجاب می کند که خود کتابخانه های ایستا به عنوان نرم افزاری مستقل همانند مجوز GPL حفاظت می شوند و تبدیل آنها به نرم افزار های غیر آزاد غیر قانونی خواهد بود ولی عمل Link کردن آنها با نرم افزار های غیر آزاد که بطور غیر مستقیم باعث کپی شدن قسمتی از کتابخانه به داخل نرم افزار غیر آزاد می باشد مجاز می باشد. یعنی نمی توان سورس کد یک کتابخانه دارای مجوز LGPL را تغییر دارد و آن را بعنوان کتابخانه ای غیر آزاد توزیع کرد ولی می توان آن را برای تهیه یک نرم افزار غیر آزاد بکار برد و سورس کد یک نرم افزار غیر آزاد را با کتابخانه آزاد لینک نمود و باینری حاصل را با مجوزی غیر آزاد منتشر کرد.
مجوز Berkeley Software Distribution و مفهوم مجوز آزاد غیر کپی-لفت Permissive Free License
بعضی از نهاد های تولید کننده نرم افزار های آزاد مانند FreeBSD Foundation با مفهوم Copyleft مخالفند. به عقیده طرفداران نرم افزار های آزاد غیر Copyleft حفظ اجباری آزادی نرم افزار از اولین توزیع تا آخرین توزیع شرطی محدود کننده است که جلوی تجاری شدن محصولات تغییر یافته بر پایه محصول اصلی را می گیرد. به عقیده این گروه قابلیت تجاری شدن و قابلیت تبدیل شدن به نرم افزار غیر آزاد بر حفظ اجباری آزادی کاربران و تشکیلات Community ارجحیت دارد.
مجوز BSD مجوزی آزاد است بدان معنا که نرم افزار منتشر شده تحت مجوز BSD را می توان بدون هیچ قید و شرطی استفاده کرد و آن را تغییر داد. همچنین می توان نسخه اصلی یا نسخه های تغییر یافته را (به همراه یا بدون سورس کد اصلی) بدون هیچ مدودیتی مجددا توزیع نمود. ولی نکته حایز اهمیت آن است که هیچ اجباری برای آزاد بودن توزیع جدید نیست و توزیع جدید ممکن است دیگر آزاد نباشد! یعنی سازمانی (مانند یک شرکت تجاری) می تواند سورس کد اصلی یک پروژه دارای مجوز BSD را تغییر دهد و آنرا بصورت محصولی غیر آزاد و Proprietary درآورد و بفروشد.
دو دیدگاه راجع به مجوز BSD و خاصیت غیر کپی-لفت بودن آن مطرح است:
۱- طرفداران مجوز BSD مانند FreeBSD Foundation معتقد اند مجوز BSD و مجوز های آزاد غیر کپی-لفت از مجوز GPL و مجوز های آزاد کپی-لفت آزاد ترند چونکه قابل تبدیل شدن به نرم افزار های غیر آزاد هستند. FreeBSD در سایت خود بوضوح مخالفت خود را با مفهوم Copyleft ابراز می کند. از آنجا که سیستم عامل FreeBSD شامل اجزاء بسیاری است که از پروژه گنو به آن سیستم عامل انتقال داده شده و دارای مجوز GPL می باشند (از جمله مترجم زبان C گنو و میزکار های GNOME و KDE) عده ای اقدام به حذف این اجزاء و جایگزینی آنها با نمونه های دارای مجوز BSD کرده اند. مثلا سیستم عامل ClangBSD از حذف اجزاء دارای مجوز GPL از سیستم عامل FreeBSD حاصل شده است.
مقاله انتفاد FreeBSD Foundation به مجوز GPL:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
۲- طرفداران مجوز GPL مانند Free Software Foundation و Linus Torvalds معتقد اند مجوز های کپی-لفت برای تشکیل Community ها و گروه های توسعه دهنده پر شور بسیار مناسب ترند چراکه وقتی گروهی اقدام به مشارکت در پروژه های دارای مجوز GPL می کنند می توانند اطمینان داشته باشند که مشارکت آنها مورد سوء استفاده قرار نخواهد گرفت و تمامی توزیع های آن نرم افزار ها تا آخرین آنها آزاد خواهند بود. در واقع عملا وقتی موسسه ای تجاری یا غیر تجاری نرم افزاری بر پایه نرم افزار اصلی تهیه کند الزاما آزاد خواهد بود و گروه اصلی میتوانند نسخه ای از سورس کد توزیع جدید را تهیه کنند و آزادانه به توسعه و استفاده از آن بپردازند. بسیاری از Community های بزرگ مانند Community توسعه دهنده هسته سیستم عامل گنو/لینوکس از مجوز GPL استفاده می کنند.
مقاله انتقاد Free Software Foundation به مجوز BSD:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید