[U-Boot] Copyright/License text in cpu/ppc4xx/4xx_pci.c

Hi,
I am just cleaning up cpu/ppc4xx/4xx_pci.c (mainly coding style stuff). I am wondering about the file's header. I think even when this code comes initially from IBM there is not much left from original IBM code.
So can we replace the header with the widely used GPL template? And what about the in-file history? I vote for removing it but of cource keeping/adding copryright notices from Marc Game and Stefan.
Whow! The file is more than ten years old!
Matthias

Hi Matthias,
On Wednesday 08 July 2009 15:40:08 Matthias Fuchs wrote:
I am just cleaning up cpu/ppc4xx/4xx_pci.c (mainly coding style stuff). I am wondering about the file's header. I think even when this code comes initially from IBM there is not much left from original IBM code.
Yes, this could be the case.
So can we replace the header with the widely used GPL template?
I'm not sure here. The paragraph clearly states:
* Any person who transfers this source code or any derivative work * must include the IBM copyright notice, this paragraph, and the * preceding two paragraphs in the transferred software.
So even if the current version has not much in common with the original version (IIRC cloned from IBM PIBS), we still have to carry it with us. At least this is how I interpret it.
And what about the in-file history? I vote for removing it but of cource keeping/adding copryright notices from Marc Game and Stefan.
Yes, removing the in-file history should be done. We have other ways to track the file history.
Thanks.
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================

On Wednesday 08 July 2009 15:57, Stefan Roese wrote:
Hi Matthias,
On Wednesday 08 July 2009 15:40:08 Matthias Fuchs wrote:
I am just cleaning up cpu/ppc4xx/4xx_pci.c (mainly coding style stuff). I am wondering about the file's header. I think even when this code comes initially from IBM there is not much left from original IBM code.
Yes, this could be the case.
So can we replace the header with the widely used GPL template?
I'm not sure here. The paragraph clearly states:
Any person who transfers this source code or any derivative work
must include the IBM copyright notice, this paragraph, and the
preceding two paragraphs in the transferred software.
So even if the current version has not much in common with the original version (IIRC cloned from IBM PIBS), we still have to carry it with us. At least this is how I interpret it.
But we could prepend the typical header which brings us to something like this:
/* * (C) Copyright 1998, Mark Game * (C) Copyright 1995, IBM Corporation * * See file CREDITS for list of people who contributed to this * project. * * 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 * * * This source code has been made available to you by IBM on an AS-IS * basis. Anyone receiving this source is licensed under IBM * copyrights to use it in any way he or she deems fit, including * copying it, modifying it, compiling it, and redistributing it either * with or without modifications. No license under IBM patents or * patent applications is to be implied by the copyright license. * * Any user of this software should understand that IBM cannot provide * technical support for this software and will not be responsible for * any consequences resulting from the use of this software. * * Any person who transfers this source code or any derivative work * must include the IBM copyright notice, this paragraph, and the * preceding two paragraphs in the transferred software. */
And what about the in-file history? I vote for removing it but of cource keeping/adding copryright notices from Marc Game and Stefan.
Yes, removing the in-file history should be done. We have other ways to track the file history.
Fine.
Matthias

On Wednesday 08 July 2009 16:21:51 Matthias Fuchs wrote:
So can we replace the header with the widely used GPL template?
I'm not sure here. The paragraph clearly states:
Any person who transfers this source code or any derivative work
must include the IBM copyright notice, this paragraph, and the
preceding two paragraphs in the transferred software.
So even if the current version has not much in common with the original version (IIRC cloned from IBM PIBS), we still have to carry it with us. At least this is how I interpret it.
But we could prepend the typical header which brings us to something like this:
/*
- (C) Copyright 1998, Mark Game
- (C) Copyright 1995, IBM Corporation
- See file CREDITS for list of people who contributed to this
- project.
- 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
- This source code has been made available to you by IBM on an AS-IS
- basis. Anyone receiving this source is licensed under IBM
- copyrights to use it in any way he or she deems fit, including
- copying it, modifying it, compiling it, and redistributing it either
- with or without modifications. No license under IBM patents or
- patent applications is to be implied by the copyright license.
- Any user of this software should understand that IBM cannot provide
- technical support for this software and will not be responsible for
- any consequences resulting from the use of this software.
- Any person who transfers this source code or any derivative work
- must include the IBM copyright notice, this paragraph, and the
- preceding two paragraphs in the transferred software.
*/
This should be ok. If nobody else opposes, please go ahead and send you cleanup patch.
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================

Dear Matthias Fuchs,
In message 200907081621.51898.matthias.fuchs@esd.eu you wrote:
On Wednesday 08 July 2009 15:40:08 Matthias Fuchs wrote:
I am just cleaning up cpu/ppc4xx/4xx_pci.c (mainly coding style stuff). I am wondering about the file's header. I think even when this code comes initially from IBM there is not much left from original IBM code.
Yes, this could be the case.
So can we replace the header with the widely used GPL template?
I'm not sure here. The paragraph clearly states:
Any person who transfers this source code or any derivative work
must include the IBM copyright notice, this paragraph, and the
preceding two paragraphs in the transferred software.
So even if the current version has not much in common with the original version (IIRC cloned from IBM PIBS), we still have to carry it with us. At least this is how I interpret it.
But we could prepend the typical header which brings us to something like this:
You could do it, but you are eventually not permitted to do it legally.
The fact that you "must include the IBM copyright notice, this paragraph, and the preceding two paragraphs in the transferred software" may or may not be compatible with GPL - IANAL...
Best regards,
Wolfgang Denk

On Wed 8 Jul 2009 11:51, Wolfgang Denk pondered:
But we could prepend the typical header which brings us to something
like this:
You could do it, but you are eventually not permitted to do it legally.
The fact that you "must include the IBM copyright notice, this paragraph, and the preceding two paragraphs in the transferred software" may or may not be compatible with GPL - IANAL...
GPLv2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt) states:
- [snip] You may not impose any further restrictions on the recipients'
exercise of the rights granted herein. [snip]
I think that is pretty clear. The IBM notice is not GPL2 compatible - since it places additional restrictions on the end user.
In fact, in looking closer - the patent license are completely incompatible...
IBM:
- No license under IBM patents or
- patent applications is to be implied by the copyright license.
GPLv2:
if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
However - your milage may vary - I'm not a lawyer - Anyone who looks to technical mailing lists for licensing compatibility questions is going to get bad advice. This may be one of those times...
-Robin

Hi,
Dear Matthias Fuchs,
In message 200907081621.51898.matthias.fuchs@esd.eu you wrote:
On Wednesday 08 July 2009 15:40:08 Matthias Fuchs wrote:
I am just cleaning up cpu/ppc4xx/4xx_pci.c (mainly coding style stuff). I am wondering about the file's header. I think even when this code comes initially from IBM there is not much left from original IBM code.
Yes, this could be the case.
So can we replace the header with the widely used GPL template?
I'm not sure here. The paragraph clearly states:
Any person who transfers this source code or any derivative work
must include the IBM copyright notice, this paragraph, and the
preceding two paragraphs in the transferred software.
So even if the current version has not much in common with the original version (IIRC cloned from IBM PIBS), we still have to carry it with us. At least this is how I interpret it.
But we could prepend the typical header which brings us to something like this:
You could do it, but you are eventually not permitted to do it legally.
The fact that you "must include the IBM copyright notice, this paragraph, and the preceding two paragraphs in the transferred software" may or may not be compatible with GPL - IANAL...
Same with me. I cannot understand how maybe-GPL-incompatable sources can be part of U-Boot. This file is not the only one. Also the top level README says that the sources are under the GPL. So does it even play any role when the GPL lines are not contained in some files? Isn't it enough to have the licence of the whole project mentioned once?
To be on the legal side, I will keep the GPL note off this file. Same with me. IANAL. And I am not very motivated to become one sooner or later.
Matthias

Dear Matthias Fuchs,
In message 200907082024.37153.matthias.fuchs@esd-electronics.com you wrote:
Same with me. I cannot understand how maybe-GPL-incompatable sources can be part of U-Boot. This file is not the only one.
We are aware of this. See commit 78237df5.
So does it even play any role when the GPL lines are not contained in some files?
As you just saw yourself: yes, it does play a role. Just by placing a file with some incompatible license in a directory with a GPL "COPYING" file doesn't change the rights you have with the oroginal code...
Isn't it enough to have the licence of the whole project mentioned once?
As you see: no.
Best regards,
Wolfgang Denk

ok, to come back to the technical side:
Do we have some old PPCBoot CVS accessible somewhere? I want to find out what exactly is covers by the IBM license.
That can't be much.
Matthias
Dear Matthias Fuchs,
In message 200907082024.37153.matthias.fuchs@esd-electronics.com you wrote:
Same with me. I cannot understand how maybe-GPL-incompatable sources can be part of U-Boot. This file is not the only one.
We are aware of this. See commit 78237df5.
So does it even play any role when the GPL lines are not contained in some files?
As you just saw yourself: yes, it does play a role. Just by placing a file with some incompatible license in a directory with a GPL "COPYING" file doesn't change the rights you have with the oroginal code...
Isn't it enough to have the licence of the whole project mentioned once?
As you see: no.
Best regards,
Wolfgang Denk

Dear Matthias Fuchs,
In message 200907082251.27180.matthias.fuchs@esd-electronics.com you wrote:
Do we have some old PPCBoot CVS accessible somewhere? I want to find out what exactly is covers by the IBM license.
Sure. See http://sourceforge.net/projects/ppcboot/develop
Best regards,
Wolfgang Denk

Hi,
On Wednesday 08 July 2009 22:57, Wolfgang Denk wrote:
Dear Matthias Fuchs,
In message 200907082251.27180.matthias.fuchs@esd-electronics.com you wrote:
Do we have some old PPCBoot CVS accessible somewhere? I want to find out what exactly is covers by the IBM license.
Sure. See http://sourceforge.net/projects/ppcboot/develop
Best regards,
Wolfgang Denk
I just checked the nine years old initial version of 405gp_pci.c:
http://ppcboot.cvs.sourceforge.net/viewvc/ppcboot/ppcboot/cpu/ppc4xx/405gp_p...
I do not see that this file has anything in common with the current 4xx_pci.c code! One could say that setting up the PMM registes looks a little as is comes from the old IBM code, but can writing zeros into some registers really stop us from cleaning up this license issue?
If so, I see no way to reach the GPL cleanup goal.
I will submit a cleanup patch for the 4xx_pci.c when we are common in this point. I also request "Ack-bys" at least from you and Stefan on my patch to not have one foot in the grave :-)
Matthias

On Thursday 09 July 2009 10:44:13 Matthias Fuchs wrote:
I just checked the nine years old initial version of 405gp_pci.c:
http://ppcboot.cvs.sourceforge.net/viewvc/ppcboot/ppcboot/cpu/ppc4xx/405gp_ pci.c?revision=1.1&view=markup
I do not see that this file has anything in common with the current 4xx_pci.c code! One could say that setting up the PMM registes looks a little as is comes from the old IBM code, but can writing zeros into some registers really stop us from cleaning up this license issue?
Yes, those files don't have much in common any more. Only some comments (which could be removed or rewritten) and and the sequence of some register initialisation. But again, IANAL and I don't really know if we can remove the IBM header with such a history.
If so, I see no way to reach the GPL cleanup goal.
I will submit a cleanup patch for the 4xx_pci.c when we are common in this point. I also request "Ack-bys" at least from you and Stefan on my patch to not have one foot in the grave :-)
Heh, don't be such a coward! No risk, no fun! ;)
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================

On Thursday 09 July 2009 11:00, Stefan Roese wrote:
On Thursday 09 July 2009 10:44:13 Matthias Fuchs wrote:
I just checked the nine years old initial version of 405gp_pci.c:
http://ppcboot.cvs.sourceforge.net/viewvc/ppcboot/ppcboot/cpu/ppc4xx/405gp_ pci.c?revision=1.1&view=markup
I do not see that this file has anything in common with the current 4xx_pci.c code! One could say that setting up the PMM registes looks a little as is comes from the old IBM code, but can writing zeros into some registers really stop us from cleaning up this license issue?
Yes, those files don't have much in common any more. Only some comments (which could be removed or rewritten) and and the sequence of some register initialisation. But again, IANAL and I don't really know if we can remove the IBM header with such a history.
It seems nobody is a lawyer! So I think this issue cannot be solved by the U-boot community and therefore the only way seems to be the removal of this file in August as stated in the feature-removal plan.
I will not start cleaning up this file as it seems to be a waste of time when the file will be removed in August.
Stefan, how do you plan to reach the August goal?
If so, I see no way to reach the GPL cleanup goal.
I will submit a cleanup patch for the 4xx_pci.c when we are common in this point. I also request "Ack-bys" at least from you and Stefan on my patch to not have one foot in the grave :-)
Heh, don't be such a coward! No risk, no fun! ;)
When I go through my posting I must admit that I never said IANAL. But many others did. Perhaps we can setup an open source developer jail where everything is allowed because they cannot put you deeper in jail :-)
Matthias

On Thursday 09 July 2009 11:24:39 Matthias Fuchs wrote:
Yes, those files don't have much in common any more. Only some comments (which could be removed or rewritten) and and the sequence of some register initialisation. But again, IANAL and I don't really know if we can remove the IBM header with such a history.
It seems nobody is a lawyer! So I think this issue cannot be solved by the U-boot community and therefore the only way seems to be the removal of this file in August as stated in the feature-removal plan.
I will not start cleaning up this file as it seems to be a waste of time when the file will be removed in August.
Stefan, how do you plan to reach the August goal?
I just realised in this thread that this IBM license is incompatible with the GPL. So it's new to me. And even worse, it doesn't only affect the PCI code but also the 4xx EMAC code.
So if we have to really remove all the code with this IBM header, 4xx support will be in really bad shape. :-(
So it's even more important to know, if such files as this 4xx PCI code, which has nearly nothing in common with the original IBM code, can move to GPL. Not sure how to solve this issue though. Perhaps we should ask somebody at IBM?
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================

Dear Stefan Roese,
In message 200907091151.51598.sr@denx.de you wrote:
So it's even more important to know, if such files as this 4xx PCI code, which has nearly nothing in common with the original IBM code, can move to GPL. Not sure how to solve this issue though. Perhaps we should ask somebody at IBM?
Try it, but don;t expect answers before next year ;-)
BTW - what's the situation with the corresponding Linux headers?
Best regards,
Wolfgang Denk

On Thursday 09 July 2009 12:10:10 Wolfgang Denk wrote:
So it's even more important to know, if such files as this 4xx PCI code, which has nearly nothing in common with the original IBM code, can move to GPL. Not sure how to solve this issue though. Perhaps we should ask somebody at IBM?
Try it, but don;t expect answers before next year ;-)
BTW - what's the situation with the corresponding Linux headers?
The Linux code is completely different here. I based my 4xx code in my first U-Boot port on the IBM PIBS code and not Linux.
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================

Dear Stefan Roese,
In message 200907091215.59930.sr@denx.de you wrote:
BTW - what's the situation with the corresponding Linux headers?
The Linux code is completely different here. I based my 4xx code in my first U-Boot port on the IBM PIBS code and not Linux.
Then maybe we can import the relevant stuff from Linux?
Best regards,
Wolfgang Denk

On Thursday 09 July 2009 14:20:40 Wolfgang Denk wrote:
BTW - what's the situation with the corresponding Linux headers?
The Linux code is completely different here. I based my 4xx code in my first U-Boot port on the IBM PIBS code and not Linux.
Then maybe we can import the relevant stuff from Linux?
Sure, we could. But as you may understand this is a quite big task. And looking closer, even start.S and many 4xx related headers have this IBM header. :-(
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================

Did you have a look into include ppc440.h?
It contains the "old" IBM copyright and (!!!) a GPL header with copyrights from five IBM people.
Hmm, does this bring us any further?
Matthias
On Thursday 09 July 2009 11:51, Stefan Roese wrote:
On Thursday 09 July 2009 11:24:39 Matthias Fuchs wrote:
Yes, those files don't have much in common any more. Only some comments (which could be removed or rewritten) and and the sequence of some register initialisation. But again, IANAL and I don't really know if we can remove the IBM header with such a history.
It seems nobody is a lawyer! So I think this issue cannot be solved by the U-boot community and therefore the only way seems to be the removal of this file in August as stated in the feature-removal plan.
I will not start cleaning up this file as it seems to be a waste of time when the file will be removed in August.
Stefan, how do you plan to reach the August goal?
I just realised in this thread that this IBM license is incompatible with the GPL. So it's new to me. And even worse, it doesn't only affect the PCI code but also the 4xx EMAC code.
So if we have to really remove all the code with this IBM header, 4xx support will be in really bad shape. :-(
So it's even more important to know, if such files as this 4xx PCI code, which has nearly nothing in common with the original IBM code, can move to GPL. Not sure how to solve this issue though. Perhaps we should ask somebody at IBM?
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Tuesday 21 July 2009 13:42:57 Matthias Fuchs wrote:
Did you have a look into include ppc440.h?
It contains the "old" IBM copyright and (!!!) a GPL header with copyrights from five IBM people.
Hmm, does this bring us any further?
Not really. This GPL header was added later with this patch:
c46f53333b22b1f9098676bea8884fc7db820cf3:
Add definitions for 440EPx/GRx SDRAM controller to ppc440.h
This patch adds the Denali SDRAM controller definitions to "ppc440.h". It also fixes two typos in the definitions, so the board-specific "sdram.h" files containing these definitions are also fixed to avoid compiler warnings.
Signed-off-by: Larry Johnson lrj@acm.org
So it was not available in the original version. And the addition of is probably in conflict with the IBM header. So the situation didn't change I'm afraid. :-(
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================

Gentlemen,
First, my apologies for ignoring this thread for so long.
As I recall, I was the person that added this file to ppcboot almost 7 years ago when I added the first Book E support.
Matthias Fuchs wrote:
Did you have a look into include ppc440.h?
I took a pretty close look. There's still considerable original content in the current file. But the amount doesn't matter, it's a derivative work, period.
It contains the "old" IBM copyright and (!!!) a GPL header with copyrights from five IBM people.
Hmm, does this bring us any further?
I don't see any incompatibility with GPL here ... nor did I see any issues 7 years ago. The clause,
"No license under IBM patents or patent applications is to be implied by the copyright license."
does not throw a monkey wrench into u-boot as the "royalty-free redistribution" of the _code_ is not affected. In fact, the IBM notice clearly states:
"Anyone receiving this source is licensed under IBM copyrights to use it in any way he or she deems fit, including copying it, modifying it, compiling it, and redistributing it either with or without modifications."
IBM is simply making it clear that the copyright does not imply coverage of their patented or patent-pending inventions and/or processes (i.e. that copyright applies only to the code).
In any case, I appreciate these discussions -- they are vital to maintaining a "clean" household and help improve our overall discipline ... which can wane from time to time.
Regards, --Scott
participants (6)
-
Matthias Fuchs
-
Matthias Fuchs
-
Robin Getz
-
Scott McNutt
-
Stefan Roese
-
Wolfgang Denk