On Sat, Jun 25, 2022 at 11:00:35PM +0200, Nico Huber wrote:
Hi flashrom fellows,
something that's on the agenda for the next dev meeting (30th June)[1]:
Should we look at forking flashrom between version 2 (Classic, Legacy, or “Stable” flashrom) and version3 of flashrom (Modern, Tested or Contemporary), where new features are added?
I think such a question deserves more attention, hence this email.
My own thoughts about the topic are quite mixed. First of all, it's not the first time the idea to work on two branches comes up. When we switched to Git and Gerrit in 2017, we started with a `stable` and a `staging` branch[2].
There were reservations, of course. Most of all that the `staging` branch could fall out-of-sync quickly, so it would be too hard to port anything from there to `stable`. Maybe such problems could be be avoided by allowing merges from `stable` to `staging`.
Eventually, we had a lot of new patches on the `staging` branch, including many fixups, so the features could have been ported to `stable`. But they were not, and we renamed `staging` to `master` instead. This was due to personal issues and not technical ones, though. I guess we can't really say if the branch model failed.
Now to the current proposition. Again, we have the idea to have one more and one less stable branch. But this time they would drift apart on purpose, focusing on different subsets of program- mers and chips, AIUI.
I would not object to continue development on two branches. Personally, I would most likely work on the stable "version 2" only. However, the naming would really be a tough nut to crack. Given my experience with this project, I would expect a branch that focuses on stability to be the more "modern" one very soon. Simply because it's much easier to add new features to something stable.
I wouldn't mind if people try such a "version 3". But it seems risky. I fear it might lose focus quickly and be abandoned again.
Cheers, Nico
I do not understand why anyone would want two versions.
First off, coreboot-2. But i guess one would need to be old enough to remember that.
Secondly, whenever i have been on the receiving end of a fork with graphics drivers, the following happens with users: - if something does not work on the one - it gets attempted with the other - if the second works, the first never gets a fix, or even a bug report. And vice-versa.
And by the time a user has attempted the second version, and that does not work either, he has done double the work already, and is much more likely to throw in the towel instead of spending the time to file a bugreport or to even debug things. And where would he file the bugreport, the first or the second?
So both sides of that coin are much, much worse off than before.
The same was true when a secondary modesetting path was introduced in my first big graphics driver project. This was the cause of the fork, and the forked driver had a config time switch between the paths. They ended up adding a third path on top of that a few years later. They never had anything reliable before the hardware was totally obsolete.
Also, what does one gain from two versions? Are there not effectively two version of flashrom already? The google one, and the formal one? Is this not just a veiled attempt to christen the google branch as formal?
Luc Verhaegen.