شرکت فناوران اینترنت اشیاء هیوا

نرم افزار آزاد چیست؟

"نرم افزار آزاد (free software)" به معنای نرم افزاری است که به آزادی و جامعه کاربران احترام می گذارد. تقریبا به این معنی است که کاربران برای اجرا، کپی، توزیع، مطالعه، تغییر و بهبود نرم افزار آزادند. بنابراین، "نرم افزار آزاد" درمورد آزادی است، نه قیمت. برای درک این مفهوم، باید «آزاد» را در «آزادی بیان» در نظر بگیرید، نه مانند «آبجوی رایگان». ما گاهی اوقات آن را "نرم افزار libre" می نامیم، و کلمه فرانسوی یا اسپانیایی را برای "آزاد" قرض می گیریم تا نشان دهیم که منظورمان رایگان بودن نرم افزار نیست.

ممکن است برای دریافت کپی از یک برنامه آزاد پول پرداخت کرده باشید، یا ممکن است نسخه هایی را بدون پرداخت هزینه دریافت کرده باشید. اما صرف نظر از اینکه چگونه کپی های خود را دریافت کرده اید، همیشه این آزادی را دارید که نرم افزار را کپی و تغییر دهید، حتی برای فروش کپی‌ها.

ما برای این آزادی ها مبارزه می کنیم، زیرا همه لیاقت آن ها را دارند. با این آزادی ها، کاربران (چه به صورت فردی و چه جمعی) برنامه و آنچه را که برای آنها انجام می دهد را کنترل می کنند. هنگامی که کاربران برنامه را کنترل نمی کنند، آن را یک برنامه "غیرآزاد" یا "اختصاصی" می نامیم. برنامه غیرآزاد کاربران و توسعه دهنده برنامه را کنترل می کند، و در این‌صورت این برنامه را به ابزار قدرتمند ناعادلانه تبدیل می کند.

“منبع باز” چیزی متفاوت است: این یک فلسفه بسیار متفاوت بر اساس ارزش های مختلف است. تعریف عملی آن نیز متفاوت است، اما تقریبا همه برنامه های منبع باز در واقع آزاد هستند. ما این تفاوت را توضیح می دهیم که چرا «Open source» نکته نرم‌افزار آزاد را نادیده می گیرد.

تعریف نرم افزار آزاد

تعریف نرم افزار آزاد معیارهایی را برای اینکه آیا یک برنامه نرم افزاری خاص به عنوان نرم افزار آزاد واجد شرایط است یا خیر ارائه می کند. هر از چند گاهی این تعریف را اصلاح می کنیم تا آن را روشن کنیم یا سوالاتی در مورد مسائل جزئی را حل کنیم.

چهار آزادی اساسی

یک برنامه نرم افزار درصورتی آزاد است که کاربران برنامه دارای چهار آزادی اساسی باشند:

۱- آزادی اجرای برنامه به دلخواه، برای هر هدفی (آزادی ۰)
۲- آزادی مطالعه نحوه عملکرد برنامه، و تغییر آن به گونه ای که محاسبات شما را همانطور که می خواهید انجام دهد (آزادی ۱). دسترسی به کد منبع پیش‌شرط این امر است.
۳- آزادی توزیع مجدد کپی‌ها به طوری که بتوانید به دیگران کمک کنید (آزادی ۲).
۴- آزادی توزیع کپی از نسخه های اصلاح شده خود به دیگران (آزادی ۳). با انجام این کار می توانید به کل جامعه این فرصت را بدهید که از تغییرات شما بهره مند شوند. دسترسی به کد منبع پیش شرط این امر است.

یک برنامه در صورتی نرم افزار آزاد است که تمام این آزادی ها را به اندازه کافی در اختیار کاربران قرار دهد. در غیر این صورت غیرآزاد است. در حالی که می‌توانیم طرح‌های توزیع غیرآزاد مختلف را از نظر اینکه چقدر از آزاد بودن فاصله دارند، متمایز ‌کنیم، همه آنها را به یک اندازه غیراخلاقی می‌دانیم.
در هر سناریویی، این آزادی‌ها باید برای هر کدی که قصد استفاده از آن را داشته باشیم یا دیگران را به استفاده از آن سوق دهیم، اعمال شود. به عنوان مثال، یک برنامه A را در نظر بگیرید که به طور خودکار یک برنامه B را برای رسیدگی به برخی موارد راه‌اندازی می کند. اگر قصد داریم A را همانطور که هست توزیع کنیم، این بدان معناست که کاربران به B نیاز دارند، بنابراین باید تشخیص دهیم که آیا A و B هر دو آزاد هستند یا خیر. با این حال، اگر قصد داریم A را طوری تغییر دهیم که از B استفاده نکند، فقط A باید آزاد باشد، وB مربوط به آن برنامه نیست.

نرم افزار آزاد می تواند تجاری باشد

"نرم افزار آزاد" به معنای "غیرتجاری بودن" نیست. برعکس، یک برنامه آزاد باید برای استفاده تجاری، توسعه تجاری و توزیع تجاری در دسترس باشد. این سیاست از اهمیت اساسی برخوردار است. بدون آن، نرم افزار آزاد نمی تواند به اهداف خود دست‌یابد.

ما می خواهیم همه از جمله مشاغل و کارگران آنها را دعوت کنیم تا از سیستم گنو استفاده کنند؛ که این امر مستلزم اجازه استفاده تجاری است. ما امیدواریم که برنامه‌های جایگزین آزاد، جایگزین برنامه‌های اختصاصی مشابه شوند، اما اگر کسب‌وکارها از استفاده از آن‌ها منع شوند، نمی‌توانند این کار را انجام دهند. ما می‌خواهیم محصولات تجاری حاوی نرم‌افزار شامل سیستم گنو باشند و این به معنای توزیع تجاری برای قیمت گذاشتن است. توسعه تجاری نرم افزار آزاد دیگر غیرعادی نیست. چنین نرم‌افزارهای تجاری آزاد بسیار مهم هستند. پشتیبانی حرفه ای و پولی برای نرم افزار آزاد، نیاز مهمی را برآورده می کند.

بنابراین، منع شدن استفاده تجاری، توسعه تجاری یا توزیع تجاری، جامعه نرم افزار آزاد را دچار مشکل می کند و مسیر موفقیت آن را مسدود می کند. ما باید نتیجه بگیریم که برنامه ای که دارای مجوز با چنین محدودیت هایی باشد، به عنوان نرم افزار آزاد واجد شرایط نیست.

یک برنامه آزاد باید چهار آزادی را در اختیار هر کاربر بالقوه ای قرار دهد که یک نسخه از نرم افزار را به دست می‌آورد؛ کاربری که تاکنون شرایط مجوز آزاد را که نرم افزار را در هر توزیع قبلی آن پوشش می دهد، رعایت کرده است. محدود کردن برخی از آزادی‌ها برای برخی از کاربران، یا مجبور کردن کاربران به پرداخت نقدی یا غیرمجاز برای اعمال آنها، به منزله عدم اعطای آزادی‌های مورد بحث است و در نتیجه برنامه را غیرآزاد می‌کند.

روشن کردن مرز بین آزاد و غیرآزاد

در ادامه این مقاله به طور دقیق‌تری توضیح می‌دهیم که آزادی‌های مختلف در مورد مسائل مختلف تا چه اندازه باید گسترش یابد تا یک برنامه آزاد باشد.

آزادی اجرای برنامه همانطور که می‌خواهید
آزادی اجرای برنامه به معنای آزادی هر نوع شخص یا سازمانی برای استفاده از آن بر روی هر نوع سیستم کامپیوتری، برای هر نوع کار و هدف کلی، بدون نیاز به برقراری ارتباط در مورد آن با توسعه دهنده یا هر نهاد خاص دیگری است. در این آزادی، این هدف کاربر است که مهم است، نه هدف توسعه دهنده. شما به عنوان یک کاربر، آزاد هستید که برنامه را برای اهداف خود اجرا کنید، و اگر آن را در اختیار شخص دیگری قرار دهید، او آزاد است تا آن را برای اهداف خود اجرا کند، اما شما حق ندارید اهداف خود را به او تحمیل کنید.
آزادی اجرای برنامه به دلخواه به این معنی است که شما از اجرای آن منع نشده اید. اینکه آیا از نظر فنی قادر به عملکرد در هر محیط معین است یا اینکه برای هر فعالیت محاسباتی خاصی مفید است، ربطی به عملکرد برنامه ندارد. به عنوان مثال، اگر کد به طور خودسرانه ورودی های معنی دار خاصی را رد کند - یا حتی بدون قید و شرط از کار بیفتد - ممکن است برنامه ناکافی و حتی کاملا بی فایده باشد، اما آزادی اجرای برنامه را از کاربران سلب نمی کند؛ بنابراین با آزادی ۰ در تضاد نیست. اگر برنامه آزاد باشد، کاربران می توانند بر از فقدان فایده غلبه کنند، زیرا آزادی های ۱ و ۳ به کاربران و مجموعه اجازه می دهد تا نسخه های اصلاح شده را بدون کد مزاحم دلخواه بسازند و توزیع کنند.
«همانطور که می‌خواهید»، به‌طور اختیاری، «اصلا» را در بر می‌گیرد، اگر این همان چیزی است که شما می‌خواهید. بنابراین نیازی به "آزادی برای اجرا نکردن یک برنامه" جداگانه نیست.

آزادی مطالعه کد منبع و ایجاد تغییرات
برای اینکه آزادی های ۱ و ۳ (آزادی ایجاد تغییرات و آزادی انتشار نسخه های تغییر یافته) معنی دار باشند، باید به کد منبع برنامه دسترسی داشته باشید. بنابراین، دسترسی به کد منبع یک شرط ضروری برای نرم افزار آزاد است. "کد منبع" مبهم، کد منبع واقعی نیست و به عنوان کد منبع به حساب نمی آید.
آزادی ۱ شامل آزادی استفاده از نسخه تغییر یافته شما به جای نسخه اصلی است. اگر این برنامه در محصولی ارائه شده است که برای اجرای نسخه های اصلاح شده شخص دیگری طراحی شده است اما از اجرای نسخه شما امتناع می ورزد؛ عملی که به عنوان "tivoization" یا "قفل کردن" یا (در اصطلاح نادرست تمرین کنندگان آن) به عنوان “secure boot” شناخته می شود و آزادی ۱ به جای یک واقعیت عملی تبدیل به یک تظاهر توخالی می شود. این binary ها نرم افزار آزاد نیستند حتی اگر کد منبعی که از آن compile شده اند آزاد باشد.
یکی از راه های مهم برای تغییر یک برنامه، ادغام در subroutines و modules آزاد موجود است. اگر مجوز برنامه می گوید که نمی توانید در یک ماژول موجود با مجوز مناسب ادغام شوید- برای مثال، اگر از شما می‌خواهد که صاحب حق نسخه‌برداری هر کدی باشید که اضافه می‌کنید، پس مجوز آنقدر محدود است که نمی‌تواند آزاد باشد.
اینکه آیا تغییر به منزله بهبود است یا خیر یک موضوع ذهنی است. اگر حق شما برای اصلاح یک برنامه، در اصل، محدود به تغییراتی است که شخص دیگری آن را بهبود یافته می‌داند، آن برنامه آزاد نیست.
یکی از موارد خاص آزادی ۱ حذف کد برنامه است. بنابراین پس از اینکه هیچ کاری انجام نداد برمی گردد، یا کاری می‌کند که برنامه دیگری را فراخوانی کند. بنابراین، آزادی ۱ شامل "آزادی حذف برنامه" است.

آزادی توزیع مجدد در صورت تمایل: مقررات اساسی
آزادی توزیع (آزادی‌های ۲ و ۳) به این معنی است که شما می‌توانید نسخه‌ها را، چه با تغییرات چه بدون تغییرات، رایگان یا با دریافت هزینه‌ای برای توزیع، برای هر کسی در هر کجای دیگر توزیع کنید. آزاد بودن در انجام این کارها (از جمله موارد دیگر) به این معنی است که شما مجبور نیستید برای انجام این کار اجازه بخواهید یا هزینه ای بپردازید.
شما همچنین باید این آزادی را داشته باشید که تغییراتی ایجاد کنید و از آنها به طور خصوصی در کار یا بازی خود استفاده کنید، بدون اینکه حتی به وجود آنها اشاره کنید. اگر تغییرات خود را منتشر می کنید، نباید از شما خواسته شود به طور خاص یا به روش خاصی به کسی اطلاع دهید.
آزادی ۳ شامل آزادی انتشار نسخه های اصلاح شده شما به عنوان نرم افزار آزاد است. یک مجوز آزاد همچنین ممکن است راه‌های دیگری را برای انتشار آنها مجاز کند. به عبارت دیگر، لازم نیست مجوز copyleft باشد. با این حال، مجوزی که به نسخه های اصلاح شده نیاز دارد تا غیرآزاد باشد، به عنوان مجوز آزاد واجد شرایط نیست.
آزادی توزیع مجدد کپی ها باید شامل فرم های باینری یا اجرایی برنامه، و همچنین کد منبع، برای هر دو نسخه اصلاح شده و اصلاح نشده باشد. (توزیع برنامه ها به شکل قابل اجرا برای سیستم عامل های آزاد با قابلیت نصب راحت لازم است). اگر راهی برای تولید یک فرم باینری یا اجرایی برای یک برنامه خاص وجود نداشته باشد، مشکلی ندارد (چون برخی از زبان ها از آن ویژگی پشتیبانی نمی‌کنند)، اما اگر راهی برای ساختن آنها بیابید یا توسعه دهید، باید آزادی توزیع مجدد چنین فرم هایی را داشته باشید.

کپی‌لفت (Copyleft)
زمانی انواع خاصی از قوانین در مورد نحوه توزیع نرم افزار آزاد قابل قبول هستند که با آزادی های مرکزی در تضاد نباشند. به عنوان مثال، کپی‌لفت (خیلی ساده بیان شده) این قانون است که در هنگام توزیع مجدد برنامه، نمی‌توانید محدودیت‌هایی را برای سلب آزادی‌های اصلی افراد دیگر اضافه کنید. این قاعده منافاتی با آزادی های مرکزی ندارد؛ بلکه از آنها محافظت می کند.
در پروژه گنو، ما از کپی لفت برای محافظت از چهار آزادی به طور قانونی برای همه استفاده می کنیم. ما معتقدیم دلایل مهمی وجود دارد که چرا بهتر است از کپی‌لفت استفاده کنیم. با این حال، نرم افزار آزاد بدون کپی‌لفت نیز اخلاقی است.

قوانین مربوط به جزئیات بسته بندی و توزیع
قوانین مربوط به نحوه بسته بندی یک نسخه اصلاح شده، اگر به طور اساسی آزادی شما را برای انتشار نسخه های اصلاح شده، یا آزادی شما را برای ساخت و استفاده از نسخه های اصلاح شده به صورت خصوصی محدود نکند، قابل قبول است. بنابراین، برای مجوز قابل قبول است که شما نام نسخه اصلاح شده را تغییر دهید، یک آرم را حذف کنید، یا تغییرات خود را به عنوان اختصاصی خودتان شناسایی کنید. تا زمانی که این مقررات آنقدر سنگین نباشند که شما را از انتشار تغییراتتان بازدارند، قابل قبول هستند. شما پیش از این، تغییرات دیگری در برنامه ایجاد کرده اید، بنابراین برای ساختن چند مورد دیگر مشکلی نخواهید داشت.
قوانینی که «اگر نسخه خود را به این روش در دسترس قرار دهید، باید آن را به آن روش نیز در دسترس قرار دهید» نیز می‌تواند با همان شرایط قابل قبول باشد. یک مثال از چنین قانون قابل قبول این است که می گوید اگر نسخه اصلاح شده ای را توزیع کرده اید و توسعه دهنده قبلی یک کپی از آن را درخواست می کند، باید یک نسخه از آن را ارسال کنید. (توجه داشته باشید که چنین قاعده‌ای همچنان این انتخاب را برای شما باقی می‌گذارد که آیا اصلا نسخه خود را توزیع کنید یا خیر). قوانینی که به انتشار کد منبع برای کاربران نیاز دارند برای نسخه هایی که برای استفاده عمومی قرار می دهید نیز قابل قبول هستند.
زمانی که یک مجوز نیاز به تغییر نام داشته باشد که برنامه با آن از برنامه های دیگر فراخوانی می شود، مشکل خاصی ایجاد می شود. این به طور مؤثر شما را از انتشار نسخه تغییر یافته خود باز می‌دارد تا در صورت فراخوانی توسط سایر برنامه‌ها، جایگزین نسخه اصلی شود. این نوع نیاز فقط در صورتی قابل قبول است که یک امکان نام مستعار مناسب وجود داشته باشد که به شما اجازه می دهد نام برنامه اصلی را به عنوان نام مستعار برای نسخه اصلاح شده مشخص کنید.

مقررات صادرات
گاهی اوقات مقررات کنترل صادرات دولت و تحریم های تجاری می تواند آزادی شما را برای توزیع نسخه های بین المللی برنامه ها محدود کند. توسعه دهندگان نرم افزار قدرت حذف یا نادیده گرفتن این محدودیت ها را ندارند، اما کاری که می توانند و باید انجام دهند این است که از تحمیل آنها به عنوان شرایط استفاده از برنامه خودداری کنند. به این ترتیب محدودیت ها بر فعالیت ها و افراد خارج از حوزه قضایی این دولت ها تاثیری نخواهد داشت. بنابراین، مجوزهای نرم افزار آزاد نباید به اطاعت از مقررات صادرات پیش پا افتاده به عنوان شرط اعمال هر یک از آزادی های اساسی نیاز داشته باشند.
صرفا ذکر وجود مقررات صادراتی، بدون اینکه آنها را شرط خود مجوز بدانیم، قابل قبول است زیرا کاربران را محدود نمی کند. اگر مقررات صادرات در واقع برای نرم افزار آزاد جزئی است، الزام آن به عنوان یک مشکل واقعی نیست. با این حال، این یک مشکل بالقوه است، زیرا تغییر بعدی در قانون صادرات می‌تواند این الزام را بی‌اهمیت کند و در نتیجه نرم‌افزار را غیرآزاد کند.

ملاحظات قانونی
برای اینکه این آزادی ها واقعی باشند، تا زمانی که شما مرتکب اشتباهی نشوید، باید دائمی و غیرقابل برگشت باشند. اگر توسعه‌دهنده نرم‌افزار این اختیار را داشته باشد که مجوز را لغو کند، یا محدودیت‌هایی را به شرایط پیشین آن اضافه کند، بدون اینکه شما کار اشتباهی انجام دهید، نرم‌افزار آزاد نیست.
یک مجوز آزاد ممکن است به انطباق با مجوز یک برنامه غیرآزاد نیازی نداشته باشد. بنابراین، برای مثال، اگر مجوزی از شما می‌خواهد که از مجوزهای «همه برنامه‌هایی که استفاده می‌کنید» پیروی کنید، در مورد کاربری که برنامه‌های غیرآزاد را اجرا می‌کند، این امر مستلزم رعایت مجوزهای آن برنامه‌های غیرآزاد است، که این مجوز را غیرآزاد می کند.
برای مجوز آزاد قابل قبول است که مشخص شود که کدام قانون حوزه قضایی باید اعمال شود، یا کدام شکایت قضایی باید انجام شود (یا هردو).

مجوزهای مبتنی بر قرارداد
بیشتر مجوزهای نرم‌افزار آزاد مبتنی بر کپی‌رایت هستند و محدودیت‌هایی در مورد نوع الزاماتی که می‌توان از طریق کپی‌رایت اعمال کرد وجود دارد. اگر یک مجوز مبتنی بر کپی‌رایت به روش هایی که در بالا توضیح داده شد به آزادی احترام بگذارد، بعید است که مشکل دیگری که ما هرگز پیش بینی نکرده بودیم داشته باشد (اگرچه این اتفاق گاهی اوقات رخ می دهد). با این حال، برخی از مجوزهای نرم افزار آزاد مبتنی بر قراردادها هستند و قراردادها می توانند طیف وسیع تری از محدودیت های ممکن را اعمال کنند. این بدان معناست که راه‌های زیادی وجود دارد که چنین مجوزی می‌تواند به‌طور غیرقابل قبولی محدودکننده و غیرآزاد باشد.
ما نمی توانیم همه راه هایی که ممکن است اتفاق بیفتند را فهرست کنیم. اگر مجوز مبتنی بر قرارداد کاربر را به روشی غیرعادی محدود کند که مجوزهای مبتنی بر کپی‌رایت نتوانند، که در اینجا به عنوان قانون ذکر نشده است، باید در مورد آن تحقیق شود و احتمالا به این نتیجه خواهیم رسید که غیرآزاد است.

تعریف نرم افزار آزاد در عمل

چگونه این معیارها را تفسیر می کنیم
توجه داشته باشید که معیارهایی از جمله مواردی که در این تعریف نرم‌افزار آزاد بیان شده است، به تفکر دقیق برای تفسیر آنها نیاز دارد. برای تصمیم‌گیری در مورد اینکه آیا یک مجوز نرم‌افزار خاص به عنوان مجوز نرم‌افزار آزاد واجد شرایط است یا خیر، آن را بر اساس این معیارها بررسی می‌کنیم تا تعیین کنیم که آیا با روحیه آنها و همچنین کلمات دقیق مطابقت دارد یا خیر. اگر مجوزی شامل محدودیت‌های غیراخلاقی باشد، آن را رد می‌کنیم. گاهی اوقات مقررات یک مجوز مسئله ای را مطرح می کند، که قبل از اینکه بتوانیم در مورد قابل قبول بودن این مقررات تصمیم بگیریم، به بررسی گسترده، از جمله بحث با یک وکیل نیاز داریم. وقتی در مورد موضوع جدیدی به نتیجه می‌رسیم، اغلب این ضوابط را به‌روزرسانی می‌کنیم تا بفهمیم چرا مجوزهای خاص واجد شرایط هستند یا نیستند.

از مجوزهای آزاد کمک بگیرید
اگر علاقه دارید بدانید که آیا یک مجوز خاص به عنوان مجوز نرم افزار آزاد واجد شرایط است یا خیر، به لیست مجوزها مراجعه کنید.
اگر قصد دارید مجوز جدیدی بنویسید، لطفا ابتدا با نوشتن به آن آدرس با بنیاد نرم افزار آزاد تماس بگیرید. گسترش مجوزهای مختلف نرم افزار آزاد به معنای افزایش کار برای کاربران در درک مجوزها است. ممکن است بتوانیم به شما کمک کنیم تا مجوز نرم افزار آزاد موجود که نیازهای شما را برآورده کند را پیدا کنید.

هنگام صحبت در مورد نرم افزار آزاد از کلمات مناسب استفاده کنید
هنگامی که در مورد نرم افزار آزاد صحبت می شود، بهتر است از به‌کار بردن عباراتی مانند «اهدایی» یا «به صورت رایگان» اجتناب کنید، زیرا این عبارات نشان می‌دهد که موضوع در مورد قیمت است، نه آزادی. برخی از اصطلاحات رایج مانند " piracy/ دزدی" نشان‌دهنده افکاری هستند که امیدواریم آنها را تایید نکنید! برای بحث در مورد این اصطلاحات به کلمات و عبارات گیج کننده ای که ارزش اجتناب از آنها را دارند مراجعه کنید.
گروهی دیگر از اصطلاح " open source/ منبع باز" برای "نرم‌افزار آزاد" استفاده می کنند؛ که فقط کمی به معنای آزاد نزدیک است و با مفهوم آزاد یکسان نیست. ما اصطلاح "نرم افزار آزاد" را ترجیح می دهیم؛ زیرا هنگامی که آن را شنیدید متوجه می‌شوید که به آزادی اشاره دارد نه قیمت، و آزادی را به ذهن یادآوری می‌کند. کلمه "باز" هرگز به آزادی اشاره نمی کند.

فراتر از نرم افزار

به همان دلایلی که نرم افزار باید آزاد باشد، دفترچه راهنماهای نرم افزار نیز باید آزاد باشند؛ زیرا کتابچه‌های راهنما در واقع بخشی از نرم افزار هستند.
همین استدلال‌ها برای انواع دیگر آثار کاربردی، یعنی آثاری که دانش مفید را در بر می‌گیرند، مانند آثار آموزشی و آثار مرجع نیز معنا دارد. ویکی پدیا شناخته شده ترین نمونه است.
هر نوع اثری می تواند آزاد باشد و تعریف نرم افزار آزاد به تعریفی از آثار فرهنگی آزاد تعمیم داده شده است که برای هر نوع اثری قابل اجرا است.

تاریخچه

هر از گاهی ما این تعریف نرم افزار آزاد را بازبینی می کنیم. در اینجا لیستی از تغییرات اساسی به همراه پیوندهایی وجود دارد که بیان می‌کند دقیقا چه چیزی تغییر کرده است.
نسخه ۱.۱۶۹: با وضوح بیشتری توضیح می‌دهد که چرا چهار مورد آزادی باید برای فعالیت تجاری اعمال شود. توضیح می‌دهد که چرا چهار آزادی، دلالت بر آزادی اجرا نکردن برنامه و آزادی حذف آن است، بنابراین نیازی به بیان آن ها به عنوان مقررات جداگانه نیست.
نسخه ۱.۱۶۵: توضیح می‌دهد که تحریک‌های دلخواه در کد، آزادی ۰ را نفی نمی کند، و آزادی های ۱ و ۳ به کاربران این امکان را می‌دهد که آنها را حذف کنند.
نسخه ۱.۱۵۳: توضیح می‌دهد که آزادی اجرای برنامه به این معنی است که هیچ چیز مانع اجرای آن نمی شود.
نسخه ۱.۱۴۱: مشخص می‌کند کدام کد باید آزاد باشد.
نسخه ۱.۱۳۵: هر بار می‌گوید که آزادی ۰ ، آزادی اجرای برنامه به دلخواه است.
نسخه ۱.۱۳۴: آزادی ۰ ، به عملکرد برنامه مربوط نمی شود.
نسخه ۱.۱۳۱: یک مجوز آزاد ممکن است به انطباق با مجوز غیرآزاد برنامه دیگری نیاز نداشته باشد.
نسخه ۱.۱۲۹: به صراحت اعلام می‌کند که انتخاب قانون و انتخاب مشخصات انجمن، مجاز است. (این سیاست همیشه ما بوده است).
نسخه ۱.۱۲۲: اگر مقررات کنترل صادرات پیش‌پا افتاده نباشد، در این صورت یک مشکل واقعی است. در غیر این صورت فقط یک مشکل بالقوه است.
نسخه ۱.۱۱۸: توضیح: موضوع محدودیت در حق شما برای تغییر است، نه تغییراتی که انجام داده اید؛ و اصلاحات محدود به "تکامل‌ها" نیستند.
نسخه ۱.۱۱۱: ۱.۷۷ را با گفتن اینکه فقط محدودیت های مربوط به گذشته غیرقابل قبول هستند، روشن می‌کند. دارندگان copyright همیشه می توانند با انتشار موازی اثر به روشی دیگر، مجوز اضافی برای استفاده از اثر اعطا کنند.
نسخه ۱.۱۰۵: در بیانیه مختصری از آزادی ۱، این نکته (که قبلا در نسخه ۱.۸۰ ذکر شده است) را منعکس می‌کند که واقعا شامل استفاده از نسخه اصلاح شده شما برای محاسباتتان می شود.
نسخه ۱.۹۲: توضیح می‌دهد که کد مبهم به عنوان کد منبع واجد شرایط نیست.
نسخه ۱.۹۰: توضیح می‌دهد که آزادی ۳ به معنای حق توزیع کپی از نسخه اصلاح شده یا بهبود یافته شماست، نه حق مشارکت در پروژه توسعه شخص دیگری.
نسخه ۱.۸۹: آزادی ۳ شامل حق انتشار نسخه های اصلاح شده به عنوان نرم افزار آزاد است.
نسخه ۱.۸۰: آزادی ۱ باید عملی باشد، نه فقط نظری.
نسخه ۱.۷۷: توضیح می‌دهد که همه تغییرات مربوط به گذشته در مجوز غیرقابل قبول است، حتی اگر به عنوان یک جایگزین کامل توصیف نشده باشد.
نسخه ۱.۷۴: تعدادی از توضیحات از نکات به اندازه کافی واضح نیست، یا فقط در بعضی جاها بیان شده است و در همه جا منعکس نشده است:
• "بهبودها" به این معنی نیست که مجوز می تواند به طور اساسی انواع نسخه های اصلاح شده را که می توانید منتشر کنید محدود کند. آزادی ۳ شامل توزیع نسخه های اصلاح شده است، نه فقط تغییرات.
• حق ادغام در ماژول های موجود به مواردی اشاره دارد که دارای مجوز مناسب هستند.
• نتیجه گیری در مورد موضوع کنترل صادرات را به صراحت بیان می‌کند.
• اعمال تغییر مجوز به منزله ابطال مجوز قدیمی است.
نسخه ۱.۵۷: بخش "فراتر از نرم افزار" اضافه شد.
نسخه ۱.۴۶: مشخص می‌کند که هدف چه کسی در آزادی اجرای برنامه برای هر هدفی مهم است.
نسخه ۱.۴۱: در مورد مجوزهای مبتنی بر قرارداد توضیح می‌دهد.
نسخه ۱.۴۰: توضیح می‌دهد که یک مجوز آزاد باید به شما اجازه دهد از سایر نرم افزارهای آزاد موجود برای ایجاد تغییرات خود استفاده کنید.
نسخه ۱.۳۹: مجوزی قابل قبول است که از شما بخواهد منبع نسخه های نرم افزاری را که برای استفاده عمومی قرار می دهید ارائه دهید.
نسخه ۱.۳۱: برای مجوز قابل قبول است که از شما بخواهد خود را به عنوان نویسنده تغییرات معرفی کنید.به همراه توضیحات جزئی دیگر در سراسر متن.
نسخه ۱.۲۳: مشکلات احتمالی مربوط به مجوزهای مبتنی بر قرارداد را برطرف می‌کند.
نسخه ۱.۱۶: توضیح می‌دهد که چرا توزیع باینری‌ها مهم است.
نسخه ۱.۱۱: یک مجوز آزاد ممکن است از شما بخواهد که در صورت درخواست، یک کپی از نسخه هایی را که توزیع می کنید برای توسعه دهندگان قبلی ارسال کنید.

شرکت فناوران اینترنت اشیاء هیوا از سال ۱۳۹۷ با بهره‌گیری از دانش، تخصص و تجربه افراد توانمند در زمینه نرم افزار آزاد و اینترنت اشیا فعالیت می کند.

سایت مرجع: gnu.org