Co to jest kod źródłowy? Kod źródłowy to ciąg instrukcji określony w zrozumiałym dla człowieka języku programowania. Kod źródłowy zazwyczaj występuje w formie tekstu. Ma na celu umożliwienie rozwijania i rozbudowy programów o nowe funkcjonalności. W wielkim skrócie kod źródłowy określa działania , jakie powinno być podejmowane przez komputer. Aby kod źródłowy był „czytelny” dla komputera musi zostać wcześniej poddany „przetłumaczeniu” na kod wynikowy (tj. translacji) Proces automatycznego tłumaczenia kodu to kompilacja, a program służący do automatycznego tłumaczenia kodu źródłowego na język wynikowy. Ogólne zasady przenoszenia praw do oprogramowania. Programy komputerowe podlegają ochronie. Nie podlegają ochronie idee i zasady leżące u podstaw samego programu. Prawo autorskie do utworu przysługuje twórcy. (inne zasady obowiązują w stosunku do pracowników – twórców oprogramowania powstałego w ramach wykonywania obowiązków ze stosunku pracy) Twórca może tym prawem rozporządzać. Rozporządzenie prawem do utworu może przybrać dwie postacie: przeniesienia autorskich praw majątkowych do oprogramowania ustanowienia licencji, tj. prawa użytkowania oprogramowania (może być wyłączna lub niewyłączna). Powszechnie przyjmuje się, że przeniesienie praw do programu komputerowego nie przenosi prawa do kodu źródłowego. Podobna sytuacja występuje w stosunku do licencji – udzielenie licencji na oprogramowanie nie oznacza, że licencjobiorca jest uprawniony do korzystania z kodów źródłowych. W związku z powyższym powstaje pytanie w jaki sposób zabezpieczyć interesy zamawiającego, który nabył prawa autorskie do oprogramowania lub licencję, ale nie posiada praw do kodów źródłowych. Jest to szczególnie istotne, że względu na fakt, iż dostawca oprogramowania zazwyczaj zobowiązuje się świadczyć usługi serwisowe i zapewniać rozbudowę oprogramowania o moduły i funkcjonalności konieczne do zaspokajania zmieniających się potrzeb zamawiającego. W przypadku gdy Wykonawca ogłosi upadłość, likwidację bądź też w inny sposób zaprzestanie prowadzenia działalności zamawiający pozostanie bez opieki serwisowej. W związku z powyższym częstym postanowieniem stosowanym w umowach w tym zakresie jest nakładanie na Wykonawcę obowiązku zdeponowania kodów źródłowych do danego oprogramowania. 1 Zakres tego obowiązku Wykonawca powinien się zobowiązać do zdeponowania kodów źródłowych całego oprogramowania oraz wszelkich niezbędnych modułów i bibliotek niezbędnych do prawidłowej kompilacji oprogramowania Wykonawca wraz z deponowanymi kodami źródłowymi obowiązany powinien dołączyć: szczegółową procedurę kompilacji, dokumentację techniczną. Kiedy powstanie prawo skorzystania przez zamawiającego z zdeponowanych kodów źródłowych. Sytuacje te powinny być ściśle określone w umowie. Do najczęściej wskazywanych należą: ogłoszenie upadłości, likwidacja, zaprzestanie działalności zaprzestanie rozwoju oprogramowania przez Wykonawcę lub jego następców prawnych W celu uniknięcia wszelkich wątpliwości zamawiający powinien zastrzec, iż ww. przypadkach będzie mu przysługiwała licencja (może być niewyłączna) do kodów źródłowych. Zamawiający powinien też określić pola eksploatacji w odniesieniu do tej licencji. Samo zagwarantowanie dostępu nie jest wystarczające. Nie daje bowiem prawa do „używania” kodów źródłowych do rozbudowy oprogramowania. Takie prawo daje tylko licencja. W odniesieniu do okoliczności ogłoszenia upadłości należy stwierdzić, iż ze względu na treść art. 83 Prawa upadłościowego i naprawczego („Nieważne są postanowienia umowy zastrzegające na wypadek ogłoszenia upadłości zmianę lub rozwiązanie stosunku prawnego, którego stroną jest upadły”), wskazane jest uzależnienie prawa do dostępu do kodów źródłowych nie od samego ogłoszenia upadłości, ale od złożenia wniosku o ogłoszenie upadłości. Forma zdeponowania: Kody źródłowe powinny być zdeponowane w wersji elektronicznej na nośnikach o gwarantowanej trwałości. W przypadku gdy zdeponowano kody źródłowe na nośnikach, które następnie zostały wycofane z powszechnego obrotu Wykonawca powinien być zobowiązany zmienić formę przechowywania kodów źródłowych, tak aby Zamawiający zawsze miał możliwość ich odczytu za pomocą powszechnie używanych narzędzi. Miejsce deponowania: Zazwyczaj jest to kancelaria notarialna. Zasady deponowania kodów źródłowych: zasada aktualności: wszelkie zmiany w kodzie źródłowym muszą prowadzić do aktualizacji zdeponowanych materiałów. 2 zasada zupełności: kody źródłowe i zdeponowane materiały muszą być w takim stanie, aby umożliwiać pełną kompilację. W związku z powyższym wskazane jest określenie w umowie zasad sprawdzania jakości kodu i dokumentacji, a niekiedy przeprowadzenie próbnej kompilacji, tak aby zapobiec ewentualnym problemom w kompilacji kodu w przyszłości, Taka próba kompilacji może być przeprowadzona przez Wykonawcę z udziałem Zamawiającego przy każdej dokonywanej zmianie w kodzie źródłowym aplikacji. 3