Wpis marketingowy Qodany z 26 kwietnia otwiera się trzema liczbami. To 2,41 biliona dolarów strat z powodu złej jakości oprogramowania, 4,44 mln dolarów na każde naruszenie danych i mnożnik "15x w testach, 100x w utrzymaniu" dla kosztu naprawy późnego błędu. Dwie są prawdziwe. Trzecia od ponad dekady jest potworem z Loch Ness ekonomii oprogramowania. Cytuje ją każdy. Źródła nie znalazł nikt.
Policzyłem skoki w łańcuchu cytowań. Wpis JetBrains prowadzi "100x w utrzymaniu" do badania instytutu badawczego firmy IBM z 2010 roku. Robi to poprzez pracę na ResearchGate, która sama cytuje liczbę z drugiej ręki. Książka Laurenta Bossavita The Leprechauns of Software Engineering prześledziła ten łańcuch do ślepego zaułka. Oryginalnego badania po prostu nie ma.
Sama liczba zlepia w sobie wskaźniki z prac z lat 70. i 80. dotyczących systemów mainframe. Są one recyklowane od dekad we wpisach blogowych.
Tim Menzies wraz z zespołem opublikował w 2016 roku empiryczne badanie na 171 projektach oprogramowania z lat 2006-2014. Wniosek autorów był jasny. "W tych danych nie znaleźliśmy śladu efektu opóźnionych poprawek".
Traktowanie mnożnika "100x w utrzymaniu" jako faktu naukowego w 2026 roku to absurd. Ma to standard epistemiczny porównywalny z mitem, że ludzie używają tylko 10% mózgu. JetBrains wcale nie cytuje rzetelnego badania. Cytuje wskaźnik z prac sprzed pół wieku, oprawiony w cudzy PDF z 2010 roku.
Pozostałe dwie liczby się zgadzają w tym sensie, w jakim "średnia waga ssaka w Polsce" się zgadza. Raport organizacji CISQ podaje 2,41 biliona dolarów strat dla gospodarki USA w 2022 roku. Jest to realny wskaźnik makroekonomiczny. Spakowano w niego jednak cyberprzestępczość, incydenty łańcucha dostaw i dług techniczny. Hurtem, do jednej rubryki.
Kwota 4,44 mln dolarów od firmy IBM za przeciętne naruszenie danych w 2025 roku też się weryfikuje. Średnia dla samych Stanów Zjednoczonych wynosi 10,22 mln dolarów.
Żadna z tych dwóch liczb nie mówi nic o krańcowej wartości uruchomienia Qodany na Twoim repozytorium. Zauważyłem, czego w tym wpisie brakuje. Nie ma tam ani jednego konkretnego wyniku u klienta czy benchmarku z laboratorium. Brakuje kontrolowanego pomiaru wykrycia błędów, odsetka fałszywych alarmów czy czasu naprawy.
Każda liczba jest pożyczona od osoby trzeciej. Producent narzędzia do analizy statycznej kodu nie zmierzył własnego produktu. To jak siłownia, która reklamuje się ogólnokrajową statystyką otyłości.
Pod tą narracją makro kryje się prosta oferta. Cennik Qodany zaczyna się od 5 dolarów za aktywnego kontrybutora miesięcznie w wersji Ultimate. Wersja Ultimate Plus z analizą bezpieczeństwa, analizą przepływu skażonych danych (taint analysis) i logowaniem jednokrotnym (SSO) kosztuje 15 dolarów. Dokumentacja modelu cenowego definiuje "aktywnego kontrybutora" bardzo szeroko. To każdy, kto wypchnął commit do zarejestrowanego projektu w ciągu ostatnich 90 dni. Stażysta poprawiający literówkę w README kosztuje tyle samo co architekt na pełen etat.
Wersja Community jest darmowa, ale mocno okrojona. Analiza pull requestów i weryfikacja bezpieczeństwa żyją za płatną ścianą. Brakuje tam też automatycznych poprawek oraz linterów dla języków takich jak JavaScript, TypeScript, PHP czy Go. Typowa konfiguracja dla projektu w TypeScripcie wygląda tak:
# qodana.yaml
version: "1.0"
linter: jetbrains/qodana-js:2025.3
profile:
name: qodana.recommended
failureConditions:
severityThresholds:
critical: 0
high: 5
exclude:
- name: All
paths: [dist, node_modules, tests/fixtures]# .github/workflows/code_quality.yml
name: Qodana
on: [pull_request, push]
jobs:
qodana:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Qodana Scan
uses: JetBrains/qodana-action@v2025.3
env:
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}Istnieją dwie kwestie, o których dokumentacja wspomina bardzo pobieżnie. Twórcy chyba liczą na to, że ich nie zauważysz. Linter dla ekosystemu JavaScript nie uruchomi się bez tokenu chmurowego Qodana Cloud. Dotyczy to nawet darmowej wersji Community. Obietnica "w pełni offline'owej analizy statycznej" staje się więc oksymoronem.
Druga sprawa to parametr fetch-depth: 0. Jest on wymagany przy sprawdzaniu pull requestów i potrafi solidnie wydłużyć klonowanie repozytorium z prawdziwą historią. Kto uruchamia Qodanę na starszym monorepo, dowiaduje się o tym raz, z rachunku za ciągłą integrację.
Wyniki wracają w ustandaryzowanym formacie SARIF. Pojawiają się następnie jako komentarze w pull requestach, w skanerze kodu na GitHubie lub w panelu Qodana Cloud. Typowe trafienie z zaszytym na sztywno sekretem wygląda następująco:
{
"ruleId": "PhpHardcodedSecret",
"level": "error",
"message": { "text": "Hardcoded credential 'sk_live_...' detected" },
"locations": [{
"physicalLocation": {
"artifactLocation": { "uri": "src/Config/Stripe.php" },
"region": { "startLine": 42 }
}
}]
}To samo trafienie inspekcje JetBrains pokazują w edytorze w czasie rzeczywistym jako żółte podkreślenie. Qodana to po prostu mechanizmy analityczne z IDE przeniesione do procesów ciągłej integracji. Sama inżynieria jest porządna, ale strukturalnym problemem pozostaje cennik. GitHub CodeQL jest darmowy dla repozytoriów publicznych. Co więcej, wozi ze sobą system Copilot Autofix, który wbudowano bezpośrednio w interfejs GitHuba.
Rozwiązanie SonarQube Cloud Free bez opłat obsługuje projekty prywatne do 50 tysięcy linii kodu. Zawiera analizę gałęzi i pull requestów. Darmowej wersji Qodana Community brakuje analizy gałęzi, co JetBrains sam przyznaje w marcowym wpisie "SonarQube vs Qodana". Snyk Code Free daje 100 statycznych skanów kodu (SAST) miesięcznie. Narzędzie Semgrep udostępnia swój analizator open source za darmo. Przy 5 dolarach za kontrybutora miesięcznie Qodana Ultimate kosztuje 60 dolarów rocznie na każdego programistę, a konkurencja pakuje tę samą pracę w platformę, której już używasz.
Trudniejszym problemem dla Qodany jest czas. Okno przed commitem, w którym klasyczna analiza statyczna miała największą wartość, mocno się kurczy. Agenci AI działający w edytorze wyłapują oczywiste wzorce już w trakcie pisania kodu. Szybko znajdują zapomniane console.log, zaszyte sekrety, niesprawdzone wartości null czy przeklejone fragmenty. Najbardziej bezpośredni przykład to nowy agent inline od GitHub Copilot dla środowisk JetBrains.
Z drugiej strony, platformy takie jak GitHub pakują CodeQL i Copilot Autofix bezpośrednio w miejsce, gdzie docelowo ląduje Twój kod. Faktycznym wyróżnikiem Qodany pozostaje audyt ogromnych repozytoriów i wersjonowane profile inspekcji. Nie jest nim wcale szybki feedback przy pull requestach. Niestety ten rzeczywisty atut został przez wpis marketingowy całkowicie pominięty. Sięgnięto zamiast tego po cytat z 2010 roku, którego nikt nie potrafi odnaleźć.
Qodana to bez wątpienia kompetentny produkt. Niestety, marketingowy filar pod nią to widmowy cytat z badań firmy IBM. Opiera się na liczbach makroekonomicznych, które zupełnie nie mierzą tego, co wpis sugeruje. Narzędzie oferuje też poziom cenowy, który przegrywa z darmowym CodeQL dla projektów open source oraz z prywatnym limitem 50 tysięcy linii kodu w SonarQube Cloud Free dla programistów pracujących solo. Dostajemy reklamę w przebraniu badania, napisaną przy naiwnym założeniu, że nikt nie sprawdzi przypisów.