Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify that input and output interfaces means APIs. #154

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

evankanderson
Copy link
Contributor

Digging on the wording from best practices (which this seems to have been lifted from), suggests that the current wording is due to this issue:

coreinfrastructure/best-practices-badge#450

"input and output interfaces" feels like it misses the point that this is focused on API documentation for connecting programs, which seems to have been the original intent.

Signed-off-by: Evan Anderson <[email protected]>
@funnelfiasco
Copy link
Contributor

I think this is good. It certainly seems to capture the original intent. I'm not sure if we want to also include filesystem IO and network port requirements here or if maybe should should be separate, similar requirements.

For installed software, it's important to know where it needs access. In particular, I'm thinking about things like Flatpak or mobile apps where the application is somewhat sandboxed, but may need access to particular resources (e.g. /tmp, $HOME, tcp/388)

@evankanderson
Copy link
Contributor Author

I think mobile apps actually have this fairly well done with manifests. I'm not sure that desktop (especially Linux) software has the same sort of standard mechanism for spelling out requirements.

I think filesystem IO and network ports might be better as a separate requirement for open source which ends up being its own self-contained program with one or more processes. (e.g. compared with the large amount of OSS which is libraries which are built into zero or more programs.)

@eddie-knight
Copy link
Contributor

Not sure I agree with this one... Inclined to think that other inputs and outputs need documentation as well— such as CLI input and output or filesystem i/o.

@mlieberman85
Copy link

mlieberman85 commented Jan 20, 2025

Not sure I agree with this one... Inclined to think that other inputs and outputs need documentation as well— such as CLI input and output or filesystem i/o.

I agree with us being clear. Now some would argue CLI, sockets, files, etc. are part of the API but given that it's not a universal view we should be clear.

Copy link
Contributor

@SecurityCRob SecurityCRob left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants