Ohjelmointi

Mikä on avoimen lähdekoodin ohjelmisto? Avoimen lähdekoodin ja FOSS: n selitykset

Jokaisen käyttämäsi ohjelmiston perustana on lähdekoodi, joka antaa komennot ja käsittelee tietoja, jotka antavat ohjelmiston tehdä mitä se tekee. Kysymys siitä, kenellä pitäisi olla oikeus tarkastella, muuttaa tai jakaa tätä lähdekoodia, on jo pitkään ollut yksi perustavanlaatuisista ideologisista jakoista tietokonemaailmassa.

Kuten nimestä voi päätellä, avoimen lähdekoodin ohjelmistojen kannattajat tulevat alas avoimuuden puolelle; heidän mielestään ihmisillä pitäisi olla oikeus käyttää käyttämänsä ohjelmiston lähdekoodia. Kuten näemme, käytännössä kuitenkin on paljon erilaisia, jotka kuuluvat kyseisen merkin alle. Erilaisia ​​avoimen lähdekoodin ohjelmistoja on melkein jokaisessa kapealla, mitä voit ajatella - itse asiassa avoimet lähdekoodit hallitsevat monia niistä.

Mikä on avoimen lähdekoodin ohjelmisto, mikä on ilmainen ohjelmisto - ja ovatko ne erilaisia?

Tiivis määritelmä avoimen lähdekoodin ohjelmistolle on se, että se on ohjelmisto, jonka taustakoodia voidaan tutkia, muuttaa ja jakaa edelleen. (On olemassa pidempi ja virallisempi määritelmä, johon pääsemme hetken päästä.) "Muutetut ja uudelleenjaotetut" osat ovat todella avain avoimen lähdekoodin filosofiaan. Huolimatta siitä, mitä nimi saattaa tarkoittaa, yksinkertaisesti avaamalla lähdekoodisi, jotta ihmiset voivat tarkastella sitä, se ei tee siitä avointa lähdekoodia.

Joillakin tavoin termi "avoimen lähdekoodin ohjelmisto" on uudelleensana: Tietojenkäsittelytieteen alkuvuosikymmeninä ohjelmistojen lähdekoodi oli itsestään selvää ja sitä voitiin vaihtaa vapaasti tutkijoiden ja alan tutkijoiden välillä. Tietokoneita oli vähän ja kaukana, ja käyttäjien odotettiin muuttavan niitä laajasti, joten ihmiset tarvitsivat pääsyn koodiin. Monin tavoin ohjelmistoa pidettiin tietokonelaitteiston lisäosana; vasta vuonna 1974 oli jopa laillisesti todettu, että ohjelmisto oli tekijänoikeuksien alaista. Mutta kun mikrotietokoneiden aikakausi alkoi 1970-luvun lopulla, teollisuus alkoi siirtyä asentoon, jonka mukaan ohjelmistoilla oli itsessään rahallista arvoa ja että pääsyä alla olevaan koodiin voitaisiin ja pitäisi rajoittaa ohjelmistojen kehittäjien suojelemiseksi 'oikeudet. Bill Gatesin kuuluisa kirje harrastajille, joka valitti Microsoftin ensimmäisen tuotteen, Altair BASIC -tulkin, laajasta piratismista, on vuonna 1976.

Vaikka nopeasti kasvava ohjelmistoteollisuus otti nämä uudet ideat nopeasti käyttöön, jotkut ihmiset työntyivät niitä vastaan. Yksi varhaisimmista vastustajista oli Richard Stallman, joka perusti Free Software Foundationin (FSF) vuonna 1985. Vapaiden ohjelmistojen "ilmainen" on tarkoitettu merkitsemään käyttäjien vapautta muuttaa ja jakaa koodia haluamallaan tavalla. Tässä mielessä ei ole sääntöä, jonka mukaan veloitetaan rahaa ilmaisista ohjelmistoista. Ero tehdään usein "ilmaisina kuin ilmaisissa oluissa" ja "ilmaisissa kuin sananvapaissa", jolloin vapaa ohjelmisto on jälkimmäisessä leirissä.

Vapaiden ohjelmistojen idea sai silti monia yksityisen teollisuuden ihmisiä, jotka eivät loppujen lopuksi olleet faneja asioiden luovuttamisesta, hermostuneita. Vuonna 1998 Christine Peterson loi lauseen "avoimen lähdekoodin" osittain yrittäessään tehdä ideasta helpommin tulokkaiden, etenkin voittoa tavoittelevissa yrityksissä työskentelevien, saataville. Vaikka Stallman on vastustanut avoimen lähdekoodin termiä sanomalla, että se kääntyy pois vapaiden ohjelmistojen alkuperäisistä poliittisista ja filosofisista ajatuksista, se on tullut hallitseva lause, joka kuvaa tätä käsitettä. Vennin kaavio vapaiden ja avoimen lähdekoodin ohjelmistoista on tarpeeksi päällekkäinen, joten joskus nämä kaksi yhdistetään lyhenteellä FOSS (ilmainen ja avoimen lähdekoodin ohjelmisto). Yleensä kaikki ilmaiset ohjelmistot ovat avointa lähdekoodia, vaikka pienellä osalla avoimen lähdekoodin ohjelmistoja on käyttöoikeusehdot, mikä tarkoittaa, että se ei ole ilmainen (tarkemmin avoimen lähdekoodin lisensoinnista hetkessä).

Ilmaisen ja avoimen lähdekoodin ohjelmistojen käsite sai aikaan uuden retronymimäärityksen: "oma ohjelmisto,” kaikki ohjelmistot, jotka eivät ole avointa lähdekoodia.

Avoimen lähdekoodin ohjelmistolisenssit

Kaikki avoimen lähdekoodin ohjelmistoihin liittyvät oikeudet ja vastuut määritetään lisensseillä, joilla ohjelmistoa jaetaan. Kun oikeudellinen oppi, jonka mukaan ohjelmistoilla oli tekijänoikeus, vakiintui, ohjelmistolisenssejä alettiin kirjoittaa sopimukseksi tekijänoikeuksien omistajan ja käyttäjän välillä, jolloin käyttäjälle annettiin lupa suorittaa ohjelmisto henkilökohtaisella tietokoneella.

Ohjelmistolisenssit olivat alun perin rajoitettu käyttäjien käyttäytymistä ja suojaamaan ohjelmistovalmistajan oikeuksia. Mutta vapaiden ohjelmistojen puolustajat tajusivat voivansa kääntää lisenssien alkuperäisen tarkoituksen: Ohjelmistopaketin lisenssi voi sen sijaan vaatia, että taustalla oleva koodi on kaikkien ohjelmistoa käyttävien saatavilla, ja että käyttäjillä on oikeus muokata ja levittää kyseistä koodia. Ensimmäinen avoimen lähdekoodin ohjelmistolisenssi (vaikka se edeltää termiä) on todennäköisesti GNU Emacsin kopiointilupailmoitus, joka julkaistiin vuonna 1985 Emacs-tekstieditorin versiolle, jonka kirjoitti FSF: n Stallman.

Siitä lähtien ilmaisten ja avoimen lähdekoodin lisenssien määrä on lisääntynyt, ja kukin asettaa hieman erilaiset ehdot lisensoidun koodin käytölle; Wikipedia ylläpitää melko hyvää kaaviota, jossa on yksityiskohdat tärkeimmistä lisensseistä. Määritelmän mukaan mikä tahansa näistä avoimen lähdekoodin lisensseistä myöntää käyttäjille kolme perusvapautta, jotka ovat mahdollisuus lukea, muokata ja levittää lähdekoodia; tärkein alue, jolla ne eroavat, on termeillä, joita ne asettavat uudelleenjakelulle:

  • Sallivat lisenssit voit levittää kaikkia lähdekoodeja haluamallasi tavalla. Voit esimerkiksi ottaa luvallisen lisenssin nojalla julkaistun lähdekoodin, sisällyttää sen omaan ohjelmistoon ja sitten vapauttaa kyseisen ohjelmiston omalla lisenssillä. BSD-lisenssi on yksi tunnetuimmista sallivista lisensseistä.
  • Copyleft-lisenssit vaatia, että kaikki uudelleen levitetyt koodit, jotka sisältävät lisensoidun koodin, julkaistaan ​​myös vastaavan lisenssin nojalla. FSF: n GNU Public License (GPL) -sovelluksen eri versiot ovat copyleft-lisenssejä, ja niiden tavoitteena on vaatia kehittäjiä maksamaan se eteenpäin jakamalla edut, jotka he saivat avoimen lähdekoodin sisällyttämisestä projektiin.

On mielenkiintoista huomata, että näiden lisenssien takana olevat ajatukset ovat levinneet ohjelmistomaailman ulkopuolelle. Creative Commons on laillinen infrastruktuuri vastaavien ehtojen soveltamiseen kirjoitettuihin tai visuaalisiin taiteellisiin teoksiin.

Open Source Definition ja Open Source Initiative

Avointa lähdekoodia ei luonteeltaan ohjaa mikään yksittäinen taho tai organisaatio. Vuonna 1998 joukko merkittäviä kehittäjiä, mukaan lukien Bruce Perens ja Eric S. Raymond, perustivat avoimen lähdekoodin aloitteen (OSI), voittoa tavoittelemattoman järjestön, joka on omistettu avoimen lähdekoodin edistämiselle suuremmassa ohjelmistoteollisuudessa. OSI yritti ja ei onnistunut tavaramerkitsemään avoimen lähdekoodin termiä vuonna 1999; niiden muodollinen avoimen lähdekoodin määritelmä on kuitenkin yksimielisesti kehys, jota kaikki itsensä avoimeksi lähdekoodiksi kutsuvat lisenssit noudattavat. Sen lisäksi, että olemme jo keskustelleet vapaudesta tutkia, muokata ja jakaa koodia uudelleen, avoimen lähdekoodin määritelmä kieltää lisenssejä, jotka syrjivät tiettyjä ryhmiä tai ihmisiä, jotka estävät koodin käytön tiettyyn tarkoitukseen tai toiminta-alueeseen, tai ajamasta tietyllä laitteella tai laitetyypillä.

Avoimen lähdekoodin kehittäminen ja avoimen lähdekoodin projektit

Avointa lähdekoodia käyttävä kehitys tapahtuu kaikenlaisissa ympäristöissä yliopistoista suuryrityksiin, ja se noudattaa usein samoja malleja kuin mikä tahansa muu ohjelmistokehitys. Mutta avoimeen lähdekoodiin liittyy erityinen avoin, yhteisön kehittämisprosessi. Vaikuttavassa esseessään "Katedraali ja basaari" Eric S. Raymond hahmotteli näkemyksensä tästä prosessista, jossa kuka tahansa pääsee käsiksi koodiin, ja päivitykset lisätään koodipohjaan laajasti levitetystä kehittäjäryhmästä, joka uppoutuu sisään ja ulos. heidän kiinnostuksensa sanelee.

Tämän tyyppinen avoimen lähdekoodin kehitys on organisoitu avoimen lähdekoodin projektien ympärille. Nämä toimivat joskus yhdellä ohjelmistolla ja joskus koko siihen liittyvällä sovellussarjalla. Versionhallintaohjelmisto pitää kaikkien panokset linjassa. GitHub on luultavasti suosituin.

Joskus yhden henkilön aloittamat avoimen lähdekoodin projektit ovat yleensä itse organisoituja pieniä Internet-yhteisöjä, ja vaikka kuka tahansa voi osallistua mihin tahansa projektiin, useimpien parissa työskentelee yleensä suhteellisen pieni joukko kehittäjiä. Joskus hanketta voi sponsoroida voittoa tavoitteleva yritys, joka aikoo käyttää tuottamiaan ohjelmistoja, jopa niin pitkälle, että laittaa projektin merkittävimmät kehittäjät palkkasummalle.

Avoimen lähdekoodin esimerkkejä

Avoimen lähdekoodin ohjelmistot ovat itse asiassa läsnä ja luovat suuren osan modernin Internetin perustasta. Ehkä tunnetuin avoimen lähdekoodin projekti on Linux, avoimen lähdekoodin Unix-muunnos, joka käyttää miljoonia palvelimia. Muita merkittäviä ja erittäin tärkeitä projekteja ovat Apache-verkkopalvelin, MySQL-tietokanta ja WordPress. Lukuisia kehityskehyksiä julkaistaan ​​avoimena lähdekoodina Ruby on Rails -sovelluksesta Microsoftin .Net Core -verkkoon.

Avoimen lähdekoodin tuottaminen tavallisille käyttäjille tarkoitettujen kotitietokoneohjelmistojen tuottamisessa on ollut vähemmän menestystä. Huolimatta omien ohjelmistopakettien, kuten Microsoft Word ja Adobe Photoshop, korkeista kustannuksista, avoimen lähdekoodin kollegat, kuten OpenOffice ja GIMP, eivät koskaan onnistuneet löytämään markkinarakoa diehard-harrastajien ulkopuolella, suurelta osin siksi, että avoimen lähdekoodin yhteisö on perinteisesti priorisoinut ominaisuuksia ja joustavuutta käyttää. (Omien toimittajien tiedostomuotojen lukitus ei ole auttanut.) Jopa Linux, jonka kannattajat ovat väittäneet 1990-luvun lopulta lähtien, että avoimen lähdekoodin käyttöjärjestelmä on vain vuoden päässä työpöydän hallitsemisesta, ei ole koskaan onnistunut siirtymään kulutustila. Yleensä avointa lähdekoodia käytetään infrastruktuuriin paljon enemmän kuin loppukäyttäjän ohjelmistoihin. Mutta siirtyminen paikallisesti käyttämistäsi monoliittisista ohjelmistoista SaaS-sovelluksiin on ollut hyötyä avoimelle lähdekoodille, koska pilvipohjaiset infrastruktuurit perustuvat suurelta osin avoimen lähdekoodin hallitsemiin pinoihin.

Muistatko, mitä sanoimme voittoa tavoittelevista yrityksistä, jotka tukevat avointa lähdekoodia? Usein nuo projektit tuotetaan sallivalla lisenssillä, joten nämä yritykset voivat asettaa avoimen lähdekoodin omien tarjoustensa ytimeen pitäen erillisen avoimen lähdekoodin perustan samanaikaisesti yhteisöprojektina. Esimerkiksi Android-mobiili-käyttöjärjestelmässä on Linux ytimessä; kaikki Applen mobiili- ja työpöytäympäristöt perustuvat Darwiniin, avoimen lähdekoodin käyttöjärjestelmään, joka on alun perin johdettu BSD Unixista. Jopa Googlen Chrome perustuu avoimen lähdekoodin selaimeen nimeltä Chromium.

Avoimen lähdekoodin yhteisö ja avoimen lähdekoodin liike

Avoin lähdekoodi on muutakin kuin vain kehitysprosessi; Se on filosofia, josta ihmiset ovat intohimoisia, ja sosiaalinen yhteisö, johon kuka tahansa, jolla on ohjelmointitaitoja, voi liittyä. Itse asiassa se on koko joukko yhteisöjä, kuten Linux Foundation sanoo. (Voittoa tavoittelemattomien järjestöjen, kuten Linux-säätiön ja OSI: n, olemassaolo on tärkeä osa kyseistä yhteisöä.) Florian Effenbergerillä on hieno essee siitä, kuinka avoimen lähdekoodin yhteisö rikasti hänen elämäänsä.

Kuulet usein ihmisten puhuvan avoimen lähdekoodin tai vapaiden ohjelmistojen liikkeestä, jolla on merkitystä politiikalle ja asianajolle. Paljon ihmisiä avoimen lähdekoodin yhteisössä on vaatinut avoimen lähdekoodin ohjelmistojen laajaa käyttöönottoa useista syistä: He ajattelevat, että avoin lähdekoodi tuottaa luonnostaan ​​parempaa koodia, tai heidän mielestään lähdekoodin käyttö on perusoikeus, josta tietokoneen käyttäjien pitäisi nauttia, tai jokin näiden kahden yhdistelmä. Tämä yhteisön näkökulma näyttää nykyään hieman vähemmän näkyvältä, mutta ehkä se johtuu siitä, että avointa lähdekoodia on voitettu monin tavoin. Vuonna 2001 silloinen Microsoftin toimitusjohtaja Steve Ballmer sanoi, että avoimen lähdekoodin lisenssinsa vuoksi Linux oli "syöpä, joka kiinnittyy henkiseen omaisuuteen liittyvään asiaan kaikessa, johon se koskettaa". Nykyään Microsoft on laaja avoimen lähdekoodin ohjelmistojen käyttäjä ja tuottaja. Tämä on kahden viimeisen vuosikymmenen avoimen lähdekoodin historia pähkinänkuoressa.

Avoimen lähdekoodin ohjelmiston lataus

Haluatko aloittaa selaamisen ja oikaisun avoimen lähdekoodin projekteissa? Tutustu opensource.comin Projektit ja sovellukset -sivulle, GitHubin Tutki-välilehdelle tai avoimen lähdekoodin kehittämisverkoston ohjelmistokarttaan. Kaikilla taitotasoilla on paljon uteliaita ihmisiä.

$config[zx-auto] not found$config[zx-overlay] not found