Apr 16, 2022, 08:03 by nico.h@gmx.de:
It's always a trade-off. Is the Quark code really that bad that it is hard to keep it along?
I'm not particularly looking at removing the Quark code right now. I lobbied early on to keep it in the tree. Really, I want 2 things out of this discussion. 1) Make it less harmful to move things to a release branch for maintenance. - After talking to Peter, this could be as simple as keeping the mainboard in the Kconfig with a hash that should be checkout out to build that board.2) Decide on a set of criteria that we can use to evaluate whether or not things should be removed from the master branch and maintained on a release branch.
From past experience, we should be realistic and admit that platforms will eventually get moved out of the master branch at some point. If Quark isn't removed now, at some point, 3, 5, or 10 years from now, it's going to get removed from the master branch.
As Ron mentioned, keeping platforms in master does have a cost. - The cost of testing isn't really all that high, but it's there. - The cost of maintaining the platform in the tree could also be an issue. That's the cost that Felix was looking at that started this discussion - he founds some code that was required for the quark platforms that he thought should be removed. - From Arthur's email about lb_serial - keeping platforms in the tree may require us to keep old workarounds in place.
Currently, the only reason we have specified that a platform will be moved to a release branch is if it's hindering progress. Basically if it's not using an API we want to mark a required, or using code that is being deprecated.
If hindering progress is the only reason that something should ever be removed from the master branch, I'm fine with that. Let's decide that and document it so we don't have to have this discussion in the future.
Other options we could look at:- A platform has not been sold in X years. - A chip has not been produced for X years. - A platform has not been tested in X years. - A platform hasn't had an active maintainer for X years. (Maybe the maintainer should be asked to test a platform as well?)
Hopefully, if we can make it easy enough to maintain a platform on a release branch, it won't be so much of an issue in the future, but it'd still be nice to have some criteria that we can agree on for when to move things.
Thanks everyone. As always, I'm not trying to argue with anyone, just looking to get an actual decision of some sort out of this thread.
Martin