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…


Attachment: signature.asc
Description: OpenPGP digital signature

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

Raspunde prin e-mail lui