Sorry if I came across as too negative, or as dismissive of the role of the communityâs views. I didnât mean to. What I was trying to say was that the discussion here is almost entirely between people who are familiar with the problems this PEP is trying to solve, and with why having this data would be a good idea. But the PEP itself needs to be written so as to be understandable and accessible to people who donât understand the motivation, and who may not see a need for the standard at all. The obvious example is installer maintainers who have to implement the standard, but other people may need to read the spec as well, and it needs to make sense to them.
My point is that as the PEP author, you need to take whatâs been agreed on here, and present it in a way that is understandable to that audience. And in my view (both as PEP delegate, and as one of the people not familiar with the use cases), the PEP doesnât currently succeed in that.
Iâm trying to explain my confusion here, hence my âwhat does all this meanâ posts, but itâs very hard to bridge the gap between my lack of familiarity with the use cases, and the discussions here. Your example of being on an incident response team helped me a little, because it helped me relate a situation this PEP might apply in to my own experience. It would be worth adding this explicitly to the motivation section. Although I will admit that when Iâve done incident diagnosis, âwhere did this 3rd party package come fromâ was rarely if ever a key question (Iâd be looking at higher level aspects of the system if the components that made up a production environment werenât already locked down by environment build processes, etc).
In a similar way, the explanations @sethmlarson has given about SBOMs have been useful, but Iâve never used or produced a SBOM in my career, and my instincts are that Iâd expect it to be something that was produced at environment build time, by the tools/workflow that builds the environment, rather than after the fact by analysis of what ended up being present.
So I guess the common theme here, which Iâd like the PEP to clarify, is why do we need an after-the-fact mechanism like this rather than focusing on environment build processes that produce information like SBOMs and audit reports as part of the build? Specifically, an installer isnât (IMO) an environment build tool, itâs a low-level utility that would be part of an environment build process.
Conversely, these days most of the environments I build (for hobby and casual use) are very adhoc, and donât use a formal âenvironment buildâ workflow. But thatâs fine, as these environments are also not ones where I expect to need auditability, provenance data, or install tracking. So having the installer record this data in that type of environment is useless to me.
So what Iâd like to see in the PEP is a discussion of:
- What sorts of environments would this data be useful in?
- Why is it not reasonable to integrate the collection of this data into the environment build process?
- If we do want to push the responsibility for recording this data to lower-level tools like installers that lack the wider context, what are the implications of that limited viewpoint on the data that can be collected, and are those implications acceptable for the use cases weâre talking about?
- In the longer term, what would be the fate of this low-level data as users start to take a more holistic view and incorporate provenance tracking into environment build processes? (I.e., is this a short-term solution which will become obsolete, will it be re-purposed into a component of a bigger standard, or what?)
Is that something you can add to the PEP?
(By the way, Iâm trying very hard here not to frame my comments as âthis is something that corporate users need, why are volunteer developers being expected to put time into developing and maintaining this?â But it is a question thatâs at the back of my mind - why does pip need to maintain this data so that companies can fulfil their responsibilities to provide SBOM data for their commercial projects, rather than the companies doing the work themselves as part of environment build?)