Hva er Open Source-programvare, og hvorfor betyr det?

Innholdsfortegnelse:

Hva er Open Source-programvare, og hvorfor betyr det?
Hva er Open Source-programvare, og hvorfor betyr det?

Video: Hva er Open Source-programvare, og hvorfor betyr det?

Video: Hva er Open Source-programvare, og hvorfor betyr det?
Video: Prolific USB Windows 8.1 and Windows 10 driver issue resolved - Robojax - YouTube 2024, April
Anonim
Geeks beskriver ofte programmer som "åpen kildekode" eller "fri programvare." Hvis du lurer på nøyaktig hva disse begrepene betyr og hvorfor de betyr noe, les videre. (Nei, "fri programvare" betyr ikke bare at du kan laste den ned gratis.)
Geeks beskriver ofte programmer som "åpen kildekode" eller "fri programvare." Hvis du lurer på nøyaktig hva disse begrepene betyr og hvorfor de betyr noe, les videre. (Nei, "fri programvare" betyr ikke bare at du kan laste den ned gratis.)

Enten et program er åpen kildekode eller ikke, spiller ikke bare for utviklere, det er i siste instans viktig for brukerne også. Open-source programvarelisenser gir brukerne friheter de ikke ellers ville ha.

Definisjonen av åpen kildekode

Hvis et program er åpen kildekode, er kildekoden fritt tilgjengelig for brukerne. Brukerne - og noen andre - har muligheten til å ta denne kildekoden, endre den og distribuere sine egne versjoner av programmet. Brukerne har også muligheten til å distribuere så mange kopier av det opprinnelige programmet som de vil. Alle kan bruke programmet til noe formål; Det er ingen lisensavgifter eller andre restriksjoner på programvaren. OSI har en mer detaljert definisjon av "åpen kildekode" på sin nettside.

Ubuntu Linux er for eksempel et operativsystem med åpen kildekode. Du kan laste ned Ubuntu, lage så mange kopier som du vil, og gi dem til vennene dine. Du kan installere Ubuntu på et ubegrenset antall datamaskiner. Du kan lage remixer av Ubuntu installasjonsplaten og distribuere dem. Hvis du var spesielt motivert, kan du laste ned kildekoden for et program i Ubuntu og endre det, og skape din egen tilpassede versjon av det programmet - eller av Ubuntu selv. Open-source-lisenser lar deg alle gjøre dette, mens lukkede lisenser plasserer begrensninger på deg.

Det motsatte av åpen kildekode-programvare er programvare med lukket kilde, som har en lisens som begrenser brukere og holder kildekoden fra dem.
Det motsatte av åpen kildekode-programvare er programvare med lukket kilde, som har en lisens som begrenser brukere og holder kildekoden fra dem.

Firefox, Chrome, OpenOffice, Linux og Android er noen populære eksempler på open source-programvare, mens Microsoft Windows er trolig den mest populære delen av closed-source-programvare der ute.

Open Source vs Free Software

Open source-applikasjoner er generelt fritt tilgjengelige - selv om det ikke er noe som hindrer utvikleren fra å lade for kopier av programvaren dersom de tillater omfordeling av applikasjonen og kildekoden etterpå.

Det er imidlertid ikke det som "fri programvare" refererer til. Den «gratis» i fri programvare betyr "fri som i frihet", ikke "fri som i øl." Den gratis programvareleiren, ledet av Richard Stallman og Free Software Foundation, fokuserer på etikk og moral for å bruke programvare som kan være kontrollert og modifisert av brukeren. Med andre ord fokuserer den frie programvaren på brukerfriheter.

Image
Image

Richard Stallman. Bilde av Fripog på Flickr.

Open-source programvarebevegelsen ble opprettet for å fokusere på mer pragmatiske grunner for å velge denne typen programvare. Open-source-advokater ønsket å fokusere på de praktiske fordelene ved å bruke åpen programvare som ville appellere mer til bedrifter, i stedet for etikk og moral.

I siste instans utvikler både åpen kildekode og fri programvare fortalere samme type programvare, men de er uenige om meldingene.

Typer av lisenser

Det er mange forskjellige lisenser brukt av open source-prosjekter, avhengig av hvilke utviklere foretrekker for deres program.

GPL, eller GNU General Public License, brukes mye av mange open source-prosjekter, for eksempel Linux. I tillegg til alle ovennevnte definisjoner av åpen kildekode, angir vilkårene i GPL at hvis noen endrer et åpen kildekodeprogram og distribuerer et derivatarbeid, må de også distribuere kildekoden for deres derivatarbeid. Med andre ord kan ingen ta åpen kildekode og lage et lukket kildeprogram fra det - de må frigjøre endringene tilbake til samfunnet. Microsoft refererte til GPL som "viral" av denne grunn, da det tvinger programmer som inneholder GPL-kode for å frigjøre sin egen kildekode. Selvfølgelig kan et program utviklere velge å ikke bruke GPL-kode hvis dette er et problem.

Noen andre lisenser, for eksempel BSD-lisensen, plasserer mindre restriksjoner på utviklere. Hvis et program er lisensiert under BSD-lisensen, kan alle innlemme programmets kildekode til et annet program. De trenger ikke å gi sine endringer tilbake til samfunnet. Noen ser at dette blir enda mer «gratis» enn GPL-lisensen, da det gir utviklere friheten til å innlemme koden i egne lukkede programmer, mens noen ser det som mindre "gratis" fordi det tar rettigheter vekk fra sluttbrukerne av det avledede programmet.
Noen andre lisenser, for eksempel BSD-lisensen, plasserer mindre restriksjoner på utviklere. Hvis et program er lisensiert under BSD-lisensen, kan alle innlemme programmets kildekode til et annet program. De trenger ikke å gi sine endringer tilbake til samfunnet. Noen ser at dette blir enda mer «gratis» enn GPL-lisensen, da det gir utviklere friheten til å innlemme koden i egne lukkede programmer, mens noen ser det som mindre "gratis" fordi det tar rettigheter vekk fra sluttbrukerne av det avledede programmet.

Fordeler for brukere

Dette er ikke alle tørre, ubetydelige ting som bare er viktige for utviklere. Den mest åpenbare fordelen med open source-programvare er at den kan bli gratis. Eksemplet på Ubuntu Linux ovenfor gjør det klart - i motsetning til Windows, kan du installere eller distribuere så mange kopier av Ubuntu som du vil, uten begrensninger. Dette kan være spesielt nyttige servere - hvis du setter opp en server, kan du bare installere Linux på den. Hvis du setter opp en virtualisert klynge av servere, kan du enkelt duplisere en enkelt Ubuntu-server. Du trenger ikke å bekymre deg for lisensiering og hvor mange forekomster av Linux du har lov til å kjøre.

Et åpen kildekodeprogram er også mer fleksibelt.For eksempel, Windows 8s nye grensesnitt skuffet mange brukere av langtidstabell Windows. Fordi Windows er lukket kilde, kan ingen Windows-bruker ta Windows 7-grensesnittet, endre det, og få det til å fungere skikkelig på Windows 8. (Noen Windows-brukere prøver, men dette er en omhyggelig prosess med omvendt engineering og modifisering av binære filer. )

Når et Linux-skrivebord som Ubuntu introduserer et nytt skrivebordsgrensesnitt som enkelte brukere ikke er fans av, har brukerne flere alternativer. For eksempel, da GNOME 3 ble utgitt, ble mange Linux-skrivebordsbrukere også slått av. Noen tok koden til den gamle versjonen, GNOME 2, og endret den slik at den kjører på de nyeste Linux-distribusjonene - dette er MATE. Noen tok koden til GNOME 3 og endret den slik at den fungerte på en måte de foretrukket - dette er kanel. Noen brukere har bare byttet til eksisterende alternative skrivebord. Hvis Windows var åpen kildekode, ville Windows 8-brukere ha mer valg og fleksibilitet. Bare ta en titt på CyanogenMod, en populær, fellesskapsdrevet distribusjon av Android som legger til funksjoner og støtte for nye enheter.
Når et Linux-skrivebord som Ubuntu introduserer et nytt skrivebordsgrensesnitt som enkelte brukere ikke er fans av, har brukerne flere alternativer. For eksempel, da GNOME 3 ble utgitt, ble mange Linux-skrivebordsbrukere også slått av. Noen tok koden til den gamle versjonen, GNOME 2, og endret den slik at den kjører på de nyeste Linux-distribusjonene - dette er MATE. Noen tok koden til GNOME 3 og endret den slik at den fungerte på en måte de foretrukket - dette er kanel. Noen brukere har bare byttet til eksisterende alternative skrivebord. Hvis Windows var åpen kildekode, ville Windows 8-brukere ha mer valg og fleksibilitet. Bare ta en titt på CyanogenMod, en populær, fellesskapsdrevet distribusjon av Android som legger til funksjoner og støtte for nye enheter.

Open-source-programvare tillater også utviklere å "stå på skuldrene til gigantene" og lage sin egen programvare. Vitne Android og Chrome OS, som er operativsystemer bygget på Linux og annen åpen kildekode programvare. Kjernen til Apples OS X - og dermed iOS - ble bygget på åpen kildekode også. Valve arbeider rasende med å portere sin Steam gaming plattform til Linux, da dette vil tillate dem å lage sin egen maskinvare og kontrollere sin egen skjebne på en måte som ikke er mulig på Microsofts Windows.

Dette er ikke en uttømmende beskrivelse - hele bøker er skrevet om dette emnet - men du bør nå få en bedre ide om hva åpen kildekode programvare egentlig er, og hvorfor det er nyttig for deg.

Anbefalt: