Zamknięte oprogramowanie

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Oprogramowanie zamknięte, prawnie zastrzeżone (ang. proprietary software) – oprogramowanie objęte restrykcjami dotyczącymi używania, kopiowania lub modyfikacji, rozpowszechniane zwykle w postaci binarnej, bez kodu źródłowego. Pojęcie przeciwstawne oprogramowaniu Open Source lub Wolnemu Oprogramowaniu.

Często określa się je także błędnie jako „oprogramowanie komercyjne”, choć zarówno oprogramowanie prawnie zastrzeżone może być dostępne za darmo, jak i oprogramowanie FLOSS może być sprzedawane.

Rodzaje oprogramowania prawnie zastrzeżonego[edytuj | edytuj kod]

Oprogramowanie prawnie zastrzeżone najczęściej jest sprzedawane przez podmioty/osoby upoważnione przez producenta, chociaż bywa też szeroko dostępne i darmowe np. dla znalezienia odbiorców reklam (np. komunikatory, przeglądarki).

Typowym dostawcą zamkniętego oprogramowania są podmioty komercyjne zorientowane na sprzedaż oprogramowania a nie na usługi wykorzystujące to oprogramowanie. Przykładem może być firma Microsoft sprzedająca miliony egzemplarzy licencji na używanie swojego oprogramowania, a przy tym bardzo rzadko udostępniająca jakiekolwiek jego źródła.

Zamknięte oprogramowanie może być sprzedawane jako oprogramowanie komercyjne lub dostępne za darmo jako oprogramowanie freeware. Dystrybutorzy zamkniętego oprogramowania mają większą kontrolę nad tym, jak użytkownicy wykorzystają oprogramowanie, niż w przypadku oprogramowania otwartego.

Według Free Software Foundation (FSF), grupy stojącej za projektem GNU, zamkniętym oprogramowaniem jest każde, które nie spełnia wymogów definicji wolnego oprogramowania lub oprogramowanie "semi-free". Dosłowne znaczeniem tym obejmuje się jednak tylko oprogramowanie posiadające właściciela sprawującego nad nim kontrolę. Może zatem obejmować programy darmowe, nie będące własnością publiczną (public domain). Może być też tak, że wolne oprogramowanie jest publikowane równolegle na zamkniętej licencji, np. MySQL, Sendmail czy SSH.

Historia[edytuj | edytuj kod]

Oprogramowanie zaczęło się zamykać w późnych latach 70. XX wieku, a szczytowym punktem zamkniętości były wczesne lata 90. Głównym powodem dominacji tego typu oprogramowania było powstanie bardzo dużej grupy użytkowników komputerów PC, którzy mogli być jedynie "konsumentami" oprogramowania, nie mając prawie żadnych możliwości rozpowszechniania oprogramowania własnego.

Wraz z nadejściem Internetu sytuacja ta uległa zmianie i każdy kto chciał mógł teraz uczestniczyć w tworzeniu oprogramowania, ściągać programy, wysyłać je innym oraz współpracować w ich rozwijaniu.

Zabezpieczenia[edytuj | edytuj kod]

Zamknięte oprogramowanie często jest zabezpieczane tak aby wymusić używanie go tylko w sposób przewidziany przez autora. W szczególności chodzi o środki i metody zapobiegające jego używaniu na większej niż przewidziana liczba komputerów, kopiowaniu lub modyfikacjom. Zabezpieczenie może następować poprzez użycie środków prawnych lub technicznych. Środki prawne mogą zawierać licencje na oprogramowanie, zastrzeżenie praw autorskich, (copyright) i praw patentowych. Na środki techniczne składają się nośniki zawierające jedynie skompilowane pliki binarne (bez zatrzymywanego dla siebie zrozumiałego dla człowieka kodu źródłowego, zabezpieczenia czasowe oraz skomplikowany system haseł oraz zabezpieczenia nośników przed kopiowaniem.

Zabezpieczenia czasowe[edytuj | edytuj kod]

Spotykane są głównie w programach typu shareware, których autor nalega, żeby po upływie pewnego czasu (najczęściej 14 lub 30 dni), zapłacić za pełną wersję lub zaprzestać używania programu. "Zabezpieczony" program odmówi uruchomienia po upływie tego czasu bądź jego funkcjonalność zostanie znacznie ograniczona.

Zabezpieczenia przed nieautoryzowanym kopiowaniem[edytuj | edytuj kod]

Autorzy płatnie rozpowszechnianego oprogramowania często nie chcą, żeby ich oprogramowanie było kopiowane, użytkownicy natomiast chcą je kopiować - czy to celem utworzenia kopii zapasowych, czy też celem przekazania komuś tego oprogramowania z naruszeniem praw autorskich. Przy zabezpieczaniu zwykle wykorzystywane są specjalne cechy nośnika, normalnie nie zachowywane przy kopiowaniu - w przypadku dyskietek była to najczęściej mapa uszkodzonych sektorów w tablicach FAT, w przypadku programów rozpowszechnianych na CD-ROM-ach była to zwykle konieczność użycia CD-ROM-u jako nośnika - co było poważną przeszkodą w czasach, gdy nagrywarki CD były rzadkością.

Zabezpieczenia przed nieautoryzowanym użyciem[edytuj | edytuj kod]

Większą skuteczność mają klucze sprzętowe - małe urządzenia wpinane najczęściej w port równoległy, bez obecności których program odmawia uruchomienia.
Programy, najczęściej typu shareware, mają też inne mechanizmy, którymi próbują zmusić użytkownika do dokonania zapłaty. Jedne to ograniczenie funkcjonalności programów do czasu dokonania zapłaty i otrzymania w zamian pewnego klucza, który odblokowuje tę funkcjonalność - zwykle jest nim krótki napis lub numer, czasem też większy plik, zastępujący plik z wersji ograniczonej. Innym mechanizmem tego typu są "uprzykrzacze" - zwykle wyskakujące co pewien czas okienka z reklamami lub informacją, że produkt nie jest zarejestrowany.

Problemy[edytuj | edytuj kod]

Skompilowane do kodu maszynowego programy bardzo trudno analizować, więc mogą one robić niemal wszystko niezależnie od tego, czy użytkownik sobie tego życzy. Nie da się także skutecznie modyfikować programów w wersji wykonywalnej w celu zmiany i poprawy funkcjonalności. Dlatego crackerzy wykorzystują dekompilator, najczęściej do zamiany kodu maszynowego w asembler do wyłamania zabezpieczeń i utworzeniu odpowiedniego patcha, keygenu lub publikuje program w pełnej wersji.

Zobacz też[edytuj | edytuj kod]