Thesis and the GPL

My opinions are quite clear on this, as evidenced by my Twitter feed. The story and arguments are evolving quite constantly, so I don’t have any intention to boil everything down to a single post at this time.

But let’s put aside the what-makes-a-derivative-work argument, and stick to what’s quite obvious: If Thesis incorporated WordPress code that is licensed under the GPL, it is clearly a derived work violating the GPL by not in turn being licensed GPL.

I’m not talking about using the WordPress functions and classes. I’m not even going to make the argument that all themes derive not only from the WordPress functions they utilize, interact with, and are built on top of, but that in many cases they derive directly from the original default theme.

I’m talking about actually taking GPL code from WordPress code and modifying it. It’s a textbook violation of the GPL, one no one can argue. Some are trying to argue “fair use” and well, that’s absurd, but that’s not what I am aiming to address here.

Thesis 1.8 is currently 9,000 lines of PHP. (WordPress is 200,000.) I spent my evening yesterday skimming each line, and some sections looked familiar. Honestly, I felt crushed. Having made my accusations clear on Twitter, I wanted to back it up.

Let’s go to the code. You know what, others have already done that. (Andy Peatling, Drew Blas.)

Even better, let’s go to Thesis’ own inline documentation.

* This function is mostly copy pasta from WP (wp-includes/media.php),
* but with minor alteration to play more nicely with our styling.

This isn’t even a debate anymore.

Update (July 19): You should read Mark Jaquith’s post, Why WordPress Themes are Derivative of WordPress. This is an excellent summation of the opinions of the core team and the issue of whether themes are derivative works.

49 thoughts on “Thesis and the GPL

  1. Wow… that is damning!

    Keep good records of Thesis as it is today for the court case! I’ll bet they’re going to take that line out in an act of cover-up, or try to argue fair use in a case that’s obviously not fair.

    • It was released in Thesis 1.7, and there is a decent amount of GPL code in that version. Removing the comment or the code won’t help.

      • nice! just curious, does the comment really say “pasta” instead of “paste”?

        If yes, then that speaks to some of the sloppiness / “cleverness” in the Thesis code… like the save button that Thesis “Copy Blogger” Chris Pearson cleverly labelled “Big Ass Save Button”…

        just sayin’.

        • Yes, it does say “pasta.” I should have written [sic] but I didn’t want to in any way modify the comment. It truly does speak for itself on nearly every level.

          • I don’t know that it necessarily tags the Thesis developers as unprofessional. It’s common for developers refer to code that was copied and pasted from another source as “copypasta”, a term which is also used to refer to forum posts that are copied and pasted from another source.

            (None of which has any bearing on the GPL issue, of course; the admission of copying and pasting from WP source is pretty damning in that regard. I would just hesitate to call someone sloppy or unprofessional for using a bit of jargon such as this in a code comment.)

          • Yeah, I only meant that I didn’t feel it required any additional context and simply speaks for itself. I don’t subscribe to the notion that typos in inline documentation are indicative of unprofessionalness.

  2. I don’t think there’s any arguing this evidence, copying and pasting GPL code and releasing it under a restrictive license is textbook infringement.

  3. Wow. The hole is getting pretty deep here.

    Thanks for backing up the claims. There are enough *actual* problems that unsubstantiated ones just muddy things further.

  4. Even without those lines, the GPL says subclassing part of a GPL project means the whole work is GPL
    “In an object-oriented language such as Java, if I use a class that is GPL’ed without modifying, and subclass it, in what way does the GPL affect the larger program?

    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://bit.ly/aYgQ6o

    And as Andy Peatling pointed out (http://bit.ly/aCYOI8), Thesis 1.7 creates a subclass of the WordPress Walker class
    “class thesis_comment extends Walker {..” – /lib/classes/comments.php line 123

    So, there is a little doubt this theme specifically being a derivative product by the definition in the GPL license.

    Between your finds and this, I don’t see an argument that can be made on the other side…

  5. What about comments like: “* NOTE: This only works when called from inside the WordPress loop!” ? (thesis_17/custom-sample/custom_functions.php)

    • That just further supports the argument that themes, and Thesis in particular, are derivative of WordPress. I really don’t wish to get into that argument here. As clear and convincing that is the case, it’s much simpler than that — GPL code has been and is still in Thesis. That makes Thesis GPL.

      I really don’t understand why Chris doesn’t just go GPL. The community is fully prepared to embrace him. His artwork, design, CSS, and any JavaScript (that doesn’t interact with WP Javascript) does *not* need to be GPL. Only the PHP/HTML is clearly derived from WordPress.

      • The attacks started pretty personal with Matt’s

        “That’s what happens when non-coders try to code”

        and have only gotten worse in the ~48 hours since. Chris’s comment of “top three most important people” pushed things to a new level. The only “embracing” the community is interested in doing at this point involves their hands and his throat.

        I think that boat has sailed.

        • I don’t know, I’m happy to welcome him. I just want him to admit that he’s one of the 3 least important people in WordPress. Barely more important than Bill Gates and the Fail Whale.

          • You’re happy to welcome him, but only if he debases himself? Not that I agree with his original comment, or this whole blown up cat-fight, but seriously – if you’re going to encourage someone to just play nice, you need to be willing to play nice too.

            I really do agree with Keith. I haven’t been following this whole debate as religiously as others, but even I’ve noticed that it’s gotten past a simple debate or disagreement into a full blown attack on each side. It’s going to be a third party that resolves this, unless someone is willing to swallow their pride.

            (For anyone that follows through to my website – yeap, I’m a Thesis user. I only found out about this whole GPL thing recently. And I don’t think I need to pick sides until one side wins and we can get back to our daily internet time-wasting.)

    • It means the same thing as “This only works under Linux.” (or Windows, or Mac). It doesn’t mean it’s a derivative work.

  6. Pingback: Tracking the #thesiswp matter: Part 2 | Frederick's Timelog

  7. Pingback: Is Thesis for Wordpress legal? Almost certainly.

  8. Hi Andrew,

    Outside of Thesis I took a more in-depth look at what everyone thought was the Thesis issue: Does the GPL apply to themes and plugins? In this regard I disagree with the FSLC, but I’d like to continue the discussion: http://bit.ly/cygoRV

  9. Pingback: 32 Wordpress, Thesis, and GPL Links to Help You Formulate An Opinion | EMBRYO

  10. Pingback: Why the GPL does not apply to premium WordPress themes — perpetual beta | release

  11. Game. Set. Match?

    Probably not, but what really sealed the deal for me was the conspiratorial arttitude by chris.

    If he doesn’t need to follow a license, I as a developer don’t need to either.

  12. Pingback: Why the GPL/Derivative Work debate doesn’t matter for WordPress themes — perpetual beta | release

  13. Rick Beckman, an ex-employee of Chris’ admitted (in a comment here: http://ma.tt/2010/07/syn-thesis-1/) to copying the code in question from WordPress, prior to understanding what was at issue with the licensing. He has since apologized. That being the case, there’s little to nothing Chris himself has to cover up or apologize for. He’s simply responsible for rewriting the affected portions of the code now that he’s been made aware of the issue.

    Sorry if this ruins your little controversy.

    • An open question I have that I haven’t seen answered is “Can software that has been ‘infected’ by GPL ever have the virus eradicated without a clean room rewrite?

      • I’m unsure about my views on this.

        What I do know, however, is that it is more than just a few lines of code. It’s systematic and I am willing to bet that some was added after Rick left the project. (I would need to obtain a copy of a version released after he left in order to compare.)

      • The answer to your question is “yes”. The version that is “infected” will stay infected. The revised version will be “disinfected”. “clean room” is not all that relevant in a copyright context – much more so when patents are involved.

        • Thanks. By “clean room” I meant without reading the existing code, i.e. To rewrite from scratch. Was there a legal form of the phrase I was misusing?

          • I believe you used it correctly. It’s relevance in practice is just limited. Copyright only protects you from copying, not from others be inspired by your work to create their own. So as long as you do not outright copy the code it will not have violated the copyright (this might vary among jurisdictions, but the principle is valid). What clean room does do, if done correctly, is protect you from 1) allegations of copyright infringement if you independently write the same code as the original and 2) allegations of infringement of trade secrets. The odds against 1) happening appears to be slim in most cases, but if it is a real concern and trade secrets are also a concern a clean room approach might be relevant.

            So a more nuanced answer might be “Yes, a clean room approach isn’t necessary, but might under certain circumstances be relevant.”

            My remark about patents was wrong and meant to address trade secrets. I should have deleted it prior to posting but pressed send too early.

  14. Okay. Interesting conversation. What’s going to happen? Who’s the original author? What’s his or her damages? Nothing. Somebody. None.

  15. Pingback: #thesiswp And My Code « Viper007Bond.com

  16. Pingback: Theme are GPL, 2.0 — Matt Mullenweg

  17. Pingback: Another Post About Thesis And The GPL License

  18. Pingback: #thesiswp y la licencia GPL | Todavía sirve

  19. Pingback: WordPress and the GPL: the day after | The Accidental Businessman

  20. Pingback: Would you download a pirated premium plugin or theme? | Shoultes.net

  21. Pingback: WordPress, Thesis, et la licence GPL | WordPress Francophone

  22. Pingback: My Thoughts on the WordPress/Thesis Debate | PlagiarismToday

  23. If Thesis incorporated WordPress code that is licensed under the GPL, it is clearly a derived work violating the GPL by not in turn being licensed GPL.

    That’s absolutely not true. I’m not going to go into details, but I advise researching the SharpDevelop/MonoDevelop debate along these lines from several years ago.

    The bottom line is that although some would consider the entire work GPL, it’s not true that unique contributions at the file scope have to be GPL.

  24. Pingback: Wordpress requires themes to be GPL « MMN-o

  25. Pingback: Lawsuit Averted As WordPress and Thesis Settle Differences Over Themes And The GPL | Technology News and Information for Geeks

  26. Pingback: Lawsuit Averted As WordPress and Thesis Settle Differences Over Themes And The GPL | It's... just a dot

  27. Pingback: Thesis and the GPL | Andrew Nacin at The WordPress GPL Debate

Comments are closed.