Jaettu lähdekoodi

Jaettu lähdekoodi () on lähdekoodin lisensointimalli, joka sallii valvotun, täyden tai rajatun sisäänpääsyoikeuden tuotteen lähdekoodiin. Jaetun lähdekoodin lisenssin määritelmän täyttäviä lisensointisopimuksia on useita erilaisia eikä sitä ole näin rajattu yhteen tiettyyn lisenssiin.

Termillä jaettu lähdekoodi viitataan usein Microsoftin Shared Source Initiative -aloitteeseen vaikka jaetun lähdekoodin määritelmän täyttäviä lisenssejä on käytössä myös muissa yrityksissä kuten Hewlett-Packardilla ja Sun Microsystemsillä.

Jaettu ja avoin lähdekoodi 
Vaikka jaetun lähdekoodin lisenssi sallii pääsyn tuotteen lähdekoodiin, se ei täytä avoimen lähdekoodin määritelmää. Ellei muuta siksi, ettei yksikään jaetun lähdekoodin lisenssi salli muokatun lähdekoodin kaupallista käyttöä. Useimmat jaetun lähdekoodin lisenssit vielä rajaavat käytön tietylle kohderyhmälle kuten instituutioille tai yhteistyökumppaneille. Eräät jaetun lähdekoodin lisenssit kuten Shared Source Common Language Infrastructure sallivat siitä huolimatta ei-kaupallisen lähdekoodin muokkauksen ja levityksen käyttäjien kesken. Kuitenkin, Enterprise Source Licensing -mallin mukainen lisenssi sallii yritysten katsella, muttei muokata tai levittää lähdekoodia.

Jaetun lähdekoodin hyödyt
Ohjelman toiminnan tarkka selvittäminen vaatii usein lähdekoodin tutkimista. Lähdekoodin avulla on helpompaa löytää ohjelmointivirheitä ja tietoturvaongelmia. Suuret yhtiöt ja valtioiden hallitukset ovat alkaneet vaatia tätä mahdollisuutta. Lähdekoodin mahdollistamat tarkemmat virheraportit ja korjausehdotukset helpottavat myös ohjelman kehittäjän kehitystyötä.

Lähdekoodin avulla oman ohjelman tai järjestelmän saaminen yhteensopivaksi huonosti dokumentoidun rajapinnan kautta on helpompaa, kunhan koodin käyttöehdot sallivat koodin käytön tähän tarkoitukseen. Usein se sallitaan, kunhan ohjelmia käytetään vain organisaation sisällä tai muuten tarkoin säädellyllä tavalla.

Jaetun koodin ongelmat
Jaettu koodi ja sen perusteella saadut tiedot saattavat olla salassa pidettäviä. Riippuen käyttöehdoista jaettuun koodiin tutustunut ei ehkä enää voi kehittää vapaita tai kaupallisia ohjelmia, joissa hänellä olisi hyötyä näkemästään (muuta kuin jaetun lähdekoodin käyttöehtojen puitteissa), koska se rikkoisi ehtoihin sisältyvää salassapitovelvoitetta.

Vapaiden ohjelmien puolesta puhuvien on vaikea ymmärtää mitä hyötyä on nähdä koodi, jos näin sitoutuu olemaan käyttämättä näkemäänsä hyödyksi. Ilman jaettua koodia, koodin toimintoja voi sentään kohtuullisen vapaasti tutkia ja arvuutella, ja tämän perusteella kehittää yhteensopivia ohjelmia.

Kun Microsoft julkisti jaetun lähdekoodin ohjelmansa, tätä pidettiin tapana antaa nuorille ohjelmoinnista kiinnostuneille Windows-käyttäjille tunne, että heilläkin oli mahdollisuus tutustua järjestelmäänsä samalla tavalla kuin jos valitsisivat Linuxin. Kyse oli myös Microsoftin yrityksestä puhdistaa pahasti tuhriintunutta mainettaan ja hyötyä yhteisöllisyydestä sekä vapaaehtoisesta avunannosta, joka seuraa avoimen lähdekoodin projekteja.

Vapaat ohjelmistolisenssit antavat mahdollisuuden lainata koodia yhdestä projektista toiseen, niin kauan kuin lisenssit ovat yhteensopivia. Jos jaetun lähdekoodin "riittävän vapaa" lisenssi houkuttelee kehittämään jotakin ohjelmaa jaetun koodin pohjalta, työ menee vapaan lähdekoodin yhteisön näkökulmasta hukkaan: ohjelmaa ei voi sisällyttää vapaaseen käyttöjärjestelmään eikä koodia voi käyttää muissa projekteissa.

Huomattavimmat jaetun lähdekoodin-lisenssiohjelmat

 Microsoft Enterprise Source Licensing
Sallii yritysasiakkaille pääsyn lähdekoodiin.
Kieltää muutokset ja levityksen.
Sallii katseluoikeuden joidenkin Windows-käyttöjärjestelmien komponenttien lähdekoodeihin.

 Microsoft Windows Academic Licensing
Lisenssityyppi sallii Windows-käyttöjärjestelmän kerneli-teknologiaan ja lähdekoodiin pääsyn yliopistoille opetustarkoituksiin.
Sisältää myös muuta opetusmateriaalia ja projekteja.

 Microsoft Shared Source Common Language Infrastructure
Ensimmäinen laaja jaetun lähdekoodin lisenssiohjelma.
Sallii alkuperäisen lähdekoodin ei-kaupallisen muokkaamisen ja levittämisen niin kauan kuin jakeluversio sisältää alkuperäisen lisenssin tai ehtojen tiivistelmän.

Katso myös
 Avoin lähdekoodi
 Suljettu lähdekoodi
 Vapaa ohjelmisto

Aiheesta muualla 
 Microsoft Shared Source -aloitteen kotisivu
 Microsoftin jaetun lähdekoodin perusteet
 Lista Microsoftin jaetun lähdekoodin lisensointiohjelmista
 Lista ei-vapaista lisensseistä.

Ohjelmointi