20

I've spotted a nice WordPress (GPL) theme for sale.

I know somebody who bought it.

I have 2 questions:

  1. Has the company selling it the obligation to send the source code to whoever (customers or not) ask it?
  2. Can the person who bought it give me a copy for free which I could use in production?
nobody
  • 848
  • 7
  • 12
Serge
  • 861
  • 2
  • 6
  • 12
  • 2
    That's not a loophole, that is the express intention of the GPL. – Hellion Mar 24 '14 at 16:05
  • I didn't pick the title, mine was "Can one get it for free thanks to GPL?" – Serge Mar 24 '14 at 16:18
  • 6
    yes, so long as you do not commercially bundle it and/or alter it. If you alter it, you must give your changes away "for free" too. GPL is an "anti-business" license. Other licenses like Apache version 2 are "pro-business" and allow you to repackage and sell the code/product. – SnakeDoc Mar 24 '14 at 20:27
  • 3
    His changes don't have to be given away for free, they have to be GPL licensed. You can still require a fee, but your customers have the full right the GPL gives them. – RemcoGerlich Mar 24 '14 at 21:46
  • 9
    @SnakeDoc The GPL is no more 'anti-business' than a commercial licence is 'anti-free'. In fact the GPL depends on exactly the same principle as commercial software companies do i.e. if X writes original code, nobody has a right to that code unless they agree to whatever terms X imposes on its use. Those conditions might be payment for a binary and agreeing not to reverse engineer, or they might be the terms of the GPL. The principle is the same in each case. Unless you mean that intellectual property rights *in general* are 'anti-business'? – cfr Mar 25 '14 at 02:37
  • @SnakeDoc You are flat wrong. The GPL has nothing to do with payment and most certainly does not provide for "anyone to obtain GPL software without paying for it". It confers certain rights to recipients of the software (such as access to source, but this is only required after a direct request, it is *not* a requirement to set up a public, anonymous download location the way Red Hat does, for example), regardless the conditions under which it was received, granted that distribution was deliberate. – zxq9 Mar 25 '14 at 04:41
  • 3
    @zxq9 it is exactly that, a requirement for the sourcecode to be publicly available free of charge to anyone who wants it. Whether that's an anonymous download server or an email address you can send a message to and they ship you a CD with the source doesn't matter, but it must be available. And there can be no restrictions on you then spreading that product in competition to the creator. – jwenting Mar 25 '14 at 08:07
  • For wordpress themes isn't the theme the source? Is there anything other than the thing itsself to request anyway? – JohnB Mar 25 '14 at 08:15
  • IANAL however to the best of my understanding the fact that word press is open source does not automatically make the themes open source. Care must be taken however, if the company bundles wordpress and the theme together the whole bundle has to be open source - and in this case the theme would be open source as well. But if the company only delivers the theme nothing in GPL prevents them from making their own choices for how to licence the theme. Also, as the answers note, you are allowed to charge for GPL'ed distribution. – Taemyr Mar 25 '14 at 08:21
  • I wonder if the people who whine about the GPL being "anti-business" also complain that Apple and Microsoft are "anti-business" because you're not allowed to repackage and sell Windows or Mac OS X. –  Mar 25 '14 at 10:54
  • @jwenting You really are misunderstanding the GPL. There is absolutely no such requirement ... show me where in the text of the GPL you believe you are seeing that. An exact quote please. In fact the GPL 2 requires that you use physical media for people you have distributed binaries to (but of course to no one who you have not distributed to). There is never a requirement to give source to anyone you have not distributed to, and distribution can be paid and often is. – Elin Mar 25 '14 at 12:59
  • zxq9 I don't recall stating it had to have a public server for download? everything you said, I already said in my original comment. The GPL is "anti-business" because you cannot sell it's source in your business product without disclosing your full source of your business product. And @cfr yes that is the same thing as a commercial license. A commercial license is likely "anti-business" as well since you cannot open the source code, modify and re-sell that product without the consent from the original licencor. I fail to see your point, nor the difference. – SnakeDoc Mar 25 '14 at 14:45
  • I think a lot of people are missing the core concepts of what it means for a license to be "anti business". This phrase implys the licensing of the source does not permit a business to take said source, manipulate it or not, and repackage it and sell it as their own product. This does mean licensing on most closed-source commercial products are indeed "anti-business" in this sense. I cannot purchase Oracle DB, and then resell it as SnakeDocDB. But, I can take Tomcat7, modify it, and package it into my "vendor app" then sell that to my customers. This is what it means to be "business friendly" – SnakeDoc Mar 25 '14 at 14:52
  • 1
    @SnakeDoc That would make commercial licences 'anti-business' but the GPL would be 'business-friendly'. – cfr Mar 25 '14 at 17:04
  • @cfr I think we've stumbled upon the age-old philosophy debate surrounding these licenses. There is a time and place for all license types. GPL is "anti-business" in the sense that most companies selling software are not going to be happy about being obligated to release source code. Commercial licenses are "anti-business" in the sense that you cannot do anything with the source at all usually (or are very restricted). Other licenses are the "I don't care what you do" type, such as MIT and Apache. Everybody has a favorite license, but you should understand the implications of each. – SnakeDoc Mar 25 '14 at 17:07
  • @cfr Most companies shy away from GPL licenses out of fear of being compelled to release source, and/or release their product under the GPL. GPL was designed to be "viral" in the sense that any derivative works must also be GPL and have available source. Companies often view anything that compels them to do something as aggression. An Apache, MIT, BSD, licenses don't compel the business to do anything if they don't care to, and they can license their complete product under whatever license they want. I'm not saying GPL is bad, but it has a place. Usually not in business. – SnakeDoc Mar 25 '14 at 17:11
  • @SnakeDoc I know. I just meant that the definitions you gave had that implication. I know what they say. I happen to disagree but that's a different issue. – cfr Mar 25 '14 at 17:13
  • @SnakeDoc Its not anti-business it is pro-customer. There is a difference. It is a huge mischaracterization, by Stallman's own statements, to call it anti-business. It *does* change the software business model radically, however, to one that favors client self-determinism with regard to stack/feature/format/patch combinations and, most importantly, places the emphasis on services and hardware and away from package software. Some really huge corporations are based on this model, as is my really tiny one. – zxq9 Mar 25 '14 at 21:36
  • @zxq9 as I said, we've stumbled into license philosophy now, and nobody will win that argument. Although I agree in spirit that consumers should be able to use any software how they want, even modify source, the realities are in today's time, most businesses don't see it this way, nor want it. For my pet projects, I prefer Apache for "end user" software, and GPL (and similar) to frameworks and platforms. Good example of this in the real world is the Xen (GPL). Citrix takes that, and distributes (with source). Their business model is supporting the platform. Not everyone can do this and make $$ – SnakeDoc Mar 25 '14 at 22:26
  • @SnakeDoc "Not everyone can do this and make $$" is no justification for the invention of unnatural and unenforceable laws. In other words, the law should not be used to defend unworkable business models -- this may be philosophy, but its at the core of most national constitutions. That said, you're hitting a really good point about for-business licensing: infrastructure lends itself to GPL/LGPL and user-end lends itself to Apache-ish (or even restricted-source) licensing. – zxq9 Mar 25 '14 at 23:38
  • @zxq9 Touché! ;-P – SnakeDoc Mar 26 '14 at 05:40
  • 1
    Which version of GPL? – Martin Schröder Mar 29 '14 at 14:51
  • "GPLv2 (or later)" taken from http://wordpress.org/about/license/ – Serge Mar 31 '14 at 12:21

3 Answers3

45
  1. The company selling it has no obligation to distribute source to anyone except people to whom they have given binaries. So no, they don't have to give you anything.

  2. Someone who has purchased GPL software does have the right to request source and subsequently redistribute that source to anyone under the terms of the GPL. If you can find a customer willing to give you a copy, that will work.

nobody
  • 848
  • 7
  • 12
  • 5
    I hadn't really thought about it that way, but you're right; sellers have no obligation to put a link on their website so that *anyone* can get the source. Nor is a customer obligated to provide that source to anyone else if they don't want to, although the selling company cannot legally prevent such distribution. – Robert Harvey Mar 24 '14 at 15:34
  • 3
    @RobertHarvey: that is true, however, if the customer distributes the binaries, then they also have to distribute the source. – whatsisname Mar 24 '14 at 15:39
  • Right; they have the same obligation as the seller in that regard. – Robert Harvey Mar 24 '14 at 15:40
  • @Hellion So, if I ask the seller for the source code, they ought to give it to me? – Serge Mar 24 '14 at 16:21
  • 1
    @Hellion: That is not what 2b means. It's what allows second parties to re-distribute works freely (i.e. it implements my #2). Obligations of the first party to offer and distribute source are covered in section 3. – nobody Mar 24 '14 at 16:23
  • @Serge: Not necessarily. – nobody Mar 24 '14 at 16:24
  • @AndrewMedico You are quite correct, my mistake. Section 3 comes closer in that the seller must either (a) give out the source code with the executables or (b) make the source code available on request to all third parties [there's a point C but it's for noncommercial only]. – Hellion Mar 24 '14 at 16:30
  • The GPL like all OSI licenses gives you the right to: run, study, modify, and share code that you have legitimately obtained. The GPL requires that you pass those rights on to anyone you share with. The GPL has nothing to do with whether the code on the original author's site is available to anyone or if that author charges for copies. You can also charge for the copy in redistributing and that's fine too. – Elin Mar 24 '14 at 17:05
  • @Serge If *you* bought the program from the original vendor, then the vendor is indeed obliged to provide you with the "preferred form for modification" as well as any compiled form; for a WP theme it seems to me that these would be the same thing, unless they ran the PHP through some sort of obfuscator. But if you didn't, then they don't. Similarly, if someone who bought the program from the original vendor passes it on to you, then *they* have to give you the source if you ask. But they have no obligation to pass it on in the first place. – zwol Mar 24 '14 at 23:56
  • Also, I suppose there's nothing to say that the vendor can't write into the sales contract that buyers may not redistribute source; in which case the "conditions that contradict this License" clause (GPL3 para 12, GPL2 para 7) kicks in and says the buyers may not redistribute the program at all. – zwol Mar 24 '14 at 23:59
  • 1
    @Zack But then the vendor could not sell the programme to the buyer either. The vendor cannot add conditions restricting the freedoms of the buyer. They cannot exchange the programme at all but they cannot sell/give/share it while restricting the buyer's freedoms. – cfr Mar 25 '14 at 02:28
  • @cfr If the vendor holds the copyright on 100% of the code, then their *own* act of distribution is not constrained by the GPL (because they didn't have to use the GPL in the first place; and IIRC GPLv3 at least specifically says that it doesn't take away any rights you have under copyright law). It would be a perverse thing to do though; why not just use a proprietary license in the first place? – zwol Mar 25 '14 at 02:41
  • @cfr ... And in this case, where the theme is at least notionally a derivative work of Wordpress core, you're right: if the vendor did that, they would be in violation of the GPL *as applied to Wordpress core* and the Wordpress core developers could sue them. – zwol Mar 25 '14 at 02:42
  • @Zack. You are right, of course. I was assuming that the vendor did not own 100% of the code for just the reasons you state. It isn't clear to me that they would be distributing under the GPL at all, but that would obviously be their rights not to do so. (That is, it seems to be that such conditions would effectively neutralise the GPL's conditions so it would be more-or-less meaningless to say the GPL applied. But I'm not a lawyer.) – cfr Mar 25 '14 at 02:51
  • @cfr Yeah, that's what I meant when I said it would be a perverse thing to do. – zwol Mar 25 '14 at 02:51
  • Usually in PHP applications we would consider javascript a media file so theme vendors can use a more restrictive license on the media, subject to the licensing of any js framework they use. Usually the PHP in themes extends the core application in some ways ... and of course theme makers cannot copy any code at all from GPL themes and then license under something else. This was a big controversy in the WP community a few years ago. – Elin Mar 25 '14 at 13:08
5
  1. FOR ALL PRACTICAL PURPOSES, under the GPL, if the company does not distribute the source code WITH the binary, then the company is obligated to give the source code to anyone who requests it.

    Scenario: AcmeSoft distributes a widget binary under the GPL selling it to Betty, accompanying it with a promise to deliver the source on request. Betty redistributes a copy of the binary to Chuck. Chuck gives a copy of the binary to Dave. Dave passed it along to Eddie. Eddie gives it to Freddy. Freddy asks Eddy for the source code. Eddie calls Dave. Dave says "Talk to Chuck." Chuck says "Talk to Betty, I got it from her." Betty tell Chuck to "Call AcmeSoft." The message gets back down to Freddy, and Freddy calls AcmeSoft.

    At this point, under the GPL, AcmeSoft is absolutely obliged to give Freddy the source code.

    It does not matter how long the Betty-Chuck-Dave-...-Iola-...-Tomas chain might be. At each step in the chain, distributing the binary obligates the distributor to make the source available, as provided in the GPL, and confers upon the recipient the right to receive the source code from the appropriate person higher up the chain.

    In theory, the company could demand that Freddy prove that he in fact has a copy of the binary. In fact, a company that did that would get a very lousy reputation, very quickly.

    The company MAY demand a token payment, to cover their actual reasonable duplication and distribution costs. Back in the Dark Ages of Big Iron, that covered the cost of a magnetic tape, the labor of writing the tape, and the cost of postage. Today, in the day of the World Wide Web, that cost is negligible, if not actually too small to bother measuring.

    Now, IF AcmeSoft had instead distributed the source WITH the binary, they would be allowed to tell Freddy that they had done so, and that he should have received the source with the binary he received from whoever gave it to him.

  2. Yes, absolutely. The GPL specifically forbids the licensor or any subsequent distributor from imposing additional restrictions on subsequent down-the-chain distribution of binary OR SOURCE.

    Stallman et al actually went to a great deal of trouble to rig the GPL so it would work this way, so that nobody would be able to "take the code private", the way someone allegedly did with an early version of EMACS. That episode left a VERY bad taste in Stallman's mouth, after he was forced by the threat of litigation to rewrite his baby.

svick
  • 9,999
  • 1
  • 37
  • 51
John R. Strohm
  • 18,043
  • 5
  • 46
  • 56
  • You failed to define "anyone". If I write software and sell it to Company Z under private contract and deliver it to them under the GPL then any Company X, aware but entirely uninvolved in the transaction, cannot force me or Company Z to provide them the source, though it is entirely legal for either of us to do so for charge or for free (the terms are our own to dictate). – zxq9 Mar 25 '14 at 04:44
  • @zxq9 according to the GPL you can. Whether that's enforcable in court has AFAIK never been tested and quite likely it isn't. – jwenting Mar 25 '14 at 08:08
  • 3
    I don't think this really answers the question; you can't just dismiss the requirement that Freddy ought already to have a copy of the binary in order to demand the source off AcmeSoft. It may be that Betty is the only one who has paid for the binary, and she's not giving out free copies to anyone. The questioner can ask his friend for a free copy, but if they refuse then morally he has no right to demand it from the seller. – Ian Goldby Mar 25 '14 at 11:02
  • 1
    @jwenting: "according to the GPL you can" - you can what? I see nothing in the GPL (2 or 3) that requires one person to deliver source code to a second unless that second person has already received a binary copy. – Simon B Mar 25 '14 at 13:56
  • @zxq9 I have yet to find a company that is OK with me delivering software I wrote *for* them and I licensed it under the GPL. In fact, people have been fired over including GPL'ed code in a corporate product (remember Microsoft's bout with some GPL'ed code recently?). Blindly loving a license does us no good here. Please understand the time and place GPL belongs. Some companies are open and love GPL, most selling end products do not. GPL is not the only way to do open source. I love Apache license because I don't care what others do with my code, closed or open. That's just me though. – SnakeDoc Mar 25 '14 at 17:52
  • @SnakeDoc I've been contracted to do exactly this more than once. Its not the normal situation, but it happens. Most often what happens, though, is that my company gets contracted to add features to an existing set of software a company already depends on (Postgres, Apache, etc.) that is already GPL (or similar). We can't change the license, so its GPL, but the software delivered is entirely custom by contract. Those changes effectively create a private branch of the software that exists only within the client, and nobody can force the client to give it to the public. – zxq9 Mar 25 '14 at 21:28
  • @jwenting You are wrong. Read what the license says, don't believe what you wish it says -- there is clearly some distance between these. – zxq9 Mar 25 '14 at 21:30
  • @zxq9, in the scenario you describe, as long as your client NEVER distributes the binary to the modified work, they can keep their changes closely-held. However, recall that they initially acquired the base code via the GPL. This imposes a requirement on them that any modified versions they make be distributed under the GPL or not at all. The moment they distribute a modified binary, the source release obligation comes crashing down on their corporate head. – John R. Strohm Mar 25 '14 at 21:37
  • @JohnR.Strohm Absolutely. What is missed by some partitipants here is that it only requires they release source to the party they distribute the altered binaries to, not the world at large (unless they are distributing to the world at large). But release is usually not their plan. The vast majority of open-source hacking that Google, Microsoft, Amazon, Facebook and other companies with huge infrastructure pay for are this way. They see a benefit in keeping a project internal (at least while it confers an advantage) but leveraging the huge headstart a FOSS project gives them. – zxq9 Mar 25 '14 at 21:56
  • @zxq9 the scenario you describe is highly unusual (as you noted). I think everyone understands the obligation is only to distribute your source to whoever you provided a binary to. The risk (in a business' eyes) is if that individual now makes and (re)distributes a binary using some or all the source (making it a derivative work). Now your customer is distributing your source to others, so on and so forth. The very design of GPL is to "liberate all software" so-to-speak. It's viral by design and nature and intent. Most businesses do not want this for end-user products. They view it as hostile. – SnakeDoc Mar 25 '14 at 22:29
  • @zxq9 I've found myself in multiple situations of having a very nice piece of code, but unable to use it because it's GPL'ed and my project is Apache or proprietary. GPL not only requires you distribute source for anyone you provide binaries to, but it also requires you to license your "derivative work" under the GPL. A "derivative work" can be simply by statically linking to a GPL'd lib. I'm not saying GPL is bad in any way. But there are times and places certain licenses are more appropriate. Understanding the types of licenses is critical to avoid any headache later on. – SnakeDoc Mar 25 '14 at 22:33
  • @SnakeDoc I believe that we are mostly experiencing violent agreement brought on by ambiguities in prior expression catalyzed by a few wildly off-base comments. – zxq9 Mar 25 '14 at 23:24
  • @zxq9: Not quite. The requirement in the actual language of the GPL is to give the source on request to anyone who HAS the binary, not just to anyone who got the binary directly from them. That's the point of the Betty-Chuck-Dave-Eddie-Freddy chain. The GPL explicitly forbids everyone involved at any point form restricting redistribution of binary or source. – John R. Strohm Mar 26 '14 at 12:39
  • @JohnR.Strohm If this were true then dual-licensing would be impossible. Cases of copyright or license enforcement under non-GPL terms of dual-licensed software (Qt libraries, for example) demonstrate this interpretation as false. – zxq9 Mar 27 '14 at 01:47
  • 1
    @zxq9 http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#CanIDemandACopy would seem to imply that X would not be able to compel Z to give them the binary or the source. – Andrew Christianson Mar 28 '14 at 02:03
  • @DrewChristianson Not sure why you directed that at me, but that's a great reference. This was one of my main points in the exchange above with jwenting. – zxq9 Mar 28 '14 at 04:11
  • @zxq9 seemed germane to your first comment. I admit I didn't read the entire exchange... – Andrew Christianson Mar 28 '14 at 05:31
  • 1.: No. There is no contract between Freddy and Acmesoft, only between (Eddie and Freddy) and (Acmesoft and Betty). Freddy can request the source from Eddie, and Eddie from Dave, ... and Betty from Acmesoft. I seriously doubt that these contracts are transitive - but IANAL. – Martin Schröder Mar 29 '14 at 13:30
  • @MartinSchröder: Section 10, first sentence, of the GPL says "Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License." That's your transitivity right there. Betty gave it to Chuck, and Chuck automagically got the license from AcmeSoft. Chuck gave it to Dave, and Dave got licensed. Ditto Eddie and Freddy. At the end of the chain, there most certainly is a license between AcmeSoft and Freddy. – John R. Strohm Mar 29 '14 at 14:43
  • @JohnR.Strohm: That's GPL3. I was writing about GPL2. :-) – Martin Schröder Mar 29 '14 at 14:50
  • @MartinSchröder: **ALL** versions of the GPL are transitive that way. GPL2 **AND** GPL1 section 6: "Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein." – John R. Strohm Mar 29 '14 at 17:10
  • 1
    You're both misreading. The original licensor has given a license to run, modify and propogate, meaning that you can't take that away by being an intermediary. The licensor used GPL to prevent you from imposing a license for that code on the people you distribute to that does not ensure the GPL rights. Nowhere does that say that the original licensor has to provide a copy to any indirect recipients. I'm under no obligation to maintain my download site forever if everyone I directly distributed binaries to has their copy of source. A license to use is not a contract. – Elin Mar 30 '14 at 19:07
  • @Elin: I believe you are mistaken. Scenario: AcmeSoft distributed the binary to Betty, but, rather than including the source, included a promise to supply the source upon request. Betty gave a verbatim copy of the binary to Chuck, with the promise intact, as permitted under Section 4 of GPLv3. Under Section 6, item b, of GPLv3, AcmeSoft is now on the hook to give Chuck a copy of the source. – John R. Strohm Mar 30 '14 at 19:26
  • 1
    Nope, sorry, they have no idea at all for example if it has been modified or anything else. There is no basis for assuming that the copy that Chuck got is the same code at all. It's a license governing use by everyone from Betty forward. Betty has a right to the source, if people want source from her, they need to go through her. She should not have distributed without getting the source because she's in trouble if Acme shuts down. – Elin Mar 31 '14 at 00:28
  • @Elin, read GPLv3 section 6b. Pay particular attention to where it says "anyone who possesses the object code". Observe that it does NOT say "anyone who got the object code directly from us". Presumably, AcmeSoft is distributing their stuff under the GPL because they incorporated GPL'ed code into it, and THEY are required by the GPL to make THEIR source available downstream. – John R. Strohm Mar 31 '14 at 04:52
  • The code I get from Betty is not the code I get from the original author. That is a given, for all you and I know it is filled with malware, the GPL allows that under the right to modify. If Acme incorporated someone else's GPL code that is a very different situation than what has been described thus far, which is that Acme wrote GPL code. If you want to change the scenario to Acme got the code from me, yes absolutely my licensing of my original code under the GPL means they must provide the modified, unmodified, or extended source under the GPL. – Elin Mar 31 '14 at 05:44
4

WordPress themes, like the themes for many GPL web applications (including Joomla) are made up of many parts. This may include: PHP, javascript, images, CSS, and LESS.

While the analysis by WP and Joomla as projects is that the PHP in themes must be GPL (I'm not going into an explanation of this), the other parts of the themes, assuming they stand alone, are not necessarily GPL licensed. So theme makers may be able (or even required) to restrict distribution of those parts of the theme. Further those elements may have their own licenses.

For example, a theme maker may have licenses for certain fonts, images or javascript that impose certain restrictions. Further, they may even potentially include some standalone PHP classes or libraries that or not GPL at all.

Without going into all the gory details, depending on the template, your friend may or may not be able to give you the full source code for every single thing or all elements. Likely the friend can give you some pieces of the source code.

Of course, if all elements of the theme are under the GPL then the GPL applies to everything. In that case you friend can pass on everything.

Elin
  • 614
  • 3
  • 7
  • this post is rather hard to read (wall of text). Would you mind [edit]ing it into a better shape? – gnat Mar 25 '14 at 13:25
  • 1
    @gnat Okay check it now. – Elin Mar 25 '14 at 19:34
  • (IANAL) This answer is almost 10 years old but I'd like to add something anyway since this question is easily found via Google: bundling GPL code with non-GPL code and then selling it is not necessarily allowed. For example, combining GPL code and proprietary code in a binary and selling that without also distributing the full source code is explicitly disallowed, supplying "parts" of the functional binary is not enough. I'm not sure if distributing "50/50" WP themes with part GPL code is allowed **if** it's unusable without the proprietary components. – pzkpfw Feb 01 '23 at 10:19
  • All that is true, but it's not relevant for themes, which are not distributed as binary and which have parts that *may* stand alone. Sure you can take away the CSS, Javascript, images and fonts and the theme itself will still work because that is how they are designed. – Elin Feb 03 '23 at 05:51