TECHNOLOGIE INFORMACYJNE
WYKŁAD 3
OPROGRAMOWANIE
KOMPUTERÓW
Dr Kornelia Batko
AGENDA
1.
Oprogramowanie a program
2.
Rodzaje oprogramowania
3.
Oprogramowanie systemowe
4.
Oprogramowanie użytkowe
5.
Licencjonowanie oprogramowania
OPROGRAMOWANIE A
PROGRAM
OPROGRAMOWANIE
Oprogramowanie (ang.
software) to:
Oprogramowanie (ang.
software) to:
• element systemu
komputerowego, który umożliwia
bądź ułatwia eksploatację
komputera, a także pozwala na
wykonywanie za jego pomocą
różnych zadań.
Oprogramowanie to także
dział informatyki.
Oprogramowanie to także
dział informatyki.
Program
komputer
owy
całość informacji w postaci zestawu instrukcji,
zaimplementowanych interfejsów i zintegrowanych
danych przeznaczonych dla komputera do realizacji
wyznaczonych celów. Celem oprogramowania jest
przetwarzanie danych w określonym przez twórcę
zakresie.
zbiór instrukcji sterujących działaniem komputera,
opracowany w celu realizacji określonego zadania
algorytmem postępowania, który opisuje jakie
operacje, w jakiej kolejności i na jakich danych muszą
zostać wykonane, aby rozwiązać określony problem
różne programy komputerowe przypisywane są do
określonych grup tematy cznych oprogramowania,
które określają kategorie zastosowań aplikacji kom
puterowych
PAKIETY PROGRAMÓW
Pakiety
program
ów to:
• zestawy programów
powiązanych funkcjonalnie
i informacyjnie
• zestawy programów
powiązanych funkcjonalnie
i informacyjnie
CECHY WSPÓŁCZESNYCH
PROGRAMÓW:
„przyjazność
” dla
użytkownika
„przyjazność
” dla
użytkownika
multimedial
ność
multimedial
ność
obiektowość
obiektowość
bezpieczeńs
two
bezpieczeńs
two
„PRZYJAZNOŚĆ” DLA
UŻYTKOWNIKA
stosowanie metod i technik
komunikacji, które ułatwiają
pracę użytkownika
współpraca programów z
użytkownikiem w trakcie
realizacji poszczególnych zadań
wyeliminowanie nadmiaru
informacji i zbytniej złożoności
oprogramowania
ujednolicony interfejs i sposób
obsługi w całym obszarze
działania systemu
Oprogramowanie „user friendly”- cechy
programów przyjaznych dla użytkownika
MULTIMEDIALNOŚĆ
• możliwość połączenia
różnych sposobów
przekazywania informacji w
jednym przekazie
• wykorzystanie
zaawansowanej i
rozbudowanej grafiki,
animacji, dźwięku do
prezentowania informacji i
komunikowania się z
użytkownikiem
• multimedia nawiązują do
tradycyjnych sposobów
komunikacji między ludźmi
mowa, obraz
Cechy
programów
multimedial
nych:
Cechy
programów
multimedial
nych:
GRAFICZNY INTERFEJS UŻYTKOWNIKA
Interfejs to:
ta część programu, która odpowiada
za komunikację z użytkownikiem
przyjmując jego polecenia i
odpowiadając na nie wyświetlaniem
odpowiednich komunikatów
Rodzaje
interfejs
u:
• interfejs tekstowy
• interfejs graficzny GUI
(Graphical User Interface)
OPROGRAMOWANIE OBIEKTOWE
Cechy programów obiektowych:
Cechy programów obiektowych:
• architektura programu
komputerowego,
w której dane podlegające
przetworzeniu są obiektami
należącymi do określonej klasy (np. w
programie graficznym może
występować obiekt rysunek, który
składa się z obiektów linie)
• każdy obiekt może być wyposażony w
zbiór określonych funkcji
przetwarzających ten obiekt
• dzięki obiektowości możliwe staje się
przenoszenie, edycja obiektów
pomiędzy różnymi programami oraz
integracja różnych typów danych
RODZAJE
OPROGRAMOWANIA
RODZAJE OPROGRAMOWANIA
• organizuje i ułatwia pracę z
komputerem
• nie wspomaga użytkownika w
realizacji zadań i rozwiązywaniu
jego problemów
• stanowi podstawę do działania
oprogramowania użytkowego
oprogramow
anie
systemowe
oprogramow
anie
systemowe
• zbiór programów i pakietów
programowych, których celem
jest realizowanie określonych
zadań użytkownika
oprogramow
anie
użytkowe
oprogramow
anie
użytkowe
WARSTWY OPROGRAMOWANIA
Komputer
PC
Użytkownik
Oprogramowa
nie systemowe
Oprogramowanie
użytkowe
STRUKTURA
FUNKCJONALNA
OPROGRAMOWANIA
SYSTEMY OPERACYJNE
SYSTEMY OPERACYJNE
System operacyjny to:
• Oprogramowanie odpowiedzialne za zarządzanie
zasobami komputera (sprzęt i oprogramowanie) oraz
komunikację pomiędzy użytkownikiem a komputerem
• System operacyjny, zaliczany do oprogramowania
systemowego, pełni funkcję łącznika pomiędzy sprzętem
komputerowym a oprogramowaniem użytkowym
.
• Szereg procedur i programów, które zarządzają, sterują
i kontrolują pracą podstawowych elementów komputera
(np. pamięć, procesor, urządzenia wejścia-wyjścia)
WSPÓŁCZESNE SYSTEMY OPERACYJNE SKŁADAJĄ
SIĘ Z NASTĘPUJĄCYCH TRZECH ELE MENTÓW:
jądro systemu, które rezyduje w pamięci
operacyjnej komputera,
interpretator poleceń, obecnie będący
najczęściej graficznym interfejsem użyt
kownika,
system plików, definiujący sposób zapisu
struktury danych na nośniku.
• Komunikacja użytkownika z komputerem. Tę
rolę spełnia zewnętrzna warstwa systemu,
nazywana Powłoką (ang. shell), która umożliwia
użytkownikowi uruchomienie aplikacji.
ZADANIA REALIZOWANE PRZEZ SYSTEM
OPERACYJNY
ZADANIA REALIZOWANE PRZEZ SYSTEM
OPERACYJNY C.D…
Zarządzanie plikami
• Dane w systemie operacyjnym przechowywane są w postaci plików w
urządzeniach zwanych pamięcią masową takich jak: dyski twarde, dyski
elastyczne, karty pamięci. System operacyjny umożliwia użytkownikowi
zarządzanie plikami dając mu możliwość ich tworzenia, kopiowania,
przenoszenia i usuwania.
Defragmentacja plików
• Zazwyczaj pliki są zapisywane w postaci klastrów umieszczanych w
różnych sektorach ulokowanych na różnych ścieżkach w określonej
partycji twardego dysku.
Zarządzanie zasobami maszyny
• System operacyjny obsługuje urządzenia wchodzące w skład komputera.
Podstawowe zadania w tym zakresie to:
• Obsługa wewnętrznych i zewnętrznych elementów komputera takich
jak: procesor, płyta główna, pamięć lub drukarka, skaner itp.
• Badanie stanu urządzeń oraz poprawności komunikacji.
• Udostępnianie urządzeń aplikacjom a tym samym użytkownikowi (np.
udostępnienie drukarki w edytorze tekstu, skanera w programie
graficznym, itp.),
• Chwilowe i trwałe odłączanie urządzeń od komputera.
ZADANIA REALIZOWANE PRZEZ
SYSTEM OPERACYJNY C.D…
Uruchamianie aplikacji
• System operacyjny nie zawiera programów
użytkowych (np. edytorów tekstu, arkuszy
kalkulacyjnych, itp.). Każda z aplikacji jest
dołączana do systemu operacyjnego poprzez
instalację. Aplikacje będące zazwyczaj zbiorem
plików, są przez system operacyjny
przechowywane w pamięci masowej. System
operacyjny umożliwia ich uruchomienie na
żądanie użytkownika.
Komunikacja z innymi maszynami
• Dzięki modułom systemu operacyjnego
odpowiedzialnym za obsługę sieci
komputerowych możliwy jest dostęp zarówno
do sieci tzw. lokalnych (intranet) jak i
globalnych (Internet obejmujący swym
zasięgiem cały świat).
ZASTOSOWANIE SYSTEMÓW
OPERACYJNYCH
Systemy do
domu
• To takie systemy, na których będą działać gry i
najbardziej podstawowe narzędzia -
przeglądarki internetowe, procesory tekstu,
oprogramowanie do korespondencji lub
internetowych pogawędek itp. Systemy tej klasy
powinny umożliwiać wyświetlanie
trójwymiarowej i szybkiej grafiki, obsługiwać
dźwięk, być łatwe w użytkowaniu i instalacji.
• To takie systemy, na których będą działać gry i
najbardziej podstawowe narzędzia -
przeglądarki internetowe, procesory tekstu,
oprogramowanie do korespondencji lub
internetowych pogawędek itp. Systemy tej klasy
powinny umożliwiać wyświetlanie
trójwymiarowej i szybkiej grafiki, obsługiwać
dźwięk, być łatwe w użytkowaniu i instalacji.
Systemy do
pracy
• Wykorzystywane w biurze, zarówno w małych,
jak i dużych firmach. W środowisku biurowym
taki system operacyjny musi zapewnić
odpowiedni poziom bezpieczeństwa i stabilności.
Powinien też być łatwy w administracji i
zarządzaniu (szczególnie w dużych firmach,
gdzie koszty zarządzania wieloma stanowiskami
komputerowymi są znaczące).
• Wykorzystywane w biurze, zarówno w małych,
jak i dużych firmach. W środowisku biurowym
taki system operacyjny musi zapewnić
odpowiedni poziom bezpieczeństwa i stabilności.
Powinien też być łatwy w administracji i
zarządzaniu (szczególnie w dużych firmach,
gdzie koszty zarządzania wieloma stanowiskami
komputerowymi są znaczące).
Systemy
serwerowe
• Są to systemy dedykowane dla komputerów
pełniących funkcję serwerów sieciowych.
Główne cechy to wysoka stabilność ciągłej pracy
oraz duża wydajność. Takie systemy posiadają
rozbudowane narzędzia administracyjne oraz
kontrolno-diagnostyczne i zabezpieczające.
• Są to systemy dedykowane dla komputerów
pełniących funkcję serwerów sieciowych.
Główne cechy to wysoka stabilność ciągłej pracy
oraz duża wydajność. Takie systemy posiadają
rozbudowane narzędzia administracyjne oraz
kontrolno-diagnostyczne i zabezpieczające.
POŻĄDANE CECHY SYSTEMU OPERACYJNEGO
Współbieżność – istnienie kilku czynności wykonywanych
jednocześnie lub działań przebiegających równolegle
Wspólne korzystanie z zasobów (zarówno sprzętowych,
programowych jak i informacji)
Pamięć długookresowa – pamięć przechowująca
informacje dłużej niż w czasie jednej sesji pracy
komputera
Niedeterminizm – reagowanie na zdarzenia występujące
w nieprzewidywalnym porządku
Wydajność (najczęściej dotyczy szybkości
przeprowadzania działań i operacji przez system)
Niezawodność – bezbłędne obsługiwanie jak największej
liczby zdarzeń
Elastyczność – możliwość rozszerzania systemu i
usuwania z niego błędów
Względnie mały rozmiar
PROGRAMY I SYSTEMY
DIAGNOSTYKI
SPRZĘTU
PROGRAMY I SYSTEMY DIAGNOSTYKI SPRZĘTU
Programy i systemy diagnostyki
sprzętu:
• gotowe procedury służące do kontroli
sprawności techniczno-
eksploatacyjnej poszczególnych
urządzeń składających się na zestaw
komputerowy
testy sprawności działania poszczególnych
elementów zestawu komputerowego
testy diagnostyczne, wykrywanie uszkodzeń
usuwanie i omijanie awarii (w tym również
rekonfigurację sprzętu)
SYSTEMY (JĘZYKI)
PROGRAMOWANIA
SYSTEMY (JĘZYKI) PROGRAMOWANIA
Systemy (języki) programowania:
• pozwalają użytkownikom na tworzenie własnych
programów
• Język programowania to język <> składni i semantyce
zrozumiałej dla pewnego swemu komputerowego.
Dwa elementy systemów programowania:
• język programowania - zbiór symboli oraz reguł
syntaktycznych i semantycznych stosowanych do
definiowania sposobu przetwarzania określonego
zadania
• translator (program tłumaczący) - przekształca
program zapisany w języku programowania na kod
maszynowy zrozumiały dla procesora komputera
• translator – interpreter i kompilator
Perl PHP Python
Interpreter analizuje każdą instrukcję
programu zapisanego w języku
programowania i tłumaczy ją
na kod zrozumiały dla komputera za
każdym
razem, gdy instrukcja ta jest
wykonywana
Java, C, C++, C#, Visual Basic
Kompilator analizuje i tłumaczy
programu zapisany w języku
programowania na kod zrozumiały dla
komputera oraz zapisuje go w nowym
pliku, który można wielokrotnie
uruchamiać
GENERACJE JĘZYKÓW PROGRAMOWANIA
I generacja
I generacja
• kodowanie funkcji procesora za pomocą
kodu maszynowego (ciąg zer i jedynek)
II generacja (asemblery)
II generacja (asemblery)
• kodowanie funkcji procesora za pomocą
mnemoników (proste i zwięzłe komendy
stanowiące odpowiedniki poleceń, które
może wykonać procesor)
GENERACJE JĘZYKÓW
PROGRAMOWANIA
III generacja - najliczniejsza
grupa języków programowania
III generacja - najliczniejsza
grupa języków programowania
Cechy:
Cechy:
• proceduralność (możliwość
jednokrotnego zaprogramowania
określonego algorytmu postępowania,
a następnie wielokrotnego
odwoływania się do niego)
• prostota oraz podobieństwo języka
programowania do języka naturalnego
• popularne języki programowania:
Pascal,
• C, C++, Delphi, Visual Basic
GENERACJE JĘZYKÓW PROGRAMOWANIA
IV generacja - zaawansowane
języki programowania
IV generacja - zaawansowane
języki programowania
Cechy:
Cechy:
• znaczne zbliżenie i podobieństwo do
języka naturalnego
• opisywanie zadania w sposób
uogólniony bez wchodzenia w
szczegóły komputerowej realizacji
• na szybkie tworzenie i modyfikowanie
aplikacji z wykorzystaniem systemów
RAD (Rapid Application Development)
PROGRAMY OBSŁUGI WIELODOSTĘPU
I SIECI KOMPUTEROWYCH
PROGRAMY OBSŁUGI WIELODOSTĘPU
I SIECI KOMPUTEROWYCH
Programy obsługi wielodostępu i sieci
komputerowych - umożliwiają i
synchronizują równoległą pracę wielu
użytkowników
Programy obsługi wielodostępu i sieci
komputerowych - umożliwiają i
synchronizują równoległą pracę wielu
użytkowników
Zadania:
Zadania:
• zdalna praca
• szybki i bezpieczny transfer plików w sieci
• zdalne uruchamianie i wykonywanie zadań
• obsługa uniwersalnej poczty elektronicznej
• obsługa list dyskusyjnych
• sprawne i szybkie przeszukiwanie sieci w
poszukiwaniu określonej informacji
• tworzenie i publikowanie serwisów
informacyjnych w sieci
OPROGRAMOWANIE
POMOCNICZE
Oprogramowanie
pomocnicze:
• nie służy bezpośrednio do
realizacji zadań użytkownika,
ale wspiera pracę innych
programów
OPROGRAMOWANIE POMOCNICZE
nakładki
na
systemy
operacyjne
• usprawniają i ułatwiają pracę z
wybranym systemem
operacyjnym (Total
Commander)
• usprawniają i ułatwiają pracę z
wybranym systemem
operacyjnym (Total
Commander)
programy
antywirus
owe
• służą do zabezpieczenia
systemów komputerowych, a
także do wykrywania i usuwania
wirusów komputerowych
(Norton AntiVirus, Kaspersky
AntyVirus, NOD 32, Mks_Vir,
McAfee, Avira)
• służą do zabezpieczenia
systemów komputerowych, a
także do wykrywania i usuwania
wirusów komputerowych
(Norton AntiVirus, Kaspersky
AntyVirus, NOD 32, Mks_Vir,
McAfee, Avira)
archiwizer
y
• zmniejszają objętość wybranych
plików łącząc je w większe
zbiory zwane archiwami
(WinZip, WinRar, 7zip)
• zmniejszają objętość wybranych
plików łącząc je w większe
zbiory zwane archiwami
(WinZip, WinRar, 7zip)
nie służy bezpośrednio do realizacji zadań użytkownika, ale
wspiera pracę innych programów
OPROGRAMOWANIE UŻYTKOWE
OPROGRANOWANIE
UŻYTKOWE
OPROGRAMOWANIE POWIELARNE
oprogramowa
nie
zorientowane
na metody
• pakiety programów, w których
zastosowano pewną klasę algorytmów
lub metod rozwiązywania problemów
(metoda PERT, pakiety do analizy
statystycznej i matematycznej)
• pakiety programów, w których
zastosowano pewną klasę algorytmów
lub metod rozwiązywania problemów
(metoda PERT, pakiety do analizy
statystycznej i matematycznej)
Oprogramow
anie
zorientowane
na problemy
• pakiety programów, które wspomagają
użytkowników w rozwiązywaniu
szczegółowych problemów i zagadnień
ze ściśle określonej klasy (wspomaganie
planowania produkcji, ewidencji
zasobów)
• pakiety programów, które wspomagają
użytkowników w rozwiązywaniu
szczegółowych problemów i zagadnień
ze ściśle określonej klasy (wspomaganie
planowania produkcji, ewidencji
zasobów)
Programy powielarne (standardowe, uniwersalne)
wspomagają rozwiązywanie typowych problemów
biznesowych, a w procesie wdrożenia są
dostosowywane do potrzeb użytkowników
INDYWIDUALNE SYSTEMY I PROGRAMY
UŻYTKOWE
Indywidualne systemy i programy
użytkowe (oprogramowanie dedykowane) -
programy tworzone przez programistów
lub samych użytkowników w celu
rozwiązania bądź wspomagania
nietypowych problemów
Cechy:
możliwość zastosowanie niestandardowych
algorytmów
dopasowanie do potrzeb końcowego
użytkownika
czasochłonność wykonania
wyższa cena w porównaniu z oprogramowaniem
standardowym
PAKIETY NARZĘDZIOWE
Pakiety narzędziowe to:
Pakiety narzędziowe to:
• wyspecjalizowane funkcjonalnie
systemy (programy) powszechnego
użytku, które umożliwiają realizację
różnorodnych zadań
Grupy
pakietów
narzędziowy
ch:
edytory tekstów
arkusze elektroniczne
systemy zarządzania bazą
danych
pakiety graficzne
pakiety zintegrowane
pakiety organizacji prac
biurowych
EDYTORY TEKSTU
Edytory tekstu:
Edytory tekstu:
• służą one do tworzenia i edycji
dokumentów tekstowych
• pracują w trybie WYSIWYG
(What You See Is What You
Get)
• umożliwiają interaktywne
tworzenie tekstu
ARKUSZE ELEKTRONICZNE
• umożliwiają
przetwarzanie dużych
zestawów danych
zorganizowanych w
formę tabeli
• wspomagają prace
związane z
przeprowadzaniem
skomplikowanych
obliczeń, planowaniem i
analizą “co jeśli”
Arkusze
kalkulacy
jne:
Arkusze
kalkulacy
jne:
SYSTEMY ZARZĄDZANIA BAZĄ
DANYCH
Systemy zarządzania bazą danych:
Systemy zarządzania bazą danych:
• pozwalają na przechowywanie w
uporządkowany sposób dużej ilości
zróżnicowanych danych
• umożliwiają tworzenie i wykonywanie
operacji na zbiorach danych
• pozwalają tworzyć aplikacje użytkowe
PAKIETY GRAFICZNE
Pakiety graficzne:
Pakiety graficzne:
• służą do tworzenia, obróbki i
prezentowania grafiki
Grupy
pakietów
graficzny
ch:
• pakiety do obróbki obrazów
rastrowych, które
zapisywane są w postaci
mapy bitowej
• pakiety do obróbki obrazów
wektorowych, które składają
się z listy elementów i
procedur
• pakiety do obróbki obrazów
rastrowych, które
zapisywane są w postaci
mapy bitowej
• pakiety do obróbki obrazów
wektorowych, które składają
się z listy elementów i
procedur
PAKIETY ZINTEGROWANE
Pakiety
zintegrow
ane:
• realizują określoną grupę
funkcji
• zazwyczaj łączą w sobie funkcje
edytora tekstu, arkusza
kalkulacyjnego, bazy danych,
pakietów graficznych
• pracują z jednym zestawem
danych bez konieczności
uciążliwego przenoszenia ich
pomiędzy aplikacjami
• posiadają ujednolicony interfejs
użytkownika
• Microsoft Works
• realizują określoną grupę
funkcji
• zazwyczaj łączą w sobie funkcje
edytora tekstu, arkusza
kalkulacyjnego, bazy danych,
pakietów graficznych
• pracują z jednym zestawem
danych bez konieczności
uciążliwego przenoszenia ich
pomiędzy aplikacjami
• posiadają ujednolicony interfejs
użytkownika
• Microsoft Works
PAKIETY ORGANIZACJI PRAC
BIUROWYCH
P
a
k
ie
ty
o
rg
a
n
iz
a
c
ji
p
ra
c
b
iu
ro
w
yc
h
:
• ułatwiają i usprawniają pracę typowego biura
• zarządzają czasem i organizują działalność
biura
• pozwalają prowadzić harmonogram zajęć dla
każdego dnia
• sygnalizują zbliżające się terminy spotkań
• pozwalają przygotować dokumenty oraz
przyjmować je z zewnątrz
• umożliwiają zdalną pracę i dostęp do zasobów
zgromadzonych w miejscu pracy
• Microsoft Office, Lotus Organizer, Open Office
• ułatwiają i usprawniają pracę typowego biura
• zarządzają czasem i organizują działalność
biura
• pozwalają prowadzić harmonogram zajęć dla
każdego dnia
• sygnalizują zbliżające się terminy spotkań
• pozwalają przygotować dokumenty oraz
przyjmować je z zewnątrz
• umożliwiają zdalną pracę i dostęp do zasobów
zgromadzonych w miejscu pracy
• Microsoft Office, Lotus Organizer, Open Office
LICENCJONOWANIE
OPROGRAMOWANIA
LICENCJA
Licencja określa zestaw praw
obowiązujących podczas posiadania
oraz użytkowania oprogramowania,
najczęściej dotyczących zasad
rozpowszechniania oraz modyfikacji
przypisanej do danej licencji aplikacji.
Licencja jest to umowa na korzystanie
z aplikacji komputerowej, zawierana
pomiędzy podmiotem mającym
majątkowe prawa autorskie do aplikacji
a jej użytkownikiem.
OPROGRAMOWANIE MOŻE BYĆ DOSTARCZONE
W RAMACH NASTĘPUJĄCYCH LICENCJI:
komercyjnej, co oznacza, że wraz z zakupem
użytkownik nabywa prawo do użytkowania programu,
ale najczęściej nie może go samodzielnie modyfikować;
shareware, gdy oferowany program jest
rozpowszechniany za darmo z pewnym ograniczeniem,
najczęściej czasowym lub funkcjonalnym; po upływie
okreś lonego w licencji czasu należy program wykupić
lub zaprzestać używania (ewentualnie program trzeba
wykupić w celu zwiększenia jego funkcjonalności);
freeware, kiedy programy oferowane są za darmo, ale
użytkownik nie może ich modyfikować;
open source, inaczej oprogramowanie wolne, co daje
możliwość nie tylko korzystania z oprogramowania,
lecz także jego modyfikacji.
WŚRÓD LICENCJI WOLNEGO OPROGRAMOWANIA
WYRÓŻNIA SIĘ NASTĘPUJĄCE, ZASAD NICZE
RODZAJE (1)
GNU GPL (General Public License), licencja sformułowana
przez Free Software Foundation, nakładająca na autora
oprogramowania obowiązek publikacji kodu źródłowego;
GNU LPGL (Lesser General Public License), pozwalająca
na łączenie licencji GPL z innego rodzaju, bardziej
liberalnymi licencjami, najczęściej BSD lub Xl 1;
Xli (często nieprecyzyjnie nazywana MIT), jedna z
najbardziej liberalnych licencji typu open source, pozwala
na nieograniczone prawo do użytkowania, modyfikowania
oraz darmowego lub odpłatnego rozpowszechniania
zmienionego programu, przy zachowaniu warunków
licencyjnych oraz informacji o autorze;
BSD (Berkeley Software Distribution), bardzo liberalna
licencja pozwalająca m.in. na modyfikację i rozprowadzanie
oprogramowania bez konieczności udostępniania kodu
źródłowego;
WŚRÓD LICENCJI WOLNEGO OPROGRAMOWANIA
WYRÓŻNIA SIĘ NASTĘPUJĄCE, ZASAD NICZE
RODZAJE (2)
Public Domain, dotyczy zarówno programów, jak i innych
form autorskich, do których autorzy zrzekli się wszelkich
praw; tym samym istnieje możliwość pełnego
wykorzystywania i modyfikowania tego typu programów;
CeCILL (CEA CNRS INRIA Logiciel Librę), której celem
jest utworzenie licencji zgodnej z GNU GPL, a zarazem
dostosowanej do obowiązującego francuskiego oraz
międzynarodowego prawa;
MPL (Mozilla Public License), utworzona przez firmę Mozilla
Foundation na potrzeby oprogramowania dostarczanego
przez tego producenta;
licencja artystyczna (ang. Artistic License), używana
głównie w ramach języka programowania Perl; m.in. nakłada
na osoby modyfikujące kod źródłowy obowiązek
udostępnienia go autorowi lub zmianę nazwy
modyfikowanego programu, aby nie wchodził w konflikt z
poprzednimi wersjami.
LICENCJA GNU GPL
Została opublikowana w 1989 roku przez Richarda
Stallmana oraz Ebena Moglena, w związku z
koniecznością opracowania zasad licencjonowania dla
projektu systemu operacyjnego GNU. Obecnie
obowiązuje wersja 3 licencji, która została wydana w
roku 2007.
Główne zasady i reguły zawarte w dokumencie
pozwalają na [GNU GPL, 2007]:
używanie programu w dowolnym celu,
analizowanie działania programu oraz modyfikację kodu
źródłowego w celu dostosowania do własnych potrzeb,
nieograniczone rozpowszechnianie oryginalnej wersji
aplikacji,
publiczne udostępnianie własnych modyfikacji programu.
LICENCJA XLI
Licencja Xli jest jedną z najbardziej liberalnych
licencji wolnego oprog ramowania. Oprogramowanie
rozpowszechniane na zasadach Xli pozwala na
nieodpłatne prawa dla każdego użytkownika,
dotyczące zarówno samej aplikacji, jak i plików
dokumentacji. Kopie oprogramowania można bez
żadnych ograni czeń:
wykorzystywać w niemal dowolnym celu, zarówno
komercyjnym, jak i niekomer cyjnym,
kopiować, również na użytek innych osób,
modyfikować i publikować swoje zmiany,
scalać z innymi programami,
publikować i rozpowszechniać poprzez udostępnianie
pozostałym osobom,
wykorzystywać w innych aplikacjach, tworząc sublicencje,
sprzedawać.
LITERATURA:
1.
Adamczewski P. (2005), Słownik informatyczny,
Helion, Gliwice.
2.
Informatyka w zarządzaniu. red. C.M. Olszak i H.
Sroka, AE, Katowice 2003
3.
Informatyka ekonomiczna, red. S. Wrycza, Polskie
Wydawnictwo Ekonomiczne, Warszawa 2010
4.
License, 1996,
www.xfree86.org/3.3.6/COPYRIGHT2.html#3. Van Roy
P., Haridi S. (2004).
5.
GNU General Public License (GNU GPL), Version 3,
29 June 2007, www.gnu.org/licenses/gpl.html GNU
Lesser General Public License (GNU LPGL), Version 3,
29 June 2007, www.gnu.org//licenses/lgpl.html ICTSG
(2007).
DZIĘKUJĘ ZA UWAGĘ