GitHub Copilot a zmiana licencji AutoMapper — ukryte ryzyko prawne
Coraz częściej korzystamy z narzędzi AI, takich jak GitHub Copilot, nie tylko w projektach prywatnych, ale również w kodzie produkcyjnym. Przyspieszają pracę, pomagają w refaktoryzacji i migracjach. Jednak ostatnie doświadczenie pokazało mi, że AI — choć świetne technicznie — może całkowicie pomijać aspekty prawne.
Podczas migracji starszej aplikacji do najnowszej wersji .NET, korzystałem z Copilota, aby przyspieszyć proces. Wszystko przebiegało sprawnie, aż do momentu aktualizacji biblioteki AutoMapper.
Gdzie pojawił się problem?
Copilot zasugerował aktualizację AutoMappera do najnowszej wersji, wskazując, że jest ona darmowa i pozbawiona ograniczeń. Na pierwszy rzut oka — wszystko się zgadzało. Problem w tym, że została pominięta kluczowa zmiana:
- Do wersji 14.0.0 AutoMapper korzystał z licencji MIT
- Od wersji 15.0.1 obowiązuje licencja Reciprocal Public License (RPL) 1.5
Dlaczego to ma znaczenie?
Licencja MIT jest bardzo liberalna — pozwala na praktycznie dowolne wykorzystanie kodu, również w projektach komercyjnych typu closed-source.
RPL 1.5 działa inaczej. W pewnych scenariuszach może wymagać udostępnienia kodu źródłowego aplikacji, która korzysta z danej biblioteki.
W praktyce oznacza to, że nieświadoma aktualizacja zależności może mieć poważne konsekwencje prawne dla projektu.
Dlaczego AI tego nie wychwyciło?
To nie jest błąd konkretnego narzędzia — to ograniczenie całej klasy rozwiązań AI:
- AI skupia się na poprawności technicznej, nie na konsekwencjach prawnych
- bazuje na danych historycznych, które mogą nie uwzględniać najnowszych zmian
- nie rozumie kontekstu biznesowego projektu
- nie analizuje ryzyka związanego z licencjami
Efekt? Sugestia była poprawna z punktu widzenia kodu — ale potencjalnie niebezpieczna dla biznesu.
Jak rozwiązaliśmy problem?
W naszym przypadku zdecydowaliśmy się całkowicie zrezygnować z AutoMappera i przejść na natywne mapowanie. Wymagało to więcej pracy, ale wyeliminowało ryzyko związane z licencją.
Na co uważać korzystając z AI w developmentcie?
- Zawsze weryfikuj licencje bibliotek
- Sprawdzaj changelogi przed aktualizacją zależności
- Nie akceptuj sugestii AI „w ciemno”
- Analizuj wpływ zmian na biznes, nie tylko na kod
- Traktuj AI jako wsparcie, nie źródło ostatecznych decyzji
Podsumowanie
Narzędzia AI, takie jak GitHub Copilot, znacząco przyspieszają pracę programisty. Jednak odpowiedzialność za decyzje — szczególnie te związane z licencjami i aspektami prawnymi — nadal spoczywa na człowieku.
AI może być świetnym programistą, ale wciąż jest słabym prawnikiem.