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