Vad är definitionen av källkod?

Källkod är skriven ur en programmerares synvinkel och är det språk som används för att skriva datorprogram. Det är texten, tillsammans med syntaxen och semantiken för påståenden och uttryck, som definierar ett datorprogrammeringsspråk. Källkoden till ett datorprogram skrivs på ett specifikt programmeringsspråk, som sedan kompileras (omvandlas) till språket för det binära programmet som kallas maskinkod.

Maskinkod är en abstraktion av hur en dators centrala processorenhet (CPU) och andra logiska element fungerar, och är en uppsättning numeriska koder som styr hårdvaran. Källkoden är instruktionerna på hög nivå på programmerarens språk, medan maskinkoden är instruktionerna på låg nivå som förstås av maskinvaran.

Vad betyder öppen källkod?

Öppen källkod är en term som används inom programvarubranschen för att beteckna en licenspraxis där källkoden är licensierad så att vem som helst kan se, använda, ändra och distribuera den, antingen gratis eller mot betalning, antingen som ett stort projekt eller som många separata projekt.

Eftersom programvarukällkod betraktas som immateriell egendom är det olagligt att ge bort programvarukällkod som gåva eller att sälja den utan tillstånd från upphovsrättsinnehavaren. Programvarulicenser tillåter dock ofta att vem som helst ger någon annan kopior, ändrar dem och distribuerar dem vidare utan att fråga upphovsrättsinnehavaren om lov.

Licenser för öppen källkod är således ett paraplybegrepp, och det finns många olika nivåer av licenser för öppen källkod.

Fördelar med öppen källkod

Fördelarna med öppen källkod är bland annat att den uppmuntrar till bättre programvarukvalitet, uppmuntrar till innovation, möjliggör samarbete och sänker kostnaderna.

Eftersom programvara med öppen källkod är transparent finns det ett större ansvar för dess kvalitet än i proprietär programvara, eftersom varje ändring granskas offentligt.

Med öppen källkod är källkoden öppet tillgänglig och kan inspekteras av alla intresserade parter.

Nackdelar med öppen källkod

Nackdelarna med öppen källkod är bland annat att den inte gynnar alla programvaruutvecklare och att det finns en risk för angrepp på nätverket av utomstående som inte är pålitliga.

Även om dessa risker är minimala i välkontrollerade miljöer kan de bli betydande när öppen källkod ändras av obehöriga. I sådana fall är det vanligt att utvecklarna stänger den felande koden och börjar om från början, så att riskerna mildras något.

Exempel på mjukvara med öppen källkod

  • LibreOffice
  • GNU/Linux
  • VLC Media Player
  • Mozilla Firefox
  • GIMP
  • VNC
  • Apache web server
  • jQuery

Exempel på hur källkod kan se ut i java:

Program för att lägga till två heltal

class Main {

  public static void main(String[] args) {
    
    System.out.println("Enter two numbers");
    int first = 10;
    int second = 20;
    
    System.out.println(first + " " + second);

    // add two numbers
    int sum = first + second;
    System.out.println("The sum is: " + sum);
  }
}