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