کپیلفت یا حفظ اجباری آزادی تا آخرین توزیع
مفهوم کپیلفت به معنی در نظر گرفتن مجوز هایی دارای ویژگی خاص (Copylefted Free Software License) برای نرمافزارهای آزاد است تا نرمافزار آزاد همواره آزاد بماند و آزادی آن حفظ شود. طبق مجوز های کپیلفت تبدیل نرمافزارآزاد به نرمافزار غیر آزاد غیر قانونی خواهد بود. بعضی مجوز های نرمافزاری آزاد مانند BSD License یا MIT License آزادیهای ۰ الی ۳ را برای کاربر فراهم می کنند یعنی کاربر مجاز است تا نرمافزار را به هر شکلی تغییر دهد و باز منتشر کند ولی الزامی برای او نیست که توزیع جدید حاصل از تغییرات خود را همچنان بصورت نرمافزاری آزاد ارایه کند. از طرفی مجوزهای کپیلفت آزادی های ۰ الی ۳ را برای کاربر به شرطی فراهم می کنند که فرد پس از استفاده از آزادی های فراهم شده همان آزادی را برای دیگران نیز فراهم کند و بسته نرمافزاری حاصل خود را همچنان بصورت آزاد ارایه کند. برای مثال مجوز جیپیال مجوزی آزاد است که نرمافزار های منتشر شده با آن قابل تبدیل به نرمافزار غیر آزاد نیستند و از اولین توزیع تا آخرین توزیع اجبارا آزاد خواهند ماند..
مجوز جیپیال و مفهوم کپیلفت قوی Strong Copyleft
اجازهنامه عمومی همگانی گنو یا به اختصار جیپیال مجوزی است که توسط ریچارد استالمن موسس بنیاد نرمافزارهای آزاد نوشته شده و اولین مجوزی است که مفهوم کپیلفت در آن وجود دارد. نرمافزارهای آزاد دارای مجوز های بسیاری متنوعی میباشند ولی اکثر نرم افزار هایی که پدید آورندگانشان تاکید بسیاری بر آزاد بودن نرم افزار و تضمین شدن آزاد ماندن آن از اولین الی آخرین توزیع ممکن آن داشته اند از جیپیال استفاده کرده اند. به عنوان مثال هسته لینوکس تحت مجوز جیپیال منتشر شده و کاملا آزاد است و تبدیل و انتشار آن بصورت نرم افزاری غیر آزاد ممنوع می باشد.
مجوز جیپیال مجوزی دارای ویژگی Strong Copyleft می باشد به این معنی که سلب آزادی نرم افزار تحت هیچ شرایطی توسط جیپیال پذیرفته نیست.
مجوز LGPL و مفهوم کپیلفت ضعیف Weak Copyleft
مجوز دیگری که توسط ریچارد استالمن بر اساس مفهوم کپیلفت نوشته شده مجوزالجیپیال می باشد و برای توزیع توابع کتابخانه ای (Link Libraries) علی الخصوص توابع کتابخانه ای سیستم عامل GNU طراحی شده است. توابع کتابخانه ای نرم افزار هایی هستند که نرمافزارهای دیگر از آنها برای انجام اعمال خاصی استفاده می کنند. تمامی سیستم عامل ها دارای توابع کتابخانه ای هستند که نرمافزارهای کاربردی از آنها برای انجام اعمال مختلف تحت آن سیستم عامل و همچنین ارتباط با هسته سیستم عامل استفاده می کنند.
توابع کتابخانه ای بر دو قسم هستند. توابع کتابخانه ای پویا (Dynamic Link Libraries) نرم افزار هایی هستند که کاملا مستقل از نرم افزاری که از آنها استفاده می کند در فایل های جداگانه ای قرار دارند. از طرف دیگر توابع کتابخانه ای ایستا (Static Link Libraries) نرم افزار هایی هستند که عملا با نرم افزار بکار گیرنده ترکیب شده و عملا بطور کامل یا ناقص به درون فایل حاصل کپی می شوند.
از آنجایی که نیاز است تا نرمافزارهای غیر آزاد و نرمافزار اختصاصی قابلیت اجرا بر روی سیستم عامل های آزاد را داشته باشند نیاز است تا توابع کتابخانه ای ایستای سیستم عامل آزاد دارای مجوزی غیر از جیپیال باشد تا بتواند به درون نرمافزارهای غیر آزاد کپی شود و توسط آنها استفاده گردد. این مساله به جهت لزوم پشتیبانی نرمافزارهای غیر آزاد اجتناب ناپذیر است.
مجوزالجیپیال این مساله را با مفهوم کپیلفت ضعیف حل می کند. مجوزالجیپیال ایجاب می کند که خود کتابخانه های ایستا به عنوان نرم افزاری مستقل همانند مجوز جیپیال حفاظت می شوند و تبدیل آنها به نرمافزارهای غیر آزاد غیر قانونی خواهد بود ولی عمل Link کردن آنها با نرمافزارهای غیر آزاد که بطور غیر مستقیم باعث کپی شدن قسمتی از کتابخانه به داخل نرم افزار غیر آزاد می باشد مجاز می باشد. یعنی نمی توان سورس کد یک کتابخانه دارای مجوزالجیپیال را تغییر دارد و آن را بعنوان کتابخانه ای غیر آزاد توزیع کرد ولی می توان آن را برای تهیه یک نرم افزار غیر آزاد بکار برد و سورس کد یک نرم افزار غیر آزاد را با کتابخانه آزاد لینک نمود و باینری حاصل را با مجوزی غیر آزاد منتشر کرد.
مجوز BSD و مفهوم مجوز آزاد غیر کپیلفت Permissive Free License
بعضی از نهاد های تولید کننده نرمافزارهای آزاد مانند FreeBSD Foundation با مفهوم کپیلفت مخالفند. به عقیده طرفداران نرمافزارهای آزاد غیرکپیلفت حفظ اجباری آزادی نرم افزار از اولین توزیع تا آخرین توزیع شرطی محدود کننده است که جلوی تجاری شدن محصولات تغییر یافته بر پایه محصول اصلی را می گیرد. به عقیده این گروه قابلیت تجاری شدن و قابلیت تبدیل شدن به نرم افزار غیر آزاد بر حفظ اجباری آزادی کاربران و تشکیلات Community ارجحیت دارد.
مجوز بیاسدی مجوزی آزاد است بدان معنا که نرم افزار منتشر شده تحت مجوز بیاسدی را می توان بدون هیچ قید و شرطی استفاده کرد و آن را تغییر داد. همچنین می توان نسخه اصلی یا نسخه های تغییر یافته را (به همراه یا بدون سورس کد اصلی) بدون هیچ مدودیتی مجددا توزیع نمود. ولی نکته حایز اهمیت آن است که هیچ اجباری برای آزاد بودن توزیع جدید نیست و توزیع جدید ممکن است دیگر آزاد نباشد! یعنی سازمانی (مانند یک شرکت تجاری) می تواند سورس کد اصلی یک پروژه دارای مجوز بیاسدی را تغییر دهد و آنرا بصورت محصولی غیر آزاد و نرمافزار اختصاصی درآورد و بفروشد.
دو دیدگاه راجع به مجوز بیاسدی و خاصیت غیر کپیلفت بودن آن مطرح است:
۱- - طرفداران مجوز بیاسدی مانند FreeBSD Foundation معتقد اند مجوز بیاسدی و مجوز های آزاد غیر کپیلفت از مجوز جیپیال و مجوز های آزاد کپیلفت آزاد ترند چونکه قابل تبدیل شدن به نرمافزارهای غیر آزاد هستند. فری بیاسدی در سایت خود بوضوح مخالفت خود را با مفهوم کپیلفت ابراز می کند. از آنجا که سیستم عامل فری بیاسدی شامل اجزاء بسیاری است که از پروژه گنو به آن سیستم عامل انتقال داده شده و دارای مجوز جیپیال می باشند (از جمله مترجم زبان C گنو و میزکارهای گنوم و کیدیای) عده ای اقدام به حذف این اجزاء و جایگزینی آنها با نمونه های دارای مجوز بیاسدی کرده اند. مثلا سیستم عامل ClangBSD از حذف اجزاء دارای مجوز جیپیال از سیستم عامل فری بیاسدی حاصل شده است.
مقاله انتفاد FreeBSD Foundation به مجوز GPL
http://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html۲- طرفداران مجوز جیپیال مانند بنیاد نرمافزارآزاد و لینوس توروالدزمعتقد اند مجوزهای کپیلفت برای تشکیل Community ها و گروه های توسعه دهنده پر شور بسیار مناسب ترند چراکه وقتی گروهی اقدام به مشارکت در پروژه های دارای مجوز جیپیال می کنند می توانند اطمینان داشته باشند که مشارکت آنها مورد سوء استفاده قرار نخواهد گرفت و تمامی توزیع های آن نرم افزار ها تا آخرین آنها آزاد خواهند بود. در واقع عملا وقتی موسسه ای تجاری یا غیر تجاری نرم افزاری بر پایه نرم افزار اصلی تهیه کند الزاما آزاد خواهد بود و گروه اصلی میتوانند نسخه ای از سورس کد توزیع جدید را تهیه کنند و آزادانه به توسعه و استفاده از آن بپردازند. بسیاری از Community های بزرگ مانند Community توسعه دهنده هسته سیستم عامل گنولینوکس از مجوز جیپیال استفاده می کنند.
مقاله انتقاد Free Software Foundation به مجوز BSD
http://www.gnu.org/philosophy/bsd.htmlبرداشت آزاد و ویرایشی از وبلاگ مبانی حقوقی نرم افزار های آزاد و اوپن سورس
http://gnupc.blogspot.com/2010/12/blog-post_26.html