SonarQube

Utvecklingsverktyg · Kodkvalitet och säkerhetsgranskning

Kodgranskning med kvalitetsgrindar för buggar, sårbarheter och kodlukter.

Betyg 74 av 100 Praktiskt granskad

Läs bedömningen
API · Officiellt

Webb-API:t under /api/ läser projekt, ärenden, mätvärden, regler och grindstatus och skriver konfiguration; anrop autentiseras med användartoken.

SonarQube Web API · SonarSource

Källa: docs.sonarsource.com

Kontrollerat:

Officiellt · Webhooks (SonarSource) dokumentation

MCP · Officiellt

Leverantörens egen MCP-server kopplar en kodagent till SonarQube och låter den läsa ärenden, grindar och mått för ett projekt; den är ett separat förstapartsprojekt, inte inbyggd i servern.

SonarQube MCP Server · SonarSource

Källa: github.com/SonarSource

Kontrollerat:

SonarQube-projektlistan med två projekt: Nordljus Integrationer med röd markering Failed, betyg C i tillförlitlighet och tre sårbarheter, samt Nordljus Portal med grön markering Passed, betyg A och 81,8 procents täckning
1 / 6 Projektlistan med kvalitetsgrinden: portalen godkänd, integrationstjänsten underkänd

Bedömning

Så bedömer vi

Totalbetyg

74 av 100

Praktiskt granskad

Bedömningsprofil
Ett utvecklingsteams egna kodförråd där kvalitet och säkerhet ska följas upp löpande och en kvalitetsgrind i CI ska stoppa ändringar som inför buggar eller sårbarheter – självhostat, utan att koden lämnar organisationen.
Bedömningsdatum
Modellversion
3.0.0
  1. Öppenhet och kontroll

    Community Build och källkoden utan analysmotorer ligger under LGPL-3.0, så servern, webbgränssnittet, API:t och datamodellen är fria att läsa, ändra och köra själv. Men sedan 29 november 2024 släpps de medföljande analysmotorerna – själva granskningslogiken för varje språk – under Sonar Source-Available License 1.0, som inte är en OSI-licens, och de betalda utgåvorna är slutna. Kärnan är öppen och fullt körbar, men en väsentlig del av produkten är källtillgänglig utan att vara fri. Det motsvarar open-core med tydligt öppen kärna och låsta delar, alltså tre och inte fem.

  2. Funktionell passform

    I labbet analyserades två kodbaser med samma scanner: en välhållen Node-tjänst på 189 rader med tester och en gammal integrationstjänst på 121 rader. Portalen passerade grinden med betyg A i både tillförlitlighet och säkerhet och 82 procents täckning inläst ur en lcov-fil; integrationstjänsten fälldes på betyg C och D med sex fynd – bland dem eval, ett hårdkodat lösenord och ett villkor som upprepas. Grinden fällde alltså rätt projekt av rätt skäl, och ärendelistan pekade ut fil och rad. Luckan för användningsfallet är att Community Build bara granskar en gren per projekt: en analys med sonar.branch.name avvisades med beskedet att grenanalys kräver Developer-utgåvan eller högre.

  3. Dataflytt och interoperabilitet

    Webb-API:t läste i labbet ut projekt, ärenden med fil och rad, mätvärden per dimension, regelkatalog och grindstatus som JSON, och kvalitetsprofiler kan säkerhetskopieras som XML. Täckning och andra mått tas in i standardformat från bygget (lcov), och en ny installation kan analysera om samma kod och få samma resultat eftersom reglerna följer med servern. Det som inte flyttar är historiken: äldre analyser och ärendestatus hör till installationens databas, och någon fullständig serverexport finns inte i den fria utgåvan.

  4. Mognad och trygghet

    Produkten har funnits sedan 2006–2007, ägs av SonarSource i Genève och har en publicerad utgåvepolicy med LTA-utgåvor, säkerhetsbulletiner och en dokumentationsportal per utgåva. Repot på GitHub är aktivt med push samma dygn som bedömningen, omkring 11 100 stjärnor och ett brett ekosystem av scannrar, CI-integrationer och IDE-tillägg. Källkoden är tillgänglig för granskning, och licensbytet 2024 annonserades öppet i förväg. Det är en förvaltning i den högsta kategorin.

  5. Framtidskraft

    API:t täcker både läsning och konfiguration och användes i labbet för att sätta kvalitetsgrind, läsa ärenden och hämta mått; webhooks meddelar när en analys är klar, och scannern går att köra i vilken CI-kedja som helst. Sedan 2025 finns dessutom en officiell MCP-server i SonarSources egen GitHub-organisation, som låter en kodagent läsa ärenden och grindar för ett projekt. Arkitekturen är modulär med separata analysmotorer per språk. Det som saknas för högsta nivå är dokumenterad praktisk integrationsförmåga utöver API och MCP – plugin-ekosystemet i Community Build är begränsat jämfört med de kommersiella utgåvorna.

  6. Drift och införande

    Servern startade i labbet som container mot en egen PostgreSQL på omkring en minut, med data, extensions och loggar i beständiga volymer. Kraven är tydliga och dokumenterade: en databas, några gigabyte minne och en höjd vm.max_map_count – den sista är lätt att missa och ger en server som startar om i tystnad. Uppgraderingar är envägskörningar som kräver backup av databasen, och äldre utgåvor måste passera en LTA innan de kan hoppa vidare. Sammantaget hanterbar drift för ett team med normal Linux- och databaskompetens.

  7. Kostnadsbild

    Community Build är kostnadsfri, saknar radbegränsning och kräver ingen licensnyckel; kvar är driftkostnaden för en server och en databas. De betalda utgåvorna Developer, Enterprise och Data Center prissätts öppet per instans och år efter antal rader kod, så kostnaden är förutsägbar när den väl behövs. Att gren- och PR-analys ligger bakom betalutgåvan är den verkliga kostnadsdrivaren för ett team som arbetar grenbaserat, och kommersiell support ingår inte i den fria utgåvan – därför fyra och inte fem.

  8. Svensk användbarhet

    Gränssnittet är engelskt: installationen kördes med svensk webbläsarlocale och visade ändå engelska menyer, ärenden och regeltexter, och det finns ingen språkväxlare. Dokumentationen är engelskspråkig och någon svensk support eller svensk översättning kan inte beläggas hos leverantören. Produkten går att använda i Sverige – den hanterar svenska tecken och svenska kodbaser – men någon svensk anpassning finns inte, vilket är den lägsta nivån.

Om SonarQube

SonarQube läser igenom ett kodförråd och rapporterar buggar, sårbarheter, kodlukter, duplicering och testtäckning som en samlad översikt per projekt. Analysen görs av en scanner som körs lokalt eller i CI – på kommandoraden, via Maven eller Gradle, eller som container – och resultatet skickas till servern, som räknar ut ett betyg per kvalitetsdimension och jämför det mot en kvalitetsgrind. Grinden kan fällas på till exempel nya buggar eller sjunkande täckning, och då stoppas bygget.

Modellen bygger på att nya rader granskas hårdare än gammal kod: en post som redan finns får ligga kvar, men en ändring som inför en sårbarhet fälls direkt. Vid sidan av ärendelistan finns en regelkatalog med förklaringar och kodexempel, säkerhetshot som ska bedömas manuellt och ett REST-API som både läser resultat och skriver konfiguration.

Den fria Community Build-utgåvan är LGPL-licensierad, medan analysmotorerna lyder under Sonars egen source-available-licens. Gren- och pull request-analys kräver Developer-utgåvan eller högre, så Community Build granskar en gren per projekt.

Användning

Passar för

  • Team som vill ha en kvalitetsgrind i CI som fäller bygget när en ändring inför buggar eller sårbarheter
  • Projekt med flera språk i samma kodbas – servern granskar Java, JavaScript, TypeScript, Python, Go, PHP och ett tjugotal till med samma regelmodell
  • Den som vill följa kvalitet över tid per projekt: ärenden, täckning, duplicering och betyg i samma vy
  • Organisationer som vill ha kodgranskningen på egen server, med egna regler och egna kvalitetsprofiler

Passar mindre bra för

  • Team som arbetar med feature-grenar och pull requests – gren- och PR-analys kräver Developer-utgåvan eller högre
  • Den som snabbt vill scanna en enskild fil eller ett arkiv; SonarQube är en server med databas, inte ett kommandoradsverktyg
  • Den som behöver avancerad dataflödesanalys för egna ramverk – det ligger i de kommersiella utgåvorna
  • Den som behöver svenskt gränssnitt, svensk dokumentation eller svensk support

Styrkor och begränsningar

Styrkor

  • En gemensam regelmodell för över tjugo språk, så samma grind och samma betyg gäller i hela kodbasen
  • Kvalitetsgrinden kan fälla bygget på nya buggar eller sjunkande täckning i stället för att bara rapportera i efterhand
  • Regelkatalogen förklarar varje fynd med varför det är ett problem och hur det ska skrivas i stället
  • REST-API, webhooks och en officiell MCP-server gör resultaten åtkomliga för CI, dashboards och kodagenter
  • Community Build är gratis, saknar radbegränsning och drivs som en container mot en egen PostgreSQL

Begränsningar

  • Gren- och pull request-analys kräver Developer-utgåvan eller högre; Community Build granskar en gren per projekt
  • Analysmotorerna lyder under Sonars egen source-available-licens, så produkten är open-core och inte fullt ut öppen källkod
  • Servern kräver en extern databas, några gigabyte minne och en höjd vm.max_map_count – det är ingen tjänst man startar på en minut
  • Gränssnitt och dokumentation är på engelska; svensk översättning och svensk support saknas
  • Täckning och andra mått måste rapporteras in från bygget – SonarQube mäter inte själv vad testerna kör

Skärmbilder

Tekniska resurser

Alternativ

Jupyter

Utvecklingsverktyg · Interaktiv beräkningsmiljö i notebook-format

Project Jupyter är ett paraplyprojekt för interaktiv beräkning: notebook-gränssnitt som Jupyter Notebook och JupyterLab, fleranvändarplattformen JupyterHub och öppna standarder för körbara dokument.

Startår
2015
Licens
BSD 3-Clause License (Modified BSD)
Öppen källkod
Ja

Betyg

92 av 100

Preliminär (källbaserad)

Läs bedömningen om Jupyter

Projektdata

13 458GitHub-stjärnor
Visa alla fakta och bedömningarVisa alla fakta
Startår
2015
Licens
BSD 3-Clause License (Modified BSD)Öppen källkod (OSI-godkänd licens) · Repot jupyter/notebook anger BSD 3-Clause License (Modified BSD) och jupyterlab/jupyterlab likaså; PyPI klassar båda paketen som 'License :: OSI Approved :: BSD License'. Projektet är alltså OSI-godkänd öppen källkod (BSD-3-Clause). · Licensmodeller
Öppen källkod
Ja
Plattformar
Windows · macOS · Linux · Webbläsare · containers
API
REST API Verifierat
Export
Finns Notebooks sparas som .ipynb (JSON) och kan exporteras till HTML, PDF, LaTeX, Markdown med flera format med hjälp av nbconvert, ett officiellt Jupyter-projekt. Ej verifierat
Språk
Gränssnitt: Engelska · Dokumentation: Engelska · Support: Engelska
Öppenhet och kontroll Gäller: BSD-3-Clause (OSI), full kodfrihet och öppet notebook-format — inga låsningar.
Funktionell passform Gäller: Interaktiv beräkning och notebooks är exakt Jupyter kärna; täcker användningsfallet utan luckor.
Dataflytt och interoperabilitet Gäller: .ipynb är ett öppet JSON-format, nbconvert exporterar till många format och kernel-protokollet är öppet — fullt portabel.
Mognad och trygghet Gäller: Sedan 2014, industristandard inom data science, mycket stort ekosystem.
Framtidskraft Gäller: Kernel-protokoll, REST-API och nbconvert möjliggör automation.
Drift och införande Gäller: Lätt att installera lokalt; serverdelning (JupyterHub) är väldokumenterad och hanterbar.
Kostnadsbild Gäller: Fri BSD-licens utan avgifter; transparent totalkostnad.
Svensk användbarhet Gäller: Engelskt gränssnitt/dokumentation; ingen svensk lokalisering belagd — tekniskt användbart i Sverige.

Kostnad: .

Faktakontrollerad

Bruno är en API-klient som lagrar sina samlingar som vanliga textfiler i projektmappen, så att API-testerna blir en del av kodbasen. För skrivbord och kommandorad.

Startår
2022
Licens
MIT
Öppen källkod
Ja

Betyg

84 av 100

Preliminär (källbaserad)

Läs bedömningen om Bruno

Projektdata

48 102GitHub-stjärnor
Visa alla fakta och bedömningarVisa alla fakta
Startår
2022
Licens
MITÖppen källkod (OSI-godkänd licens) · Avser det öppna GitHub-projektet. Produktfamiljen innehåller även betalda erbjudanden. · Licensmodeller
Öppen källkod
Ja
Plattformar
Windows · macOS · Linux
API
Annan Verifierat
Export
Ej verifierat Ej verifierat
Språk
Gränssnitt: Engelska · Dokumentation: Engelska · Support: Engelska
Öppenhet och kontroll Gäller: MIT (OSI), full kodfrihet, offline-first utan molntvång.
Funktionell passform Gäller: API-klient och testning med öppna, filbaserade samlingar täcker användningsfallet fullt ut.
Dataflytt och interoperabilitet Gäller: Samlingar som öppna filer (Bru/JSON) ger god portabilitet; formatet är dock Bruno-specifikt.
Mognad och trygghet Gäller: Sedan 2022, aktivt, men yngre med mindre ekosystem.
Framtidskraft Gäller: CLI och samlingar-som-kod möjliggör automation; agentintegration sker via CLI:et.
Drift och införande Gäller: Desktop-app + CLI, enkel drift.
Kostnadsbild Gäller: Fri MIT-kärna; molntjänster/enterprise valfria.
Svensk användbarhet Gäller: Engelskt gränssnitt/dokumentation; ingen svensk lokalisering belagd.

Kostnad: .

Faktakontrollerad

Källor