دستهبندیهای نرمافزار گروهی از نرمافزارها هستند. که آنها به نرمافزار اجازه میدهند به جای ویژگیهای هر بسته، بر اساس آن دستهبندیها درک شوند. طرحهای طبقهبندی مختلف را از جنبههای مختلف نرمافزار در نظر میگیرند.
نرمافزارهای رایانهای را میتوان بر اساس عملکرد، نوع یا زمینه استفاده مشترک به دستههایی تقسیم کرد. سه طبقهبندی کلی وجود دارد:
پروژه گنو نرمافزار را بر اساس وضعیت حق چاپ طبقهبندی میکند: نرمافزار آزاد، نرمافزار منبع باز، نرمافزار مالکیت عمومی، نرمافزار کپیلفت، نرمافزار آزاد غیرکپیلفت، نرمافزار دارای مجوز ضعیف، نرمافزار تحت پوشش GPL، سیستم عامل گنو، برنامههای گنو، نرمافزار گنو، FSF - نرمافزار گنو دارای حق چاپ، نرمافزار غیرآزاد، نرمافزار اختصاصی، نرمافزار رایگان، نرمافزار اشتراک گذاری، نرمافزار خصوصی و نرم افزار تجاری.[۱]
نرمافزار رایگان نرمافزاری است که برای استفاده، کپی و توزیع، کلمه به کلمه یا با تغییرات، به صورت رایگان یا با هزینه برای هر کسی اجازه استفاده داده میشود. به ویژه، این بدان معنی است که کد منبع باید در دسترس باشد. «اگر منبع نیست، نرمافزار نیست.» اگر برنامه ای رایگان باشد، میتوان آن را بهطور بالقوه در یک سیستم عامل رایگان مانند گنو یا نسخههای رایگان سیستم لینوکس گنجاند.
نرمافزار رایگان به معنای آزاد بودن مجوز حق چاپ (و پروژه گنو) است نه قیمت خریداری آن. اما شرکتهای نرمافزاری اختصاصی معمولاً از اصطلاح «نرمافزار رایگان» برای اشاره به قیمت استفاده میکنند. این بدان معناست که یک نسخه باینری را میتوان بدون پرداخت هزینه دریافت کرد. گاهی این به این معنی است که یک نسخه به همراه یک رایانه برای فروش بدون هزینه اضافی همراه است.[۱]
نرمافزار منبع باز نرمافزاری است که کد منبع آن تحت یک مجوز خاص در اختیار دارندگان مجوز آن قرار میگیرد. میتوان از آن برای هر هدفی استفاده و منتشر کرد، کد منبع باز است و میتوان آن را در صورت نیاز تغییر داد. یکی از شرطهای این نوع نرمافزار این است که وقتی تغییرات ایجاد میشود، کاربران باید این تغییرات را به دیگران اطلاع دهند. یکی از ویژگیهای کلیدی نرمافزار منبع باز این است که مالکیت معنوی مشترک همه توسعه دهندگان و کاربران محفوظ است. سیستم عامل لینوکس یکی از شناخته شدهترین نمونههای مجموعه نرمافزارهای متن باز است.[۲]
نرمافزار Copylefted نرمافزار رایگانی است که شرایط توزیع آن تضمین میکند که همه نسخههای همه نسخهها کمابیش شرایط توزیع مشابهی دارند. به عنوان مثال، این به این معنی است که مجوزهای کپی لفت عموماً به دیگران اجازه نمیدهند که نیازمندیهای اضافی را به نرمافزار اضافه کنند (اگرچه میتوان به مجموعه محدودی از الزامات اضافه شده ایمن، اجازه داد) و اینکار نیاز به در دسترس قرار دادن کد منبع دارد. این امر از برنامه و نسخههای اصلاح شده آن در برابر برخی از روشهای متداول اختصاصی کردن برنامه حفاظت میکند.
همچنین برخی از مجوزهای کپی لفت ابزارهای متداول اختصاصی کردن نرمافزار را مسدود میکنند.
کپی لفت یک مفهوم کلی است. کپی کردن یک برنامه به مجموعه خاصی از شرایط توزیع نیاز دارد. مجوزهای مختلف کپی لفت معمولاً به دلیل شرایط مختلف «ناسازگار» هستند.
ادغام کد با استفاده از یک مجوز با کد استفاده شده از مجوز متفاوت غیرقانونی است. اگر هر دو نرمافزار از یک مجوز یکسان استفاده کنند، معمولاً قابل ادغام هستند.[۳]
نرمافزار رایگان بدون کپیلفت از نویسنده با اجازه توزیع مجدد و اصلاح و افزودن محدودیتهای مجوز بهوجود میآید.
اگر برنامهای رایگان باشد اما کپیلفت نشده باشد، ممکن است برخی از کپیها یا نسخههای اصلاحشده رایگان نباشند. یک شرکت نرمافزاری میتواند برنامه را با یا بدون تغییرات کامپایل کرده و فایل اجرایی را به عنوان یک محصول نرمافزاری اختصاصی توزیع کند. سیستم پنجره X این رویکرد را نشان میدهد. کنسرسیوم X X11 را با شرایط توزیع منتشر میکند که آن را نرمافزار رایگان غیر کپی لفت میکند. در صورت تمایل، میتوانید نسخه ای دریافت کنید که شرایط توزیع را داشته باشد و رایگان باشد. با این حال، نسخههای غیررایگان در دسترس هستند و ایستگاههای کاری و بردهای گرافیکی رایانه شخصی که نسخههای غیررایگان تنها مواردی هستند که برای آنها کار میکنند. توسعه دهندگان X11 برای مدتی X11 را غیر رایگان کردند. آنها توانستند این کار را انجام دهند زیرا دیگران کد آنها را تحت همان مجوز غیر کپی لفت ارائه کرده بودند.[۳]
Shareware نرمافزاری است که با مجوز توزیع مجدد نسخهها ارائه میشود، اما میگوید که هر کسی که به استفاده از یک نسخه ادامه میدهد ملزم به پرداخت هزینه است. Shareware یک نرمافزار رایگان یا حتی نیمه رایگان نیست. برای اکثر نرمافزارهای اشتراکی، کد منبع در دسترس نیست؛ بنابراین، برنامه را نمیتوان تغییر داد. Shareware با مجوز برای کپی کردن و نصب آن بدون پرداخت هزینه مجوز، از جمله برای فعالیتهای غیرانتفاعی، ارائه نمیشود.[۳]
مانند اشتراکافزار، نرمافزار رایگان نیز نرمافزاری است که برای دانلود و توزیع بدون پرداخت اولیه در دسترس است. نرمافزار رایگان هرگز هزینه مرتبطی ندارد. مواردی مانند بهروزرسانیهای جزئی برنامه و بازیهای کوچک معمولاً به عنوان نرمافزار رایگان توزیع میشوند. اگرچه نرمافزار رایگان هزینه ای ندارد، اما دارای حق چاپ است، بنابراین افراد دیگر نمیتوانند نرمافزار را به عنوان نرمافزار خود به بازار عرضه کنند.[۴]
این طبقهبندی دارای هفت عنصر اصلی است. آنها عبارتند از: پلت فرم و مدیریت، آموزش و مرجع، خانه و سرگرمی، محتوا و ارتباطات، عملیات و حرفه ای، تولید محصول و ارائه خدمات، و خط کسب و کار.