MIT-licensen er en fri softwarelicens, der blev skabt på Massachusetts Institute of Technology (MIT). Det er en permissiv licens, hvilket betyder, at den tillader programmører at lægge koden ind i proprietær software på betingelse af, at licensen gives sammen med den pågældende software, og GPL-kompatibel, hvilket betyder, at GPL tillader programmører at kombinere og videredistribuere den med software, der anvender MIT-licensen.
Ifølge Free Software Foundation er det mere korrekt at kalde MIT-licensen for X11-licensen, da MIT har brugt mange licenser til software, og licensen blev først skrevet til X Window System.
Software, der anvender MIT-licensen, omfatter Expat, PuTTY, klassebiblioteker til Mono-udviklingsplatformen, Ruby on Rails, Cakephp, Twisted, Lua 5.0 og frem samt X Window System, som licensen blev skrevet til.
Nogle programmer har dobbeltlicens under MIT-licensen, f.eks. ældre versioner af cURL-biblioteket, hvor modtagerne kunne vælge enten Mozilla Public License eller MIT-licensen.
Hovedtræk
- Permissiv: MIT-licensen er ikke-copyleft — den stiller få begrænsninger på, hvad modtageren må gøre med koden.
- Rettigheder: Tillader at bruge, kopiere, ændre, sammenflette, offentliggøre, distribuere, sublicensere og sælge softwaren.
- Betingelse: Den eneste væsentlige betingelse er, at copyright-meddelelsen og licenstekst medtages i alle kopier eller væsentlige dele af softwaren.
- Ingen garanti: Licensen indeholder normalt en ansvars- og garantifriløftelse — softwaren leveres "som den er".
- Ingen eksplicit patent- eller varemærkebevilling: MIT-licensen indeholder ikke en detaljeret patentlicens som f.eks. Apache License 2.0, og den overfører ikke varemærkerettigheder.
Licensbetingelser i praksis
I praksis betyder MIT-licensen, at du frit kan bruge koden i både fri og proprietær software, så længe du beholder den oprindelige copyright- og licenstekst. Det gøres typisk ved at:
- indsætte en LICENSE-fil i projektets rod med den fulde MIT-licenstekst;
- tilføje en kort copyright- og licensheader i kildetekstfiler, hvor det er relevant;
- ved distribution af binære filer sørge for, at license-noticen følger med i dokumentation eller installationspakker.
Kompatibilitet og sammenblanding med andre licenser
MIT-licensen er GPL-kompatibel, hvilket betyder, at kode udgivet under MIT-licensen kan indgå i GPL-licenserede projekter. Omvendt kan kode fra et GPL-projekt ikke blot gøres proprietær, fordi GPL er copyleft og stiller krav om at aflede værker også udgives under GPL.
Sammenlignet med andre populære licenser:
- GPL: Copyleft — kræver at afledte værker også udgives under GPL.
- Apache License 2.0: Permissiv som MIT, men indeholder en eksplicit patentlicens og krav om håndtering af NOTICE-filer.
- BSD-licenser: Ligner MIT og findes i flere varianter (2-clause, 3-clause) med små formelle forskelle.
Sådan tilføjer du MIT-licensen til dit projekt
- Opret en fil med navnet LICENSE i projektets rod og indsæt den klassiske MIT-licenstekst.
- Angiv dit navn (eller organisation) og år i copyright-linjen i licensteksten.
- Overvej at tilføje en kort licensheader i hver kildefil, så modtagere nemt kan se licensen uden at åbne LICENSE-filen.
- Husk at MIT-licensen ikke beskytter varemærker eller giver en specifik patentlicens — hvis projektet kan være sårbart for patentkrav, kan en licens som Apache 2.0 være et bedre valg.
Typiske anvendelser og eksempler
MIT-licensen bruges bredt til både små biblioteker og store frameworks på grund af dens enkelhed og lave restriktioner. Eksempler (gentaget fra ovenfor) inkluderer:
- Expat
- PuTTY
- Klassebiblioteker til Mono-udviklingsplatformen
- Ruby on Rails
- Cakephp
- Twisted
- Lua 5.0 og frem
- X Window System
Der findes også projekter med dobbeltlicens, hvor brugeren kan vælge mellem MIT og en anden licens — et historisk eksempel er ældre versioner af cURL, hvor modtagerne kunne vælge enten Mozilla Public License eller MIT-licensen.
Opsummering
MIT-licensen (ofte kaldet X11-licensen af Free Software Foundation) er en enkel, permissiv og bredt anvendt fri softwarelicens. Den giver stor frihed til at bruge, ændre og genudgive kode, også i proprietære sammenhænge, under forudsætning af, at copyright- og licensmeddelelsen bevares. Samtidig mangler den nogle af de eksplicitte garantier og patentbestemmelser, som findes i andre licenser, så valget af licens bør afstemmes efter projektets behov.