Hva er en programvarepakke?
En programvarepakke er en gruppe programmer som er samlet sammen for å tjene et felles formål. Ofte vil en programvarepakke også inneholde kildekoden som bygde de kjørbare programmene, i tillegg til en rekke dokumenter for selve programmene. Noen programvarepakker vil også inneholde eksempler som kan illustrere hvordan de andre komponentene i pakken fungerer.
Komponentene i en programvarepakke kan gjøre vesentlig forskjellige ting, men alle komponentene i pakken kommer sammen i en samlet helhet. Noen programvarepakker har ett hovedprogram som innkapsler alle de mindre programmene, mens andre tar en mer fragmentert tilnærming og har flere små, spesialiserte kjørbare filer for forskjellige formål. Det er fordeler og ulemper med hver tilnærming, så vel som spesifikke målgrupper som drar nytte av hver.
Pakker som innkapsler all funksjonaliteten i ett stort program, er nyttige for de fleste databrukere. De er vanligvis enkle å installere, relativt enkle å forstå og ganske enkle å kjøre. Noen ganger kan en bruker laste ned tilleggsprogrammer for dem, men alt gjøres bak kulissene med minimal interaksjon og innsats fra den brukeren. Alt-i-ett-programvarepakker som disse er tilgjengelige for mange formål, fra dokumenthåndtering til 3D-modellering og bildegjengivelse.
En programvarepakke som holder funksjonaliteten mer fragmentert, er ofte rettet mot mer datamaskinkyndige brukere. Disse pakkene vil ofte ha kommandolinjeværktøy, sammen med omfattende dokumentasjon og svært fleksible evner. Endringer i disse pakkene må vanligvis gjøres ved enten å manipulere rå katalogstrukturer eller laste ned en ny versjon av pakken fullstendig. Tillegg er ikke like vanlig for disse pakketypene. Grupperte programvarepakker som disse er ofte rettet mot akademikere og ingeniører, for formål som analyse av biologiske data og oppretting av nye programmer.
Noen programvarepakker inneholder helt unik kode, mens andre inneholder eksisterende programmer for å kombinere funksjonaliteten til eksisterende algoritmer. Debatten mellom disse to metodikkene pågår. Noen programmerere foretrekker å skrive sin egen kode for alt, og andre foretrekker å koble sammen flere eksisterende programmer. Det finnes mange pakker ved bruk av hver type rammeverk, og begge metodene kan brukes til å lage en vellykket programvarepakke.
Med utvidelsen av open source-programvarebevegelsen har flere og flere programmer, algoritmer og programvarepakker blitt gratis å bruke i ny programvare uten lisensproblemer. I vitenskapelige felt publiseres for eksempel mange nye algoritmer og programmer med forventning om at de vil bli brukt fritt ikke bare for analyse, men også for å bygge nye programmer. En ny programvarepakke kan enkelt bygges på eller modelleres etter en gammel, og denne kunnskapsdelingen har blitt instrumental i programvareutviklingen.