A daring fireball of a miss: Gruber on Mullenweg
July 30th, 2009 by ravi

In an earlier post I gave my take on why Matt Mullenweg is spot on in his criticism of Dan Jalkut’s criticism of the GPL. Shortly after Matt’s post, John Gruber of Daring Fireball chimed in with his thoughts. First he quotes Matt, which I reproduce in entirety below (to be clear, this is Matt’s text):

  1. I’ve never encountered a serious client who chose not to use WordPress because it was GPL-licensed, and I think it’s hard to argue that WordPress’s license has had a dampening effect on its adoption, given its success over competitors with widely varying licenses.
  2. I think we have an incredibly strong third-party extension, plugin, and theme community that has flourished, not in spite of the GPL license, but because of it.
  3. I’ve seen the absence of GPL in practice; there have been times in the WordPress world when parts of the community have “gone dark” and claimed their code was under more restrictive licenses, like used to be common with themes. Every time this cycle starts it basically kills innovation in that part of the WordPress world until people start opening up their code again or until a GPL equivalent is available. I’ve seen this firsthand several times now.


Gruber then contests the relevance of Matt’s argument (above) — “none of these three points from Mullenweg address Jalkut’s argument”:

  1. Jalkut wasn’t arguing about whether users will not use GPL software; his argument was about developers.
  2. Jalkut never argued that WordPress wasn’t popular or didn’t have a strong extension/plugin/theme community. Jalkut’s argument was that WordPress might have an even stronger extension/plugin/theme community if it were licensed under a BSD-style license.
  3. Jalkut wasn’t arguing in favor of more restrictive licenses; he was arguing in favor of less restrictive ones: BSD/MIT/Apache style ones.

Below I examine each of the points raised by Gruber:

Some Basics

It’s worthwhile to pause and make explicit the underlying difference between GPL and other (“more liberal”) schemes. GPL is explicitly (and exquisitely) crafted to enable an alternative mode of development to the closed, corporate one. The motivation is not merely to grow the number of developers or the lines of code, but to create and sustain a community involved in such a mode of development. It is critical therefore to understand the difference between such a philosophy and the one espoused/defended by Jalkut, in passages such as these:

This so-called “viral nature” of GPL is what scares the bejeezus out of companies, large and small, who fear the consequences of having to give up their own intellectual property to the public.

[emphasis mine]

It must be mentioned that Jalkut is a fair chap, but in attempting to represent his opponents thus:

I know what some of the GPL-enthusiasts are thinking now: “leeches don’t count as community.”

he might as well leave the name-calling (“leeches”) out and address the content/question: what counts as community? Instead, he skips right ahead to the question of how to get “people in the door”. The contra-Jalkut might respond: “corporate coders do not count as people”!

1. Jalkut was arguing about developers, not users

While it is true that Matt touches upon what is good for users, he does so exactly to highlight, inter alia, that what matters is what is [ultimately, if you wish] good for the user. However, as the very sections quoted by Gruber demonstrate, that is not the limit of Matt’s response. Here is Gruber quoting Matt: “I think we have an incredibly strong third-party extension, plugin, and theme community that has flourished, not in spite of the GPL license, but because of it” (emphasis mine). These are developers that Matt is speaking of, not users. Gruber, and Jalkut, disagree with Matt’s conclusion that the community has flourished because of the GPL (that is, of course, the substantive issue), but Gruber’s criticism that Jalkut was arguing about developers but Matt is not, clearly is wide off the mark.

2. Jalkut’s argument is that WP would have a stronger extension/plugin community if it had a more permissive license.

This is the substantial argument. Before we see if Matt’s response pertains to this argument (Gruber claims it does not), it is worth looking, once again, at what Jalkut offers to demonstrate the greater success of a BSD style license.

Jalkut provides four examples (FreeBSD which Mac OS X borrows from, WebKit upon which Safari and Chrome are based, the version control system Subversion, and libcurl) of which one (libcurl) I will ignore in the interest of your time. For contrast, while acknowledging the massive success of WordPress, Jalkut lists in the GPL roster Subversion competitors like Git, Bazaar and Mercurial.

He admits to ignoring such wild successes as MySQL, GNU/Linux and gcc, and raises once again the doubt expressed above: “but we can’t know whether their success is in spite of the restrictions their license places on participation by the broader developer community”. Well, if so, we cannot know the converse either, that the GPL “stifles participation”, at least not from the examples and reasoning offered by Jalkut. If the GPL “stifles participation” (Jalkut’s words), then, asks Matt, wherefrom the wildly successful plugin and theme WordPress community? This is the relevance of Matt’s point #2 (as quoted by Gruber) to Jalkut’s post.

Gruber might respond: well, all Matt does is say that the community flourishes, not in spite of, but because of the GPL. How does he prove it? But as Jalkut notes, it’s a difficult, perhaps impossible, matter to answer that question empirically. The examples offered do not settle the question, especially not in the “more liberal” license’s favour. In lieu of empirical data, Matt offers his reasoning in his post, on why the GPL might engender certain “core freedoms and principles” that help foster a “passionate community” (Jalkut’s terms).

3. Jalkut wasn’t arguing in favor of more restrictive licenses; he was arguing in favor of less restrictive ones: BSD/MIT/Apache style ones.

True. But what was the argument offered in favour of the “less restrictive” ones? A significant argument was the idea that such less restrictive licenses would grow the “community” by attracting closed-source development. Jalkut even offers an example: Versions, the beautiful Subversion client developed and sold by Sofa. This is not a very productive line of argument, since (as I wrote earlier), Sofa’s corporate activity doesn’t grow the community’s riches by much (perhaps not at all, in a deep sense)… it’s a dead end, a terminal node, in the tree of community code.

Which is the point (#3) that Matt makes from his experience of watching the WordPress community go “dark”.

In other words, it is not convincing to bring up commercial end products, however well designed they may be, as examples of growth of community.

Incidentally, it is not at all clear to me that it is infeasible to build a Versions client (with the same sparkling UI, and with roughly the same effort) for a GPLed Subversion. That is part of the relevance of Matt’s point #1: WordPress’ GPL license has not jeopardised its acceptance by clients (corporate entities, I would presume) nor has it, obviously, led to a low rate of adoption in comparison to “more liberally” licensed alternative blogging platforms.

Conclusion

Jalkut’s post is motivated by Matt’s take on what the GPL implies for WordPress themes. Here is Jalkut’s quote of Matt:

One sentence summary: PHP in WordPress themes must be GPL, artwork and CSS may be but are not required.

From simple commonsense notions of fairness (which if I understand him correctly, Jalkut calls upon in his own arguments), this is eminently sensible and fair. PHP code in themes relies on WordPress capabilities, leverages the functions and mechanisms it (the WordPress API) offers, and adds not much significant original value (you loop through the posts, or comments, and you print them out, along with rendering some additional stuff like sidebars by invoking relevant API calls). On the other hand, your original contribution, the art and design implemented in the CSS or any artwork, is left to your whims to dispense under a license of your preference. Contrary to what Jalkut writes, a user of a theme cannot just zap any offending element and obtain the riches of the theme. Not without violating a license if so restricted by the author.

One other thing: It’s a hoary bit by now, that old half-quote: What is good for GM is good for America, but it’s counterpart seems to be in play in this debate. Jalkut, along with his even-handed prose and detailed explication, is also trying to “scare the bejeezus out of” you (by implying) that what is bad for Apple or Sofa is also bad for you. The GNU foundation’s argument is quite the opposite. And not much of Jalkut’s argument makes his case, in my view.

Postscript

I am an avid and mostly appreciative reader of Daring Fireball.

16 Responses  
  • Ahren Code » Blog Archive » GPL FUD round N+1 writes:

    […] Update: My thoughts on Gruber’s post are here. […]

  • Daniel Jalkut writes:

    Hi Ahren – I think you have made a very nicely written and reasonable argument here.

    Thanks for acknowledging my attempts to be even-handed in my criticism of the GPL. I wasn’t doing to so to avoid making enemies, or as some means of sneaking a knife into the back of GPL as it was turning its back on me ;) But rather because I wanted to emphasize that my opinions are just opinions, even if they are full of conviction.

    I still believe that BSD/MIT style liberal licenses are more inviting, and my common-sense tells me that it means they lead to more successful, diverse projects. But since there are counterarguments in both directions, it’s impossible to prove. I think you are right to point out that the “what if” game is pretty hard to evaluate when it comes to licenses and popularity.

    Daniel

    • ravi writes:

      Dan, apologies for the late response. You say that “BSD/MIT style liberal licenses are more inviting” but as you yourself sort of imply, they are only more inviting to corporations (who want to eat others’ cake and have theirs too). In some ways they are less inviting (as argued by me and Matt) to other free software developers. I am much more likely to put my code out if I know that if you build upon it, you will share your changes freely with me and others, as well.

      I think for a lot of people like Raymond and Linus, this is more of a battle of platforms, one being their baby and the other (typically) being Microsoft’s. Seen in this view of a war between two entities, their strategy of gaining as many followers on their side is an understandable one. However, Free Software and the GPL (as explained by RMS) arise from a more fundamental philosophical outlook to what software should be.

      I am happy to agree to disagree. Thank you for posting your thoughts.

  • S.K writes:

    I am befuddled by the jargon of licenses.

    But what I could understand is that Jalkut desires that WordPress and its ilk must have a very liberal license devoid of any barb so that private companies can merrily modify them and make $$ out of them, without any obligation of pumping the extended development back to the community.

    Correct me if I am far too dyslexic!

    S.K

  • Daniel Jalkut writes:

    S.K. It’s not exactly what I mean. More generally, what I mean is that I prefer licenses that let people do WHATEVER they want with the code. That means yes, making $$$ is one possibility. But it also means merging with projects that are free but don’t impose the restrictions of the GPL.

    Generally speaking, GPL code is strongly embraced by other GPL activists, and ignored/shunned by those who don’t want to suffer the restrictions of its terms.

    • Josh Betz writes:

      I’m just wondering what the point of a license is if you want to let anybody do WHATEVER they want with the code. Developers can use GPL code so long as they follow the terms of the license. As far as I know, there is nothing that says you can’t make money on GPL code, it just has to be open. Obviously, if it’s open, you’re giving others the opportunity to distribute for free, but there is also nothing that says if part of your project is GPL that the whole thing must be GPL. I’m pretty sure you can include GPL code in closed projects, as long as the GPL part is open. Please correct me if I’m wrong.

      • Daniel Jalkut writes:

        Josh – unfortunately you’re wrong:

        http://www.gnu.org/licenses/gpl-faq.html#GPLCommercially

        Generally speaking the GPL stipulates that using any GPL code in your project requires that the whole project be made available under the terms of the GPL. This is the “scary” part to developers who are working with a closed-source project.

        There are some commonly exploited loopholes. In particular, it is generally understood that if you can package the GPL code as a separate program that can be run BY the closed-source project, then it does not require the closed-source project to be made available under the GPL.

        This is lawyer territory, though, which is exactly why I prefer the explicit open-ness of licenses such as MIT/BSD.

        Daniel

        • Josh Betz writes:

          These requirements are the condition for including the GPL-covered code you received in a program of your own

        • Josh Betz writes:

          I still think only the part that is under GPL needs to be open and credited to the author.

          • Daniel Jalkut writes:

            Josh – you’re certainly entitled to interpret it however you like, but I think you’ll be hard-pressed to find many people who agree with your interpretation. Anyway, you should at least expect that most GPL projects will expect to have the license understood the way I described.

        • ravi writes:

          Daniel, yes it is lawyer territory, but what you see as loopholes are (in my understanding) deliberate provisions to both demarcate usage and to encourage it.

          There is a moral argument here as well:

          If I write a theme or plugin for WordPress, building on the large capabilities of the platform, then it seems a bizarre logic that I can use this rich platform for free but hold on to my own code.

          On the other hand, take your own creation: MarsEdit. The application interacts with WordPress (and other blogs) using well-defined APIs/protocols. The GPL quite correctly does not impose upon you in any way. And you are able to sell the product and finance future work (I hope). And all that has the positive side-effect of encouraging open standards based APIs/protocols, as well.

        • ravi writes:

          Quoting from the FAQ linked to by Dan above:

          However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.

          The difference between this and “incorporating” the GPL-covered software is partly a matter of substance and partly form. The substantive part is this: if the two programs are combined so that they become effectively two parts of one program, then you can’t treat them as two separate programs. So the GPL has to cover the whole thing.

          If the two programs remain well separated, like the compiler and the kernel, or like an editor and a shell, then you can treat them as two separate programs—but you have to do it properly.

          The example provided — kernel and compiler — should make it clear how non-onerous the GPL is.

      • ravi writes:

        Josh, AFAIK, yes, you can release part of your code as GPL. Dan’s point is that if you build on GPL code, then the GPL compels you to release all your code. And that’s true in the cases outlined in the FAQ i.e., your code is tightly intertwined with the GPL code that you are building on.

    • ravi writes:

      SK, I think that’s a bit of a harsh characterisation of Dan’s point. I would rather believe that he (in turn) truly believes that inviting corporations to the table extends the reach and success of Open Source. In the short-term that is sort of patently true, but to misquote Keynes in the long-term we could all be dead.

      Dan, I think you are more than a bit unfair about who embraces GPL (code/license) and who doesn’t. GCC for example is used so widely across such a range of applications that it alone contradicts your characterisation.

  • Ahren Code» Blog Archive » John Gruber’s 15 minutes of schadenfreude writes:

    […] tech blogger, seems to be thoroughly enjoying this business, from what I can tell. This is not the first time he has opined on WordPress, but despite what seems to be poorly concealed glee (the man has made […]

  • ravi writes:

    There is now an app called Tower (http://www.git-tower.com/) that is every bit as slick as Versions. They don’t seem to have been held back by the GPL. As predicted.


Leave a Reply

Leave a Reply to ravi Cancel reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

If you need help with one of my software projects, please click: Using that link, you might even find a previous report of (and solution for) the issue!
SIDEBAR
»
S
I
D
E
B
A
R
«
»  Substance: WordPress  »  Style: Ahren Ahimsa