2015-08-03 17:43 GMT+03:00 Mișu Moldovan <du...@l10n.ro>:

> On 01.08.2015 11:36, Nicu wrote:
> > 2015-07-31 19:40 GMT+03:00 Mișu Moldovan <du...@l10n.ro>:
> >> Bănuiesc că tu te referi doar la facilități pe care le-ar oferi GNU
> >> readline, da' nu le oferă libedit.  Da' nu mă interesează alea și cred
> >> că problema e mai complicată…
> >>
> >> Hai să mă refer doar la cazul în care îs practic dependent de  GNU
> >> readline, deci am o distribuție Python în ale cărei surse „setup.py” și
> >> „src/Modules/readline.c” au referințe explicite la GNU readline și nu la
> >> libedit.  Când e asta o problemă?  Doar de redistribui împreună cu
> >
> > Problema ar putea fi numai in cazul in care scriptul tau nu merge
> > deloc fara GNU readline, sau merge intr-un mod mult degradat (doar cu
> > un simulacru de user-interface, fara istoric, completare, etc).
> >
> > GPL nu e un patent pe un API (chiar daca un asemenea patent ar avea
> > valoare juridica) si un program nu poate cadea sub incidenta ei pentru
> > simplu fapt ca foloseste un API care e implementat, printre altele, si
> > de o biblioteca GPL.
>
> Mie mi se pare că ce zici tu contrazice ce scrie la
> https://www.gnu.org/licenses/gpl-faq.en.html#IfInterpreterIsGPL: „when
> the interpreter is extended to provide “bindings” to other facilities
> (often, but not necessarily, libraries), *the interpreted program* is
> effectively linked to the facilities it uses through these bindings. So
> if these facilities are released under the GPL, the interpreted program
> that uses them *must be released in a GPL-compatible way*.”
>
> Ceea ce mi se pare cam aiurea, pentru că un paragraf mai sus zice „The
> interpreted program, to the interpreter, is just data; a free software
> license like the GPL, based on copyright law, cannot limit what data you
> use the interpreter on. You can run it on any data (interpreted
> program), any way you like, and there are no requirements about
> licensing that data to anyone.”
>
> Aici e de fapt nelămurirea mea inițială.  Încă validă, cred…  Cum naiba
> nu-i o problemă dacă e interpretorul GPL, dar începe să fie dacă
> folosești niște „bindings” la o bibliotecă GPL-only precum «readline».
> Adică înțeleg că modulul «readline.c» din sursele Python tre' să fie
> GPL, da' de ce mă contaminează și pentru scriptul care are nevoie de
> respectivul modul.  Că interpretorul în sine poate fi GPL, asta nu-i
> nicio problemă!
>
> Poate o fi doar o chestie de strategie a celor de la FSF…  Ca LGPL, de
> altfel.
>
>
> >> scriptul și sursele Python dependente de GNU readline?
> >>
> >> Iar dacă nu le distribui și pe alea, ce contează e doar posibilitatea
> >> teoretică ca scriptul meu să funcționeze cu un Python ce are modulul
> >> readline compilat cu libedit?  Adică nu contează ce am folosit io?  Nu
> >
> > Normal ca nu. GPL e doar o biata licenta software. Nu-i o religie cu
> > sfinte taine. Nu exista nici un act magic pe care l-ai putea face
> > inainte sau dupa momentul distribuirii unui program (care, asa cum e
> > distribuit, NU include si NU depinde functional de GNU readline)
> > pentru a-l face sa devina GPL.
>
> Aici cred că îi o subtilitate pe care poate că n-am explicat-o îndeajuns
> de bine.  Sursele oficiale Python pentru modulul său readline sunt
> dependente de GNU readline.  Trebuie să peticești acel modul și setup.py
> pentru ca, la compilare, să creeze modulul «readline» folosind
> header-ele libedit, nu cele GNU readline.  Iar apoi, la rulare, să
> încarce libedit și nu libreadline pentru modulul «readline».  (Ceea ce
> observ că face Apple pentru distribuția Python din OS X. Or fi știind ei
> ceva…)
>
> Deci, de distribui și sursele ori binarele Python, e clar ce ai folosit:
> fie GNU readline (și atunci tre' să licențiezi scriptul tău GPL, din
> câte înțeleg că zice în FAQ), fie libedit (și atunci nu).  Problema e
> însă ce se întâmplă când nu dai sursele ori binarele Python cu scriptul
> tău (cazul cel mai frecvent) și nimeni nu știe ce ai folosit de fapt?
> Să înțeleg că poți încălca licența GPL fără ca cineva să poată demonstra
> asta?!?  Am scăpat de un paradox și am dat de altul…
>
>
>
>

Cu disclaimerele de rigoare, eu inteleg asa: daca programul tau python
poate fi folosit si de un pyhton care nu e gpl (gen ala al lui apple
platched cu libedit), inseamna ca poti distribui scriptul fara sa tii cont
de gpl, daca nu vrei asta. Poti spune in instructiuni ca uite, functioneaza
si fara gpl daca faci asa si pe dincolo si la revedere.

IMHO (IANAL, etc), din punct de vedere GPL asa cum il stiu eu, pentru un
interpretor scriptul tau este input data si este interpretat la runtime, ca
atare nu este bound de licenta interpretorului, chiar daca FSF-ului nu-i
convine asta. Cand scrii cod Python, bindingul se face cu specificatia
limbajului (sau bibliotecii cu pricina). Faptul ca eu pot scrie intr-un
text "foo = get_line_buffer()" nu e legat de GPL. Cum anume e implementat
ce face interpretorul cand da de statementul ala poate sau nu sa fie
license-bound, dar asta e treaba cui face rularea.

-- 
P.
_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui