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?
  • 2
    That's not a loophole, that is the express intention of the GPL.
    – Hellion
    Commented Mar 24, 2014 at 16:05
  • 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
    Commented Mar 24, 2014 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. Commented Mar 24, 2014 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
    Commented Mar 25, 2014 at 2:37
  • 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
    Commented Mar 25, 2014 at 8:07

3 Answers 3

  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.

  • 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. Commented Mar 24, 2014 at 15:34
  • 3
    @RobertHarvey: that is true, however, if the customer distributes the binaries, then they also have to distribute the source. Commented Mar 24, 2014 at 15:39
  • Right; they have the same obligation as the seller in that regard. Commented Mar 24, 2014 at 15:40
  • 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
    Commented Mar 24, 2014 at 16:23
  • 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
    Commented Mar 25, 2014 at 2:28
  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.

  • 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
    Commented Mar 25, 2014 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
    Commented Mar 25, 2014 at 13:56
  • 1
    @zxq9 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. Commented Mar 28, 2014 at 2:03
  • 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
    Commented Mar 30, 2014 at 19:07
  • 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
    Commented Mar 31, 2014 at 0:28

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.

  • this post is rather hard to read (wall of text). Would you mind editing it into a better shape?
    – gnat
    Commented Mar 25, 2014 at 13:25
  • 1
    @gnat Okay check it now.
    – Elin
    Commented Mar 25, 2014 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
    Commented Feb 1, 2023 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
    Commented Feb 3, 2023 at 5:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.