Oprogramowanie to produkt wytworzony przez programistów

Transkrypt

Oprogramowanie to produkt wytworzony przez programistów
Oprogramowanie to produkt wytworzony przez programistów.
Wyróżniamy dwie klasy oprogramowania:
- produkt gotowy
- produkt na zamówienie
Oprogramowanie własnością inte lektualną
Oprogramowanie jest tworzone, a nie produkowane w ścisłym tego słowa znaczeniu .
Każdy program ma określony cykl życia, a proces tworzenia oprogramowania odbywa się
według określonych modeli życia oprogramowania.
Oprogramowanie to kod źródłowy i skom plikowane pliki binar ne. Ze wglądu na
(nie)udostępnianie kodu źródłowego rozróżniamy:
- oprogramowanie wolne / otwarte (Frr / Open Source)
- oprogramowanie własnościowe / zamknięte (Propietary)
Licencja to umowa na korzystanie z aplikacji. Licencje regulują:
- zróżnicowany stopień uprawnień i zobow iązań
- sposób zabezpieczenia inwestycji w projekty
Przykłady licencji:
Otwarte / Wolne:
-GNU GPL / GNU LGPL
-BSD
-Apache 2.0
-Mozilla PL
-X11 (Massachusetts Institute of Technology)
Pozostałe:
-Freeware
-Shareware
-Shared Source
i wiele innych
Idea copyright a copyleft.
Termin Free Software oznacza wolny jak słowo a nie darmowy jak piwo ;)
Oprogramowanie jest wolne, jeśli gwarantuje:
- wolność uruchamiania program u w dowolnym celu
- wolność analizowania jak program działa i dostosowywania go do swoich potrzeb.
- wolność rozpowszechniania kopii
- wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń,
dzięki czemu może z nich korzystać cała społeczność
Free Software – ge neza
Organizacja promująca – Free Software Foundation
Typ – organizacja non profit
Rok założenia – 1985
Założyciel – Richard Stallman
Przyczyny powstania – ochrona przed przedsiębiorstwami, które zaczęły wprowadzać
ograniczenia dla użytkowników
Open source software oznacza otwarte źródło czyli otwarty kod źródłowy.
Oprogramowanie jest otwarte, jeśli jest udostępnione na licencji, które spełnia warunki:
- swobodna redystrybucja programu
- dostępność kodu źródłowego
- dozwolona redystrybucja modyfikacji
- niedyskryminowanie zastosowań programu
Open source ge neza
Organizacja promująca – Open Source Initiative
Typ – organizacja non profit
Rok założenia – 1998
Założyciele – Raymond, Peters
Przyczyny powstania – model przyjazny firmom i mniej zaangażowany ideologicznie w
procesie konkurencji z oprogramowaniem własnościowym
Jeśli oprogramowanie jest wolne to w zasadzie jest otwarte, ale na odwrót już
niekoniecznie. Open Source to pojęcie szersze. Otwarte oprogramowanie kampanią
marketingową na rzecz wolnego oprogramowania.
Free Software + Open Source = FLOSS
Termin FLOSS obejmuje:
- społeczność, czyli nurty ruchu FS/ OS (Free Software i Open Source
- prawo, czyli typy definicji licencji na oprogramowanie FS/OS
- zbór oprogramowania na powyższych licencjach
FLOSS tworzy społeczność, czyli ruch wolnego oprogramowania i r uch open source. W
skład owej społec zności wchodzą:
- hakerzy (indywidualiści, fascynaci)
- pracownicy firm
- użytkownicy i pozostali ochotnicy
FLOSS finansuje:
- społeczność, m.in. Java Community Process
- fundacje i organizacje non profit np. Apache, Mozilla
- firmy i korporacje: IBM, Google
Sprzyja i napędza rozwój FLOSS rozpropagowanie powszechnego dostępu do Internetu.
Przykłady popularnych projektów FLOSS:
Apache
eMule
Firefox
Linux
Mozilla
OpenOffice
Modele pracy w projektach FLOSS:
-Open Sourcenp. Apache Apache jest najszerzej st osowanym serwerem HTTP w
Internecie. W maju 2006 jego udział wśród serwerów wynosił prawie 65%. W połączeniu
z interpreterem języka skryptowego PHP i bazą danych My SQL, Apache stanowi jedno z
najczęściej spotykanych środowisk w firmach oferujących miejsce na serwerach
sieciowych.
-Open Source + komercja np. Mozilla
Open Source nie stoi w sprzeczności z zarabianiem pieniędzy. Możliwe źródła
finansowania to m.in.
- sprzedaż usług (suport, szkolenia)
- rozwój nowej funkcjonalności
- tworzenie całkow icie nowego oprogramowania na zamówienie
- firmy, którym zależy na istnieniu pew nego oprogramowania finansują jego rozwój
Mode l biznesowy
Głównym źródłem dochodu usługi – wdrożenia, szkolenia, adm inistracja, dostosowywanie
oprogramowania do określonych potrzeb. Oprogramowanie Open Source można także
sprzedawać np. opakowane w pudełka, oferowane klientom wraz ze wsparciem
technicznym.
Prawo Brooksa
Adding manpower to a late software project makes it later.
(Dodawanie programistów do projektu sprawia, ze prace trwają dłużej.)
Co to oznacza?
Czas programistyczny nie jest skalowalny, a rozbudowa zespołu program istycznego w
trakcie projektu może sprawić , ze czas realizacji projektu wzrośnie
Prawo Linusa
Given enough eyeballs, all bugs are shallow.
(Gdzie w iele oczu, tam łatwo ujrzeć pluskwy).
Co to oznacza?
Najkrótszą i najłatwiejszą drogą w kierunku szybkiego rozwoju kodu i efektywnego jego
odpluskwiania jest traktowanie użytkowników jako osób uczestniczących w projekcie.
Zalety, czyli czemu Ope n Source za wdzię cza swój sukces:
- użytkownicy uczestniczą w projekcie
- developerzy piszą to, co chcą, a nie co muszą
- developerzy są doświadczonymi użytkow nikam i oprogramowania, które tworzą
W efekcie Open Source gwarantuje
- szybką identyfikację i korekcję błędów
- szybkie odpowiedzi na zgłaszane problemy
- dużą liczbę feature’ów i częste ich dodawanie
Wady, czyli potencjalne zagrożenia Open Source
- open source nie jest modelem tworzenia oprogramowania
- otwarcie oprogramwnaia może skutkować bankr uctwem firmy, gdy nie ma ona dobrego
pomysłu na zarabianie pieniędzy
- brak dostatecznej liczby zdolnych programistów
- negatywne skutki koniecznej modułowości oprogramowania (zwiększa skalę
skomplikowania aplikacji. Ryzyko spięcia między modułam i)
- pokutujące na rynku przeświadczenie, że FLOSS to darmowe piwo
Znacze nie FLOSS Z punktu widzenia FS/ OS
Free Software:
- wolność, wspieranie prawa do tworzenia oprogramowania
- ochrona przed prywatnym monopolem
Open Source:
- gwarantuje najwyższą jakość techniczną oprogramowania
- zainteresowanie firm ideą, szansa na komercyjne wykorzystanie
Znacze nie FLOSS Z punktu widzenia użytkowników
- brak mechanizmów kontroli (oprogramowanie zam knięte, czyli w łasnościowe, to zdanie
się na nieznane mechanizmy ochrony – bezpieczeństwa i kontroli w systemach,
niew iadome sposoby zbierania i przetwarzania danych, niejasne sposoby działania
aplikacji, niejaw ne wykorzystanie technologii. W oprogramowaniu jaw nym mechanizmy
te są znane i możemy je zmieniać )
- ucieczka od mechanizmu – dozw olone jest to, na co pozwala właściciel praw autorskich
/ patentu. W OS nie musimy nikogo pytać o pozwolenie.
- ochrona praw konsumenckic h (w zamkniętych nie mamy źródeł i nie mamy możliwości
legalnego crackowania, odszyfrowania mechanizmów kontroli jak np. system kodowania
zawartości płyt DVD)
- wolna kultura to dzielenie się własnością intelektualną
Wolna kultura to:
- rozszerzenie idei ruchu wolnego oprogramowania na obszar całej kultury niematerialnej
- ruch społeczny promujący wolność dystrybucji i modyfikacji różnego rodzaju utworów
Wolna Kultura – geneza
Organizacja promująca: Creative Commons
Typ: organizacja non-profit
Rok założenia: 2001
Założyciel: Lawrence Lessig
Przykład projektu: Wikipedia