سختافزار رایانه (به انگلیسی:
Computer Hardware
به مجموعهای از اجزای فیزیکی گفته میشود که یک رایانه را میسازند. سختافزار رایانه درواقع همان قسمتها یا اجزای فیزیکیِ رایانه مانند نمایشگر، موشواره، صفحهکلید، دیسک سخت، واحد سیستم (کارتهای گرافیک، کارتهای صدا،حافظه اصلی، مادِربورد و تراشههای دیگر) و ... هستند که قابل لمساند.[۱]
در مقابل، نرمافزار مجموعهای از مجموعه دستورالعملهای قابل خواندن برای ماشین است که به پردازنده مرکزی امر میکند تا اعمال خاصی را انجام دهد. ترکیبی از نرمافزار و سختافزار یک سیستم رایانه قابل استفاده را بهوجود میآورند.[۲]
الگوی ساخت تمام رایانههای امروزی معماری فون نویمان است. این معماری برای اولین بار در گزارشی به قلم ریاضیدان مجارستانی، جان فون نویماندر سال ۱۹۴۵ توضیح داده شد. معماری فون نویمان روش طراحی یک رایانه دیجیتال را با تقسیم آن به واحد پردازنده مرکزی، حافظهٔ اصلی، حافظههایذخیرهسازی انبوه و ساز و کارهای ورودی/خروجی شرح میدهد.[۳] در این تقسیمبندی واحد پردازنده مرکزی شامل واحد محاسبه و منطق، ثباتها و یک واحد کنترل (شامل ثبات شمارنده برنامه، ثبات دستورالعمل و ...) است. حافظهٔ اصلی نیز برای ذخیرهسازی دادهها و دستورالعاملها مورد استفاده قرار میگیرد.[۳]
مفهوم عبارت معماری فون نویمان بهتدریج گسترش پیدا کرد و بهمعنای رایانههای تکحافظهای درآمد که در آنها امکان واکشی یک دستورالعمل و یک داده بهصورت همزمان وجود ندارد زیرا هر دو از یک گذرگاه مشترک استفاده میکنند. این مسئله که به گلوگاه معماری فون نویمان نیز معروف است، باعث کاهش کارایی اینگونه سیستمها میشود.
امروزه سیستمهای رایانهای مختلفی مورد استفاده قرار میگیرند.
رایانههای شخصی، که با عنوان PC نیز شناخته میشوند، یکی از رایجترین انواع رایانهها هستند که بهدلیل تنوع، همهکاره بودن و قیمت پایینتر بیش از انواع دیگر مورد استفاده قرار میگیرند. لپتاپها نیز در کل همان رایانههای شخصی هستند که معمولاً با سختافزارهای کممصرفتر و کوچکتر ساخته میشوند.
جعبه رایانه (به انگلیسی: Computer Case) یک محفظه پلاستیکی یا فلزی است که بیشتر قطعات سختافزاری یک رایانه در درون آن قرار میگیرند. نسخههای مربوط به رایانههای رومیزی معمولاً در اندازههایی ساخته میشوند که بتوان آنها را در زیر یک میز جا داد؛ با این حال در سالهای اخیر طراحیهای کوچکتری نیز بهوجود آمده و محصولاتی مانند آیمک شرکت اپل تمامی سختافزارها را در درون یک جعبه قرار میدهند. لپتاپها نیز رایانههایی هستند که در فرم یک جعبه تاشو ساخته میشوند. در سالهای اخیر طراحی اینگونه رایانهها نیز دچار تحول شده است. برای مثال نسخههایی از لپتاپها بهوجود آمدهاند نمایشگر آنها جدا شده و تبدیل به تبلت میشوند.
یک واحد منبع تغذیه (به انگلیسی: Power Supply Unit) مسئول تبدیل برق متناوب با ولتاژ بالا به برق مستقیم با ولتاژ پایین و قابل استفاده برای قطعات سختافزاری رایانه است. لپتاپها میتوانند به کمک باتری نیز تا چند ساعت انرژی مورد نیاز رایانه را تأمین کنند.[۴]
مادربورد یا بوردِ اصلی (به انگلیسی: Motherboard) قسمت اصلی سختافزار یک رایانه است. بورد اصلی یک قطعه مستطیل شکل بزرگ است کهمدارهای مجتمع فراوانی دارد. این قطعه تمامی سختافزارهای دیگر رایانه مانند پردازنده مرکزی، رم، دیسکخوانها (دیسک سخت، دیسک نوری و ...) و دیگر قطعات متصلشدنی را بههم متصل میکند.
قطعاتی که به طور مستقیم به مادربورد متصل میشوند یا بخشی از این بورد هستند:
کارت توسعه در رایانه یک مدار کامل از پیش ساختهشده است که در شیاف توسعه بر روی مادربورد قرار میگیرد و از طریق درگاه توسعه، قابلیت جدیدی را به سیستم اضافه میکند.
ذخیرهساز دادهٔ رایانه که به آن مخرن (به انگلیسی: Storage) یا حافظه (به انگلیسی: Memory) میگویند به قسمتهایی از رایانه اشاره دارد که دادههای دیجیتال را ضبط و نگهداری میکنند. ذخیرهسازی داده یکی از قابلیت اصلی رایانه است و وجود قطعهای برای این کار ضروری است.
دادههای رایانه بر روی رسانههای (به انگلیسی: Media) بسیاری ذخیرهسازی میگردند. دیسکهای سخت بهدلیل قیمت پایین و حجم ذخیرهسازی بالا تقریباً برروی تمامی سیستمهای قدیمیتر وجود دارند. درایوهای حالت جامد (SSD) امروزه بهدلیل سرعت بیشتر کمکم جایگزین این دیسکها میشوند. اما هنوز قیمت بسیار بالاتری نسبت به دیسکهای سخت دارند. بعضی از سیستمها نیز برای کارایی و قابلیت اطمینان بیشتر از کنترلگر صف دیسکها استفاده میکنند.
برای انتقال داده بین رایانههای مختلف میتوان از یک فلشدرایو یا دیسک نوری استفاده کرد. میزان مفید بودن این رسانهها به قابلیت پشتیبانی آنها در سیستمهای مختلف وابسته است. بیشتر سیستمها دارای دیسکگردان نوری هستی و تقریباً تمامی آنها از درگاه یواسبی بهره میبرند.
دستگاههای ورودی و خروجی معمولاً بهصورت دستگاههای خارجی به شاسیِ رایانه متصل میشوند.
دستگاههای ورودی به کاربر اجازه میدهند تا اطلاعاتی را به سیستم وارد و یا عملکرد آن را کنترل کند. بیشتر رایانههای شخصی دارای موشواره و صفحه کلید هستند اما بیشتر لپتاپها بهجای موشواره از تاچپد استفاده میکنند. از دستگاههای ورودی دیگر میتوان به وببین، میکروفون، اهرمک و پویشگر تصاویر اشاره کرد.
دستگاههای خروجی اطلاعات رایانه را بهصورت قابلِ خواندن برای انسان نمایش میدهند. از میان دستگاههای خروجی میتوان به چاپگر، بلندگو و صفحه نمایش اشاره کرد.
یک بزرگرایانه یک رایانه بسیار بزرگ است که معمولاً برای نگهداری نیاز به یک اتاق کامل دارد. این نوع رایانهها صدها و یا هزاران برابر رایانههای شخصیهزینه دارند. این رایانههای طراحی شدهاند تا محاسبات بسیار زیادی را برای دولتها و شرکتهای بزرگ انجام دهند.
در دهههای ۱۹۶۰ و ۱۹۷۰ روز به روز قسمتهای بیشتری از شرکتها رو به استفاده از رایانههایی با کاربری مخصوص مانند کنترل فرایند و اتوماسیونهای آزمایشگاهها کردند. این رایانههای مینیرایانه یا رایانههای کوچک نام گرفتند.
یک ابررایانه در نگاه اول بسیار شبیه به بزرگرایانه است، اما این نوع رایانهها برای پاسخ به درخواستهایِ زیادِ محاسباتی ساخته شدهاند. از ماه نوامبر سال ۲۰۱۳ میلادی سریعترین ابررایانه دنیا تیانهه-۲ (به معنای راهِ شیری-۲) است که در شهر گوانگژو کشور چین واقع شده است.[۶]
عبارت ابررایانه به هیچ تکنولوژی خاصی اشاره نمیکند بلکه در هر دورهٔ زمانی به سریعترین رایانههای در دسترس اطلاق میشود. در اواسط سال ۲۰۱۱ میلادی ابررایانهها از سرعت ۱ پتافلاپ یا (هزار میلیون میلیون) عملیات اعداد اعشاری در ثاینه پیشی گرفتند. با اینکه ابررایانهها بسیار سریع هستند اما بهدلیل هزینهٔ بسیار بالایی که دارند، تنها توسط سازمانهای بسیار بزرگ برای انجام وظایف محاسباتی بسیار سنگین شامل مجموعه دادههای بزرگ مورد استفاده قرار میگیرند. ابررایانهها معمولاً کاربردهای نظامی و علمی دارند. با اینکه استفاده از این نوع رایانهها میلیونها دلار هزینه دارد، اما برای کاربردهای تجاری نیز مورد استفاده قرار میگیرند. مثلاً بانکها برای محاسبه میزان خطر و بدست آوردن استراتژی سرمایهگذاری از ابررایانهها استفاده میکنند یا موسسات بهداشت و درمان با تحلیل دادههای بسیار بزرگ بیماران سعی میکنند روشهای بهینه درمان را پیدا کنند.
چکیده
نرم افزار، مجموعه ای از برنامه های رایانه ای، رویه ها و مستندات است که انجام کارهای مختلف بر روی یک سیستم رایانه ای را بر عهده دارد. عبارت "نرم افزار" برای نخستین بار توسط جان توکی در سال 1958 مورد استفاده قرار گرفت. در سطح بسیار ابتدایی، نرم افزار کامپیوتر، متشکل از زبان ماشین است که شامل گروهی از مقادیر دودویی بوده و دستورالعمل پردازنده را تعیین می کند. دستورالعمل پردازنده تغییر بیان از سخت افزار کامپیوتر در یک توالی از پیش تعریف شده می باشد. به طور خلاصه، نرم افزار کامپیوتر، زبانی است که اصطلاحاً به وسیلۀ آن یک رایانه، صحبت می کند. انواع مختلفی از نرم افزار های رایانه ای وجود دارد و باید دید اقسام اصلی آنها کدامند؟
نرم افزارها از منظرهای مختلفی قابل دسته بندی و تقسیم می باشند و متخصصین علوم رایانه ای با توجه به ابعاد مختلف نرم افزار به ارائۀ تقسیم بندی های متفاوتی از این پدیدۀ فناورانه پرداخته اند.
با توجه به این نکته که هر تقسیم بندی می بایستی فلسفه و فایده ای داشته باشد و از طرفی نرم افزار از دو بعد فنی و حقوقی نیز امکان دسته بندی دارد، آنچه در پی می آید بر آن است که نرم افزار را از منظرهای متفاوتی مورد دسته بندی و تحلیل قرار دهد تا زوایا و ابعاد فنی و حقوقی نرم افزار ، قدری روشن تر گردد؛ زیرا به نظر می رسد، میزان و شکل حمایت حقوقی با توجه به اجزا، مراحل و اقسام نرم افزار، متفاوت خواهد بود.
۱-تقسیم بندی های فنی نرم افزار
به جهت فنی و ابعاد مرتبط با علوم رایانه ای، نرم افزار ها را با توجه به معیارهای گوناگون از جمله هدف و مأموریت نرم افزار، زمینۀ استفاده، نوع نقش و عملکرد و یا کاربر نرم افزار، می توان مورد تقسیم بندیهای مختلفی قرار داد. ذیلاً با توجه به معیارهای پیش گفته به بررسی انواع نرم افزارها از جهت فنی خواهیم پرداخت.
1-1- نرم افزارهای پایه(Programming Software) :
این دسته از نرم افزارها، یکی از انواع معمول، شناخته شده و مورد علاقۀ کاربران در میان نرم افزار های کامپیوتری است . این نرم افزار در قالب ابزار بوده و به برنامه نویس در نوشتن برنامه های کامپیوتری کمک می کند. برنامه های کامپیوتری مجموعه ای از دستورات منطقی هستند که برای یک سیستم کامپیوتری، وظایف خاصی را انجام می دهند . ابزارهایی که به برنامه نویسان در ایجاد یک سیستم کامپیوتری کمک می کنند، شامل ویرایشگر متن ، کامپایلرها و مترجم ها ست. کامپایلرها(مفسرها)، کد منبع را که در قالب یک زبان برنامه نویسی، نوشته شده اند به زبانی که کامپیوتر آن را می فهمد، ترجمه می کنند.(اغلب در قالب دو دویی). کامپایلرها چیزهایی را که به وسیلۀ رابط ها، تجمیع و تبدیل شده اند، تولید می کنند. دی باگرها( اِشکال زداها )، جهت بررسی و اشکال زدایی کدها استفاده می شوند. کد منبع، بعضاً یا به طور کامل، برای ابزارهای اشکال زدا (Debugging tool) که بر روی آنها اجرا شده و به جهت برطرف کردن هرگونه اشکال احتمالی به کار می روند، شبیه سازی می شود. مترجم ها (Interpreters) برنامه ها را اجرا می کنند. آنها کد منبع و یا یک کد از پیش تالیف شده را اجرا و یا کد منبع را قبل از اجرا به یک زبان میانی ترجمه می کنند.
1-2- نرم افزارهای سیستمی(System Software) :
این گونه از نرم افزارها به راه اندازی و اجرای سخت افزار رایانه ای و سیستم رایانه، کمک می کنند. نرم افزارهای سیستمی به سیستمهای عامل، درایورها، سرورها و برنامه های جانبی سیستمی(utilities) اطلاق می شود. نرم افزار سیستمی به یک برنامه نویس کاربردی در خصوص جداسازی و انتزاع زبان برنامه نویسی از سخت افزار، حافظه، و سایر اجزاء مرکب درونی یک رایانه، کمک می کند تا خودش را درگیر زبان ماشین نکند. یک سیستم عامل، برای کاربرها، با یک پلت فرم، امکان اجرای برنامه های سطح بالا را فراهم می آورد.
میان افزارها و سیستم ورودی و خروجی بایوس، ابزاری را فراهم می کنند تا سخت افزار به کار گرفته شود.
1-3- نرم افزارهای کاربردی(Application Software) :
این قسم از نرم افزارها، کاربر نهایی را قادر می سازد تا امور معینی را به انجام رساند. نرم افزارهای مربوط به کسب و کار، پایگاههای داده و نرم افزارهای آموزشی، برخی از اشکال نرم افزارهای کاربردی هستند. همچنین واژه پردازهای مختلف که باید توسط کاربر، به انجام کارهای تخصصی اختصاص داده شوند، نمونه های دیگری از نرم افزارهای کاربردی هستند.
1-3-1- بدافزارها (Malware):
بدافزار، اشاره به هر گونه نرم افزار مخرب داشته و یک طیف وسیع تر از نرم افزارهایی را در بر می گیرد که به هر شکل، تهدیدی برای امنیت رایانه می باشند. ابزارهای تبلیغاتی مزاحم، جاسوس افزارها، ویروس های رایانه ای، کرم های رایانه ای، اسب های تروجان و یا ترس افزارها، مصادیق نرم افزارهای مخرب می باشند. ویروس های رایانه ای، برنامه های مخربی است که به تنهایی قادر به تکثیر خود بوده و از یک رایانه به رایانۀ دیگر در محیط شبکه و یا اینترنت گسترش می یابند. کرم رایانه ای همین کار را انجام می دهد، تنها با این تفاوت که ویروس ها نیاز به یک برنامه میزبان ضمیمه دارند و با آن گسترش می یابند، در حالی که در خصوص کرم ها لازم نیست تا خود را به برنامه ای ضمیمه کنند. تروجان نیز خود را تکثیر و اطلاعات را سرقت می کند. نرم افزارهای جاسوسی می توانند بر فعالیت های کاربر بر روی یک رایانه، نظارت داشته و اطلاعات کاربر را بدون اینکه وی بفهمد، سرقت کنند.
1-3-2- ابزارهای تبلیغاتی مزاحم(Adware) :
ابزارهای تبلیغاتی مزاحم نرم افزارهایی هستند که با استفاده از آن، تبلیغات اینترنی در فضای مجازی ، اجرا یا دانلود می شوند. برنامه نویسان، ابزارهای تبلیغاتی مزاحم را به عنوان وسیلۀ تولید درآمد خود طراحی می کنند. آنها، اطلاعات کاربر، مانند وب سایت هایی را که وی اغلب بازدید می کند و صفحاتی که به عنوان صفحۀ مورد علاقه، ثبت کرده را استخراج می کنند. تبلیغاتی که به عنوان پاپ آپ در صفحۀ نمایش شما ظاهر می شوند، ناشی از برنامه های تبلیغاتی مزاحم هستند که شما را ردیابی می کنند. اما ابزارهای تبلیغاتی مزاحم برای امنیت رایانه و یا حریم خصوصی کاربر، مضر نیست؛ بلکه داده ها را جمع آوری کرده و تنها به وسیلۀ پیشنهاد از طریق کلیک کاربر بر روی تبلیغات عمل می کنند.
برخی دیگر از نرم افزار ها در میان سایر نرم افزارهای رایانه ای، مانند نرم افزار مدیریت موجودی، برنامهریزی منابع سازمانی ، نرم افزارهای جانبی و نرم افزار حسابداری وجود دارندکه در زمینۀ خاص اطلاعاتی و سیستم های مدیریت داده ها، کاربرد دارند. ذیلاً نگاهی گذرا به برخی از آنها، خواهیم داشت.
1-3-3- نرم افزار انبار گردانی(Inventory Management Software) :
این نوع از نرم افزار به یک سازمان در ردیابی کالاها و مواد خود بر اساس کیفیت و کمیت کمک می کند. توابع مدیریت موجودی انبار شامل نقل و انتقالات انبار داخلی و ذخیره سازی می باشد. این نرم افزار انبار کمک می کند تا یک شرکت در سازماندهی موجودی و بهینه سازی جریان کالا در سازمان خود بهتر عمل کرده و در نتیجه این امر به بهبود خدمات به مشتریان منجر می شود.
1-3-4- نرم افزارهای جانبی (Utilities Software):
همچنان که مطابق عرف معمول خدمات نرم افزاری شناخته شده اند، این گونه از نرم افزارها در خصوص مدیریت سخت افزار رایانه و نرم افزارهای رایانه ای کمک می کنند. این فرآیند نرم افزاری، طیف محدودی از وظایف و عملکرد ها را بر عهدا دارد. یک پارچه سازهای دیسک سخت (Disk defragmenters)، نرم افزارهای سیستمی جانبی و ویروس یاب ها، برخی از نمونه های متداول نرم افزار های جانبی هستند.
1-3-5- نرم افزار پشتیبان و بازیابی اطلاعات(Data Backup and Recover Software):
یک نرم افزار پشتیبان و بازیابی اطلاعات ایده آل، ویژگی هایی فراتر از کپی ساده از فایل های داده را فراهم می کند. این نرم افزار اغلب، نیازهای کاربر را در خصوص تشخیص موارد و زمان پشتیبانی و حمایت برنامه ها، برطرف می کند. نرم افزارهای پشتیبانی و بازیابی، سازمان مندی اصلی فایل را حفظ کرده و هرگونه بازیابی آسان از اطلاعات پشتیبانی شده را ممکن می سازد.
1-3-6- نرم افزار های پردازش داده ها :
این مورد، رایج ترین زمینه برای تولید نرم افزار و استفاده از رایانه است. سیستم هایی نظیر حسابداری، انبارداری، حقوق و دستمزد و فروش، در این خصوص قابل ذکرند.
1-3-7- نرم افزارهای شبیه سازی و مدل سازی :
به جهات اقتصادی و ایمنی و صرفه جویی در وقت، برای آموزش و تحقیق در بسیاری از موارد، از این قابلیت در رایانه استفاده می شود. آموزش خلبانی و طراحی بدنه اتومبیل و امثال اینها، مصادیق این دسته اند.
1-3-8- نرم افزارهای سیستم خبره :
مقصود ساختن برنامه هایی است که بتواند کارهای هوشمندانه انسان نظیر گفتگو، ترجمه و تفسیر زبان و معاینه را انجام دهد. سیستم های باهوش مصنوعی، بر اساس منطق است و در آن از پایگاه دانش نیز علاوه بر پایگاه داده، استفاده می شود.
1-3-9- نرم افزار های سیستم بی درنگ :
در این سیستم ها، عکس العمل بلافاصله صورت می گیرند. نرم افزار های بدین منظور بیشتر در مراکز تولیدی نظیر پالایشگاه مورد استفاده دارد که با بروز هر عامل و علامتی، بی درنگ عکس العمل نشان داده و به تنظیم فرآیند تولید می پردازد.
1-3-10- نرم افزارهای سسیتم نهفته :
بسیاری از وسایل کوچک و بزرگ نظیر اسباب بازی، اتومبیل و تجهیزات پزشکی وجود دارند که در آنها کامپیوترهای ریزی به کار رفته است و با برنامه هایی که روی آنها نصب گردیده، کار آن دستگاه کنترل می شود.
۲-تقسیم بندی های حقوقی نرم افزار
با توجه به اینکه نرم افزار پدیده ای فنی بوده و در عین حال، دارای ارزش اقتصادی و مطلوبیت عرفی، می باشد، نیازمند مجموعۀ قواعد و حمایت های حقوقی است تا بتوان به وسیلۀ آن، روابط پدیدآورندگان و مالکان نرم افزار را با مشتریان و مصرف کنندگان تنظیم کرده و از بروز اختلافات و نابسامانی ها و همچنین سوءاستفادۀ ناقضان احتمالی حقوق صاحبان حق در این حوزه جلوگیری به عمل آورد. در این راستا دسته بندی نرم افزار از حیث محدوده و نحوۀ بهره برداری کاربران و مشتریان نرم افزار ، امری بسیار حائز اهمیت است که ذیلاً به آن پرداخته خواهد شد.
2-1- نرم افزارهای سفارشی(Custom Software) :
نرم افزاری است که برای یک کاربر یا سازمان خاص طراحی شده و از آنجا که برای یک کاربر خاص ساخته شده است، مشخصات و ویژگی های آن مطابق با نیاز کاربر می باشد.
البته عبارت نرم افزار سفارشی نرم افزاری را به ذهن متبادر می کند که طی قرارداد سفارش اثر تولید شده. در واقع می توان نرم افزارها را به لحاظ حقوقی و از حیث دارنده حق به نرم افزارهایی که طی قرارداد سفارش تولید شده اند و نرم افزارهایی که طی رابطه کارگر و کارفرمایی تولید شده اند، از یک سو و از حیث دیگر نرم افزار را به نرم افزارهایی که یک پدیدآورنده دارند در مقابل نرم افزارهایی که اثر مشترک محسوب می شوند؛ تقسیم بندی نمود.این در حالی است که به اعتبار دیگر نرم افزارها را می توان به اختصاصی و متن باز، تقسیم کرد. در واقع نرم افزار اختصاصی یا متن باز می تواند به اشکال مختلف و در روابط مختلف( از حیث نخستین دارنده حقوق) تولید شده باشد.
2-2- نرم افزارهای ردۀ عام(Off-the-Shelf Software) :
برخلاف نرم افزار های سفارشی، نرم افزار ردۀ عام، بدون در نظر گرفتن رده و کاربر خاص، خریداری می شود. این نرم افزار، ممکن است جهت منظوری خاص یا در خصوص نیازهای کاربری خاص، طراحی شده باشند و یا به این منظور تولید نشده باشند، لیکن قابلیت استفادۀ عام داشته باشند و طیف وسیعی از کاربران بتوانند با استفاده از آن نیاز خود را در زمینۀ مطلوب خودشان برطرف نمایند؛ بدون اینکه هیچ گونه هماهنگی و ارتباطی با طراح نرم افزار داشته باشند. در حقیقت شما هنگام خرید این نرم افزار، با شرایط قرارداد لیسانس آن، موافقت می کنید.
2-3- نرم افزار رایگان(free Softwer):
نرم افزاری است که یک کاربر، برای استفاده، تغییر و توزیع آن، آزاد است. نرم افزار رایگان به طور کلی بدون هزینه از آب در می آید. لیکن هزینه ها مشتمل است بر توزیع، ارائه خدمات، و نگهدارای و پشتیبانی. واژۀ رایگان به آزاد بودن نرم افزار از نظام کپی رایت، توزیع و جرح وتعدیل اشاره دارد.البته باید در نظر داشت، نرمافزارهای رایگان به طور رایگان قابل دانلود و استفاده هستند اما ممکن است لزوما قابلیت استفاده مجدد و تغییر و اصلاح توسط کاربر را نداشتهباشند. هردو نوع نرمافزارهای آزاد و نرمافزارهای متنباز در یک ویژگی مشترک هستند: همهی کاربران آن ها باید به کدهای منبع دسترسی داشته باشند. بدین معنی که کدهای منبع این نرمافزارها به شخص یا شرکت خاصی اختصاص ندارند و میتوان آنها را به اشتراک گذاشت.
2-4- نرم افزارهای منبع باز و منبع بسته (Open Source and Closed Source Software):
در نرم افزارهای مدل منبع بسته، منبع نرم افزار برای عموم منتشر نشده است؛ در حالی که در نرم افزارهای منبع باز، کد منبع آن برای اصلاح و استفاده در دسترس است. نرم افزارهای منبع باز در قالب کد منبعشان در دسترس هستند و حق تغییر، بهبود و ارتقاء و بعضاً حق انتشار کد آن از طریق لیسانس های نرم افزار اعطا می شود. در جایی که نرم افزار برای عموم مردم تولید شده باشد به آن نرم افزار منبع باز اطلاق می شود؛ چه اینکه نرم افزار یاد شده توسط یک شرکت و یا توسط یک شخص تولید شده باشد.
2-5- نرم افزارهای اختصاصی (Proprietary Software) :
در نرم افزارهای اختصاصی، حقوق قانونی منحصراً برای دارندۀ حق تکثیر باقی مانده و اکثر نرم افزارهای اختصاصی به صورت منبع بسته در دسترس قرار می گیرند.
این نوع نرمافزارها متعلق به یک شرکت یا شخص حقیقی است و استفاده از آنها مستلزم خرید یا کسب مجوز بهرهبرداری از دارنده است. دسترسی به کدهای منبع و تغییر آنها توسط کاربر در نرمافزارهای اختصاصی، امکانپذیر نیست. مطابق شرایط و ضوابط آنچه که « موافقتنامه مجوز بهرهبرداری کاربر نهایی» نامیده میشود، کاربران مجاز به تکثیر، به اشتراک گذاشتن، تغییر، توزیع مجدد یا مهندسی معکوس کدهای منبع نیستند.
برخی فروشندگان نرم افزار، کد منبع نرم افزارهای اختصاصی را با دسترسی محدود، میان مشتریان توزیع می کنند.نرم افزار اختصاصی به شکل نرم افزار مشروط یا نرم افزار معرف (Demoware) خواهد بودکه کاربران جهت استفاده از آنها وجهی را پرداخت نمی کنند، و فی الواقع ترکیبی از نرم افزارهای رایگان و مشروط هستند. اینگونه نرم افزارها مشتمل بر هزینۀ بسته بندی نیست، زیرا در قالب بسته بندی بازاری ارائه نمی شوند؛ اینگونه نرم افزارها به صورت اینترنتی یا در قالب های سخت افزارهای حامل که نیاز به بسته بندی تجاری مجزا ندارند، به مشتریان ارائه می شوند. با این وجود ممکن است برنامه نویسان از شما بخواهند تا مبلغ اندکی را جهت استحقاق دریافت نسخه های پشتیبان و کمکی، بپردازید.
2-6- نرم افزارهای مشروط و نرم افزارهای جزئی : (Shareware and Retail Software)
در حالی که نرم افزارهای مشروط به عنوان نسخۀ آزمایشی به کاربران عرضه می شود، نرم افزارهای جزئی به کاربران نهایی فروخته می شوند. با افزایش دسترسی به نرم افزارهای مشروط و رایگان بر روی اینترنت، بازار نرم افزارهای جزئی تغییر می کند. طراحان و فروشندگان، شروع به ارائۀ نرم افزارهایشان جهت فروش بر روی اینترنت می کنند. مکرراً نرم افزارهای مشروط به عنوان نرم افزاری غیر فعال(crippleware)، که در آنها ابعاد اصلی نرم افزار عمل نمی کنند و پس از اتمام دورۀ آزمایش به طور کلی از کار می افتند. اگرچه نرم افزار های مشروط قالب های بسیار مشهوری هستند که در این قالب، نرم افزارهای جزئی کاملاً از این شهرت و تداول برخوردار نیست. برای مثال نرم افزار Microsoft office یک نرم افزار بسته بندی شدۀ جزئی است که می بایستی خریده شوند. نرم افزار های جزئی ممکن است به عنوان بستۀ تجهیزات اصلی تولید منتقل شوند (OEM) در حال حاضر طراحان نرم افزار، به تولید کنندگان بزرگ بر اساس یک قرارداد لیسانس یک نسخه از کپی نرم افزار را به ایشان تحویل می دهند تا قبل از خرید امکان نصب نرم افزار مزبور را بر روی دستگاه های رایانه خود نصب کنند. بنابراین در بسته های موسوم به (Box Package Form) یک نسخه کپی از نرم افزار مجوز دار از طریق نمایندگی های مجاز به مشتریان تحویل داده می شود.
2-7- نرم افزار اختراعی و نرم افزار کپی رایتی : (Patent software and copy right software )
نرم افزار ازجهت این که تابع احکام کدام رژیم حمایتی حقوقی باشد قابل دسته بندی است. دو نظام حقوقی معروف و نسبتاً جا افتاده برای اموال غیر مادی وجود دارد که جنبه بین المللی نیز یافته و کنوانسیون های متعددی در خصوص آنها به تصویب رسیده است. نظام حق مولف یا کپی رایت و نظام حق اختراع. یکی از معمولترین نظام های پیشنهادی برای حمایت از پدیدآورندگان نرم افزار، نظام حق مولف است. برخی مشابهت ها بین یک اثر ادبی همانند کتاب و یک برنامه رایانه ای به خصوص در ابتدای عمر مهندسی نرم افزار که به شکل پیشرفتۀ کنونی مطرح نبود، سبب شد قوانین کپی رایت بسیاری از کشورها، طوری اصلاح شوند که از نرم افزارهای رایانه ای نیز همانند آثار ادبی حمایت شود. این در حالی است که تفاوت های در موضوع و نیز عدم تناسب احکام حق مولف با نرم افزار موجب شده است نظرها به نظام حقوق صنعتی(حق اختراع) معطوف شود و البته حق اختراع نیز کاملاً برای نرم افزارها مناسب نبوده و نقطه ضعف هایی بر آن بار می شود.
2-8- نرم افزار مشاع و نرم فزار غیر مشاع :
هرگاه اشخاص متعدد در پدیدآوردن نرم افزار ، مشارکت داشته باشند، چنانچه سهم مشارکت هریک در پدیدآوردن نرم افزار مشخص باشد، حقوق مادی حاصل از آن به نسبت مشارکت به هریک تعلق می گیرد. در صورتی که کار یکایک آنان جدا و متمایز نباشد، اثر مشترک نامیده می شود و حقوق ناشی از آن، حق مشاع پدیدآورندگان است. البته باید خاطر نشان کرد که هریک از شرکا به تنهایی یا همه آنها به اتفاق می توانند در مورد نقض حقوق موضوع قوانین مربوطه به مراجع قضایی، مراجعه کنند.
2-9- نرم افزار مکمل و نرم افزار سازگار :
یکی از حقوقی که همیشه در مورد نرم افزار و سایر آثار دارای حق مالکیت فکری مورد بحث و اختلاف نظر بوده است «حق تولید سازگار» است که در مورد آثار ادبی و هنری با عنوان تولید آثار اشتقاقی یا تلفیقی عنوان میشود. به
چکیده
نرم افزار، مجموعه ای از برنامه های رایانه ای، رویه ها و مستندات است که انجام کارهای مختلف بر روی یک سیستم رایانه ای را بر عهده دارد. عبارت "نرم افزار" برای نخستین بار توسط جان توکی در سال 1958 مورد استفاده قرار گرفت. در سطح بسیار ابتدایی، نرم افزار کامپیوتر، متشکل از زبان ماشین است که شامل گروهی از مقادیر دودویی بوده و دستورالعمل پردازنده را تعیین می کند. دستورالعمل پردازنده تغییر بیان از سخت افزار کامپیوتر در یک توالی از پیش تعریف شده می باشد. به طور خلاصه، نرم افزار کامپیوتر، زبانی است که اصطلاحاً به وسیلۀ آن یک رایانه، صحبت می کند. انواع مختلفی از نرم افزار های رایانه ای وجود دارد و باید دید اقسام اصلی آنها کدامند؟
نرم افزارها از منظرهای مختلفی قابل دسته بندی و تقسیم می باشند و متخصصین علوم رایانه ای با توجه به ابعاد مختلف نرم افزار به ارائۀ تقسیم بندی های متفاوتی از این پدیدۀ فناورانه پرداخته اند.
با توجه به این نکته که هر تقسیم بندی می بایستی فلسفه و فایده ای داشته باشد و از طرفی نرم افزار از دو بعد فنی و حقوقی نیز امکان دسته بندی دارد، آنچه در پی می آید بر آن است که نرم افزار را از منظرهای متفاوتی مورد دسته بندی و تحلیل قرار دهد تا زوایا و ابعاد فنی و حقوقی نرم افزار ، قدری روشن تر گردد؛ زیرا به نظر می رسد، میزان و شکل حمایت حقوقی با توجه به اجزا، مراحل و اقسام نرم افزار، متفاوت خواهد بود.
۱-تقسیم بندی های فنی نرم افزار
به جهت فنی و ابعاد مرتبط با علوم رایانه ای، نرم افزار ها را با توجه به معیارهای گوناگون از جمله هدف و مأموریت نرم افزار، زمینۀ استفاده، نوع نقش و عملکرد و یا کاربر نرم افزار، می توان مورد تقسیم بندیهای مختلفی قرار داد. ذیلاً با توجه به معیارهای پیش گفته به بررسی انواع نرم افزارها از جهت فنی خواهیم پرداخت.
1-1- نرم افزارهای پایه(Programming Software) :
این دسته از نرم افزارها، یکی از انواع معمول، شناخته شده و مورد علاقۀ کاربران در میان نرم افزار های کامپیوتری است . این نرم افزار در قالب ابزار بوده و به برنامه نویس در نوشتن برنامه های کامپیوتری کمک می کند. برنامه های کامپیوتری مجموعه ای از دستورات منطقی هستند که برای یک سیستم کامپیوتری، وظایف خاصی را انجام می دهند . ابزارهایی که به برنامه نویسان در ایجاد یک سیستم کامپیوتری کمک می کنند، شامل ویرایشگر متن ، کامپایلرها و مترجم ها ست. کامپایلرها(مفسرها)، کد منبع را که در قالب یک زبان برنامه نویسی، نوشته شده اند به زبانی که کامپیوتر آن را می فهمد، ترجمه می کنند.(اغلب در قالب دو دویی). کامپایلرها چیزهایی را که به وسیلۀ رابط ها، تجمیع و تبدیل شده اند، تولید می کنند. دی باگرها( اِشکال زداها )، جهت بررسی و اشکال زدایی کدها استفاده می شوند. کد منبع، بعضاً یا به طور کامل، برای ابزارهای اشکال زدا (Debugging tool) که بر روی آنها اجرا شده و به جهت برطرف کردن هرگونه اشکال احتمالی به کار می روند، شبیه سازی می شود. مترجم ها (Interpreters) برنامه ها را اجرا می کنند. آنها کد منبع و یا یک کد از پیش تالیف شده را اجرا و یا کد منبع را قبل از اجرا به یک زبان میانی ترجمه می کنند.
1-2- نرم افزارهای سیستمی(System Software) :
این گونه از نرم افزارها به راه اندازی و اجرای سخت افزار رایانه ای و سیستم رایانه، کمک می کنند. نرم افزارهای سیستمی به سیستمهای عامل، درایورها، سرورها و برنامه های جانبی سیستمی(utilities) اطلاق می شود. نرم افزار سیستمی به یک برنامه نویس کاربردی در خصوص جداسازی و انتزاع زبان برنامه نویسی از سخت افزار، حافظه، و سایر اجزاء مرکب درونی یک رایانه، کمک می کند تا خودش را درگیر زبان ماشین نکند. یک سیستم عامل، برای کاربرها، با یک پلت فرم، امکان اجرای برنامه های سطح بالا را فراهم می آورد.
میان افزارها و سیستم ورودی و خروجی بایوس، ابزاری را فراهم می کنند تا سخت افزار به کار گرفته شود.
1-3- نرم افزارهای کاربردی(Application Software) :
این قسم از نرم افزارها، کاربر نهایی را قادر می سازد تا امور معینی را به انجام رساند. نرم افزارهای مربوط به کسب و کار، پایگاههای داده و نرم افزارهای آموزشی، برخی از اشکال نرم افزارهای کاربردی هستند. همچنین واژه پردازهای مختلف که باید توسط کاربر، به انجام کارهای تخصصی اختصاص داده شوند، نمونه های دیگری از نرم افزارهای کاربردی هستند.
1-3-1- بدافزارها (Malware):
بدافزار، اشاره به هر گونه نرم افزار مخرب داشته و یک طیف وسیع تر از نرم افزارهایی را در بر می گیرد که به هر شکل، تهدیدی برای امنیت رایانه می باشند. ابزارهای تبلیغاتی مزاحم، جاسوس افزارها، ویروس های رایانه ای، کرم های رایانه ای، اسب های تروجان و یا ترس افزارها، مصادیق نرم افزارهای مخرب می باشند. ویروس های رایانه ای، برنامه های مخربی است که به تنهایی قادر به تکثیر خود بوده و از یک رایانه به رایانۀ دیگر در محیط شبکه و یا اینترنت گسترش می یابند. کرم رایانه ای همین کار را انجام می دهد، تنها با این تفاوت که ویروس ها نیاز به یک برنامه میزبان ضمیمه دارند و با آن گسترش می یابند، در حالی که در خصوص کرم ها لازم نیست تا خود را به برنامه ای ضمیمه کنند. تروجان نیز خود را تکثیر و اطلاعات را سرقت می کند. نرم افزارهای جاسوسی می توانند بر فعالیت های کاربر بر روی یک رایانه، نظارت داشته و اطلاعات کاربر را بدون اینکه وی بفهمد، سرقت کنند.
1-3-2- ابزارهای تبلیغاتی مزاحم(Adware) :
ابزارهای تبلیغاتی مزاحم نرم افزارهایی هستند که با استفاده از آن، تبلیغات اینترنی در فضای مجازی ، اجرا یا دانلود می شوند. برنامه نویسان، ابزارهای تبلیغاتی مزاحم را به عنوان وسیلۀ تولید درآمد خود طراحی می کنند. آنها، اطلاعات کاربر، مانند وب سایت هایی را که وی اغلب بازدید می کند و صفحاتی که به عنوان صفحۀ مورد علاقه، ثبت کرده را استخراج می کنند. تبلیغاتی که به عنوان پاپ آپ در صفحۀ نمایش شما ظاهر می شوند، ناشی از برنامه های تبلیغاتی مزاحم هستند که شما را ردیابی می کنند. اما ابزارهای تبلیغاتی مزاحم برای امنیت رایانه و یا حریم خصوصی کاربر، مضر نیست؛ بلکه داده ها را جمع آوری کرده و تنها به وسیلۀ پیشنهاد از طریق کلیک کاربر بر روی تبلیغات عمل می کنند.
برخی دیگر از نرم افزار ها در میان سایر نرم افزارهای رایانه ای، مانند نرم افزار مدیریت موجودی، برنامهریزی منابع سازمانی ، نرم افزارهای جانبی و نرم افزار حسابداری وجود دارندکه در زمینۀ خاص اطلاعاتی و سیستم های مدیریت داده ها، کاربرد دارند. ذیلاً نگاهی گذرا به برخی از آنها، خواهیم داشت.
1-3-3- نرم افزار انبار گردانی(Inventory Management Software) :
این نوع از نرم افزار به یک سازمان در ردیابی کالاها و مواد خود بر اساس کیفیت و کمیت کمک می کند. توابع مدیریت موجودی انبار شامل نقل و انتقالات انبار داخلی و ذخیره سازی می باشد. این نرم افزار انبار کمک می کند تا یک شرکت در سازماندهی موجودی و بهینه سازی جریان کالا در سازمان خود بهتر عمل کرده و در نتیجه این امر به بهبود خدمات به مشتریان منجر می شود.
1-3-4- نرم افزارهای جانبی (Utilities Software):
همچنان که مطابق عرف معمول خدمات نرم افزاری شناخته شده اند، این گونه از نرم افزارها در خصوص مدیریت سخت افزار رایانه و نرم افزارهای رایانه ای کمک می کنند. این فرآیند نرم افزاری، طیف محدودی از وظایف و عملکرد ها را بر عهدا دارد. یک پارچه سازهای دیسک سخت (Disk defragmenters)، نرم افزارهای سیستمی جانبی و ویروس یاب ها، برخی از نمونه های متداول نرم افزار های جانبی هستند.
1-3-5- نرم افزار پشتیبان و بازیابی اطلاعات(Data Backup and Recover Software):
یک نرم افزار پشتیبان و بازیابی اطلاعات ایده آل، ویژگی هایی فراتر از کپی ساده از فایل های داده را فراهم می کند. این نرم افزار اغلب، نیازهای کاربر را در خصوص تشخیص موارد و زمان پشتیبانی و حمایت برنامه ها، برطرف می کند. نرم افزارهای پشتیبانی و بازیابی، سازمان مندی اصلی فایل را حفظ کرده و هرگونه بازیابی آسان از اطلاعات پشتیبانی شده را ممکن می سازد.
1-3-6- نرم افزار های پردازش داده ها :
این مورد، رایج ترین زمینه برای تولید نرم افزار و استفاده از رایانه است. سیستم هایی نظیر حسابداری، انبارداری، حقوق و دستمزد و فروش، در این خصوص قابل ذکرند.
1-3-7- نرم افزارهای شبیه سازی و مدل سازی :
به جهات اقتصادی و ایمنی و صرفه جویی در وقت، برای آموزش و تحقیق در بسیاری از موارد، از این قابلیت در رایانه استفاده می شود. آموزش خلبانی و طراحی بدنه اتومبیل و امثال اینها، مصادیق این دسته اند.
1-3-8- نرم افزارهای سیستم خبره :
مقصود ساختن برنامه هایی است که بتواند کارهای هوشمندانه انسان نظیر گفتگو، ترجمه و تفسیر زبان و معاینه را انجام دهد. سیستم های باهوش مصنوعی، بر اساس منطق است و در آن از پایگاه دانش نیز علاوه بر پایگاه داده، استفاده می شود.
1-3-9- نرم افزار های سیستم بی درنگ :
در این سیستم ها، عکس العمل بلافاصله صورت می گیرند. نرم افزار های بدین منظور بیشتر در مراکز تولیدی نظیر پالایشگاه مورد استفاده دارد که با بروز هر عامل و علامتی، بی درنگ عکس العمل نشان داده و به تنظیم فرآیند تولید می پردازد.
1-3-10- نرم افزارهای سسیتم نهفته :
بسیاری از وسایل کوچک و بزرگ نظیر اسباب بازی، اتومبیل و تجهیزات پزشکی وجود دارند که در آنها کامپیوترهای ریزی به کار رفته است و با برنامه هایی که روی آنها نصب گردیده، کار آن دستگاه کنترل می شود.
۲-تقسیم بندی های حقوقی نرم افزار
با توجه به اینکه نرم افزار پدیده ای فنی بوده و در عین حال، دارای ارزش اقتصادی و مطلوبیت عرفی، می باشد، نیازمند مجموعۀ قواعد و حمایت های حقوقی است تا بتوان به وسیلۀ آن، روابط پدیدآورندگان و مالکان نرم افزار را با مشتریان و مصرف کنندگان تنظیم کرده و از بروز اختلافات و نابسامانی ها و همچنین سوءاستفادۀ ناقضان احتمالی حقوق صاحبان حق در این حوزه جلوگیری به عمل آورد. در این راستا دسته بندی نرم افزار از حیث محدوده و نحوۀ بهره برداری کاربران و مشتریان نرم افزار ، امری بسیار حائز اهمیت است که ذیلاً به آن پرداخته خواهد شد.
2-1- نرم افزارهای سفارشی(Custom Software) :
نرم افزاری است که برای یک کاربر یا سازمان خاص طراحی شده و از آنجا که برای یک کاربر خاص ساخته شده است، مشخصات و ویژگی های آن مطابق با نیاز کاربر می باشد.
البته عبارت نرم افزار سفارشی نرم افزاری را به ذهن متبادر می کند که طی قرارداد سفارش اثر تولید شده. در واقع می توان نرم افزارها را به لحاظ حقوقی و از حیث دارنده حق به نرم افزارهایی که طی قرارداد سفارش تولید شده اند و نرم افزارهایی که طی رابطه کارگر و کارفرمایی تولید شده اند، از یک سو و از حیث دیگر نرم افزار را به نرم افزارهایی که یک پدیدآورنده دارند در مقابل نرم افزارهایی که اثر مشترک محسوب می شوند؛ تقسیم بندی نمود.این در حالی است که به اعتبار دیگر نرم افزارها را می توان به اختصاصی و متن باز، تقسیم کرد. در واقع نرم افزار اختصاصی یا متن باز می تواند به اشکال مختلف و در روابط مختلف( از حیث نخستین دارنده حقوق) تولید شده باشد.
2-2- نرم افزارهای ردۀ عام(Off-the-Shelf Software) :
برخلاف نرم افزار های سفارشی، نرم افزار ردۀ عام، بدون در نظر گرفتن رده و کاربر خاص، خریداری می شود. این نرم افزار، ممکن است جهت منظوری خاص یا در خصوص نیازهای کاربری خاص، طراحی شده باشند و یا به این منظور تولید نشده باشند، لیکن قابلیت استفادۀ عام داشته باشند و طیف وسیعی از کاربران بتوانند با استفاده از آن نیاز خود را در زمینۀ مطلوب خودشان برطرف نمایند؛ بدون اینکه هیچ گونه هماهنگی و ارتباطی با طراح نرم افزار داشته باشند. در حقیقت شما هنگام خرید این نرم افزار، با شرایط قرارداد لیسانس آن، موافقت می کنید.
2-3- نرم افزار رایگان(free Softwer):
نرم افزاری است که یک کاربر، برای استفاده، تغییر و توزیع آن، آزاد است. نرم افزار رایگان به طور کلی بدون هزینه از آب در می آید. لیکن هزینه ها مشتمل است بر توزیع، ارائه خدمات، و نگهدارای و پشتیبانی. واژۀ رایگان به آزاد بودن نرم افزار از نظام کپی رایت، توزیع و جرح وتعدیل اشاره دارد.البته باید در نظر داشت، نرمافزارهای رایگان به طور رایگان قابل دانلود و استفاده هستند اما ممکن است لزوما قابلیت استفاده مجدد و تغییر و اصلاح توسط کاربر را نداشتهباشند. هردو نوع نرمافزارهای آزاد و نرمافزارهای متنباز در یک ویژگی مشترک هستند: همهی کاربران آن ها باید به کدهای منبع دسترسی داشته باشند. بدین معنی که کدهای منبع این نرمافزارها به شخص یا شرکت خاصی اختصاص ندارند و میتوان آنها را به اشتراک گذاشت.
2-4- نرم افزارهای منبع باز و منبع بسته (Open Source and Closed Source Software):
در نرم افزارهای مدل منبع بسته، منبع نرم افزار برای عموم منتشر نشده است؛ در حالی که در نرم افزارهای منبع باز، کد منبع آن برای اصلاح و استفاده در دسترس است. نرم افزارهای منبع باز در قالب کد منبعشان در دسترس هستند و حق تغییر، بهبود و ارتقاء و بعضاً حق انتشار کد آن از طریق لیسانس های نرم افزار اعطا می شود. در جایی که نرم افزار برای عموم مردم تولید شده باشد به آن نرم افزار منبع باز اطلاق می شود؛ چه اینکه نرم افزار یاد شده توسط یک شرکت و یا توسط یک شخص تولید شده باشد.
2-5- نرم افزارهای اختصاصی (Proprietary Software) :
در نرم افزارهای اختصاصی، حقوق قانونی منحصراً برای دارندۀ حق تکثیر باقی مانده و اکثر نرم افزارهای اختصاصی به صورت منبع بسته در دسترس قرار می گیرند.
این نوع نرمافزارها متعلق به یک شرکت یا شخص حقیقی است و استفاده از آنها مستلزم خرید یا کسب مجوز بهرهبرداری از دارنده است. دسترسی به کدهای منبع و تغییر آنها توسط کاربر در نرمافزارهای اختصاصی، امکانپذیر نیست. مطابق شرایط و ضوابط آنچه که « موافقتنامه مجوز بهرهبرداری کاربر نهایی» نامیده میشود، کاربران مجاز به تکثیر، به اشتراک گذاشتن، تغییر، توزیع مجدد یا مهندسی معکوس کدهای منبع نیستند.
برخی فروشندگان نرم افزار، کد منبع نرم افزارهای اختصاصی را با دسترسی محدود، میان مشتریان توزیع می کنند.نرم افزار اختصاصی به شکل نرم افزار مشروط یا نرم افزار معرف (Demoware) خواهد بودکه کاربران جهت استفاده از آنها وجهی را پرداخت نمی کنند، و فی الواقع ترکیبی از نرم افزارهای رایگان و مشروط هستند. اینگونه نرم افزارها مشتمل بر هزینۀ بسته بندی نیست، زیرا در قالب بسته بندی بازاری ارائه نمی شوند؛ اینگونه نرم افزارها به صورت اینترنتی یا در قالب های سخت افزارهای حامل که نیاز به بسته بندی تجاری مجزا ندارند، به مشتریان ارائه می شوند. با این وجود ممکن است برنامه نویسان از شما بخواهند تا مبلغ اندکی را جهت استحقاق دریافت نسخه های پشتیبان و کمکی، بپردازید.
2-6- نرم افزارهای مشروط و نرم افزارهای جزئی : (Shareware and Retail Software)
در حالی که نرم افزارهای مشروط به عنوان نسخۀ آزمایشی به کاربران عرضه می شود، نرم افزارهای جزئی به کاربران نهایی فروخته می شوند. با افزایش دسترسی به نرم افزارهای مشروط و رایگان بر روی اینترنت، بازار نرم افزارهای جزئی تغییر می کند. طراحان و فروشندگان، شروع به ارائۀ نرم افزارهایشان جهت فروش بر روی اینترنت می کنند. مکرراً نرم افزارهای مشروط به عنوان نرم افزاری غیر فعال(crippleware)، که در آنها ابعاد اصلی نرم افزار عمل نمی کنند و پس از اتمام دورۀ آزمایش به طور کلی از کار می افتند. اگرچه نرم افزار های مشروط قالب های بسیار مشهوری هستند که در این قالب، نرم افزارهای جزئی کاملاً از این شهرت و تداول برخوردار نیست. برای مثال نرم افزار Microsoft office یک نرم افزار بسته بندی شدۀ جزئی است که می بایستی خریده شوند. نرم افزار های جزئی ممکن است به عنوان بستۀ تجهیزات اصلی تولید منتقل شوند (OEM) در حال حاضر طراحان نرم افزار، به تولید کنندگان بزرگ بر اساس یک قرارداد لیسانس یک نسخه از کپی نرم افزار را به ایشان تحویل می دهند تا قبل از خرید امکان نصب نرم افزار مزبور را بر روی دستگاه های رایانه خود نصب کنند. بنابراین در بسته های موسوم به (Box Package Form) یک نسخه کپی از نرم افزار مجوز دار از طریق نمایندگی های مجاز به مشتریان تحویل داده می شود.
2-7- نرم افزار اختراعی و نرم افزار کپی رایتی : (Patent software and copy right software )
نرم افزار ازجهت این که تابع احکام کدام رژیم حمایتی حقوقی باشد قابل دسته بندی است. دو نظام حقوقی معروف و نسبتاً جا افتاده برای اموال غیر مادی وجود دارد که جنبه بین المللی نیز یافته و کنوانسیون های متعددی در خصوص آنها به تصویب رسیده است. نظام حق مولف یا کپی رایت و نظام حق اختراع. یکی از معمولترین نظام های پیشنهادی برای حمایت از پدیدآورندگان نرم افزار، نظام حق مولف است. برخی مشابهت ها بین یک اثر ادبی همانند کتاب و یک برنامه رایانه ای به خصوص در ابتدای عمر مهندسی نرم افزار که به شکل پیشرفتۀ کنونی مطرح نبود، سبب شد قوانین کپی رایت بسیاری از کشورها، طوری اصلاح شوند که از نرم افزارهای رایانه ای نیز همانند آثار ادبی حمایت شود. این در حالی است که تفاوت های در موضوع و نیز عدم تناسب احکام حق مولف با نرم افزار موجب شده است نظرها به نظام حقوق صنعتی(حق اختراع) معطوف شود و البته حق اختراع نیز کاملاً برای نرم افزارها مناسب نبوده و نقطه ضعف هایی بر آن بار می شود.
2-8- نرم افزار مشاع و نرم فزار غیر مشاع :
هرگاه اشخاص متعدد در پدیدآوردن نرم افزار ، مشارکت داشته باشند، چنانچه سهم مشارکت هریک در پدیدآوردن نرم افزار مشخص باشد، حقوق مادی حاصل از آن به نسبت مشارکت به هریک تعلق می گیرد. در صورتی که کار یکایک آنان جدا و متمایز نباشد، اثر مشترک نامیده می شود و حقوق ناشی از آن، حق مشاع پدیدآورندگان است. البته باید خاطر نشان کرد که هریک از شرکا به تنهایی یا همه آنها به اتفاق می توانند در مورد نقض حقوق موضوع قوانین مربوطه به مراجع قضایی، مراجعه کنند.
2-9- نرم افزار مکمل و نرم افزار سازگار :
یکی از حقوقی که همیشه در مورد نرم افزار و سایر آثار دارای حق مالکیت فکری مورد بحث و اختلاف نظر بوده است «حق تولید سازگار» است که در مورد آثار ادبی و هنری با عنوان تولید آثار اشتقاقی یا تلفیقی عنوان میشود. به