Sebastian Hartman skrev:
> Hej Henrik,
>
> här kommer en reviderad version som du kan skicka vidare. Har gjort
> substitut för företagsnamn/biblioteksnamn.
>
> ------
>
> Tjena,
>
> snackade lite om LGPL idag. Företag A använder sig av ett bibliotek
> kallat L som är släppt under LGPL. Företag A har commitat massa saker till
> biblioteket redan (till repository:n). Företaget B har gjort ändringar i
> en klass i L och distribuerat detta som en binär till deras kunder, och då
> antar jag att de också måste distribuera patchen i form av källkod till
> dem om de frågar.
>
Ja, B måste göra denna förändring (och den kompletta källkoden till L)
tillgänglig för sina kunder enligt licensen.
> Saken är den att eftersom B inte kontribuerar med sina ändringar längre
> så tänker inte heller A göra det. Särskilt inte nu när A lagt till mer
> markanta saker, såsom FunktionSomSärskiljerAFrånMängdenKonkurrenter. Allt
> är en ändring i klassen CClass, som används per default av biblioteket. A
> vill självklart inte dela ut någon patch för detta som B skulle kunna dra
> nytta av (eftersom de är konkurrenter). A:s lösning är då att man
> abstraherar ut CClass så att L endast kommunicerar med en IClass
> (interface för Class), och sedan gör en implementation av denna i A:s egna
> mjukvara som sedan skickas in i L i run-time. Då behöver A bara
> distribuera patchen för att hantera interface:t väl?
Enligt licensen behöver inte kommitta kod tillbaka till projektet om man
inte vill. Så B gör inget formellt fel vad jag kan se. Däremot måste man
göra koden tillgänglig för sina kunder och vilken kund till B som helst
kan ge koden tillbaka till ursprungsprojektet. Observera dock att
upphovsrätten till den förändringen kommer att tillhöra B.
A:s "lösning" på problemet (som jag som förespråkare av fri programvara
inte gillar) kan fungera men är vansklig. Det beror på om
slutresultatet är ett härlett verk av L eller ej och det kan vara svårt
att avgöra, framför allt om interfacet för CClass är skräddarsytt för
just den.
> MVH,
> Sebastian Hartman
>
>