Oprogramowanie użytkowe (aplikacyjne) - składa się z programów skonstruowanych aby wspomagać konkretne potrzeby użytkownika i pomóc w rozwiązywaniu jego problemów.
Do oprogramowania systemowego zaliczamy trzy grupy oprogramowania:
systemy operacyjne
translatory języków programowania
oprogramowanie narzędziowe.
Zarządzanie systemem komputerowym wyposażonym wyłącznie w system operacyjny, byłoby niewygodne, w wielu przypadkach nieefektywne, a nawet niemożliwe. Dlatego wykorzystywanych jest wiele programów narzędziowych (usługowych) i pomocniczych, umożliwiających użytkownikowi zarządzanie systemem, a nawet rozszerzenie możliwości systemu operacyjnego. Istnienie systemu operacyjnego jest niezbędne do działania komputera, natomiast programy narzędziowe i pomocnicze ułatwiają i uprzyjemniają posługiwanie się nim.
Najważniejszą częścią systemu operacyjnego jest tzw. Jądro. Jest to program, który pozostaje w pamięci operacyjnej komputera przez cały czas jego pracy, a uruchomienie innych programów bez obecności jądra w pamięci jest niemożliwe. Takie systemy operacyjne muszą dodatkowo synchronizować pracę wielu użytkowników, zapewniając jednocześnie odpowiednią przepustowość (efektywność) systemu komputerowego jako całość. System operacyjny jest niezbędny do uruchomienia komputera.
W skład systemów programowania wchodzą:
Języki programowania - traktowane jako zbiór symboli i sygnałów syntaktycznych i semantycznych.
Właściwy translator
Edytor
Program uruchamiający (debugger)
Programy dla pierwszych historycznych komputerów pisane były w ich językach wewnętrznych. Jednak ze względu na wymienione wcześniej trudności wprowadzono języki symboliczne. Rozprzestrzenienie się ich, stało się ułatwieniem dla programistów. Pomimo, że nadal musieli pisać sekwencje rozkazów dla procesora, ale zarówno kod rozkazu, jak i jego argumenty zapisywane były w postaci nie zero-jedynkowej, lecz przy pomocy łatwych do zrozumienia dla człowieka skrótów (ADD, SUB, MOV) i wartości liczbowych wyrażanych w systemie dziesiętnym.
Program napisany w języku symbolicznym nie jest gotowy do wykonania, procesor rozumie programy zapisane jedynie w języku wewnętrznym (zero-jedynkowym). Program taki musi więc zostać przetłumaczony przed pierwszym użyciem. Operacje tłumaczenia wykonuje się przy pomocy specjalnego programu zwanego Asemblerem.
Procesory są w stanie tylko wykonać programy zapisane w ich języku wewnętrznym. Każdy typ procesora posiada swój własny język wewnętrzny. Programy napisane w języku tego poziomu noszą nazwę języków liniowych. Program w języku liniowym składa się z ciągu zawartych dla procesora prostych zadań. Programy tego typu są bardzo trudne do zrozumienia dla człowieka, a także do obróbki. „Ręczne” edytowanie takiego programu jest praktycznie niemożliwe. Program napisany dla danego typu procesora, nie może być przeniesiony na inny typ procesora.
Program napisany w języku wysokiego poziomu (nosi on nazwę programu źródłowego), nie jest zrozumiały dla procesora, przed wykonaniem musi zostać przetłumaczony na język wewnętrzny. Czynność ta wykonywana jest przez specjalny program zwany ogólnie translatorem.
Translatory dzielimy na:
kompilatory - najpierw tłumaczą oprogramowanie w całości, a dopiero później je wykonują.
interpretery - gdy proces translacji i wykonywania programu przeplata się.
Oprogramowanie użytkowe stanowi najważniejszą część każdego systemu komputerowego, To ono właśnie sprawia, że sprzęt nadaje się do użytku, a system operacyjny może służyć zarówno do edycji tekstu, wyszukiwania informacji czy projektowania stron WWW.
RODZAJE OPROGRAMOWANIA I SPOSOBY JEGO UZYSKIWANIA:
programy standardowe - jest to grupa programów rozpowszechniona wśród użytkowników o podobnych potrzebach i posługujących się jednakowym sprzętem
programy nisko seryjne - oprogramowanie na które zapotrzebowanie jest stosunkowo niewielkie. Jego koszt jest wyższy w porównaniu do programów standardowych, ale istnieje możliwość lepszego dostosowania do potrzeb użytkownika.
Programy indywidualne - wyjątkowo nietypowe oprogramowanie, wykonywane na podstawie indywidualnego zamówienia.
PRAWO WŁASNOŚCI SYSTEMÓW KOMPUTEROWYCH:
Programy Freeware - licencja oprogramowania umożliwiająca darmowe rozprowadzanie aplikacji bez ujawnienia kodu źródłowego. Czasami licencja freeware zawiera dodatkowe ograniczenia (np. część freeware jest całkowicie darmowa, a część darmowa jedynie do użytku domowego). Programy na licencji freeware mogą być nieodpłatnie wykorzystywane, jednak zabrania się czerpania korzyści finansowych z ich dystrybucji przez osoby trzecie. Licencja nie dotyczy dystrybucji produktów (dokumentów, grafiki, innych programów itd.) stworzonych przy użyciu programów na licencji freeware, więc nie ogranicza możliwości ani nie narzuca konieczności pobierania opłat za wytworzone produkty. Termin freeware bywa również używany jako synonim oprogramowania objętego tą licencją.
Programy shareware - to rodzaj programu komputerowego, który jest rozpowszechniany bez opłat z pewnymi ograniczeniami lub z niewielkimi opłatami do wypróbowania przez użytkowników. Czasami po okresie próbnym (wersja trial) lub po określonej liczbie uruchomień (limit uruchomień) za taki program trzeba płacić lub zrezygnować z korzystania z niego.
Programy licencjonowane (płatne) - to rodzaj programów komputerowych działających na warunkach i postanowieniach płatnej licencji, którą trzeba wykupić (w niektórych przypadkach jest ona dożywotnia, w innych okresowa - np. rok), aby korzystać z programu.
Programy własne - pisane na zamówienie, w zależności od umowy można stać się pełnym właścicielem oprogramowania, a tym samym mieć prawo do wprowadzania dowolnych zmian
Podstawowym aktem prawnym dotyczącym ochrony własności intelektualnych jest:
USTAWA Z dnia 4 lutego 1994r O prawach autorskich i prawach pokrewnych Dz . U. 1994 nr.24 poz.83
Rodzaje piractwa komputerowego:
instalowanie programów z licencja obejmującą jeden komputer, na kilku komputerach
kopiowanie nośników optycznych w celu rozpowszechniania oprogramowania
aktualizacja programu bez uprawnień
podrabianie oprogramowania
Rodzaje piractwa:
sprzedaż komputera z nielegalnym oprogramowaniem
dystrybucja nielegalnego oprogramowania
wykonywanie nielegalnych kopii na potrzeby wewnętrzne firmy
Piractwo w Internecie:
udostępnianie za darmo na witrynach nielegalnego oprogramowania
aukcje łamiące postanowienia licencji lub dotyczące nielegalnego oprogramowania
sieć wymiany plików peer-to-peer (p2p)
Pojęcia:
Licencja - to umowa na korzystanie z utworu jakim jest aplikacja komputerowa, zawierana pomiędzy podmiotem, któremu przysługują majątkowe prawa autorskie do utworu, a osobą, która zamierza z danej aplikacji korzystać. Umowa taka powinna określać przede wszystkim pola eksploatacji (formy wykorzystania utworu), czyli warunki na jakich licencjobiorca jest uprawniony do korzystania z programu. Ustawa o prawie autorskim i prawach pokrewnych jako podstawowe elementy określające pola eksploatacji wskazuje zakres, miejsce i czas korzystania z utworu, przy czym jest to wyliczenie przykładowe i strony umowy mogą dowolnie kształtować charakter licencji (biorąc jednak pod uwagę treść przepisów ustawowych, których strony nie mogą modyfikować
EULA - (od ang. End User License Agreement) - zapis definiujący warunki udzielenia licencji końcowemu użytkownikowi oprogramowania.
Oprogramowanie OEM - (ang. Original Equipment Manufacturer, dosłownie Producent Oryginalnego Wyposażenia) - organizacja sprzedająca pod własną marką produkty wytworzone przez inne firmy. Termin jest mylący, gdyż OEM nie jest wytwórcą, lecz sprzedawcą sprzętu dla użytkownika końcowego, choć zdarza się niekiedy, że jest jego projektantem. W większości przypadków OEM nie dodaje wartości do wyposażenia, a jedynie znakuje je własnym logo. Nazwa OEM jest umieszczana na urządzeniach przez wytwórcę, na mocy zawartej umowy. Niekiedy OEM dodaje wartość do produktu, łącząc np. sprzęt i oprogramowanie w gotowe systemy (zobacz też: Value Added Reseller).
Istnieją liczne firmy specjalizujące się w produkcji na rzecz OEM i nigdy nie sprzedające produktów pod własną marką - są to tzw. producenci kontraktowi. Niektóre firmy zajmują się zarówno produkcją, jak i działalnością typu OEM. Nazwa OEM jest też stosowana w odniesieniu do producentów komputerów osobistych, gdy sprzedają je razem z oprogramowaniem będącym standardowym wyposażeniem. Oprogramowanie OEM jest nierozerwalnie połączone z komputerem (lub jego częścią), na którym jest ono zainstalowane. Nie wolno go przenosić na inne komputery oraz odsprzedawać.
Licencja GNU - (Licencja Wolnej Dokumentacji) jest licencją typu copyleft dla dokumentów wolnej dokumentacji. Licencja została stworzona przez fundację Free Software Foundation (FSF) dla projektu GNU. W założeniu miała być licencją dla dokumentacji programów, jednak można ją stosować w różnego rodzaju podręcznikach i w zasadzie każdym materiale tekstowym, niezależnie od zawartości.