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