نرمافزار آزاد نرمافزار آزاد، نرمافزاری است که به هر فردی اجازهی استفاده، کپی، توزیع، خواه لفظبهلفظ و خواه با اعمال تغییرات و نیز رایگان یا با پرداخت هزینه را میدهد. درواقع، همهی این امکانات مستلزم دسترسی به کد منبع است. تولیدکنندگان و افراد علاقهمند در این حوزه معتقدند که: "اگر کد منبع نرمافزاری در دسترس نباشد، نرمافزار نیست". این یک تعریف ساده از این نرم افزارها بود. اگر برنامهای آزاد باشد، بطور بالقوه میتواند در زمرهی سیستمهای عملیاتی آزاد، نظیر گنو یا نگارش آزاد سیستم گنو/لینوکس قرار گیرد. راههای مختلفی برای "آزاد" کردن یک برنامه وجود دارد. در ادامه برخی از این راهها توضیح داده شدهاند. آزادی در مقولهی نرمافزار آزاد به معنای Freedom و نه به معنای رایگان و بدون هزینه میباشد. هنگامی که یک شرکت نرمافزاری اعلام میکند که محصولش یک نرمافزار آزاد است، همیشه شروط توزیع اصلی آن را چک کنید تا مطمئن شوید که کاربران، واقعا، به تمامی آزادیهایی که دلالت بر آزاد بودن نرمافزار دارد، دسترسی دارند. بسیاری از زبانها دو کلمهی متمایز از هم برای "free" به معنای "آزادی" و "free" به معنای هزینهی صفر دارند. مثلاً، فرانسویها از دو کلمهی "libre" و "gratuit" استفاده میکنند. انگلیسیها از کلمهی "gratis" که به معنای رایگان است، استفاده میکنند، اما این کلمه، صفت متعارفی برای تعریف "آزادی" نیست. نرمافزارهای آزاد، اغلب قابل اطمینانتر از نرمافزارهای غیرآزاد هستند. نرمافزار بازمتن اصطلاح بازمتن (Open Source) توسط بعضی افراد به همان معنای نرمافزار آزاد، با اندکی تفاوت، به کار میرود. به هر جهت، این نرمافزارها مجوزهایی را میپذیرند که محدودیتهایی روی آنها ایجاد میکند. برخی ترجیح میدهند که اصطلاح "نرمافزار آزاد" را بکار برند، چون به آزادی دلالت دارد؛ چیزی که "بازمتن" ندارد. نرمافزارPublic Domain نرمافزار Public domain نرمافزاری است که copyrightشده نیست. اگر کد منبع در دسترس نباشد، حالت خاصی از نرمافزارهای آزاد غیر copyleft پیش میآید؛ به این معنی که ممکن است برخی از نسخهها یا نگارشهای تغییریافتهی آن، به هیچوجه، آزاد نباشند. در برخی حالات، یک برنامهی قابل اجرا میتواند در زمزهی نرمافزارهای Public domain باشد ولی کد منبع آن در دسترس نباشد. در این حالت، نرمافزار آزاد نیست، چون لازمهی آزاد بودن نرمافزار دسترسی به کد منبع است. درضمن، اغلب نرمافزارهای آزاد جزء public domainها نیستند. کپیرایت هم ندارد؛ در حالیکه دارندگان کپیرایت به طورقانونی، با استفاده از مجوز نرمافزار آزاد، به هر فردی امکان استفاده از نرمافزار را میدهند. نرمافزار Copylefted نرمافزار Copylefted نرمافزار آزادی است که شرایط توزیع آن بهگونهای است که افرادی که بخواهند آنرا مجدداً توزیع نمایند، نمیتوانند هیچگونه محدودیت جدیدی، هنگام توزیع مجدد و یا تغییر نرمافزار روی آن اعمال کنند؛ به این معنی که هر نسخهی نرمافزار، حتی اگر تغییر یافته، باید آزاد باشد. در پروژهی GNU، ما تمامی نرمافزارهایی را که نوشتیم، copyleft کردیم؛ چون هدفمان این بود که به هر کاربر آزادیهایی را که "نرمافزار آزاد" بر آن دلالت دارد، داده باشیم. Copyleft یک مفهوم عام است؛ برای اینکه یک برنامه، واقعاً، کپیلفت شود، باید از یک مجموعه شرایط خاص توزیع استفاده کنید. راههای ممکن زیادی برای نوشتن شرایط توزیع copyleft وجود دارد، بنابراین، طبق این گفته، مجوزهای زیادی در حیطهی نرمافزار آزاد copyleft میتواند وجود داشته باشد. به هرجهت، در عمل، تقریباً، کلیهی نرمافزارهای copylefted از مجوز عمومی گنو (GNU General Public License) استفاده میکنند. وجود دو گونهی متفاوت مجوز Copyleft، معمولاً، غیر قابل استعمال با یکدیگر است؛ به عبارت دیگر، تلفیق یک کد با یک مجوز و کد دیگری با مجوز دیگر غیرقانونی است؛ بنابراین بهتر است که افراد، برای مجموعهی این گونه نرمافزارها از یک مجوز copyleft واحد استفاده کنند. نرمافزار Non-copylefted نرمافزار آزاد non-copylefted، بر خلاف copylefted، اجازهی توزیع مجدد، تغییر و نیز اضافهکردن محدودیتهای جدید را به کاربر میدهد. اگر برنامهای آزاد باشد اما copylefted نباشد، ممکن است برخی از نسخهها یا نگارشهای تغییریافتهی آن به هیچوجه آزاد نباشند. یک شرکت نرمافزاری میتواند برنامهای را، با یا بدون تغییرات، کامپایل کند و فایل قابل اجرای آن را به عنوان یک محصول نرمافزاری اختصاصی توزیع نماید. X Window System نمونهای از این برنامهها است. کنسرسیوم X، X11 را با شرایطی توزیع نموده که درحال حاضر، نرمافزار آزاد non-copylefted میباشد. اگر بخواهید، میتوانید یک نسخه از آن را که همان شرایط توزیع را دارد، به صورت آزاد دریافت کنید. البته نگارشهای غیرآزادی نیز دارد که ایستگاههای کاری عمومی و بوردهای گرافیکی PC، صرفاً با نگارشهای غیرآزاد آن، درست، کار میکنند. اگر از این سختافزارها استفاده میکنید، X11 نرمافزار آزادی برای شما نمیباشد. تولیدکنندگان X11 تا مدتها این برنامه را غیرآزاد کرده بودند. نرمافزار GPL-covered GNU GPL یکی از مجموعه مجوزها، برای یک برنامهی copyleft، با شرایط توزیع خاص میباشد. پروژهی GNU از این مجوز، به عنوان تبیین شرایط توزیع، برای اغلب نرمافزارهای GNU میباشد. سیستم گنو GNU System یک سیستم عملیاتی کاملاً آزاد شبه یونیکس میباشد. یک سیستم عملیاتی شبه یونیکس از چندین برنامه تشکیل شده است. سیستم گنو شامل همهی نرمافزارهای گنو میباشد؛ درست مشابه بسیاری از پکیجهای دیگر مثل سیستم X Windows و TeX که، اصولاً، نرمافزار گنو نیز نیستند. ما از سال 1984 مؤلفههای سیستم گنو را طراحی و جمع"آوری نمودهایم؛ اولین نسخهی آزمایشی تحت عنوان "سیستم گنوی کامل" در 1996 بیرون آمد. در سال 2001 سیستم گنوی Hurd با قابلیت اطمینان بالایی شروع به کار کرد. به مرور زمان، سیستم گنو/لینوکس، یکی از شاخههای نورستهی سیستم گنو که از لینوکس به عنوان کرنل استفاده میکرد، یکی از سیستمهای موفق در دههی 90 شد. از آنجاییکه هدف گنو آزاد بودن است، هر مؤلفهی واحدی در سیستم گنو باید آزاد باشد. هر یک از این مؤلفهها میتواند آزاد نباشد. به هر حال از نرمافزارهای آزاد non-copylefted، مثل سیستم X Windows میتوانیم و استفاده هم میکنیم. برنامههای گنو “GNU programs” یا همان برنامههای گنو را میتوان با “GNU software” یا نرمافزار گنو معادل دانست. به یک برنامه، برنامهی گنو گوییم، هرگاه یک نرمافزار گنو باشد. همچنین میتوانیم به آن “GNU package” یا پکیج گنو گوییم. نرمافزار گنو “GNU software” یا نرمافزار گنو، نرمافزاری است که تحت حمایت "پروژهی گنو" منتشر شدهاست. اگر برنامهای "نرمافزار گنو" باشد، به آن "برنامهی گنو" یا "پکیج گنو" نیز گوییم. فایل README یا راهنمای هر پکیج گنو باید این موضوع را خاطرنشان کرده باشد. اغلب پروژههای گنو، و نه همهی آنها، copyleft میباشند؛ به هرحال همهی نرمافزارهای گنو باید "نرمافزار آزاد" باشند. برخی از نرمافزارهای گنو، توسط کارمندان بنیاد نرمافزار آزاد نوشته میشوند، اما اکثر آنها با مشارکت داوطلبان و علاقهمندان انجام میگیرند. به برخی از این نرمافزارهای مشارکتی، توسط همین بنیاد، و برخی دیگر نیز توسط مشارکتکنندگانی که این برنامهها را نوشتهاند، کپیرایت داده میشود. نرمافزار نیمهآزاد (Semi free) نرمافزار نیمهآزاد نرمافزاری است که آزاد نیست، اما همراه با اجازهها و دسترسیهای خاص، جهت استفاده، نسخهبرداری، توزیع و تغییر (شامل توزیع نگارشهای تغییریافته)، با اهداف غیرانتفاعی، بیرون میآید. PGP یکی ار نمونههای این نرمافزارها میباشد. نرمافزارهای نیمهآزاد، انصافاً، از نرمافزارهای اختصاصی، که در ادامه در مورد آن نیز صحبت خواهیم نمود، بهتر هستند، اما همچنان مشکلات و محدودیتهایی را به دوش میکشند که باعث میشود نتوانیم از آنها در یک سیستم عملیاتی آزاد استفاده کنیم. محدودیتهای کپیلفت به این علت طراحی شدهاند که از آزادیهای اساسی و پایهی کاربران حمایت کنند. برای ما، تنها توجیه وجود هر محدودیت در استفاده از یک برنامه جلوگیری از افزودن محدودیتهای بیشتر، توسط دیگر افراد، در برنامه میباشد. برنامههای نیمهآزاد این محدودیتهای اضافی را برای اهداف کاملاً خودخواهانهی خود(!) دارند. به حساب آوردن این گونه نرمافزارها در یک سیستم عملیاتی آزاد امری غیرممکن است؛ چون شرایط توزیع یک سیستم عملیاتی با شرایط توزیع همهی برنامههایی که در آن سیستم قرار دارند، ارتباط مستقیم دارد. اضافه کردن یک برنامهی نیمهآزاد در این سیستم همهی سیستم را نیمهآزاد خواهد ساخت. به دو دلیل نمیخواهیم این موضوع رخ دهد: ۱. ما باور داریم که نرمافزار آزاد باید برای همه، شامل مرکز کسب و کار و نه صرفاً برای علاقهمندان و مراکز آموزشی، آزاد باشد. مثلاً میخواهیم از یک مرکز کسب و کار دعوت به عمل آوریم که به طور کامل سیستم گنو را به کار برد؛ در اینجا ما دیگر نمیتوانیم سیستمی را که حتی یک برنامهی نیمهآزاد دارد، برای این منظور پیشنهاد دهیم. ۲. توزیع تجاری سیستمهای عملیاتی آزاد، شامل سیستم گنو/لینوکس، از اهمیت زیادی برخوردارند و کاربرن از تسهیلات توزیع CD-ROMهای تجاری استقبال و تقدیر زیادی به عمل میآورند. وجود یک برنامهی نیمهآزاد در این سیستمها باعث از دست دادن این جایگاه خواهد شد. بنیاد نرمافزار آزاد، شخصاً، غیرتجاری است، و از این رو ما باید اجازهی استفاده از یک برنامهی نیمهآزاد را، به طور داخلی، بدهیم. اما ما این کار را نمیکنیم، چون در آن صورت تلاشهایمان برای فراهمآوردن و به شمار آوردن یک برنامه در مجموعهی گنو به نتیجهای نخواهد رسید. اگر کاری وجود دارد که در انجام آن نیاز به نرمافزار حس میشود، و تا وقتیکه یک برنامهی آزاد برای انجام آن موجود میباشد، گنو رخنهای دارد. ما باید به علاقهمندان خاطرنشان کنیم که "ما هنوز ،در گنو، برنامهای برای انجام این کار نداشتهایم، بنابراین امیدواریم که شما نمونهای از آن بنویسید". اگر ما خودمان از یک برنامهی نیمهآزاد برای انجام این کار استفاده کنیم، آنچه که تاکنون گفتهایم زیر سؤال میرود؛ عملی شدن نوشتن یک برنامهی آزاد و جایگزین، مستلزم عزم و تلاش ما، و دیگر افرادی که نقطهنظرات ما را میشنوند، میباشد. نرمافزار خصوصی (Private) نرمافزار خصوصی یا سفارشی برای یک کاربر خاص (عموماً یک مؤسسه یا شرکت) تولید میشوند. آن کاربر آنرا برای شخص خود نگه میدارد، از آن نیز استفاده مینماید، و آن را، به طور عمومی، خواه با کد منبع و خواه به فرم باینری، منتشر نمیکند. از یک جهت میتوان گفت که یک برنامهی خصوصی، یک نرمافزار آزاد است و آن، هنگامی است که به کاربر منحصر بفرد خودش تمامی حقوق و دسترسی ها را بدهد. به هرحال، در حالت کلی این قاعده صدق نمیکند. به طور کلی، اینکه یک برنامه تولید شود ولی به طور عمومی منتشر نشود، کار اشتباهی نیست. برخی اوقات، وقتی که یک برنامه خیلی مفید و کاربردی است، مضایقه از انتشار آن، انصافاً، کار انسانپسندانهای نیست؛ هرچند که، اغلب برنامهها چندان عجیب و حیرتآور نیستند و این مضایقه، عملاً آسیبرسان نیست. بنابراین، هیچ تناقضی بین تولید نرمافزار خصوصی یا سفارشی و اصول جنبش نرمافزار آزاد وجود ندارد. تقریباً همهی استخدامهای برنامهنویسان برای تولید نرمافزار سفارشی است؛ از این رو غالب کارهای برنامهنویسی میتوانند به روشی انجام گیرند که با جنبش نرمافزار آزاد سازگار باشد. نرمافزار اختصاصی (Propietary) نرمافزار اختصاصی نرمافزاری است که نه آزاد است نه نیمهآزاد. استفاده از آن، توزیع مجدد آن یا تغییر آن ممنوع میباشد، یا به کسب اجازه نیاز دارد و یا محدودیتهای اعمالی روی آن، آنقدر زیاد است که عملاً نمیتوان، آزادانه، با آن کاری انجام داد. بنیاد نرمافزار آزاد از این قانون متابعت میکند که ما نمیتوانیم هیچ برنامهی اختصاصی را روی کامپیوترمان نصب نماییم؛ البته به جز برنامههای موقتی که با اهداف خاصی، به عنوان جایگزینی برای یک برنامهی آزاد، نوشته میشوند. گذشته از این بحثها، کاملاً محسوس است که هیچ توجیه قابل قبولی برای عدم نصب یک برنامهی اختصاصی وجود ندارد. Freeware اصطلاح freeware تعریف روشن و قابل قبولی ندارد، اما، به طور معمول، برای پکیجهایی است که اجازهی توزیع مجدد، اما بدون اعمال تغییرات، را میدهند. در ضمن کد منبع آنها نیز در دسترس نمیباشد. این پکیجها نرمافزار آزاد نیستند، در نتیجه لطفاً، اصطلاح “freeware” را به جای “free software” به کار نبرید. Shareware Shareware نرمافزاری است که به افراد امکان توزیع مجدد نسخهها را میدهد، اما اظهار دارد که اگر فردی بخواهد به استفاده از نسخهها ادامه دهد لازم است هزینهای به عنوان حق مجوز بپردازد. Shareware نرمافزار آزاد نیست، حتی نیمهآزاد هم نیست. دو دلیل برای توضیح این نکته داریم: ۱. در اغلب sharewareها، کد منبع در دسترس نیست؛ از این رو، به هیچ وجه، نمیتوانید برنامه را تغییر دهید. ۲. sharewareها امکان ایجاد یک نسخه و نصب آن را، بدون پرداخت حق مجوز، به کاربر، و حتی به افراد سفارشدهنده در فعالیتهای غیرانتفاعی، نمیدهند. (در عمل، اغلب افراد این شرط توزیع را نادیده میگیرند، اما این شرایط اجازهی این کار را نمیدهد.) نرمافزار تجاری (Commercial) نرمافزار تجاری، نرمافزاری است که توسط یک مرکز تجاری (کسب و کار)، با هدف کسب پول از فروش و استفادهی نرمافزار، تولید میشود. “Commercial” و “Propietary” یک چیز نیستند! اغلب نرمافزارهای تجاری "اختصاصی" نیز هستند، اما نرمافزارهای آزاد تجاری و نرمافزارهای غیرآزاد غیرتجاری نیز وجود دارند. به عنوان مثال، GNU Ada همیشه تحت مجوز GNU GPL توزیع میشود، و هر نسخه از آن نرمافزار آزاد میباشد؛ اما تولیدکنندگان آن قراردادهای پشتیبانی را میفروشند. هنگامیکه فروشندگان آنها با مشتریان آینده صحبت میکنند، گهگاه مشتریها اضهار میکنند: "ما با یک کامپایلر تجاری اطمینان بیشتری داریم". فروشندگان پاسخ میدهند: "GNU Ada یک کامپایلر تجاری است و نرمافزاری آزاد میباشد. شما نیز میتوانید سطح آگاهی افراد را با بیان این موضوع که نرمافزار آزاد تجاری نیز امکانپذیر است، بالاتر ببرید. این کار نیز مسلماً مستلزم تلاشهایی است، نه اینکه بگویید "Commercial" در حالیکه منظورواقعیتان “Proprietary” است.
مفهوم نرمافزار آزاد تعریف نرم افزار آزاد ما این تعریف را از نرم افزار آزاد(Free Software) ارائه می دهیم تا به وضوح نشان دهیم که چه مواردی باید در مورد یک نرم افزار خاص صدق کند تا آن نرم افزار آزاد تلقی شود. نرم افزار آزاد موضوع آزادی است نه قیمت. برای درک این مفهوم ،باید به معنای کلمه free در عبارت free speech(سخن آزاد) فکر کنید نه به معنای آن در عبارتی مانند free beer.[توضیح این که کلمه free در زبان انگلیسی در دو معنای آزاد و رایگان به کار می رود.منظور نویسندگان در این جا مفهوم آزادی است نه رایگان بودن.بدیهی است به دلیل وجود دو کلمه جداگانه برای ترجمه این کلمه در فارسی،چنین مشکل لغوی وجود ندارد.] نرم افزار آزاد موضوع آزادی کاربران در اجرا، کپی، توزیع، آموختن، تغییر دادن و توسعه نرم افزار است. به بیان دقیقتر ،نرم افزار آزاد به چهار نوع آزادی(Freedom) برای کاربران یک نرم افزار اشاره می کند: - آزادی برای اجرای برنامه به هر منظوری (آزادی ۰) - آزادی برای آموختن نحوه عملکرد نرم افزار و سازگار کردن آن با نیازهای شخصی. (آزادی ۱). دسترسی به کد منبع پیش شرط این بند است. - آزادی برای توزیع مجدد کپی برنامه تا بتوانید به همسایه خود کمک کنید! (آزادی ۲) - آزادی برای اصلاح کردن و توسعه نرم افزار و منتشر کردن این اصلاحات برای همگان، که نتیجه آن منفعتهای عمومی جامعه خواهد بود. (آزادی ۳). دسترسی به کد منبع پیش شرط این بند است. برنامه ای آزاد است اگر کاربران آن همه این آزادیها را داشته باشند. بنابراین، شما باید آزاد باشید تا کپیها را با تغییر یا بدون تغییر، رایگان یا با دریافت وجهی برای توزیع، برای هرکس و هرجا مجددا توزیع کنید. آزاد بودن برای انجام این کارها (در میان مطالب دیگر) به این معنی است که شما مجبور نیستید از کسی اجازه بگیرید یا برای مجوز پولی پرداخت کنید. شما همچنین باید این آزادی را داشته باشید که در برنامه تغییراتی ایجاد کنید و آنها را به طور خصوصی در کار خود استفاده کنید. بدون این که حتی وجود آنها را متذکر شوید. اگر شما تغییراتتان را منتشر کنید، نباید مجبور باشید که شخص مخصوصی را به روش خاصی آگاه کنید. آزادی برای استفاده از یک برنامه به معنای آزادی برای هر شخص یا سازمان برای استفاده در هر نوع سیستم رایانهای، هر نوع کار، و بدون نیاز به ارتباط بعدی با توسعه دهنده یا هر نهاد خاص دیگر است. آزادی برای توزیع مجدد کپیها، باید شامل شکل دودویی یا اجرایی برنامه، همانند کد منبع (Source Code) باشد، چه برای نسخه تغییر یافته و چه برای نسخه بدون تغییر. (توزیع برنامهها در شکل اجرایی برای سیستم عاملهای آزادی که به راحتی نصب می شوند، الزامی است). اگر هیچ راهی برای تولید فرم اجرایی یا دودویی یک برنامه مشخص وجود نداشته باشد، مشکلی نیست.(چون برخی زبانها، این ویژگی را پشتیبانی نمیکنند)اما شما باید این آزادی راداشته باشید که اگر راهی برای برای تولید برنامه در این فرمها یافتید، آن را مجددا در حالت اجرایی و دودویی توزیع کنید. برای وجود آزادی به منظور ایجاد تغییر و انتشار نسخه های توسعه یافته، شما باید به کد منبع دسترسی داشته باشید. بنابراین، دسترسی به کد، شرطی اساسی برای نرم افزار آزاد است. به منظور واقعی بودن این آزادیها، آنها باید تا زمانی که شما کار خطایی انجام نداده اید، غیر قابل فسخ بمانند. اگر توسعه دهنده نرم افزار این قدرت را داشته باشد، که بدون انجام دادن کاری که موجب ابطال شود، مجوز نرمافزار را باطل کند، نرم افزار آزاد نیست. به هر حال،انواع خاصی از قوانین، در مورد نحوه توزیع نرم افزار آزاد، زمانی که آزادی ها اصلی را نقض نکنند، قابل قبول هستند. برای مثال، Copyleft (به زبان ساده) قانونی است که طی آن و در هنگام توزیع مجدد برنامه، شما نمی توانید محدودیتی برای رد آزادیهای اصلی کاربران قائل شوید. این قانون، نه تنها با آزادیهای اصلی منافاتی ندارد، بلکه آنها را نیز حفظ می کند. بنابراین، شما ممکن است برای برای دریافت نسخه های نرم افزار آزاد، پول پرداخت کرده باشید و یا ممکن است آنها را بی هیچ هزینهای گرفته باشید. اما بدون در نظر گرفتن این که شما چگونه نرم افزار را دریافت کردهاید، شما همیشه این آزادی رادارید، که نرم افزار را تکثیر کنید و یا تغییر بدهید، یا حتی آن را بفروشید. “نرم افزار آزاد ” به معنای “ غیر تجاری” نمیباشد، یک برنامه آزاد باید برای استفاده، توسعه و توزیع تجاری در دسترس باشد. توسعه تجاری یک برنامه آزاد دیگر غیر معمولی نیست، بلکه این گونه نرم افزارهای آزاد تجاری بسیار مهم هستند. قوانین مربوط به به چگونگی بسته کردن یک نسخه تغییر یافته هم اگر به طور موثر مانع آزادی شما برای منتشر کردن نسخه های تغییریافته نشود، قابل قبول است. قوانینی مانند “اگر شما برنامه به این روش قابل دسترس کنید،باید آن را به آن روش نیز قابل دسترس کنید“ هم می تواند با همان شرط قابل قبول باشد. (توجه داشته باشید که این قانون گزینه منتشر کردن یا نکردن برنامه را برای شما باقی می گذارد.) همچنین این قابل قبول است که اگر یک مجوز بخواهد هنگامی که نسخه تغییر یافته را منتشر کردید و توسعه دهنده قبلی یک نسخه از آن را در خواست کرد، باید برای او بفرستید. در پروژه گنو، ما از Copyleft برای حفاظت قانونی از این آزادیها برای اشخاص استفاده می کنیم. اما نرمافزارهای آزاد بدونCopyleft هم موجودند. ما اعتقاد داریم که دلایل مهمی وجود دارند که چرا استفاده از Copyleft بهتر است، اما اگر برنامه شما یک نرم افزار آزاد بدون کپی لفت است، ما همچنان می توانیم از آن استفاده کنیم. برای تشریح چگونگی ارتباط نرم افزار آزاد،نرم افزار Copyleft شده و دیگر موضوعات نرم افزار با هم، مقالات نرمافزار آزاد را ببینید. گاهی اوقات، مقررات کنترلی صادرات و مصوبات تجاری دولت،می توانند آزادی شما را برای توزیع بین المللی نسخههای برنامه، تحت الشعاع قرار دهند. توسعه دهندگان نرمافزار این قدرت را برای حذف یا زیر پا گذاشتن این محدودیت ها ندارند، اما کاری که میتوانند و باید انجام دهند، این است که از تحمیل کردن آنها به عنوان شرایط استفاده از برنامه خودداری کنند. بدین ترتیب، محدودیتها بر فعالیتها و مردمی که خارج از قلمرو این دولتها هستند، تاثیری نمی گذارند. بسیاری از لیسانسهای نرم افزار آزاد بر اساس کپی رایت(Copyright) بنا شده اند، و برای درخواستهایی که با کپی رایت تحمیل می شود، محدودیتهایی موجود است. اگر یک لیسانس مبتنی بر کپی رایت، آزادی را به شیوه هایی که در بالا تشریح شدند، محترم می شمرد، بعید است که مشکلات دیگری را که ما هرگز پیش بینی نمی کنیم، پیش بیاورد، (گرچه گه گاه این موارد صورت می گیرند) به هر حال، برخی از لیسانسهای نرم افزار آزاد بر پایه قراردادها(Contract) قرار دارند، و قراردادها طیف گسترده تری از محدودیتها تحمیل می کنند. این بدان معنی است که راههای بسیاری وجود دارند که یک لیسانس محدود و غیر آزاد باشد. ما نمی توانیم همه محدودیت های قرارداد را که قابل قبول نیستند، لیست کنیم. اگر یک مجوز مبتنی بر قرارداد کاربر را به روشی غیر عادی محدود کند (در حالی که مجوز مبتنی بر کپی رایت این چنین محدود نکند) و اینجا هم قانونی تلقی نشود، شما باید در مورد آن فکر کنید، و ما احتمالا آن را غیر آزاد می دانیم. هنگامی که در مورد نرم افزار آزاد صحبت می کنیم، بهتر است از به کار بردن کلماتی چون “هدیه دادن”(Give Away) یا “رایگان” (For Free) خودداری کنید. زیرا این اصطلاحات این معنی را می رسانند که موضوع در مورد قیمت است نه آزادی. کلمات مصطلحی چون “کپی غیر قانونی”(Piracy) نظراتی را القاء می کنند که ما امید واریم شما بر آنها صحه نگذارید. برای بحث در این مورد، “ کلمات و عبارات گیج کننده که اجتناب کردن از آنها با ارزش است” را ببینید. ما همچنین لیستی از ترجمه نرم افزار را به زبانهای مختلف داریم. در نهایت، ملاکهایی مانند آنها که در تعریف نرم افزار آزاد ذکر شده اند، برای تفسیر به توجه و فکر نیاز دارند. برای تصمیم در مورد این که آیا یک مجوز صلاحیت مجوز نرم افزار آزاد بودن را دارد، ما براساس همین ملاکها قضاوت می کنیم تا تعیین کنیم آیا علاوه بر کلمات و اصطلاحات استفاده شده، معنی و مفهوم آن نیز مناسب است یا نه. اگر در یک مجوز محدودیتی نا معقول وجود داشته باشد، ما آن را قبول نمی کنیم، حتی اگر آن محدودیتها را در این ملاکها پیش بینی نکرده باشیم. گاهی اوقات، درخواستهای یک مجوز موضوعی را به وجود می آورند که قبل از تایید آن نیاز به تحقیق و تفحص بیشتر (مانند بحث و تبادل نظر با یک وکیل) است. هنگامی که ما در مورد موضوعی جدید، به نتیجه دست پیدا می کنیم، این ملاکها را به روز می کنیم تا تعیین صلاحیت مجوزها را آسانتر کنیم. اگر شما علاقه دارید بدانید که یک مجوز صلاحیت مجوز های نرم افزار آزاد را دارد، لیست مجوزهای ما راببینید. اگر مجوزی که برای شما مهم است،اینجا ذکر نشده، شما می توانید با فرستادن ای میل به licensing@gnu.org درباره آن بپرسید. اگر شما به فکر نوشتن یک مجوز هستید، لطفا با همان آدرس با FSF (بنیاد نرم افزار آزاد) تماس بگیرید. افزایش تعداد مجوزهای آزاد به معنی کار های انجام شده بیشتر برای کاربران به منظور درک مجوزهاست. ما ممکن است بتوانیم شما را در یافتن مجوزی که نیازهای شما را برآورده کند، یاری کنیم. اگر این امکان پذیر نباشد، و اگر شما واقعا به یک مجوز جدید نیاز دارید، با کمک ما میتوانید با اجتناب به وجود آمدن مشکلات عملی، بفهمید که آیا مجوز آزاد است یا نه! گروه دیگری استفاده کردن از عبارت “بازمتن” (OpenSource) را آغاز کرده اند تا مفهومی نزدیک(نه یکسان) به نرم افزار آزاد را داشته باشد. ما عبارت“نرم افزار آزاد” را ترجیح می دهیم، زیرا به محض این که این عبارت را بشنوید،به یاد آزادی می افتید نه قیمت!!