[PATCH] bloblist: Drop BSD license

Simon Glass sjg at chromium.org
Sat Jan 25 15:15:31 CET 2025


Hi Ilias,

On Thu, 16 Jan 2025 at 11:32, Ilias Apalodimas
<ilias.apalodimas at linaro.org> wrote:
>
> On Wed, 15 Jan 2025 at 03:18, Simon Glass <sjg at chromium.org> wrote:
> >
> > Hi Ilias,
> >
> > On Tue, 14 Jan 2025 at 12:34, Ilias Apalodimas
> > <ilias.apalodimas at linaro.org> wrote:
> > >
> > > Hi Simon,
> > >
> > > On Tue, 14 Jan 2025 at 15:15, Simon Glass <sjg at chromium.org> wrote:
> > > >
> > > > Hi Ilias,
> > > >
> > > > On Tue, 14 Jan 2025 at 01:40, Ilias Apalodimas
> > > > <ilias.apalodimas at linaro.org> wrote:
> > > > >
> > > > > Hi Simon,
> > > > >
> > > > > On Fri, 10 Jan 2025 at 16:54, Simon Glass <sjg at chromium.org> wrote:
> > > > > >
> > > > > > Hi again Ilias,
> > > > > >
> > > > > > On Thu, 2 Jan 2025 at 18:41, Simon Glass <sjg at chromium.org> wrote:
> > > > > > >
> > > > > > > Hi Ilias,
> > > > > > >
> > > > > > > On Fri, 3 Jan 2025 at 08:15, Ilias Apalodimas
> > > > > > > <ilias.apalodimas at linaro.org> wrote:
> > > > > > > >
> > > > > > > >
> > > > > > > > Apologies for the formatting, replying on mobile.
> > > > > > > >
> > > > > > > > On Wed, Jan 1, 2025, 21:58 Simon Glass <sjg at chromium.org> wrote:
> > > > > > > >>
> > > > > > > >> Linaro has decided to write their own version of bloblist from scratch,
> > > > > > > >> so there is no point in having a non-GPL license on this file. Change
> > > > > > > >> it, to better fit with the U-Boot project.
> > > > > > > >
> > > > > > > >
> > > > > > > > Apart from the commit message being wrong, it's also intentionally provoking. There was no bloblist in TF-A.
> > > > > > > >
> > > > > > > > The TF-A code is implementing the firmware hand-off spec [0], which Linaro participated in the creation. The U-Boot implementation was adjusted to adhere to the same spec after the TF-A code was merged.
> > > > > > >
> > > > > > > The U-Boot series was [1], for reference. This was mostly about using
> > > > > > > different tags and shrinking the headers. My clear understanding was
> > > > > > > that we were going to try to have a single codebase, which is why I
> > > > > > > changed the license.
> > > > > > >
> > > > > > > So, since you have a different view of events, why did Linaro write it
> > > > > > > from scratch? Was it to avoid having U-Boot code in TF-A? Or was the
> > > > > > > author just unaware of the original intention?
> > > > >
> > > > > I am not sure I am following 'from scratch'. Firmware handoff is a doc
> > > > > describing a list. Raymond implemented it in U-Boot and TF-A.
> > > >
> > > > So in your mind, Raymond implemented it in U-Boot? Have you taken a
> > > > look at 'git log' or 'git blame'?
> > > >
> > > > > The right way to do this is to move the firmware handoff code to a
> > > > > library that can be used across projects.
> > > >
> > > > Not always. Probably not in this case. It has quite a bit of logic
> > > > which depends on its environment. So I think it is better to have
> > > > 'similar' code in several projects. Certainly, writing it from scratch
> > > > (meaning not based on existing code) is not the best approach.
> > > >
> > > > >
> > > > > > It isn't relevant for
> > > > > > > the commit message, but if you can find out I would be interested.
> > > > > >
> > > > > > Just following up on this as I'm not sure of the status of this patch.
> > > > > > Can you perhaps write your own commit message with your version of
> > > > > > what Linaro has done?
> > > > >
> > > > > "The non-GPL license was inadvertently added, remove it". Raymond
> > > > > wrote that code so I don't think he minds removing the extra license.
> > > >
> > > > Again, please check your assertion here. I for one am very surprised
> > > > to hear that Raymond wrote the bloblist code :-)
> > >
> > > All of the patches carry his co-developed by or his signed off by. A
> > > big portion of those are sent by you as well
> >
> > So here you are referring just to the patches which changed the header
> > formats, not the original bloblist code.
>
> I never said bloblist in any of my emails. I only mentioned the
> firmware handoff.

Er, they are the same thing.

But I am relieved you didn't add a new common/firmware_ho.c into U-Boot

>
> >
> > >
> > > >
> > > > But it does help to explain why you objected to my commit message.
> > >
> > > The reason I object to the commit message is because it's
> > > *intentionally* misleading.
> > > The BSD-3 clause was added by you in 6c9e3d1fc0859 with the intention
> > > of other projects using 'bloblist'.
> >
> > Yes, that's why I added the license, since I was led to believe that
> > TF-A would use the U-Boot code with some modifications.
> >
> > >
> > > The actual firmware handoff code was added much later in e266d2731145.
> > > All of the patches in that series is co-developped by Raymond. Those
> > > were added Wed Dec 27 while the TF-A patches were merged much much
> > > earlier. commit 3ba2c15147c in TF-A was merged Tue Jul 25
> >
> > The original bloblist impl was in 2018:
> >
> > commit 9f407d4ef092c2ce7ab0f4f366aee252611dab3c
> > Author: Simon Glass <sjg at chromium.org>
> > Date:   Thu Nov 15 18:43:50 2018 -0700
> >
> >     Add core support for a bloblist to convey data from SPL
> >
> >     At present there is no standard way in U-Boot to pass information from SPL
> >     to U-Boot proper. But sometimes SPL wants to convey information to U-Boot
> >     that U-Boot cannot easily figure out. For example, if SPL sets up SDRAM
> >     then it might want to pass the size of SDRAM, or the location of each
> >     bank, to U-Boot proper.
> >
> >     Add a new 'bloblist' feature which provides this. A bloblist is set up in
> >     the first phase of U-Boot that runs (i.e. TPL or SPL). The location of
> >     this info may be in SRAM or CAR (x86 cache-as-RAM) or somewhere else.
> >     ...
> >
>
> So the tl;dr is that when the firmware handoff code was added in TF-A,
> there was no u-boot implementation. It all got added afterwards.

No, sorry.

> The way the development happened is that Raymond implemented the TF-A
> code, and also plugged in the transfer mechanism so we use that info.
> The fact that there was a similar implementation in U-Boot, which did
> not adhere to the standard to begin with doesn't justify your commit
> message.

No, this is not correct either.

Firmware handoff started as an ARM effort. I influenced the design
early on, suggesting that bloblist would be a good fit and it went
that way and version 0.8 was the result. Then a work colleague pushed
for halving the size of the headers by using smaller fields, so we did
that and also renumbered the tags, to get 0.9. Then I did a U-Boot
series to update bloblist to suit that[1]. Then Raymond picked it up,
took it through several revisions and got it submitted to U-Boot.

After that, we had the OF_BLOBLIST fiasco.

> As I said we didn't decide to write a 'bloblist' we
> implemented the spec in TF-A.

Whatever you say here, the fact is that in TF-A the code was written
from scratch, by which I mean not using the existing U-Boot code. That
was not my expectation at the time.

Regards,
Simon

[1] https://patchwork.ozlabs.org/project/uboot/cover/20230725213634.255345-1-sjg@chromium.org/


More information about the U-Boot mailing list