04-08-2014, 23:00
Zapewne wielokrotnie spotykałeś się z terminem Open Source (z języka angielskiego) bądź z przetłumaczonym na język polski zwrotem: otwarte oprogramowanie. Wiele osób zadaje sobie pytanie: co ten termin oznacza? Postaram się odpowiedzieć na to pytanie i wyjaśnić na przedstawionych przeze mnie przykładach, czym zajmuje się Open Source i jakie są jego wady i zalety.
Open Source jest to, jak już wspomniałem wyżej - wolne oprogramowanie. Polega to na tym, iż każdy z użytkowników danego oprogramowania ma do niego dostęp, może je dowolnie modyfikować, kopiować, rozpowszechniać, powielać i ulepszać. Osobiście uważam za wskazane używanie oprogramowania typu właśnie Open Source. Znaną powszechnie prawdą jest, że nie ma oprogramowania bez błędów. Każde oprogramowanie, które zawiera powyżej pewnej liczby wierszy kodu jest bardziej podatne na popełnienie błędu przez programistę. Nie należy więc zakładać, iż oprogramowanie, którego używamy, jest wolne od błędów. W takim razie bardzo ważne jest dla nas to, jak producent oprogramowania podchodzi do wykrytych w oprogramowaniu błędów. Jeżeli szybkość pojawiania się łat po wykryciu błędów jest bardzo duża, to nie jest źle. Jeżeli jednak po pojawieniu się na ogólnodostępnych stronach opisów błędów, a po jakimś czasie exploitów, które je wykorzystują a producent nadal ignoruje to zjawisko bądź co gorsza - zaprzecza ich istnieniu, to należy poważnie zastanowić się nad korzystaniem z takiego oprogramowania.
Oprogramowanie Open Source jest tworzone przez bardzo wielu programistów, najczęściej jeszcze w ich najlepszych latach, gdy są jeszcze bardzo twórczy i pomysłowi. Bardzo częstym zarzutem stawianym temu rodzajowi oprogramowania jest tworzenie go przez pryszczatych młodzieńców, pasjonatów technologicznych, dla których programowanie jest całym życiem. Jednakże właśnie tego typu młodzieńcy są później zatrudniani przez różne duże koncerny programistyczne i tworzą dla nich oprogramowanie. Ponadto żaden koncern nie może sobie pozwolić na tak dużą liczbę wykwalifikowanych testerów oprogramowania, jaką ma ruch Open Source. Często testerzy ci mają tak wysokie kwalifikacje, że od razu przysyłają producentom i twórcom projektu łaty, które należy zaimplementować. Efektywność ich pracy wynika właśnie z faktu, iż kod z którego powstało oprogramowanie, jest ogólnodostępny. Osobiście uważam, iż jeżeli zostałby upubliczniony kod oprogramowania komercyjnego, ilość znalezionych dziur w oprogramowaniu przekroczyłaby wszelkie możliwe granice. Opieranie bezpieczeństwa pakietu na utajnieniu kodu i algorytmów użytych w oprogramowaniu jest bardzo mało efektywną metodą. Jakiś czas temu u jednego z największych producentów oprogramowania użytkowego zaszło podejrzenie wykradzenia kodów źródłowych. Można sobie wyobrazić, w jakim niebezpieczeństwie byliby użytkownicy, gdyby taki fakt rzeczywiście miał miejsce.
Oczywiście w przypadku oprogramowania Open Source należy też zwrócić uwagę na korzystanie z oprogramowania tworzonego w działających i rozwijających się projektach. Jeżeli grupa pisząca dany projekt rozpadnie się i zaprzestanie pracy nad nim, zostajemy "na lodzie". W przypadku oprogramowania komercyjnego również narażamy się na bankructwo firmy - co ostatnio często się zdarza - i związany z tym brak wsparcia ze strony producenta.
Open Source jest to, jak już wspomniałem wyżej - wolne oprogramowanie. Polega to na tym, iż każdy z użytkowników danego oprogramowania ma do niego dostęp, może je dowolnie modyfikować, kopiować, rozpowszechniać, powielać i ulepszać. Osobiście uważam za wskazane używanie oprogramowania typu właśnie Open Source. Znaną powszechnie prawdą jest, że nie ma oprogramowania bez błędów. Każde oprogramowanie, które zawiera powyżej pewnej liczby wierszy kodu jest bardziej podatne na popełnienie błędu przez programistę. Nie należy więc zakładać, iż oprogramowanie, którego używamy, jest wolne od błędów. W takim razie bardzo ważne jest dla nas to, jak producent oprogramowania podchodzi do wykrytych w oprogramowaniu błędów. Jeżeli szybkość pojawiania się łat po wykryciu błędów jest bardzo duża, to nie jest źle. Jeżeli jednak po pojawieniu się na ogólnodostępnych stronach opisów błędów, a po jakimś czasie exploitów, które je wykorzystują a producent nadal ignoruje to zjawisko bądź co gorsza - zaprzecza ich istnieniu, to należy poważnie zastanowić się nad korzystaniem z takiego oprogramowania.
Oprogramowanie Open Source jest tworzone przez bardzo wielu programistów, najczęściej jeszcze w ich najlepszych latach, gdy są jeszcze bardzo twórczy i pomysłowi. Bardzo częstym zarzutem stawianym temu rodzajowi oprogramowania jest tworzenie go przez pryszczatych młodzieńców, pasjonatów technologicznych, dla których programowanie jest całym życiem. Jednakże właśnie tego typu młodzieńcy są później zatrudniani przez różne duże koncerny programistyczne i tworzą dla nich oprogramowanie. Ponadto żaden koncern nie może sobie pozwolić na tak dużą liczbę wykwalifikowanych testerów oprogramowania, jaką ma ruch Open Source. Często testerzy ci mają tak wysokie kwalifikacje, że od razu przysyłają producentom i twórcom projektu łaty, które należy zaimplementować. Efektywność ich pracy wynika właśnie z faktu, iż kod z którego powstało oprogramowanie, jest ogólnodostępny. Osobiście uważam, iż jeżeli zostałby upubliczniony kod oprogramowania komercyjnego, ilość znalezionych dziur w oprogramowaniu przekroczyłaby wszelkie możliwe granice. Opieranie bezpieczeństwa pakietu na utajnieniu kodu i algorytmów użytych w oprogramowaniu jest bardzo mało efektywną metodą. Jakiś czas temu u jednego z największych producentów oprogramowania użytkowego zaszło podejrzenie wykradzenia kodów źródłowych. Można sobie wyobrazić, w jakim niebezpieczeństwie byliby użytkownicy, gdyby taki fakt rzeczywiście miał miejsce.
Oczywiście w przypadku oprogramowania Open Source należy też zwrócić uwagę na korzystanie z oprogramowania tworzonego w działających i rozwijających się projektach. Jeżeli grupa pisząca dany projekt rozpadnie się i zaprzestanie pracy nad nim, zostajemy "na lodzie". W przypadku oprogramowania komercyjnego również narażamy się na bankructwo firmy - co ostatnio często się zdarza - i związany z tym brak wsparcia ze strony producenta.