ZESTAW INSTRUKCJI PRZEZNACZONYCH DO WYKONANIA PRZEZ KOMPUTER
Oprogramowanie (ang. software) to zestaw instrukcji przeznaczonych do wykonania dla komputera. Celem oprogramowania jest przetwarzanie danych w określonym przez twórcę zakresie. Oprogramowanie jest synonimem terminów program komputerowy oraz aplikacja, przy czym stosuje się go zazwyczaj do określania większych programów oraz ich zbiorów. Oprogramowanie to dział Informatyki.
Oprogramowanie tworzą programiści w procesie programowania. Oprogramowanie jako przejaw twórczości jest chronione prawem autorskim, twórcy zezwalają na korzystanie z niego na warunkach określanych w licencji.
Oprogramowanie występuje w dwóch postaciach:
postać źródłowa - powstająca w trakcie programowania, umożliwiająca modyfikację i rozbudowę programu
postać binarna (kod maszynowy) - przeznaczona do wykonywania przez komputery, efekty działania obserwuje użytkownik w postaci wydruków, obrazów na monitorze, zmian w danych
Oprogramowanie pisane jest zazwyczaj przy użyciu różnych języków programowania z wykorzystaniem algorytmów. Programy przekształcające oprogramowanie z postaci źródłowej na binarną to kompilatory. Niektóre oprogramowanie, np. napisane w całości w językach interpretowanych, może występować tylko w jednej postaci, spełniającej oba zadania.
Oprogramowanie dzieli się często na oprogramowanie systemowe oraz aplikacje użytkowe. Pojęcie oprogramowania systemowego jest znacznie szersze niż systemy operacyjne. W jego skład wchodzi też oprogramowanie serwerowe i każde oprogramowanie, z którym użytkownik nie ma bezpośredniej styczności.
Aplikacja
to rodzaj programu komputerowego. Termin ten nie jest określony zbyt precyzyjnie, ale zazwyczaj oznacza program, który ma bezpośredni kontakt z użytkownikiem i nie jest częścią większego programu. Z technicznego punktu widzenia jest to oprogramowanie korzystające z usług systemu operacyjnego.
Aplikacje to m.in. menedżery plików, oprogramowanie biurowe (edytory, arkusze kalkulacyjne, programy magazynowo/finansowe) oraz gry komputerowe, ale także strony WWW napisane z użyciem języków PHP, ASP, JSP i innych.
W przeciwieństwie do wielu innych rodzajów oprogramowania, takich jak systemy operacyjne, oprogramowanie serwerowe czy naukowo-obliczeniowe, większość aplikacji przez długi czas była udostępniana jedynie na zasadach ograniczonych, w szczególności bez dostępu do kodu źródłowego i często za opłatą.
W ostatnich latach ta sytuacja uległa zmianie i wiele rodzajów aplikacji jest dostępnych na zasadach
Open Source.