Ukrywać czy ujawniać?

Subskrybuj RSS A A A
21 czerwca 2004
Piotr Kowalski

Nie wiem skąd wzięło się przekonanie, że udostępnienie kodu źródłowego oprogramowania ma wpływ na polepszenie jego jakości. Powiedziałbym raczej, że jawność w tym zakresie może poprawić jedynie relacje zaufania pomiędzy wytwórcami oprogramowania a jego użytkownikami i to nierzadko na zasadzie psychicznego komfortu wynikającego z potencjalnych możliwości wglądu do źródeł.

Nie wiem skąd wzięło się przekonanie, że udostępnienie kodu źródłowego oprogramowania ma wpływ na polepszenie jego jakości. Powiedziałbym raczej, że jawność w tym zakresie może poprawić jedynie relacje zaufania pomiędzy wytwórcami oprogramowania a jego użytkownikami i to nierzadko na zasadzie psychicznego komfortu wynikającego z potencjalnych możliwości wglądu do źródeł.

Bo tak naprawdę trzeba niezłego samozaparcia i niezwykle giętkiego umysłu, aby analizować (a nie daj Boże cokolwiek modyfikować) w produkcie obcego autorstwa.

Wielu ludzi szermujących błogosławieństwem jawności kodu źródłowego jest przekonanych o jego wyższości nad kodem ukrytym, tylko dlatego, że tak głoszą obiegowe opinie. Ogromna większość popleczników jawności nie zhańbiła się nigdy analizą jakiegokolwiek fragmentu oprogramowania, a ci, którzy coś w tej mierze uczynili, ograniczali się zazwyczaj do przeglądania prostych procedur w językach skryptowych.

Kod programu nie jest treścią książki, gdzie każdy z nas może wkleić do tekstu skomponowany przez siebie fragment i nie zaburzy to logiki dzieła w sposób uniemożliwiający korzystanie z niego. Osoby nieparające się programowaniem i niewyznające się na tej dziedzinie mają zdaje się takie mniemanie w tej mierze, które twórczość programistyczną czynią technicznie pokrewną z działalnością literacką. Jest to o tyle tylko poprawne myślenie, że w jednym i drugim przypadku trzeba mieć koncepcję, a także tu i tam korzysta się z edytorów, aczkolwiek zupełnie odmiennych.

Wszelkie układy przetwarzania informacji, analogowe czy dyskretne, sprzętowe czy software'owe, stosowane w różnych dziedzinach, zawsze były i są "czarnymi skrzynkami", gdzie wartości wejściowe powodują pojawienie się określonych wartości wyjściowych. Nikt jednak nie rości sobie pretensji do rozhermetyzowania tych układów, aby wgląd do nich i możliwość zmiany zasad działania miał każdy tylko dlatego, że tak chce. Spróbujmy zmienić własnym sumptem zasady pracy chociażby programatora pralki lub komputera w samochodzie. Ciekawe, co z tego wyjdzie. A może by tak opowiadać się również za "otwartością" wszelkich układów elektronicznych? Wszak one także są elementami przetwarzania o różnym poziomie złożenia i nigdy do końca nie wiadomo jaki diabeł tam siedzi.

Istniejący kod programowy zawsze da się wzbogacić o własne biblioteki, które następnie można przekazać do powszechnego użytku. Nie wymaga to jednak wglądu do istniejącego już oprogramowania, a jedynie znajomości jego parametrów pozwalających na integrację. Gdyby każdy programista chciał analizować "od podszewki" to, co już stworzyli poprzednicy, przypuszczam, że nadal tkwilibyśmy w erze kalkulatorów zamiast w rozwiniętym do obecnej postaci systemie informacji cyfrowej.

Dwa razy konieczność zawodowa zmusiła mnie do ingerencji w cudze kody o objętości kilkudziesięciu tysięcy linii. Raz nawet musiałem gruntownie takie oprogramowanie przerabiać. Kto czegoś takiego w życiu nie wykonywał, nie powinien głosić tez o wyższości kodu otwartego. Fakt, że w przypadku jawności istnieje możliwość kontroli oraz ingerencji, ale ile wysiłku to kosztuje, ten tylko wie, kto to czynił. Co innego usprawnić niedużą procedurę o klarownej strukturze i przeznaczeniu, a co innego "mieszać" w złożonych regułach algorytmicznych. Ja w każdym razie definitywnie zamknąłem już ten rozdział działalności zawodowej. Wolę budować przyszłość na istniejących cegiełkach, ufając ich producentom.

Oceń artykuł

średnio: 0 liczba ocen: 0

Komentarze (0)

Najnowsze

MAC, czyli ministerstwo reformowania rządzenia

Premier wspiera lojalnie w kryzysie najbliższego współpracownika, Michała Boniego, przyjmując na siebie atak oburzonych internautów podczas debaty o ACTA.

Nowe, unijne zamówienia publiczne

Komisja Europejska proponuje ważne zmiany prawa wspólnotowego w obszarze zamówień publicznych. Warto im się przyjrzeć bo to jeden z elementów nowej perspektywy finansowej UE. Warto zatem przyjrzeć się owej propozycji bliżej.

Bezpieczeństwo rządowych stron - analiza

Zespół zadaniowy ds. ochrony portali rządowych opublikował wytyczne. Trudno stwierdzić, że to najlepsze rekomendacje, jakie można było przy okazji zaistniałych ataków wypracować.

DEBATA: Kiedy walka polityczna w sieci przemienia się w cyberterroryzm?

Skuteczny atak cybernetyczny przyniesie opłakane skutki dla państwa i gospodarki. Boleśnie się o tym przekonaliśmy, gdy nie można było dostać się na strony internetowe najważniejszych instytucji w Polsce.

Czy MSW chce unieważnienia przetargu na pl.ID?

Rośnie ryzyko całkowitego unieważnienia przetargu na nowe dowody osobiste. Krajowa Izba Odwoławcza odrzuciła odwołanie firmy Sygnity, która nie zgadzała się na wydłużenie o trzy miesiące terminu składania ofert na dostawę blankietów nowych dowodów osobistych. Wydłużenie całego postępowania o trzy miesiące może spowodować skargi uczestniczących w nim firm, a w konsekwencji unieważnienie przetargu.

Garść rad dla roztropnego szefa IT

Trudne czasy w gospodarce to okres, kiedy szczególnego znaczenia nabiera hasło: Jak cię widza, tak cię piszą. Osłabienie rynku przekłada się na oszczędności w przedsiębiorstwie, a oszczędności najłatwiej szukać w działach, które, w opinii zarządu, nie są bezpośrednio związane z prowadzoną działalnością - czyli również w dziale IT.

Sprzeczne wizje e-dowodu

Koncepcja elektronicznego dowodu osobistego powstała w Polsce wiele lat temu. Starsze są koncepcje elektronicznego systemu świadczeń ochrony zdrowia. Mimo to, nadal są w trakcie budowy.

Rekomendacje

Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści
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