Nyheter, Prylar, Android, Mobiler, Appnedladdningar, Android

Är alla betalda WordPress-plugins tekniskt gratis under GPL?

Då och då, som utvecklare, kan du stöta på diskussioner om licensiering och juridiska krav för de produkter du utvecklar.

För WordPress-utvecklare som jag själv, särskilt de som arbetar med att skapa plugins, är den största stötestenen GPL och vad det betyder för ditt företag.

Diskussionen härrör från användningen av GNU Public License Agreement, som WordPress använder för sitt CMS i allmänhet, och som många projekt med öppen källkod använder som ett sätt att förhindra att någon tar sina projekt privata och placerar dem bakom en betalvägg.

Vad betyder det dock för plugins? Tja, det finns en viss debatt. Det är faktiskt ganska intressant:

30 sekunders sammanfattning

Diskussioner kring licensiering är vanliga i utvecklingsgemenskapen, särskilt angående GNU Public License (GPL)-avtalet och dess konsekvenser för WordPress-plugins. Åsikterna om att det tillämpas på härledda verk (plugins eller teman) är delade, med vissa hävdar att alla teman och plugins bör vara gratis på grund av GPL:s natur. Men GPL tillåter också försäljning av den licensierade koden. Det som ofta betalas för är uppdateringar, säkerhet, API-åtkomst, avancerade funktioner, support, pågående utveckling och etisk sinnesro.

Vad är GPL?

Låt oss först prata lite om GPL.

GPL är GNU General Public Licenseoch det anses allmänt vara den godkända licensen att använda för kodningsprojekt med öppen källkod. Det är inte den enda gratis och öppen källkodslicens där ute, men det är en av de vanligaste.

WordPress i sig är en gemensamt skapad plattform med öppen källkodsprinciper. Du kan själv gräva i koden och ta en titt, eller till och med överväga att hjälpa till att samarbeta deras offentliga GitHub-sida. Genom att licensiera WordPress under GPL säkerställer de att ingen bara kan kopiera sin kod, göra några ändringar och licensiera den privat.

En av de största delarna av GPL är i själva verket licensen som sträcker sig till härledda verk. Det är hur projekt med öppen källkod skyddar sig själva, och det är en rättslig ram för att försvara annars öppen immateriell egendom.

Är teman och plugins härledda?

Vad är ett härlett verk? Tja, det är en fråga som kan diskuteras.

Många människor, inklusive WordPress själva, anser att saker som WordPress-plugins och teman är härledda verk.

Här är vad WordPress har att säga om det direkt:

“En del av den här licensen beskriver krav för härledda verk, såsom plugins eller teman. Derivat av WordPress-kod ärver GPL-licensen. […] Det finns en viss juridisk gråzon när det gäller vad som anses vara ett härlett verk, men vi känner starkt att plugins och teman är härledda arbeten och därmed ärver GPL-licensen. Om du inte håller med, kanske du vill överväga en icke-GPL-plattform som Serendipity (BSD-licens) istället.”

WordPress citerar också Drupal, en liknande plattform-med-plugin-tjänst som använder GPL, för sin sida om konsekvenserna av licensen på plugins. Drupals sida är här och går igenom många vanliga frågor och scenarier.

Allt detta tar dig till den naturliga frågan.

Om GPL är för fri programvara, och om licensen sipprar ner och gäller härledda verk, och om härledda verk inkluderar teman och plugins, borde inte teman och plugins vara gratis?

Ett konstigt trick

Låt mig fråga dig detta: om det är helt lagligt att få en sak gratis, men alla inblandade i branschen verkar vara nöjda med att betala för det, varför är det så?

Det finns tusentals och åter tusentals WordPress-plugins och teman tillgängliga, både fritt i WordPress-katalogerna och för pengar på otaliga enskilda webbplatser och marknadsplatser som Envato och derivatsajter. Hur skulle någon av dessa existera om allt de säljer kan fås gratis?

Människor som tror att GPL gör alla plugins och teman gratis försöker utnyttja detta “ett konstiga trick” för att få betalt innehåll gratis.

Men här är grejen: de har typ rätt. Mer om det senare dock.

Detta har varit föremål för intensiv debatt i över 15 år vid denna tidpunkt. Den ursprungliga grundaren av WordPress, människorna bakom GPL, och många människor inom alla sfärer, från mjukvaruutvecklare till advokater, har vägt in i samtalet.

Den knepiga delen ligger i hur GPL definierar plugins, teman och härledda verk. När du läser in i situationen kommer du till det läs så insiktsfulla avsnitt som:

När betraktas ett program och dess plugin-program som ett enda kombinerat program?

Det beror på hur huvudprogrammet anropar sina plugin-program. Om huvudprogrammet använder gaffel och exec för att anropa plugin-program, och de etablerar intim kommunikation genom att dela komplexa datastrukturer eller skicka komplexa datastrukturer fram och tillbaka, kan det göra dem till ett enda kombinerat program. Ett huvudprogram som använder en enkel gaffel och exec för att anropa plugin-program och inte etablerar intim kommunikation mellan dem resulterar i att plugin-programmen är ett separat program.

Om huvudprogrammet dynamiskt länkar plug-ins, och de gör funktionsanrop till varandra och delar datastrukturer, tror vi att de bildar ett enda kombinerat program, som måste behandlas som en förlängning av både huvudprogrammet och plug-ins. Om huvudprogrammet dynamiskt länkar plugin-program, men kommunikationen mellan dem är begränsad till att anropa plugin-programmets “huvudfunktion” med några alternativ och vänta på att det ska återvända, är det ett gränsfall.”

Vettigt, eller hur?

Tja, inte riktigt. Sättet som moderna datorer, mjukvara och operativsystem fungerar betyder det ett många olika saker kan begreppsmässigt hävdas falla under licensen som de flesta människor definitivt inte skulle tillskriva som samma system.

I officiella diskussioner mellan GNU och WordPress var den allmänna uppfattningen att plugins och teman är det i allmänhet härledda verk. Det är teoretiskt möjligt att bygga ett isolerat plugin som inte interagerar med resten av WordPress på ett sätt som gör att det inte ärver GPL, men realistiskt sett är det ingen som bryr sig om att göra det eftersom det eliminerar i stort sett alla anledningar till att du skulle behöva gör det till ett plugin i första hand.

Så, med den bredaste läsningen, tekniskt sett, ja, de flesta betalda plugins skulle falla under GPL och kunde fås och distribueras gratis.

Men det finns två anledningar till att det inte är så det hela skakar ut i praktiken. Åtminstone i de flesta fall.

Kodens grumliga vatten

Det är här det blir lite mer komplicerat. Vad är ett plugin när du kommer direkt till det? Det är kod, och den koden innehåller saker som PHP, CSS, JavaScript, HTML och till och med bilder och copywriting inuti plugin-programmet.

Det härledda arbetet med WordPress är endast PHP-koden. Allt annat – CSS eller JS, skriften, bilderna – ärver inte GPL och kan ha en annan, mer restriktiv upphovsrätt eller licens tillämpad på den.

Du kan se hur detta skakar ut i praktiken. Envatos marknadsplats använder ett delat licenssystem. I grund och botten är de överens om att PHP-komponenterna i ett plugin och dess integrerade HTML-element täcks av GPL som härledda delar av WordPress.

Allt annat täcks av Envato Market License.

Författare av plugins kan välja olika licenser, och många gör det. Vissa väljer att lägga allt under GPL och bara göra gratis plugins, stödda av annonser, eller genom donationer, eller bara som en hobby som de inte tjänar pengar på.

Per GPL är gratis inte alltid gratis

Ett annat sätt som detta blir grumligt är att, trots att det är en fri mjukvarulicens, tillåter GPL människor att sälja sin licensierade kod.

Det finns en hel del avsnitt om detta i deras FAQ.

Tillåter GPL mig att sälja kopior av programmet för pengar?

Ja, GPL tillåter alla att göra detta. Rätten att sälja kopior är en del av definitionen av fri programvara.”

Och

Om jag distribuerar GPLed-programvara mot en avgift, måste jag också göra den tillgänglig för allmänheten utan kostnad?

Nej. Men om någon betalar din avgift och får en kopia, ger GPL dem friheten att släppa den till allmänheten, med eller utan en avgift. Till exempel kan någon betala din avgift och sedan lägga upp hennes kopia på en webbplats för allmänheten.”

Finns två sådana passager.

Tekniskt sett kan du få ett plugin gratis om det plugin är helt licensierat under GPL. Du kan dock inte gå till en utvecklare och kräva att de ger dig en kopia gratis. Du skulle behöva få det från någon annan, och att någon annan skulle behöva ha betalat för det från början (eller i sin tur ha fått det från någon annan som hade betalat, eller… och så vidare.)

För plugins med delade licenser får du dock inte det alternativet. Du kan få den GPL-täckta koden, men plugins är vanligtvis tunga på icke-PHP-element, och att ha en hög med PHP kommer inte att hjälpa dig så mycket.

Vad du betalar för

Så låt oss prata om saker från ett annat perspektiv. Istället för att försöka hitta något lagligt kryphål för att få några plugins gratis, tänk på vad du faktiskt betalar för när du köper ett tema eller en plugin. Det här är både saker som är påtagliga för dig och saker som är immateriella.

1. Uppdateringar och säkerhet

Det kanske enskilt största du betalar för när du köper ett plugin är licensen för att få uppdateringar till det pluginet. När du får ett plugin gratis, när det plugin vanligtvis betalas, bra; du har en hög med kod. Det fungerar bra för nu, men vad händer om WordPress driver en uppdatering som bryter en kärnfunktion i pluginet eller temat du använde? Vad händer om det finns en exploatering i koden, antingen från WordPress eller plugin, som äventyrar säkerheten på din webbplats?

Du kan inte bara klicka på uppdateringsknappen och få en ny version av pluginet eftersom du inte har licensen för dessa uppdateringar. Du har koden, var nöjd med koden. Om du behöver en uppdaterad version, ja, du kan hoppa genom bågar för att få den på samma sätt som du fick den första gången. Förhoppningsvis har din källa uppdateringen, eller hur?

2. API-åtkomst och integrationer

Du kan få koden för ett plugin gratis, men vad ska du göra om det pluginet behöver API-åtkomst, antingen till utvecklarens servrar eller till ett tredjepartssystem, och du inte har den API-åtkomsten?

De flesta API:er är gated bakom betalväggar av något slag, och ditt lagliga kryphål för att använda GPL för att få pluginet skuldfritt kommer inte att ge dig tillgång till dessa servrar. Detsamma gäller andra integrationer som inte är med GPL-täckta system.

3. Avancerade funktioner och kodbaserad databehandling

Det finns många plugins som gör saker som att spåra användaranvändning, som värmekartadata, till exempel. Du kan få PHP-koden under GPL för att spåra all användardata, men vad hjälper den informationen dig? Du kanske bara får ett kalkylblad fullt av tidsstämplade koordinater och webbadresser; du får inte den snygga värmekartan eftersom den värmekartan är en del av JavaScript och annan kod som inte täcks av GPL. Visst, kanske heatmap-pluginet är helt GPLed istället för en delad licens, men det är något du måste verifiera.

Detsamma gäller allt som tar data, oavsett om det är från din webbplats eller från en annan källa som Google Analytics, och formaterar, tolkar eller visar den på ett nytt sätt. Att få rå analysdata är gratis; att visa det i snygga jämförande diagram kan använda proprietära skript.

4. Support och onboarding

En annan stor del av att betala för plugins är att få support. Gör det till och med arbete på din sida? Kanske finns det en konflikt med ett annat plugin, eller så har du gjort ett misstag när du installerade det, eller så kanske det är något fel någonstans.

Det är inte vanligt, visst, men när det händer är det säkert praktiskt att ha någon i utvecklarens besättning som du kan be om att hjälpa dig. Om du inte betalar för licensen har du ingen rätt att kräva deras tid eller uppmärksamhet. Onboarding är detsamma för större och mer komplexa system som kan kräva utbildning.

5. Pågående utveckling och förbättringar

En av de mer immateriella fördelarna med att betala för ett plugin är att hjälpa till att hålla utvecklarna runt. De flesta människor har inte lyxen att spendera timmar av sina veckor på ett passionsprojekt. Människor har jobb, familjer och ansvar. När du köper ett betalt plugin håller dina pengar dessa personer sysselsatta, håller deras uppmärksamhet på vidare utveckling och förbättringar och hjälper till att säkerställa att plugin kommer att fortsätta fungera i framtiden.

Om du någonsin har stött på ett plugin skulle det vara det perfektförutom att den inte har uppdaterats på fem år och inte fungerar med modern WordPress; Tja, det kan hända alla plugin-program om det inte är lönsamt att köra.

6. Säkerhet från ditt webbhotell

Den här är mindre vanlig, men det har varit känt att det händer. Många gånger, när du utnyttjar GPL kryphål för plugins, får du faktiskt inte plugin som den är. Det beror på att pluginet förmodligen har någon form av callback eller autentisering för att få det att fungera, och för att det ska fungera för personer som inte har köpt licenser måste det nollställas.

Vissa webbvärdar kanske kontrollerar, och om de upptäcker att du kör null-plugins kan de till och med avbryta ditt webbhotell. Återigen är det sällsynt, men det är känt att det händer då och då.

7. Etisk sinnesfrid

GPL, öppen källkodsrörelsen och skärningspunkten mellan den och WordPress är ett etiskt minfält. Vissa människor känner sig helt inom sina rättigheter att beväpna GPL för att få vad de vill gratis. Andra respekterar utvecklarnas gränser och projektets etik. GPL finns för att försöka göra världen till en bättre plats och för att främja samarbete mellan utvecklare, kodare och användare. Att använda det för personlig vinning, bara för att ta ett plugin gratis för personligt bruk, gynnar ingen annan än dig själv.

Återigen, även om det kanske inte är juridiskt fel – och i vissa fall inte ens etiskt fel – så är det ett övervägande.

Som webbplatsägare, gör det som är mest etiskt och moraliskt vettigt för dig.

Som utvecklare kan du överväga fullständiga GPL-utgåvor, en delad licens, en freemium-modell eller vad du vill, men kom ihåg att detta är ett landskap du behöver navigera i, och det är inte alltid lätt.

Vad tycker du? Lärde du dig något av detta? Har du några frågor till mig om WordPress-plugins eller GPL? Dela gärna i kommentarerna! Jag skulle gärna starta ett samtal om detta ämne.