Jaettu lähdekoodi

Jaettu lähdekoodi (engl. Shared Source) 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.