Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Om du tänkt använda LGPL i ditt nästa projekt, läs det här först

Tanken bakom the "GNU Lesser GPL" är att ett bibliotek under denna licens i sig själv är copyleftat under GNU GPL men att ett program under en annan licens kan "work with with library" (arbeta mot biblioteket) utan att det själv behöver falla under GPL. Med andra ord, att ett sådant bibliotek ska kunna användas av både fria och ickefria program.

Det här fungerar bra i tex. C, där man lätt kan avgöra vilken kod som hör till vilken modul, då allt är avgränsade funktioner. I en objektorienterad värld blir det annorlunda. Free Software Foundation hävdar att "Subclassing is creating a derivative work. Therefore, the terms of the GPL affect the whole program where you create a subclass of a GPL'ed class" http://www.fsf.org/licensing/licenses/gpl-faq.html
Det här anses av Stallman och andra inte påverka LGPL
http://slashdot.org/developers/03/07/17/2257224.shtml
http://www.gnu.org/licenses/lgpl-java.html
Det finns dock de som inte är lika tvärsäkra

Detta har gjort att kommersiella utvecklare (de som skriver ickefri kod) av tex. GTKmm (C++ binding till GTK+ vilken också är under LGPL) börjat oroa sig över ifall deras egen kod i teorin kan tvingas falla under LGPL, då arv används för att skapa grafiska program. Utvecklarna av GTKmm valde LGPL för att kunna möjliggöra både fri och ickefri användning, och de har givetvis inget som helst intresse av att kräva källkoden ur användare av GTKmm. Men frågan är omtvistad och det kommer ständigt upp frågor ifrån oroliga användare i mailinglistor
http://www.mail-archive.com/gtkmm-list@gnome.org/msg07058.html

FSF vill inte att tex. macron eller korta templates ifrån en LGPL-kodbas ska tvinga användarens kodbas att bli LGPL. I LGPL 2 finns "If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)"
som skyddar mot detta, fast skyddet är svagt. Vad händer om en template expanderar till elva rader? Ett bibliotek som helt bygger på templates faller under GPL även om det licensieras under GPL

GNU:s standardbiblioteket för C++ använder inte LGPL utan GPL med undantag, det lyder enligt
" As a special exception, you may use this file as part of a free software
library without restriction. Specifically, if other files instantiate
templates or use macros or inline functions from this file, or you compile
this file and link it with other files to produce an executable, this
file does not by itself cause the resulting executable to be covered by
the GNU General Public License. This exception does not however
invalidate any other reasons why the executable file might be covered by
the GNU General Public License."
http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/license.html
vilket är klart klokare. Man skulle kunna tro att FSF i samband LGPL3 infört något liknande, men man håller kvar vid sina fem till tio rader expanderad kod
http://www.gnu.org/licenses/lgpl.html

Vissa anser GTK+ vara mer kommersiellt gångbart än tex. Qt, det senare distribueras förutom genom en betalversion under GPL2 och GPL3. Det gör det svårt att gratis utveckla ickefria QT-program. Men få skriver GTK+-program i C, man vill gärna ha något objektorienterat.

Användningen av GTKmm i ickefria program är som visats i praktiken okej, men i teorin inte okej. Vågar man bygga en affärsrörelse på GTKmm-utvecklarnas goda vilja? GTKmm använder siglibc++ (också under LGPL), ett stort ramverk av templates - huvuddelen överstigande tio rader Wink

Mono-gänget har tänkt över saken och licensierat stora delar av sina klassbibliotek under MIT-licens - så det är inga som helst problem att använda GTK# kommersiellt.

Vad är då bästa lösningen? Nya undantag till GNU GPL som tillåter både godtyckliga makroexpansioner samt arv? Kanske det? Det känns dock lite som att sätta vingar på en redan tung gris - en gris som alltför många tror sig ha en bild av, utan att själva ha synat den i sömmarna Wink

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

jonasbjorks bild

Mycket bra info! En rättelse: Qt är inte enbart GPL. Qt är dual-license, vilket innebär att du får använda Qt fritt om du släpper din kod under t.ex. GPL. Vill du hellre hålla din kod hemlig och stängd kan du köpa en licens från Trolltech som tillåter dig det.

--
Jag är grundare av och administratör på Linuxportalen. Kontakta mig om du har frågor, funderingar eller synpunkter kring Linuxportalen.se .

polters bild

Bra information Kristian. Det är nog alldeles för många som inte har koll på vad en licens innebär innan de applicerar denna på sitt verk.

lokpests bild

kommersiell!=ofri
icke-kommersiell!=fri

(jag vet att detta är ett vanligt misstag och att det antagligen beror på gammal vana och vad som är kutym men vill ändå påpeka det)

Kristians bild

Jag fixade till texten med avseende på termerna "kommersiell" och QT:s licensiering.

----------------------------------
MÖLUG

---------------------------------------

 

Kristians bild

Vi kan nog lugna oss lite, citatet "Subclassing is creating a derivative work. Therefore, the terms of the GPL affect the whole program where you create a subclass of a GPL'ed class" http://www.fsf.org/licensing/licenses/gpl-faq.html gäller GPL inte LGPL

http://slashdot.org/developers/03/07/17/2257224.shtml
http://www.gnu.org/licenses/lgpl-java.html

Vi får anta att samma sak gäller C++ och Python Smile Vad gäller C++-templates är dock saker osäker - för att kontra det tror jag att den metod som används av GNU Standard C++-bibliotek fungerar bäst. Så ja, GTKmm har problem, då de brukar templates i stor grad

----------------------------------
MÖLUG

---------------------------------------

 

jeffs bild

En rättelse: Qt är trippellicensierad, så du kan välja hur mycket din kod skall infekteras; bara lite hepatitmed gplv2 eller böldpest och AIDS med gplv3. Eller så köper du en stängd licens av Trolltech.
_______________________
Jeff - Din egen delivery service

------

Kristians bild

sorry, jag vet skillnaden men slarvade

----------------------------------
MÖLUG

---------------------------------------

 

jonasbjorks bild

För att vara riktigt jobbig mot dig. Qt stavas "Qt", QT är Quick Time från Apple... Wink Äh, glöm det Wink

--
Jag är grundare av och administratör på Linuxportalen. Kontakta mig om du har frågor, funderingar eller synpunkter kring Linuxportalen.se .

lokpests bild

Filosofi är inte det enda som är viktigt när man väljer licens. Det är även viktigt att den inte är "klumpig" (som exempelvis den ursprungliga BSD-licensen) utan istället gör det man vill att den gör.

För detta krävs dock kunskap om licenserna. Problemet som jag ser det dock att många som har en grov förståelse (vilket iofs är jättebra) för det här med licenser i allmänhet och FOSS-licenser i synnerhet uttalar sig med tvärsäkerhet i detaljfrågor.
Hur löser man det problemet?

polters bild

Vad menar du med "bara lite hepatitmed gplv2 eller böldpest och AIDS med gplv3"?

alberts bild

Om jag skulle göra ett program skulle jag quadrupellicensiera det. GPLv2, GPLv3, WTFPL och Beerware. Sen skulle användaren själv få välja vilken licens h@n vill använda. Eller kanske kvintupel och slänga in Cardware också.

Kristians bild

Vem yttrar sig tvärsäkert?

----------------------------------
MÖLUG

---------------------------------------

 

jeffs bild

Sk flamebait.
_______________________
Jeff - Din egen delivery service

------

lokpests bild

"folk"

(det är inte dig, eller någon annan i den här tråden, jag anklagar, snarare tvärtom Smile )

elwiss bild

Ha Ha, Beerware hade jag aldrig hört talas om förut, den skall jag köra med benhårt