Kode irekiko software

Kode irekiko softwarea (ingelesez open source software edo OSS) iturburu-kodea eta beste eskubide batzuk dituen softwarea da. Normalean, kode irekiko lizentzia baten bidez argitaratzen dutenentzat edo jabari publikokoak direnentzat dira. Kode irekiaren definizioekin bateragarriak diren lizentzietan, egile-eskubideen jabeak baimena ematen die erabiltzaileei softwarea edozein helburutarako erabiltzeko, baita aldatzeko ere. 

Sarritan, kode irekiko softwarea elkarlanean garatzen da eta emaitzak Interneten argitaratzen dira.  Softwarea kode irekiaren garapenaren adibiderik onena da, eta "erabiltzaileek sortutako edukia"-rekin alderatzen da.  Kode irekiko softwarea esamoldea software libreko marketin-kanpaina batetik sortu zen.  Standish Group-en txosten baten arabera, kode irekiko softwarearen ereduak sartzeak kontsumitzaileei urtean 60 mila milioi dolar inguru aurreztea ekarri die.

Historia 

Software librearen mugimendua 1983an sortu zen. 1998an, talde batek software librea (free software) adierazpenaren ordez, kode irekiko softwarea (open source software) ideiaren alde egin zuen. Software-garatzaileek beren lana kode irekiko lizentzia baten bidez argitaratzeko aukera dute, edonork erabil dezan. Oro har, software horrek aukera ematen die pertsonei softwarean aldaketak sortzeko, beste sistema eragile edo hardware-arkitektura batzuekin bateratzeko, baita beste pertsona batzuekin partekatzeko eta merkaturatzeko ere.

Open Source Definition Open Source Iniciativek argitaratutako dokumentua da eta, kode irekiari dagokionez, filosofia bat sartzen du. Gainera, kode irekiko softwarearen erabilera, aldaketa eta birbanaketa definitzen ditu. Software-lizentziek erabiltzaileei ematen dizkiete eskubideak, gainerakoan (egile-eskubideen legearen arabera), softwarearen jabeei erreserbatuak egongo liratekeenak. 

Kode irekiko hainbat software-lizentzia daude, Open Source Definition-ekin bateragarriak direnak. GNU General Public License (GPL) da ezagunena eta nabarmenena. Kode irekiaren banaketak produktu baten iturburu-kodea jendearen eskura jartzen badu ere, kode irekiko lizentziek aukera ematen diete software-garatzaileei sarbide hori nahi bezala egokitzeko.

Definizioak 

Open Source Initiative-en (OSI) definizioa nazioarteko  hainbat gobernuk onartzen dute estandar edo egitatezko definizio gisa. Gainera, munduko kode irekiko software proiektu eta kolaboratzaile handienetako askok,  (besteak beste, Debian, Drupal Association, FreeBSD Foundation, Linux Foundation, OpenSUSE Foundation, Mozilla Foundation, Wikimedia Foundation eta Wordpress Foundation-ek) konpromisoa hartu dute ESIren misioa eta Kode Irekiaren Definizioa mantentzeko, OSI Afiliazio Akordioaren bidez. 

OSIk Kode Irekiaren Definizioa erabiltzen du, software lizentzia bat kode irekitzat jotzen ote duen zehazteko. Definizioa Debian Software Librearen Jarraibideetan oinarritzen zen, nagusiki Perensek idatzi eta egokitutakoetan.    Perensek ez zuen bere idazkera Software Librearen Fundazioaren (FSF) "lau askatasunetan" oinarritu, horiek geroago jarri ziren eskuragarri. 

Perensen definizioaren arabera, kode irekia software zabaleko lizentzia bat da, iturburu-kodea jende guztiaren eskura jartzen duena, erabiltzeko zein aldatzeko. Softwarearen bilakaera azkarra ahalbidetzeko, kode irekiak murrizketa gutxi jartzen ditu edozein erakunde edo erabiltzailek erabiltzeko edo banatzeko. 

FSFko  Richard Stallmanek ez du nahi "Open Source" terminoa "Software Librea" deritzonari aplikatzea. Nahiz eta ados egon bi terminoek "ia software-kategoria bera" deskribatzen dutela, Stallmanek uste du parekatu egiten dituela termino oker eta engainagarriak.  Horretaz gain, Stallman Open Source Initiative-en pragmatismoaren aurka dago, beldur baita FSFren arau idealistek softwarearen askatasuna arriskuan jarri eta askatasunik eta komunitaterik gabeko softwarearen idealak mehatxupean egoteaz.  FSFk uste du software librea kode irekiko softwarearen azpimultzo bat dela. Baina Richard Stallman-ek azaldu zuen, adibidez, DRM softwarea kode ireki gisa garatu daitekeela, nahiz eta erabiltzaileei askatasunik ez eman (mugatu egiten ditu). Beraz, DRM softwarea ez du software libre gisa kalifikatzen.

Kode irekiko softwarearen lizentzia 
Autore batek kode irekiko proiektu bati kodea gehitzen dionean, lizentzia esplizituarekin edo lizentzia inplizituarekin egiten du. 

Kode irekiko lizentzien adibide batzuk: Apache lizentzia, BSD lizentzia, GNUren lizentzia publiko orokorra, GNU Lesser General lizentzia, MIT lizentzia, Eclipse lizentzia publikoa eta Mozilla lizentzia publikoa. 

Kode irekiko lizentzien ugaritzea kode irekiko mugimenduaren alderdi negatiboa da, askotan zaila baita lizentzien arteko desberdintasunen legezko ondorioak ulertzea.

Ziurtagiriak 
Ziurtagiria lagungarria izan daiteke erabiltzaileen konfiantza areagotzeko. Ziurtagiria osagai sinpleenari nahiz software-sistema osoari aplika dakioke. 

Nazio Batuen Unibertsitateko Softwarearen Teknologiaren Nazioarteko Institutuak,  "Munduko idazmahaiaren proiektua" (The Global Desktop Project) izeneko proiektuari ekin zion. Proiektu honen helburua idazmahaiko interfaze bat eraikitzea da. Interfaze honi esker erabiltzaile guztiek aukera izango dute idazmahaia ulertzeko, elkarrekin jarduteko, eta hizkuntza eta kultura-oztopoak gainditzeko. Proiektu honek hobetu egingo luke garapen-bidean dauden nazioak informazio-sistemetan sartzea. UNU/IISTk ziurtagirien bidez, softwarearen kalitatean eraginik gabe lortzea espero dute.

Kode irekiko softwarearen garapena

Garapen-eredua 
1997ko saiakeran, Katedrala eta Bazarra,  Eric S. Raymond kode irekiko ebanjelistak, bazar-eredu gisa ezagutzen den kode irekiko softwarea garatzeko eredu bat proposatu zuen. Raymondek metodologia tradizionalen bidezko software-garapena, katedral baten eraikuntzarekin alderatzen du, "bakarkako magoek edo mago-talde txikiek kontu handiz prestatua".  Software guztia bazar-estiloa erabiliz garatu behar dela iradokitzen du.

Garapen-eredu tradizionalari katedralaren eredua deitu zion. Modu zentralizatuan garatzen da eta rolak argi eta garbi definituta daude. Rolen artean honakoak daude: diseinuan aritzen direnak (arkitektoak), proiektua administratzeaz arduratzen direnak eta inplementazioaren arduradunak. Software-ingeniaritza tradizionalak katedralaren ereduari jarraitzen dio.

Bazar-eredua desberdina da, rolak ez daude argi definituta. Gregorio Roblesek  iradoki du bazar-eredua erabiliz garatutako softwareak ezaugarri hauek izan behar dituela:
 Erabiltzaileak garatzaile gisa tratatzen dira, beraz, softwarearen iturburu-koderako sarbidea izan behar dute.

 Softwarearen lehen bertsioa ahalik eta azkarren merkaturatu behar da.

 Kode-aldaketak ahalik eta sarrien integratu behar dira (kode-base partekatu batean fusionatzea), proiektuaren bizi-zikloaren amaieran akats kopuru handia zuzentzearen gainkarga saihesteko.
 Softwarearen bi bertsio egon behar dira gutxienez: bat funtzio eta errore gehiagorekin eta, bestea, egonkorragoa baina funtzio gutxiagorekin.
 Softwarearen egitura orokorra modularra izan behar da, osagai askeetan garapen paraleloa ahalbidetuz.
 Erabakiak hartzeko egitura bat behar da, formala edo informala, erabiltzailearen baldintza aldakorren eta beste faktore batzuen arabera erabaki estrategikoak hartuko dituena.

Abantailak eta desabantailak 
Kode irekiko softwarea software jabeduna baino errazago lortzen da, horregatik, gehiago erabiltzen da. Gainera, estandar baten kode irekiaren inplementazioak estandar horren erabilera areagotu dezake.  Garatzaileen leialtasuna garatzen ere lagundu du, boteretsuak sentitzen baitira eta azken produktuaren jabetza-sentsazioa baitute. 

Gainera, OSSerako marketin-kostu eta zerbitzu logistiko txikiagoak behar dira. Tresna egokia da enpresa baten irudia sustatzeko, bere produktu komertzialak barne.  OSSaren garapen-ikuspegiak software fidagarria eta kalitate onekoa ekoizten lagundu du, modu azkar eta ekonomiko batean. 

Fidagarriagoa dela esaten da, normalean milaka programatzaile aske softwarearen akatsak probatzeko eta zuzentzeko prest daudelako. Kode irekia ez dago hura sortu zuen enpresaren edo egilearen mende, hau da, enpresak porrot egiten badu ere, kodeak existitzen jarraitzen du eta erabiltzaileek garatzen segitzen dute. Gainera, guztientzat irisgarriak diren estandar irekiak erabiltzen ditu; beraz, ez du software jabedunetan egon daitezkeen formatu bateraezinen arazorik.

Malgua da, sistema modularrek interfaze pertsonalizatuak eraikitzeko edo trebetasun berriak gehitzeko aukera ematen dietelako programatzaileei. Eta berritzailea da, kode irekiko programak programatzaile desberdin askoren arteko lankidetzaren emaitza direlako. Ikuspegi dibergenteak, helburu korporatiboak eta helburu pertsonalak nahasteak bizkortu egiten du berrikuntza. 

Batzuetan esaten da kode irekiaren garapen-prozesua ez dagoela ondo zehaztuta, eta garapen-prozesuaren etapak (hala nola, sistemaren probak eta dokumentazioa) ez direla kontuan hartzen. Hala ere, hori proiektu txikientzat baino ez da egia (gehienetan programatzaile bakar bat dutenentzat). Proiektu handi eta arrakastatsuenek gutxienez arau batzuk zehaztu eta betearazten dituzte, talde-lana posible egiteko.   Proiektu konplexuenetan, arau horiek oso zorrotzak dira: bi garatzaile independentek egindako aldaketa txikiak berrikusi behar dituzte. 

OSSren ekimen guztiek ez dute arrakastarik izan; adibidez, SourceXchange eta Eazel ekimenek.  Kode irekiak kalitate-sistemak sortzeko duen gaitasunaz ziur ez dauden software-adituek eta ikertzaileek hainbat arazo ikusten dizkiote:  prozesu ez argiak, akatsak berandu aurkitzea eta ebidentzia enpirikorik eza.  Segurtasunari dagokionez, kode irekian pirata informatikoek errazago ezagut ditzakete softwarearen ahultasunak edo hutsuneak, kode itxiko softwarean baino. Hori dela eta, erakunde birtualetan parte hartzen duten agente autonomoen kontrol-mekanismoen mende dago.

Garapenerako tresnak 
OSSen garapenean, hainbat tresna erabiltzen dira produktuaren garapenari eta garapen-prozesu berari laguntzeko. 

Alde batetik, berrikuspenak kontrolatzeko sistemak daude, hala nola, Bertsio-Sistema Konkurrentea (CVS) ondorengo, Subversion (SVN) eta Git. Tresna hauek laguntzen dute iturburu-kodeen fitxategiak eta software-proiektu baterako fitxategi horietan egindako aldaketak kudeatzen.  Proiektuak biltegiratzen dira gordetegietan eta iturburu-kodea duten ostatu-instalazioetan argitaratzen dira, hauetan, adibidez: Launchpad, GitHub, GitLab eta SourceForge.  

Bestetik, posta-zerrendek eta IRCek koordinazio-bideak eskaintzen dituzte garatzaileen artean.  Ostatu-lekuek ere badituzte gizarte-funtzioak, garatzaileei komunikatzeko aukera ematen dietenak.

Erakundeak 
OSSen garapenean parte hartzen duten erakunde nabarmenetako batzuk hauek dira: Apache Software Fundazioa, Apache web-zerbitzariaren sortzailea; Linux Fundazioa, irabazi asmorik gabeko erakundea, 2012tik aurrera Linus Torvalds-ek, Linux sistema eragilearen sortzaileak, erabili zuena; Eclipse Fundazioa, Ecse softwarea garatzeko plataformaren etxea; Debian proiektua, eragin handiko Debian GNU/Linux banaketaren sortzaileak; Mozilla Fundazioa, Firefox web nabigatzailearen egoitza; eta OW2, kode irekiko middlewarea garatzen duen Europako komunitatea. Erakunde berriek gobernantza-eredu sofistikatuagoa izan ohi dute, eta erakunde juridikoetako kideek osatzen dituzte.

Finantzaketa 
Kode irekiko softwarea garatzen duten negozioetako enpresek negozio-eredu ugari erabiltzen dituzte, definizioz doanekoa den softwarea eskainiz dirua nola egin jakiteko.  

Negozio-estrategia horietako bakoitzak premisa hau du oinarri: kode irekiko teknologien erabiltzaileak prest daude jabetza-lizentzien barruan software-ezaugarri gehigarriak erosteko edo negoziorako funtsezkoak diren kode irekiko softwarearen osagarri diren beste zerbitzu edo balio-elementu batzuk erosteko.

Beste lizentzia-eredu batzuekin/softwarea garatzeko ereduekin alderaketa

Software jabeduna 
Kode irekiko softwarea aukeratzeko lau arrazoi nagusiak (Open Source Business Conference  inkestaren arabera) hauek dira:

 Merkeagoa da
 Segurtasuna
 Ez du 'blokeatzen' saltzailerik
 Kalitate hobeagoa

Software librea 
Richard Stallman, software librearen mugimenduko buruaren arabera, desberdintasun nagusia ikusten da bi termino hauen artean ("kode irekia" edo "software librea") zein erabiliko dugun aukeratzean. Horretarako, termino hauen helburuak argi izan behar dira:  "Kode irekia garatzeko metodologia bat da; software librea, aldiz, gizarte-mugimendu bat da". Hala ere, kode irekiko softwarearen eta software librearen artean gainjartze nabarmena dago.

Kode irekia vs. kode erabilgarria 
OSIren kode irekiko softwarearen definizioa onartuta egon arren, pertsona- eta erakunde-kopuru txiki batek erabiltzen du. Software mota horri iturri erabilgarria edo iturri partekatua deitzen zaio, eta Microsoft-ek sortu zuen 2001an.

Kode irekia 
Kode irekiaren mugimenduak kode mota hauek zabaltzeko helburua du. Gehienetan, aldez aurretik software jabeduna kode irekiko edo software libreko lizentzia baten bidez askatzeari dagokio.  Kode irekiko softwarearen programazioari edo kode irekiko softwarearen instalazioari ere badagokio. 

Lehendik patentatuta zeuden eta iturri irekikoak izan diren software-pakete aipagarrien artean daude:  

 Netscape Navigatoren kodea: Mozilla eta Mozilla Firefox-en web nabigatzaileen oinarri bihurtu zen.
 O-Office: OpenOnd.org eta LibreOffice bulegoen suitearen oinarri bihurtu zen.
 SAP DB: MaxDB bihurtu da eta orain MySQL ABk banatzen du (bera da jabea orain).
 InterBase datu-basea: Borlandek ireki zuen 2000. urtean. Gaur egun badago produktu komertzial eta kode irekiko edukitzaile gisa (Firebird).

Softwarearen lizentzia aldatu aurretik, banatzaileek iturburu-kodea ikuskatzen dute hirugarrenen lizentzia duen kode baten bila, eta kode hori ezabatu edo lizentzia berrirako baimena lortu beharko dute. Atzeko ateak eta beste malwareak ere kendu egin behar dira, erraz aurki daitezkeelako kodea askatu ondoren.

Gaur egungo aplikazioak 
Kode irekiko software-proiektuak programatzaile boluntarioen sare batek eraiki eta mantentzen ditu. 

Kode irekiko produktuen adibide nagusiak hauek dira: Apache HTTP Server, osCommerce merkataritza elektronikoko plataforma, Mozilla Firefox eta Chromium Interneteko nabigatzaileak eta LibreOffice bulego osoko paketea.

Kode irekiko produktu arrakastatsuenetako bat Linux sistema eragilea da. Sistema hau kode irekiko Unix motako sistema eragilea da eta haren eratorria mugikorretarako Android sistema eragilea da.   Zenbait industriatan, kode irekiko softwarea araua da.

Beste erabilerak 
"Kode irekia" terminoa, hasiera batean, softwarearen iturburu-kodeari bakarrik aplikatzen zitzaion.  Orain, berriz, beste arlo batzuei ere aplikatzen zaie , hala nola, kode irekiaren ekologiari , teknologiak deszentralizatzeko mugimendua zein edozein gizakirik erabil ditzan. Hala ere, askotan gaizki aplikatzen da printzipio desberdin eta lehiakorrak dituzten beste eremu batzuetan zeren partzialki gainjartzen baitira. 

Kode irekiko softwarearen azpian dauden printzipio berak aurki daitezke beste enpresa askotan, hala nola kode irekiko hardwarea, Wikipedia eta sarbide irekiko argitalpena. Kolektiboki printzipio horiei kode irekia, eduki irekia eta lankidetza irekia esaten zaie:  "Helburuetara bideratutako eta gutxi koordinatutako parte-hartzaileak oinarri dituen edozein berrikuntza- edo ekoizpen-sistema. Honek balio ekonomikoko produktu (edo zerbitzu) bat sortzeko elkarreragina du oinarri, laguntzaile nahiz ez laguntzaileen eskura berdin jartzen duena".

Erreferentziak

Ikus, gainera 
 Kode ireki
 Kode irekiko hardware
 Software libre
 Software Librearen Fundazioa (FSF)

Kanpo estekak 

Software librea