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.