Fluent Assertions koster plutselig penger: «Ikke greit!»

Populært .NET-bibliotek går fra åpen kildekode til 130 dollar per bruker. Utvikleren Razvan Mandache er én av mange som reagerer.

Senior .NET-utvikler Razvan Mandache er svært kritisk til at Fluent Assertions over natten endrer lisens, slik at en oppgradering koster nesten 1.500 kroner i året per bruker. 📸: Privat
Senior .NET-utvikler Razvan Mandache er svært kritisk til at Fluent Assertions over natten endrer lisens, slik at en oppgradering koster nesten 1.500 kroner i året per bruker. 📸: Privat Vis mer

Fluent Assertions er et populært .NET-bibliotek som gjør at du kan skrive litt mer lettleste enhetstester.

Inntil nylig har biblioteket hatt en Apache 2.0-lisens. Overraskelsen til mange utviklere var nok derfor stor da, de skulle oppgradere fra versjon 7 til 8 og oppdaget at lisensmodellen var endret:

Nå koster det 130 dollar, rundt 1.500 kroner, i året per utvikler, om du vil fortsette å bruke biblioteket.

– At Fluent Assertions fra den ene dagen til den andre går fra å være gratis, til å plutselig koste penger, uansett hvor mye, ved å oppgradere fra v7 til v8, er ikke greit, sier Razvan Mandache til kode24.

Han er senior .NET-utvikler med 10 års erfaring.

Oppdaget i pull request

Endringen i lisensvilkårene og overgangen til en betalingsmodell skjedde etter at selskapet Xceed tidligere denne uken gikk ut og annonserte at de hadde inngått et strategisk samarbeid med Fluent Assertions.

Dagen etter gjorde skaperen av biblioteket, Dennis Doomen, en pull request der lisensen ble endret fra Apache 2.0-lisens til en Xceed-lisens der det kreves at du kjøper en lisens om du vil fortsette å bruke Fluent Assertions kommersielt.

Reaksjonene lot ikke vente på seg, og i en Reddit-tråd raser utviklere mot Fluent Assertions. Mange mener de ikke kan endre lisensbetingelsene slik uten å få tillatelse fra de mange utviklerne som har bidratt til prosjektet.

«Jeg har mistet tilliten til hovedutvikleren bak Fluent Assertions.»

Mener de bryter lisensvilkårene

Mandache er også kritisk, og påpeker at GitHub-repoet viser at det har vært 222 bidragsytere.

– Basert på måten biblioteket har blitt versjonert så langt – SemVer eller SemVer-aktig – forventer utviklere breaking changes eller feature deprecation ved en slik oppgradering. Ikke at de plutselig bryter lisensvilkårene.

– Å forvente at utviklere følger med på alle pull request-ene i alle bibliotekene de bruker, er urettferdig, sier han.

Han mener de heller burde sluttet å ta imot ny funksjonalitet i det nåværende Fluent Assertions-repoet og så lansert et nytt bibliotek i et nytt repo. Så kunne de kalt det for eksempel "Fluent Assertions Pro".

– Selv om Fluent Assertions v8 fortsatt er gratis for ikke-kommersielle prosjekter, skal jeg slutte å bruke biblioteket i mine personlige, åpne kilde-prosjekter fordi jeg har mistet tilliten til hovedutvikleren bak Fluent Assertions.

Menere flere burde fått betalt

– Men bør ikke utviklere som jobber med åpen kildekode få betalt for jobben de gjør?

De bør jo det, men det kommer an på hvordan forventningene settes på forhånd. Hvis utvikleren av Fluent Assertion hadde sagt, da de startet prosjektet, at de gjerne ville akseptere bidrag fra fellesskapet, men at planen var å begynne å selge lisenser for biblioteket om noen år, ville prosjektet fått samme nivå av støtte og bruk? spør Mandache retorisk.

Han mener også at det er mange som burde fått betalt.

– Den eneste endringen i Fluent Assertions v8 så langt er lisensfilen. Hele koden som v8 kjører på, er i stor grad bidratt til av fellesskapet. Vil hver eneste contributor motta en andel av inntektene fra Fluent Assertions v8? Det ville vært mest rettferdig, men det er lite sannsynlig.

Fluent Assertions-skaper Dennis Doomen skriver selv at overgangen til ny lisensmodell har vært nøye planlagt, og at versjon 7 vil fortsette å være gratis alltid og fortsatt motta kritiske oppdateringer.

Du må bare ikke oppgradere om du fortsatt vil ha det gratis.

Ikke verdt prisen

Mandache mener biblioteket uansett ikke er verdt prisen.

– Det er selvfølgelig opp til hver enkelt hva de synes et slikt bibliotek eller verktøy er verdt, men når man sammenligner det med for eksempel Rider, en fullverdig .NET IDE med masse features, som koster 150 dollar per utvikler i året, blir 130 dollar for et verktøy med en mye mindre viktig rolle i prosjektet vanskelig å godta som kostnad.

– Hva anbefaler du de som bruker Fluent Assertions å gjøre?

– I første omgang bør man pinne Fluent Assertions til versjon v7. Gitt at Fluent Assertions er så populært, vil det sannsynligvis dukke oppe forks av prosjektet basert på v7, derfor kan du bare bytte til en av disse hvis du har lyst til å fortsette med biblioteket i en stund eller ikke har muligheten til å endre kodebasen med en gang.

«I første omgang bør man pinne Fluent Assertions til versjon v7.»

Han advarer likevel:

– De aller fleste forks som blir opprettet i de kommende dagene vil sannsynligvis bli forlatt etter kort tid, så jeg anbefaler å vente ei uke eller to før du bytter til en fork.

Det finnes også alternativer – blant annet er Shouldly et populært verktøy flere utviklere peker på. Mandache har ikke brukt det selv, men tror at om biblioteket mangler funksjonalitet Fluent Assertions har, så vil Shoudly få en betydelig økning i pull requester fremover.

– I tilfelle du vil bli kvitt Fluent Assertions helt og omskrive assertion-koden til å bruke det innebygde i test-rammeverket – for eksemepl MSTest eller XUnit – kan den største delen av arbeidet bli gjennomført ved hjelp av et Copilot-aktig verktøy.