TLDR: 
  1) Please don't use the term deprecate - use "moved to a branch"
  2) Lets set up some rules about moving platforms/chips to a branch.
  3) How do we find out what platforms are actually in use?
  4) Please don't take this as an argument.We

---


First, we are not going to "Deprecate" anything - we are not warning against 
its use.  I'd ask that everyone please stop using that term because it's just 
too loaded. I understand that the term has been used in coreboot for a while, 
but let's try to stop using it.

What we do is move maintenance of platforms and chips out of the master branch, 
onto a version branch, but they can always be maintained on or built from that 
version branch.  They can even be moved back into the master branch if desired 
and if they are brought up to the current standards. 

 We are not deprecating those platforms - they will live on in coreboot as long 
as we have a git repo that they can be built from.

----
Next, I firmly believe that we need to set up some rules about how long 
platforms & chips will stay in the coreboot master branch after being 
introduced, or after they stop being manufactured/sold.

Right now, anyone who works to put code into the tree has no way to know when 
their code will be moved to a branch.  Obviously "It's no longer sold" isn't a 
good reason, because we continue support lots of chips and mainboards that are 
no longer sold.

I think that the argument of "It hasn't been tested in x years" may be valid, 
but not everyone who uses a platform runs our tests on it.  And just because 
it's being tested may also not reflect that anyone is actually using a platform.

Really we have no idea what platforms and chips are actually being used, so 
it's difficult to determine what should or shouldn't be moved to a branch.


Finally, (and apologies to Felix), I hate the argument of getting rid of things 
simply to "reduce the maintenance burden".

If we want to reduce the work that needs to be done to maintain older chips & 
platforms, let's implement some APIs between things so that there there's a 
better separation and changes don't affect everything across all of coreboot.

If the platform is in the tree, it needs to be supported to the best extent 
possible, and should be maintained on master as long as it's actually in use.

---
My proposals:

Let's create some rules about moving platforms & chips to branches to set 
expectations:
- Maybe decide that after being introduced, chips/platforms will stay in the 
master branch for a minimum of X years unless there's a significant need to 
remove it.
- Maybe say that every SOC/Platform needs a maintainer, and if the maintainer 
stops responding or working on that platform or doesn't verify that a platform 
is working, then it will be moved to a branch after X releases / months.  If a 
platform is perfect and doesn't need to be updated, it doesn't need to be on 
the master branch, right?


Because we have no way of really knowing what platforms or chips are being 
used.  It might be good to come up with a way to get some metrics regarding 
this:
    -- It looks like FWUPD keeps statistics about updates, so maybe that could 
help, at least for anything that's up there.
    -- Set up a poll or something for both anonymous and verified users to say 
what platforms they're using.  Right now, this is done solely by the test 
results, which aren't trivial.
<Terrible_Ideas>
    -- We can add a Kconfig option (opt in) to hit a website to increase a 
counter when a platform is being built.  This is probably a terrible metric, 
but better than we have now.  Hash the incoming IP address so that we only 
increment for one build a week from an individual.  Yeah, it could be gamed, 
but meh, who cares.  It just lets us know that the platform is still being 
built by someone.
    -- Add a script that again hits a website with information about what's 
running on a coreboot machine.  Some data could be in the clear like platform 
name & build date.  Other data could be hashed just so that we can get a rough 
idea of how many different machines are using an otherwise identical firmware.
</Terrible_Ideas>
---

Please don't take any of these thought as me trying to argue with anyone.  I 
absolutely agree that if something isn't being used, it doesn't need to be 
maintained on the master branch.  I just want to make sure that things actually 
aren't being used before moving them to a branch.

Thanks everyone, and take care.
Martin
_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org

Reply via email to