Am Mi., 29. Sept. 2021 um 19:47 Uhr schrieb Jack Rosenthal < jrosenth@google.com>:
At a minimum, I think we should consider introducing Python on an optional
basis (i.e., the C Kconfig implementation only gets used if a Python interpreter is unavailable), but making it required would be even better.
That idea is... horrible. Instead of only bringing in the python dependency we'd also create an environmental dependency that can silently introduce behavioral differences.
Fair, require python then. Most people have it on their systems anyways.
Well, the question I put up on the mailing list, for the community to decide, is if we should lift our quasi-ban on python in the project. I added you and the other contributors proposing python changes in Cc to this email as a courtesy because you're not all registered on the project's discussion venue.
The default alternative to "let's do something horrible" isn't "let's do this other thing instead", it's "don't change anything at all". Don't look further than the requirement for proposed changes to make it through review: Without "don't change anything" as default, we could just open up write access to the main repo and branch for everybody and everything - we don't.
Only if we decide that extensive python use in the coreboot tree is now okay, kconfiglib is even eligible for discussion.
So far the only argument in favor of python in _any_ way has been "it's installed everywhere". That was true 20 years ago as well, and yet still we had a fair amount of trouble with python. Look no further than the recent uptick in support requests on IRC by people trying to build coreboot + "stable" Tianocore: It fails because python moved on while the tagged Tianocore version did not and its build tooling relies on python. So I agree that "installed everywhere" is a necessary condition, but given how badly python's maintainers historically treated their user base, I don't think it's a sufficient condition, by far.
tl;dr: people of coreboot, opinions?
Patrick