Kod chodzi własnymi drogami

Subskrybuj RSS A A A
27 października 2003
Przemysław Gamdzyk, Sławomir Kosieliński

Z jednej strony kody źródłowe są największym dobrem producentów oprogramowania. Od utrzymania ich w tajemnicy zależy byt firmy programistycznej. Z drugiej, klienci często żądają dostępu do kodów źródłowych, czasem tylko tak, na wszelki wypadek. Jaka jest zatem praktyka w tym zakresie na polskim rynku IT?

Z jednej strony kody źródłowe są największym dobrem producentów oprogramowania. Od utrzymania ich w tajemnicy zależy byt firmy programistycznej. Z drugiej, klienci często żądają dostępu do kodów źródłowych, czasem tylko tak, na wszelki wypadek. Jaka jest zatem praktyka w tym zakresie na polskim rynku IT?

Na początku lat 90. Dyrekcja Generalna Lasów Państwowych (DGLP) ogłosiła przetarg na dostawy sprzętu i oprogramowania na potrzeby kompleksowego systemu informatycznego. Wygrała go firma Hewlett-Packard. Wówczas dział usług w polskim oddziale firmy był znacznie mniejszy niż obecnie. W kontrakcie zawarto więc warunek, że zanim leśnicy kupią sprzęt, musi powstać aplikacja. HP zarekomendował partnera - austriacką firmę SchnellDataServise-SDS.

Współpraca trwała sześć lat. Niestety, SDS zbankrutowała przed przekazaniem kodów źródłowych Lasom Państwowym. Zmarł właściciel firmy i sprawy spadkowe na długo zablokowały dostęp do nich. "Zdarzało się, że część poprawek została wykonana przez programistów Lasów Państwowych w formie nakładek programistycznych" - wyjaśnia Jerzy Zieliński, naczelnik Wydziału Informatyki DGLP. "Przykładowo, proces liczenia podatku był obarczony błędem, który powodował zaniżenie wyliczonego podatku o 5%. Nie dociekając, dlaczego tak się dzieje, programiści dopisywali niewielki program, który do wyniku uzyskanego z głównego systemu dodawał 5%. Użytkownik nie miał powodu do narzekań" - dodaje. Po latach Lasy Państwowe uzyskały wreszcie kody źródłowe do swojego oprogramowania i teraz samodzielnie go rozwijają.

Pierwsze kody za płoty

Przypadek Lasów Państwowych - ale również wielu instytucji i przedsiębiorstw - wskazuje, że dostęp do kodów źródłowych należy do kwestii zasadniczych, które muszą pojawić się w umowie na budowę systemu informatycznego. Dostawcy obierają jednak bardzo różną strategię ich udostępniania.

"Udostępniamy kody aplikacji" - wyjaśnia Paweł Piwowar, prezes Oracle Polska. "Natomiast nie ma mowy o ujawnieniu kodu jądra systemu, bo wtedy wystawilibyśmy na widok publiczny algorytmy kompresji danych, szyfrowania i replikacji" - dodaje. Ta polityka pozwala klientowi na modyfikowanie aplikacji czy też przenoszenie jej na inną platformę sprzętową, zarazem zabezpiecza żywotne interesy producenta. Zresztą kody źródłowe motoru bazy danych Oracle przechowuje w jednym miejscu na świecie. "Gdybyśmy je udostępniali, to tak jakbyśmy podawali każdemu przechodniowi numer karty kredytowej" - komentuje.

Inną politykę w zakresie kodów źródłowych prowadzi SAP. "Zakładamy, że cykl «życia» produktu wynosi 15-20 lat. Kod źródłowy, aktualizowany z każdą wprowadzoną zmianą czy pakietem korekcyjnym, daje klientowi bezpieczeństwo i gwarancję podtrzymania aplikacji" - mówi Jan Rey, architekt rozwiązań biznesowych w SAP Polska. Ale nie tylko. Przykładowo, w KGHM Polska Miedź, PKN Orlen, Anwilu czy sieci sklepów Żabka Polska, w których wrocławski IMG instalował system SAP, powstały duże zespoły informatyków wyspecjalizowanych w tworzeniu aplikacji w środowisku ABAP. "Licencja SAP zezwala na wstawianie fragmentów własnego kodu napisanego w języku ABAP, w którym został napisany cały system" - opowiada Marcin Granowski z IMG. Jego zdaniem to element przewagi konkurencyjnej rozwiązań SAP, umożliwiający tworzenie np. dodatkowych raportów. Nic nie stoi również na przeszkodzie, by właściciel licencji napisał program, w którym zostanie wykorzystany znaczący fragment kodu SAP. Z jednej strony uniezależnia to klienta od producenta oprogramowania, z drugiej w pewnym stopniu wymusza tworzenie własnych programów w jednorodnym środowisku. "Warunek jest jeden, by wprowadzić zmiany w kodzie, musi być pobrany klucz dostępu identyfikujący zmieniany obiekt i użytkownika-programistę, aby nasza obsługa asysty technicznej wiedziała o istnieniu zmiany w tym miejscu. Ponadto kod dopisany w przygotowanych przez SAP miejscach, zwanych user exits, jest przy nowych wersjach traktowany jak ważne dane klienta i nie narusza warunków gwarancji" - zaznacza Jan Rey.

Nie kupuj kodu w worku
Szczególnym przypadkiem udostępniania kodów źródłowych jest oprogramowanie open source. Jest ono udostępnianie wraz z kodem źródłowym, nie podlegającym patentowaniu i nie chronionym odpłatnymi licencjami. Użytkownicy mogą analizować kod, wprowadzać do niego własne poprawki (z poszanowaniem integralności dzieła twórcy kodu wyjściowego) i rozpowszechniać (w tym również sprzedawać!) powstałe w ten sposób nowe wersje. Jednakże tak zmienione aplikacje muszą być również udostępniane wraz z kompleksowym kodem źródłowym, przy czym w sposób rekurencyjny są powielane takie same prawa dotyczące swobody wykorzystania tego kodu źródłowego. Te cechy sprawiają, że oprogramowanie o otwartym kodzie źródłowym stanowi wydzieloną kategorię, właśnie ze względu na zapisy dotyczące praw autorskich do tego oprogramowania, w pewnym sensie stanowiąc "hakowaną" wersję normalnej licencji na użytkowanie programu.

Najbardziej radykalne podejście do oprogramowania open source jest zawarte w licencji typu GPL (GNU General Public Licence), która zakłada bezpłatne udostępnianie oprogramowania i kodu źródłowego, a co więcej inkluzywność tych wymogów do wszelkich programów, które zawierają integralną część pochodzącą z GPL. Oznacza to, że darmowy musi być każdy program, w którym wykorzystano jakikolwiek fragment kodu dystrybuowanego na zasadach GPL.

Oceń artykuł

średnio: 0 liczba ocen: 0
1  2  dalej »

Komentarze (0)

Najnowsze

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

Zarządzanie po japońsku

W praktyce przemysłowej wypracowano szereg skutecznych metod zarządzania. Wiele powstało w Japonii. Dlaczego, mimo ich efektywności, nie zawsze są stosowane w biznesie?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Jak zaplanować karierę w branży IT

Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

Rekomendacje



Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88