Pozor! |
Note! |
To Manj splošno dovoljenje GNU šteje kot naslednik Knjižničnega splošnega dovoljenja GNU (ang. GNU Library General Public License). Če želite izvedeti, zakaj je bilo to potrebno, preberite članek Why you shouldn't use the Library GPL for your next library.
Različica 2.1, februar 1999
Pravice razširjanja © 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Vsakdo sme razmnoževati in razširjati dobesedne kopije tega licenčnega dokumenta, ni pa ga dovoljeno spreminjati.
[To je prva izdana različica manj splošnega dovoljenja GNU (ang. Lesser GPL). Velja tudi za naslednjico Knjižničnega splošnega dovoljenja GNU (ang. GNU Library Public License), različice 2, zato je številka različice 2.1.]
Licenčne pogodbe večine programja so zasnovane tako, da vam preprečujejo njegovo svobodno razdeljevanje in spreminjanje. Za razliko od teh vam nameravajo Splošna dovoljenja GNU (angl. GNU General Public Licenses) zajamčiti svobodo pri razdeljevanju in spreminjanju prostega programja ter s tem zagotoviti, da ostane programje prosto za vse njegove uporabnike.
To dovoljenje, Manj splošno dovoljenje, se nanaša na nekatere posebej zasnovane programske pakete -- navadno knjižnice -- ustanove Free Software Foundation in na vse druge programe, katerih avtorji so se zavezali k njeni uporabi. Tudi vi ga lahko uporabljate, a najprej vam priporočamo, da glede na razlago spodaj pazljivo razmislite, ali je v določenem primeru bolje uporabljati to dovoljenje, ali morda navadno Splošno dovoljenje.
Ko govorimo o prostem programju, imamo s tem v mislih svobodo, ne cene. Naša splošna dovoljenja GNU vam zagotavljajo, da imate pravico razširjati kopije prostega programja (in zaračunavati za to storitev, če tako želite); da dobite izvorno kodo ali jo lahko dobite, če tako želite; da lahko spreminjate programje ali uporabljate njegove dele v novih prostih programih; in da veste, da lahko počnete vse te stvari.
Zaradi zavarovanja vaših pravic moramo uvesti omejitve, ki prepovedujejo vsakomur, da bi vam te pravice kratil ali od vas zahteval predajo teh pravic. Te omejitve se preslikajo v določene odgovornosti za vas, če razširjate kopije programja ali ga spreminjate.
Na primer, če razširjate kopije neke knjižnice, bodisi zastonj ali za plačilo, morate dati prejemnikom vse pravice, ki jih imate sami. Prepričati se morate, da bodo tudi oni prejeli ali imeli dostop do izvorne kode. Če s knjižnico povezujete drugo kodo, morate prejemnikom ponuditi popolne objektne datoteke, tako da jih lahko potem, ko knjižnico spremenijo, vnovič povežejo s knjižnico in prevedejo. In morate jim pokazati te pogoje (pravzaprav izvirnik, opomba prevajalca), da bodo poznali svoje pravice.
Vaše pravice varujemo z dvema korakoma: (1) s pravno zaščito knjižnice in (2) ponujamo vam to licenco, ki vam daje pravno dovoljenje za razmnoževanje, razširjanje in/ali spreminjanje knjižnice.
Zaradi zaščite vsakega distributerja želimo zagotoviti, da vsakdo razume, da za to prosto knjižnico ni nobenega jamstva. Če je knjižnico spremenil nekdo drug in jo posredoval naprej, želimo, da njeni prejemniki vedo, da to, kar imajo, ni izvirnik, zato da se problemi, ki jih povzročijo drugi, ne bodo odražali na ugledu izvornega avtorja.
Končno, vsakemu prostemu programu nenehno grozijo programski patenti. Želimo se izogniti nevarnosti, da bi razširjevalci prostega programa posamično dobivali patentne licence in s tem naredili program lastniški (angl. proprietary). Za preprečitev tega jasno zahtevamo da mora biti vsak patent za katerokoli izpeljano različico knjižnice licenciran tako, da je popolnoma konsistenten s popolno svobodo rabe, kot jo določa to dovoljenje.
Večino programja GNU, vključno z nekaterimi knjižnicami, pokriva navadno Splošno dovoljenje GNU. To dovoljenje, Manj splošno dovoljenje, se nanaša na določene posebne knjižnice, in se precej razlikuje od navadnega Splošnega dovoljenja. To dovoljenje uporabljamo za tiste knjižnice, za katere želimo omogočiti tudi povezovanje v neproste programe.
Ko se program poveže s knjižnico, najsibo statično ali pa s pomočjo deljene knjižnice, je kombinacija obojega skupaj, legalno gledano, združeno delo, izpeljanka izvirne knjižnice. Navadno Splošno dovoljenje torej dovoljuje takšno povezovanje le, če celotna kombinacija zadošča prav tam določenim kriterijem svobode. Manj splošno dovoljenje dovoljuje bolj ohlapne pogoje za povezovanje druge kode s knjižnico.
Tem dovoljenju pravimo ,,Manj`` splošno dovoljenje, saj manj zavaruje svobodo uporabnika kot pa navadno Splošno dovoljenje. Drugim razvijalcem prostega programja tudi ponuja manj prednosti pred konkurenčnimi neprostimi programi. Te pomanjkljivosti so razlog, da smo za številne knjižnice uporabili navadno Splošno dovoljenje. Vendar Manj splošno dovoljenje v določenih pogojih pomeni prednost.
Denimo, da v redkih primerih obstaja posebna potreba spodbuditi kar najširšo rabo določene knjižnice, da bi ta postala de-facto standard. Da lahko to dosežemo, mora biti neprostim programom dovoljeno uporabljati to knjižnico. Pogosteje se zgodi, da prosta knjižnica opravi enako delo kot široko uporabljane neproste knjižnice. V tem primeru pridobimo le malo, če omejimo rabo proste knjižnice le na prosto programje, zato raje uporabimo Manj splošno dovoljenje.
V drugih primerih dovoljenje rabe določene knjižnice v neprostih programih omogoči večjemu številu ljudi, da uporabljajo večji obseg prostega programja. Dovoljenje za uporabo knjižnice GNU C v neprostih programih, je, denimo, omogočilo mnogim ljudem, da so uporabljali popoln operacijski sistem GNU, kot tudi njegovo inačico, operacijski sistem GNU/Linux.
Čeprav Manj splošno dovoljenje manj zaščiti uporabnikovo svobodo, pa vendarle zagotavlja, da ima uporabnik programa, ki je povezan s knjižnico, proste roke pri poganjanju tega programa s spremenjeno različico te knjižnice.
Sledijo natančne določitve in pogoji za razmnoževanje, razširjanje in spreminjanje. Pozorni bodite na razliko med ,,delom, ki temelji na knjižnici`` in ,,delom, ki uporablja knjižnico``. Prvo vsebuje kodo, izpeljano iz knjižnice, medtem, ko mora biti drugo kombinirano s knjižnico, da lahko teče.
,,Knjižnica`` pomeni zbirko programskih funkcij in/ali podatkov, pripravljenih tako, da jih je moč priročno povezovati z uporabnimi programi (ki uporabljajo nekatere teh funkcij in podatkov), da s tem oblikujemo izvedljive datoteke.
V nadaljevanju ,,knjižnica`` pomeni vsako programsko knjižnico ali delo, ki se razširja pod temi pogoji. ,,Delo, ki temelji na knjižnici`` pomeni bodisi knjižnico ali pa katerokoli izvedeno delo po zakonu o avtorskih pravicah (angl.\ copyright law): se pravi delo, ki vsebuje knjižnico ali njen del, bodisi dobesedno ali s spremembami in/ali premočrtno prevedeno v drug jezik. (Tukaj in povsod v nadaljevanju je prevod vključen brez omejitev v pojem ,,spremembe``.)
,,Izvorna koda`` pri delih pomeni obliko dela, najprimernejšo za izdelavo sprememb. Pri knjižnici pomeni izvorna koda vso izvorno kodo za vse module, ki jih vsebuje, poleg tega pa še morebitne datoteke z definicijami vmesnika, ter skripte za nadzor prevajanja in namestitev knjižnice.
Ta licenca pokriva izključno dejavnosti kopiranja, distribucije in sprememb - ostale dejavnosti so izven njenega dometa. Dejanje poganjanja programa z uporabo knjižnice ni omejevano, in izhod it takega programa je pokrit s to licenco le, če njegova vsebina predstavlja delo, ki temelji na knjižnici (neodvisno od rabe knjižnice kot orodja za pridobivanje izhoda). Ali je to res ali ne, je odvisno od tega, kaj knjižnica počne, in kaj počne program, ki to knjižnico uporablja.
Za fizično dejanje prenosa kopije lahko zaračunavate in po vaši presoji lahko ponudite garancijsko zaščito v zameno za plačilo.
(Funkcija, ki v neki knjižnici skrbi za izračun kvadratnih korenov, ima namen, ki je popolnoma dobro definiran in neodvisen od programa. Podrazdelek 2.d torej zahteva, da katerakoli funkcija ali tabela, ki jo glavni program ponuja tej funkciji, ni obvezna za pravilno delovanje funkcije za izračuna kvadratnih korenov.)
Te zahteve se nanašajo na delo kot celoto. Če razpoznavni razdelki dela ne izhajajo iz knjižnice in jih je moč same po sebi razumno obravnavati kot neodvisna in ločena dela, ta licenca in njena določila za te razdelke ne velja, če jih razširjate kot ločena dela. A če razširjate iste razdelke kot dele celote, ki je delo, ki temelji na knjižnici, mora biti razširjanje celote skladno z določili te licence, katere dovoljenja rabe za druge uporabnike licence se razširijo na vso celoto, in torej na vsak njen del, ne glede na to, kdo ga je napisal.
Namen tega razdelka torej ni, da bi vam dajal pravice (?) nad delom, ki ste ga napisali sami v celoti; namesto tega je namen razdelka, da vam da nadzor nad razširjanjem ali izpeljanko ali združenimi deli, temelječimi na tej licenci.
Poleg tega pa uvrščanje drugega dela, ki ne temelji na knjižnici, poleg knjižnice (ali poleg dela, ki temelji na knjižnici), na enoti nosilca za razširjanje, ne povzroči, da bi drugo delo padlo pod domet te licence.
Ko se enkrat zgodi opisana sprememba za dani izvod, je za ta izvod to nespremenljivo, torej Splošno dovoljenje GNU velja tudi za vse nadaljnje izvode in izpeljana dela, ki izvirajo iz tega izvoda.
Ta možnost je uporabna, če želite prepisati del kode knjižnice v program, ki ni knjižnica.
Če se razširjanje objektne kode omogoča s ponujanjem dostopa do izvoda z določenega mesta, potem pogoju za razširjanje izvorne kode zadošča tudi omogočenje enakega dostopa do izvorne kode, čeprav tretjim osebam ni treba skupaj z objektno kodo prepisovati tudi izvorne kode.
Vendar povezovanje ,,dela, ki uporablja knjižnico`` s knjižnico naredi izvedljivo datoteko, ki je izpeljanka te knjižnice (ker vsebuje dele knjižnice), in ne ,,delo, ki uporablja knjižnico``. Izvedljiva datoteka je torej pokrita s to licenco. Pogoje razširjanja takšnih programov določa razdelek 6.
Če ,,delo, ki uporablja knjižnico`` uporablja snov material iz glave, ki je del knjižnice, je lahko objektna koda za delo izpeljano delo iz knjižnice, čeprav morda izvorna koda ni. Ali je to res je posebej pomembno, če je delo moč povezati brez knjižnice, ali pa je delo samo po sebi knjižnica. Zakon povsem ne določa pogojev, da to velja.
Če takšna objektna datoteka uporablja le numerične parametre, podatkovne strukture in načine dostopa, in male makroukaze in male vključene funkcije (dolge deset vrstic ali manj), potem uporaba objektne datoteke ni omejena, ne glede na to, da je legalno to izpeljano delo. (Izvedljive datoteke, ki vsebujejo objektno kodo in dele knjižnice, še vedno spadajo pod razdelek 6.)
Če je sicer delo izpeljano iz knjižnice, lahko razširjate izvorno kodo dela pod pogoji razdelka 6. Katerekoli izvedljive datoteke, ki tudi vsebujejo delo, spadajo pod razdelek 6, ne glede na to, ali so neposredno povezane s samo knjižnico ali ne.
Poleg vsakega izvoda dela morate dodati jasno obvestilo, da delo uporablja knjižnico in da rabo knjižnice določa ta licenca. Oddati morate tudi izvod te licence. Če delo med izvajanjem izpisuje pravice razširjanja, morate med njimi vključiti tudi sporočilo o pravicah razširjanja za knjižnico, kot tudi sklic, ki usmerja uporabnika na izvod te licence. Narediti morate tudi eno od teh stvari:
Za izvedljivo datoteko mora zahtevana oblika ,,dela, ki uporablja knjižnico`` vsebovati podatke in pomožne programe, ki so potrebni za reproduciranje izvedljive datoteke. Vendar, kot posebna izjema, ni treba, da materiali, ki se razširjajo, vsebujejo karkoli, kar se navadno razširja (bodisi v izvorni ali binarni obliki) z glavnimi komponentami (prevajalnik, jedro, in tako naprej) operacijskega sistema v katerem teče izvedljivi program, razen, če izvedljivo datoteka spremlja sama komponenta.
Lahko se zgodi, da te zahteve nasprotujejo licenčnim omejitvam drugih lastniških knjižnic, ki navadno ne spremljajo operacijskega sistema. Takšno nasprotovanje pomeni, da jih ne morete uporabljati hkrati s knjižnico v izvedljivi datoteki, ki jo boste razširjali.
Če se za katerikoli del tega razdelka ugotovi, da je neveljaven ali da se ga ne da izvajati pod kateremkoli določenim pogojem, je mišljeno, da velja usmeritev tega razdelka (angl. balance of the section) in razdelek kot celota velja v drugih primerih.
Namen tega razdelka ni, da bi vas napeljeval h kršitvi patentov ali drugih trditev lastništva pravic ali izpodbijal veljavnost katerihkoli takšnih trditev; edini namen tega razdelka je ščitenje integritete sistema distribucije prostega programja, ki je izveden s prakso javnih licenc. Mnogi ljudje so radodarno prispevali k širokemu naboru programja, razširjanega skozi ta sistem, v upanju na njegovo dosledno izvajanje; od avtorja/dajalca je odvisno, če je pripravljen razširjati programje skozi katerikoli drug sistem, in izdajatelj licence ne more vsiljevati te izbire.
Ta razdelek namerava temeljito pojasniti, kaj so predvidene posledice nadaljevanja licence.
Vsaki različici je prirejena razločevalna številka različice. Če knjižnica določa številko različice te licence, ki se nanaša na njo in ,,na katerekoli poznejše različice``, imate izbiro upoštevanja pogojev in določil bodisi te različice ali katerekoli poznejše različice, ki jo je izdala ustanova Free Software Foundation. Če knjižnica ne določa številke različice te licence, lahko izberete katerokoli različico, ki jo je kdajkoli izdala ustanova Free Software Foundation.
Če razvijate novo knjižnico in želite, da bi bila kar najbolj uporabna za javnost, vam priporočamo, da jo proglasite za prosto programje, ki ga lahko vsakdo razširja in spreminja pod zgornjimi pogoji (ali, alternativno, pod pogoji navadnega Splošnega dovoljenja GNU, ang. GNU General Public License).
Za kaj takega vaši knjižnici pripnite naslednja sporočila (pravzaprav, pripnite izvirna angleška sporočila, tako jih bo razumelo več ljudi). Najvarneje je, da jih pripnete na začetek vsake izvirne datoteke, saj boste tako najbolj učinkovito izrazili odsotnost jamstva; vsaka datoteka pa bi morala vsebovati tudi vrstico ,,o pravicah razširjanja`` (angl. copyright) in kazalec, kje najti polno sporočilo.
Vrstica, v kateri podate ime knjižnice in kratek opis, kaj počne. Copyright (C) leto ime avtorja Ta knjižnica spada med prosto programje; lahko jo razširjate in/ali spreminjate pod pogoji Manj splošnega dovoljenja GNU (GNU Lesser General Public License), kot ga je objavila ustanova Free Software Foundation; bodisi različice 2.1 ali (po vaši izbiri) katerekoli poznejše različice te licence. Ta knjižnica se razširja v upanju, da bo uporabna, vendar BREZ VSAKRŠNEGA JAMSTVA; tudi brez posredne zagotovitve CENOVNE VREDNOSTI ali PRIMERNOSTI ZA DOLOČEN NAMEN. Za podrobnosti glejte besedilo GNU Lesser General Public License. Skupaj s to knjižnico bi morali prejeti izvod Manj splošnega dovoljenja GNU (GNU Lesser General Public License); če ga niste, pišite na Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
Dodajte tudi informacije o tem, kako stopiti v stik z vami po elektronski ali papirni pošti.
Pridobiti bi morali tudi vašega delodajalca (če delate kot programer) ali vašo šolo, če jo obiskujete, da napiše ,,odrekanje pravicam razširjanja`` za knjižnico, če je to potrebno. Tukaj je primer, imena prilagodite:
Jojodin, d. o. o., se s tem dokumentom odreka vsem pravicam, izhajajočih iz razširjanja knjižnice, za knjižnico `Frumb' (ki prikroji levi gumb), ki jo je napisal Janez Hekeršek. podpis Tineta Bogataja, 1. april 2000 Tine Bogataj, predsednik vic