kvdveer schreef op 20 augustus 2002 @ 13:45:
Ik heb vandaag een vurige discussie gevoerd met mijn werkgever over een stuk code. Voor een admin hadden een lap code nodig, en toevallig zit er in phpBB precies het stuk code dat we nodig hebben. Ik kreeg de opdracht om dat dan maar te rippen en in te bouwen in onze admin. Ik heb dat geweigerd, aangezien de GPL-licentie waarmee phpBB is gelicenceerd is vereist dat de betreffende admin dan ook open source gelicenceerd moest worden. Baas verontwaardigd, heftige discussie enz. Uiteindelijk komt het er op neer dat een deel van de admin LGPL gelicenceerd gaat worden.
Dit kan niet. Je kunt niet als gebruiker bepalen wat de license wordt, wanneer jij een stuk code met license ABC gebruikt. Dit komt omdat de kern 'copyright' heet. Jij hebt geen enkel recht op de code, behalve DIE rechten die jou zijn gegeven door de licentie waarmee de code is verspreid. Is dit de GPL, dan MOET je de code ook als GPL blijven zien. JIJ mag niet een licentieverandering doorvoeren, dat kan alleen de copyrighthouder, aangezien die bepaalt hoe de door hem / haar bezeten rechten worden verstrekt aan gebruikers van de copyrighted materiaal. Anders zou iemand de Linux kernel source kunnen pakken en er een closed source license aan kunnen hangen en de GPL zodoende omzeilen.
Jij mag dan wel de GPL-ed code gebruiken, maar je MOET dat stuk dan ook als GPL verspreiden, maw: de source compleet vrijgeven en niet onder een andere license de spullen verspreiden, ookal is dat de LGPL en is deze aan de GPL verwant. Heeft jouw baas uberhaupt van de auteurswet gehoord trouwens? Kennelijk niet. Misschien eens nuttig die persoon te wijzen op de auteurswet in Nederland en wat deze inhoudt.
Nu schrijf ik zelf ook wel regelmatig wat code, en van wat er ooit publiek geraakt is is eigenlijk niets echt duidelijk van een licentieovereenkomst voorzien. Binnenkort ga ik een klein projectje van me releasen, en ik wil eens goed nadenken over de licentie. Nu is mijn vraag: Wat is jullie ervaring met de diverse licenties?
Is er een site waar je de individuele open source licenties (BDS, XFREE, GPL, LGPL, PERL, ...) kunt vergelijken?
Ik heb voor mn Open Source projecten een tijd geleden die licenses nagelopen. Bij gnu.org staan ze allemaal op een rijtje (ook bij sourceforge.net). Het punt is allereerst: ben je volledig eigenaar van wat je gaat releasen? Zo nee, de license van de spullen die je hebt gebruikt, conflicteert deze met wat je wilt? (nl. vrijgeven/releasen van software). Ten tweede moet je voor jezelf goed uitmaken wat je wilt: t.a.t. ben JIJ copyright houder en niemand anders. Dmv de license geef JIJ rechten aan iemand anders, nl. de gebruiker van jouw software. Welke rechten e hoeveel en in welke situatie, hangt van jezelf af. Wil je dat commerciele projecten er gebruik van maken zonder jou te betalen? Wil je t.a.t. dat wijzigingen in sourcecodevorm vrij moeten worden gegeven? Allemaal zaken waar je goed over na moet denken. En niets is verplicht! Als jij vindt dat iedereen de vrijheid moet hebben te beslissen wat die persoon met jouw code gaat doen, als hij/zij maar niet gaat claimen dat die persoon de spullen zelf heeft geschreven (maar jouw copyright clause include), dan kies je bv voor de ultieme vrijheid en dan is de BSD(2) license iets voor jou. Wil je dat commerciele projecten geen gebruik mogen maken van jouw software, dan is bv de Mozilla license (zijn er meer met ong. dezelfde strekking) wellicht iets voor je.
Geloven jullie een beetje in het concept open-source?
Ik maak al heel wat jaren open source software en sporadisch levert het voordeel op. Lang altijd echter niet en ik vind de hype rondom open source dan ook sterk overtrokken, maar voor sommige projecten is het zeker een erg nuttige methodiek om aan ontwikkeling te doen. Men vergeet echter vaak dat de gebruiker het niet interesseert dat de source beschikbaar is, als het maar werkt. De gebruiker snapt al helemaal niet de inner works van een soms groot pakket en bugfixing is dan al uitgesloten. En dat terwijl software toch wordt geschreven om te worden gebruikt!
Hoe denken jullie over 'viral open-source', zoals de GPL?
Om hierover te kunnen oordelen moet je de filosofie van Richard Stallman (RMS) begrijpen. Die redeneert zo dat het begrip 'bezit' moet verdwijnen: iedereen moet kunnen beschikken over producten en resources zonder daarbij belet te worden door concepten als 'bezit'. (maw: alles is van iedereen). Dit komt tot uiting in de GPL license en dan met name in het virale karakter ervan: link je je GPL programma met een lib die niet GPL-ed is, of andersom: link jij je non-GPL code met een GPL-ed lib, dan moet jouw programmatuur ook GPL-ed worden.
Ik deel de mening van RMS niet omtrent 'bezit', en dus ook niet de filosofie van de GPL. Ik vind dat wanneer ik tijd, geld en moeite steek in een stuk software, ik daar ook de copyrights van bezit en dus daar rechten aan kan ontlenen, bv hoe ik die verspreid. Door de filosofie van RMS door te voeren in de GPL, komt het er op neer, dat in een ultiem geval ik software die al beschikbaar is, edoch in GPL-ed vorm, opnieuw moet schrijven omdat ik niet wil dat mijn applicatie, die bv 100x de omvang is van de GPL-ed software lib die ik gebruiken wil, ook GPL-ed wordt. Ik vind dit een zware vorm van onbenulligheid, temeer omdat functionaliteit gedeeld wordt, niet sourcecode, en er dubbel werk moet worden verricht omwille van een politiek idee dat niets met software development an sig te maken heeft, maar wel door middel van software development wordt verspreid.
Het is echter ieders goed recht die mening wel te delen en wel de GPL aan te hangen. Ik kies echter liever voor de BSD license, want die biedt in mijn ogen zowel FREE software als free beer als FREE software als in free speech: men kan doen met de source wat men wil, hetgeen ik ook wil, anders had ik de sourcecode niet gereleased.
Het virale aspect is overigens wel te omzeilen in de GPL: maak een com object dat linkt met de GPL-ed lib en gebruik het com object in je eigen code. De link tussen COM object en je eigen code is alleen bestaand at runtime, wat niet gedekt wordt in de GPL. Ik laat even in het midden of iemand in de VS, RMS in dit geval, kan beslissen wat ik met mijn programmatuur moet gaan doen. Ik denk dat hij een zware klus heeft dat te bewerkstelligen, zeker gezien het feit dat het opdringen van de filosofie van de GPL op de software die gebruikmaakt van de GPL-ed software gebeurt via 'linking', wat een fuzzy begrip is in een wereld van JITs en VM's.
De Linux-kernel license bevat ook een uitzondering op de GPL om te voorkomen dat alleen GPL-ed code op de kernel kan worden gedraaid. (Anders zou bv Oracle for Linux ook GPL-ed moeten worden, omdat het gebruik maakt van de CRT van Linux en andere systeemlibs, die soms een GPL-license dragen).
Wat IMHO aangeeft dat veel mensen wel dingen roepen over de GPL, maar weinigen echt er volledig achter staan voor de 100%. (Wat imho ook een vrij anarchistische denkwijze vereist).
Ik vind echter wel, dat zodra je willens en wetens met een source bezig gaat en dus weet van de license op die sourcecode, je de gevolgen daarvan moet respecteren: wijzig je dus iets aan een GPL-ed stukje software en release je een executable met alleen de oude source, niet jouw gewijzigde code, dan ben je IMHO verkeerd bezig, en nog strafbaar ook, omdat je geld vraagt voor software waarbij je niet aan de license hebt voldaan. Het virale aspect van de GPL is IMHO echter verwerpelijk en onnodig voor het bouwen van goede software.