I was not able to finish my report for day 5 in my WordPress Licensing series yesterday night, so I’ll add it this morning. My topic this time is progress.
Despite the fact, that when confronted with the topic that wordpress is GPL and not GPL v2, the first reaction by lead developers was, that there ain’t no licensing issues and all bases are covered. I’m and others are opposing to that attitude. We see licensing issues in the wordpress code. And other core contributors see them as well.
So where is/to progress?
#1 Apply the GPL right – or GPL v what?
That’s maybe the biggest topic because it’s documented that well known persons of the project have been neglecting the facts and were educating wrongly. This is not the post to drop names and quote, like finger-pointing-style, let’s just take it for the moment as a departure into the topic.
A popular belief was, that WordPress would be licensed under GPL v2 only. As we’ve seen the week, this is not correct. The moment this plain fact needed to be accepted even by those project core members who didn’t think so, there was an immediate reaction to say, yes, it is, but. A but like this one:
As long as we have a mix of “GPL” code and “GPL v2” code and “GPL v2 or later” code, the only license that applies to every part of WordPress is version 2, as it is the only one that fits all three of the licenses.
Source: Mark Jaquith, WordPress Lead Developer
What in Marks words sounds like a description of a complicated but valid licensing situation, is infact a plain confession of a highly problematic dealing with licensing in the project. You can’t add code into wordpress that does not go conform with it’s license. That would restrain the freedom of the software.
But the spirit of the GPL is that no-one can take back your freedoms. That’s the banner under which all core contributors added their code: Free Software. Adding GPLv2 (ironically) is a blocker to our wordpress-users freedoms. So this code should never have been added.
But it’s worth to question that statement from another perspective as well. Yesterday I started with this question: Is it so, that there is GPL v2 and GPL v2 or later code in the codebase? And if so, how came it in? So I started to look for that bespoken code of which Mark said it would prevent proper wordpress licensing:
List of GPL v2-ly licensed code as of 29 Aug 2010
- /xmlrpc.php – GPL v2
I made an ordered list, so counting is easier: 1 (one). I must admit I did expect a much longer and complicated list (there was a second one, changed this week because of my report: ). But it ain’t – good so. This looks easier to be fixed then first thought.
Best part of this single point is, that the GPL v2 tagging of /xmlrpc.php was introduced by error:
As this was already file documentation and it is easy to check in the revisions of the file how this comment went in. The changeset showed tagging was just added but not for something in specific. Like well, it has no tag let’s add one and play around if GPL v2 fits. That was a ticket about taking care for all externals (so to help with licensing), xmlrpc.php is not an external file, so it might have just been forgotten in there. I’ve already filed a ticket to remove this again (#14727 – @license tag removal in xmlrpc.php). I think this can be fixed easily.
So as far as I’m aware of things, there has been a good progress the last days about the copyright and the related GPL issue. Sure some things are still missing, but I can see a direction where this is heading to.
#2 IXR XML-RPC Class
That’s a harder one. Are we breaking license? Has the license be tainted? Why is it tagged as BSD when other sources say it’s Artistic? There are a lot of open questions I have which needed to be answered one by one.
But on that area there is not much progress at all (Ticket: #14703 – Match Redistribution and use conditions for The Incutio XML-RPC Library). That’s maybe because it’s more complicated, so there is more action necessary to progress.
#3 Overall Care-Taking
While looking for license stuff, I run over those informative license PHPdoc tags that can help to keep things in order. They could benefit from a touch-up so I just provided a patch, that might be interesting for other who are currently checking the bases: #14726 – PHPDoc @license Tag Review.
We have a full new week in front of us and I’ll now start with some outdoor activity making up my mind on how to make this a good week for everybodies software freedom in the wordpress project.