Make WordPress Core

Opened 13 years ago

Closed 12 years ago

#16525 closed enhancement (invalid)

Clarification of license for phpatomlib / AtomLib

Reported by: hakre's profile hakre Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: General Keywords: has-patch
Focuses: Cc:

Description

I was looking around in some externals due to #16269 and such and ran over atomlib.

Which are the terms of use for that code in Wordpress? I could not find any information about it so far in the wordpress package itself. Does anyone knows anything specific?

The only information I have is what is referenced in the file /wp-includes/atomlib.php: "Code license Apache License 2.0"

Attachments (2)

app.php (30.3 KB) - added by hakre 13 years ago.
r134; eliast; 2006-08-31 15:25:04 UTC
app.php-r4794-reverse.patch (19.6 KB) - added by hakre 13 years ago.
Reverse Patch against r4794

Download all attachments as: .zip

Change History (27)

#1 @hakre
13 years ago

Technically that would be a show-stopper, but can't be as the original author (Elias Torres) provided patches personally.

File was introduced in: [5951]

Can we assume GPL as of that time (2007-08-27)?

Tag: FIXIPO

Last edited 13 years ago by hakre (previous) (diff)

#2 follow-ups: @nacin
13 years ago

Atomlib was originally written for WordPress and contributed under the GPL. The original contributor later added it to Google Code and offered it under the Apache License. It shouldn't even be considered an external package, but come 3.2, it's going to be replaced anyway. Considering this one as fixed.

#3 in reply to: ↑ 2 @hakre
13 years ago

There is more revision history then I first thought:

Code original code by Dougal Campbell and Elias Torres. Looks pretty covered.


Replying to nacin:

Atomlib was originally written for WordPress and contributed under the GPL. The original contributor later added it to Google Code and offered it under the Apache License.

Looks like Elias Torres did that.

It's "@package AtomLib" since [6440].

It shouldn't even be considered an external package, but come 3.2, it's going to be replaced anyway. Considering this one as fixed.

And come 3.1?

#4 @hakre
13 years ago

You can dig it. Pretty is good, this is taken from Elias Torres original SVN server:

 Copyright 2006 Elias Torres <elias@torrez.us>

 This program is free software; you can redistribute it and/or modify 
 it under the terms of the GNU General Public License as published by 
 the Free Software Foundation; either version 2 of the License, or 
 (at your option) any later version. 
 
 This program is distributed in the hope that it will be useful, 
 but WITHOUT ANY WARRANTY; without even the implied warranty of 
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 GNU General Public License for more details. 
 
 You should have received a copy of the GNU General Public License 
 along with this program; if not, write to the Free Software 
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
Last edited 13 years ago by hakre (previous) (diff)

#5 @nacin
13 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to invalid
  • Status changed from new to closed

Nice find. Invalid, then.

#6 @hakre
13 years ago

  • Keywords dev-feedback committer-feedback added

Hmm, I read GPL v2+ in there.

@hakre
13 years ago

r134; eliast; 2006-08-31 15:25:04 UTC

@hakre
13 years ago

Reverse Patch against r4794

#7 in reply to: ↑ 2 @hakre
13 years ago

  • Resolution invalid deleted
  • Status changed from closed to reopened

Replying to nacin:

Atomlib was originally written for WordPress and contributed under the GPL.

You know under which version of the GPL?


I've attached two files for reference.

app.php is revision 134 of the code by Elias Torres I could retrieve from his SVN server.

app.php-!r4794-reverse.patch is a white-space adopted version of app.php (to reduce noise) in form of a patched against trunk r4794 app.php.

#8 follow-up: @Otto42
13 years ago

  • Resolution set to invalid
  • Status changed from reopened to closed

What's the problem here? The license is GPLv2. No conflicts that I can see. That's WP's license too.

#9 in reply to: ↑ 8 @hakre
13 years ago

  • Resolution invalid deleted
  • Status changed from closed to reopened

Replying to Otto42:

What's the problem here? The license is GPLv2. No conflicts that I can see. That's WP's license too.

Well if so, it actually is conflicting. @2007-01-24 worpdress was released under GNU GPL, non version restricted.

That's why I asked infact. I hope you just did that answer to quickly close this ticket but you actually do not really know.

#10 follow-up: @Otto42
13 years ago

I don't understand your response. How is that a conflict?

#11 @ocean90
13 years ago

  • Keywords reporter-feedback added; dev-feedback committer-feedback removed
  • Milestone set to Awaiting Review

#12 in reply to: ↑ 10 ; follow-up: @hakre
13 years ago

  • Keywords reporter-feedback removed

Replying to Otto42:

I don't understand your response. How is that a conflict?

I see a conflict in putting a GPL v2 licensed code into a package that grants usage under GPL v1 from 2007-01-24 ongoing.

A similar conflict between the Wordpress licensing and KSES licensing resulted in changing Wordpress licensing terms. Wordpress.org did put code licensed under GPL v2+ into it's GPL package that by it's own license granted usage under GPL v1 as well. You find the related issue here: #16039

Last edited 13 years ago by hakre (previous) (diff)

#13 in reply to: ↑ 12 @Otto42
13 years ago

Replying to hakre:

I see a conflict in putting a GPL v2 licensed code into a package that grants usage under GPL v1 from 2007-01-24 ongooing.

But as you yourself just pointed out, WordPress is now GPLv2+, not GPLv1+.

So again, where's the conflict?

#14 follow-up: @Otto42
13 years ago

Also, it is worth pointing out that the GPLv2 is fully cross-compatible with the GPLv1. The change in v2 was to add section 7 which basically clarifies that if you cannot fulfill the license terms, you have no right to distribute the software. This is not a new restriction in the sense of the GPLv1's no-extra-restrictions clause, and therefore v2 and v1 are completely cross-compatible (which is not the case with the GPLv3).

Therefore there is no actual conflict. A GPLv1 package can legitimately contain GPLv2 code and vice-versa, as there's no extra restrictions on GPLv2 code under the GPLv1 definition.

#15 in reply to: ↑ 14 ; follow-up: @hakre
13 years ago

Replying to Otto42:

Therefore there is no actual conflict. A GPLv1 package can legitimately contain GPLv2 code and vice-versa [emphasis added], as there's no extra restrictions on GPLv2 code under the GPLv1 definition.

Next to that this is just plain wrong, is this your personal opinion or are you speaking as someone from wordpress.org?

Last edited 13 years ago by hakre (previous) (diff)

#16 in reply to: ↑ 15 ; follow-up: @Otto42
13 years ago

Replying to hakre:

Next that this is plain wrong...

Simple little finger pointing tidbits like this without actual logical discussion are not useful nor productive.

So, please explain your reasoning why that you think it's "plain wrong".

#17 in reply to: ↑ 16 @hakre
13 years ago

Replying to Otto42:

Replying to hakre:

Next that this is plain wrong[, is this your personal opinion or are you speaking as someone from wordpress.org?]

Simple little finger pointing tidbits like this without actual logical discussion are not useful nor productive.

So, please explain your reasoning why that you think it's "plain wrong".

Perhaps, e.g. if you could explain me if that is wordpress.org opinion or not. I beg your pardon if this seems a bit reserved it's just because what happened in other discussions.

#18 follow-ups: @nacin
13 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to invalid
  • Status changed from reopened to closed

Stop already.

Atomlib was originally written for WordPress and contributed under the GPL. The original contributor later added it to Google Code and offered it under the Apache License. It shouldn't even be considered an external package, but come 3.2, it's going to be replaced anyway. Considering this one as fixed.

#19 in reply to: ↑ 18 @hakre
13 years ago

Replying to nacin:

Stop already.

I beg your pardon, but you didn't add any additional information to clarify this since longer - even already asked for. I'd wished we could have reached a bit more clarification.

It's unclear for me which version of the GPL exactly (last referenced was the SVN version). Next to the GPL version it looks like that atomlib itself might have been licensed under apache 2.0 only and has been brought into wp later on. That's far away from knowing what technically happened. Even if it always has been contributed under GPL v1+ as suggested, I don't see myself being able to show this formally with the information available so far.

I can however understand to insist that atomlib has been released under GPL v1 or later because the original author did provide the patches. One even must insist on that for the packages containing the code in question so far as I can not see any additional argument that supports that position. Otherwise this would either have technically violated the GPL or ASL or both.

Anyway, the best suggestion I can give is to contact the original author and ask. If it was not available under GPL v1 or later, then most probably that happened in error. We could nicely ask for relicensing back in time. I think the original author is pretty supportive. Problem solved.

If it was licensed under GPL v1 or later all the time, then we at least know that for sure as well - no big deal at all.

The other alternative I see to get more clarification with this issue is that wordpress.org provides some better information that the code has been contributed under GPL v1 or later. But from the reactions I don't know if that really is an option otherwise I think such information would have already been presented.

Unless there is no wish of wordpress.org to go in the one or other direction and unless no new information becomes available, this issue has come to an end of what was possible to clarify at this point.


For some info about the changes between GPL v1 to v2, there is the Transcript of Richard Stallman at the 2nd international GPLv3 conference ; 21st April 2006 from the FSFE website, section 5. The "Liberty or Death" clause, the main change from v1 to v2 in specific.

Please see as well How are the various GNU licenses compatible with each other?. It does not contain the GPL v1 any longer, but it helps to get the idea.

#20 in reply to: ↑ 18 @hakre
13 years ago

  • Resolution invalid deleted
  • Status changed from closed to reopened

Replying to nacin:

Stop already.

Atomlib was originally written for WordPress and contributed under the GPL. The original contributor later added it to Google Code and offered it under the Apache License. It shouldn't even be considered an external package, but come 3.2, it's going to be replaced anyway. Considering this one as fixed.

Time for a little review after some months passing w/o action:

The Apache License 2.0 is not compatible with GPL v2. Wordpress 3.2 has been released under GPL v2 or later. This does not go well together.

Please clarify the license of the atomlib code in the wordpress package for current and past.

Version 1, edited 13 years ago by hakre (previous) (next) (diff)

#21 follow-up: @dd32
13 years ago

The package was added in August 2007 from external, it was referenced and is now @link'ed in the code.

As stated above, Atomlib was originally written for WordPress, A later version was then written (by the author, offered by the author as a patch upon their existing work) for WordPress, which was also released on Google Code (under a differnet licence).

The version included in WordPress is inheritly GPL v2 or later due to it's roots in the project, The author excercised their right of releasing it under a seperate license on Google code, this does not invalidate the license upon which it was included into WordPress as.

The fact the link directs to a copy of the code under a different license is not a valid point to call the file Apache licensed, as, because as noted, it isn't exactly an "External Library" It's a core part of WordPress released as a seperate entity.

#22 in reply to: ↑ 21 @hakre
13 years ago

Replying to dd32:

The package was added in August 2007 from external, it was referenced and is now @link'ed in the code.

As stated above, Atomlib was originally written for WordPress, A later version was then written (by the author, offered by the author as a patch upon their existing work) for WordPress, which was also released on Google Code (under a different license).

I find it fruitless to just exchange arguments, will write more to that at the end. But for the sake of the arguments, they still need to be correct in the details:

From what I can see is that Ellias Torres wrote an "An Atom Publishing Protocol implementation for WordPress" (app.php). That code was released under GPL v2 or later and has been put into Wordpress while wordpress still was released under GPL (not version restricted). That means the original commit already technically violated the license. So much for the "originally written version" and assumed it was released under GPL v2 or later. Keep in mind that Elias Torres had a SVN of it's own to develop the code.

The later version you talk about has been published on google code under an incompatible license and has been "brought in" as the changeset states. In case it was brought in - which is the documentation about what was done - there technically is a violation. Please mind the technically.

Making this argument does not mean that I won't trust the general mood of goodness about this. I assume it's merely a clarification issue and not more.

The version included in WordPress is inheritly GPL v2 or later due to it's roots in the project, The author excercised their right of releasing it under a seperate license on Google code, this does not invalidate the license upon which it was included into WordPress as.

Well GPL v2 is technically part of the problem. Wordpress was released under non-version restricted GPL. If the code had restricted it to GPL v2 or later, the package was technically not validly licensed any longer. Keep in mind that this is pretty a technical side of view. Albeit I'd like to clarify it.

The fact the link directs to a copy of the code under a different license is not a valid point to call the file Apache licensed, as, because as noted, it isn't exactly an "External Library" It's a core part of WordPress released as a seperate entity.

The link in there is merely a note of the file's source and putting it under the domain of the Atomlib project. That the file has been brought into wordpress does not mean that it has been coded for wordpress and more specifically under wordpress's license. The fact alone that it has come from some implementation for wordpress into a library of it's own with it's own name "atomlib", a definition of a project "atomlib" and a website of it's own on google-code is specifically a sign that it's not part of wordpress core but an external library.

Not to forget, that the commit explicitly states, that it brings that library in.

As you can see, there are just contradicting arguments. I never said there aren't any contradictions. And I can perfectly see that Elias Torres was actively working with the wordpress community. But as much as for everybody within the worpdress community licensing things were unclear, I can not assume that all details were clear for Elias Torres. Instead I'm actively suggesting to just ask to clarify this because we can not document that the code was given under GPL (not version restricted).

The easiest thing I can imagine is to contact the original author and ask if the code then and now is available under GPL. Things solved. The problem is only complicated as long it has not yet been clarified. That's the best answer to all open questions as well, instead of making assumptions what was or was not. I think no-one of us can do so but the original author. Really.

Last edited 13 years ago by hakre (previous) (diff)

#23 @edwardw
13 years ago

  • Keywords has-patch added

#24 @SergeyBiryukov
13 years ago

  • Milestone set to Awaiting Review

#25 @nacin
12 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to invalid
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.