-
Notifications
You must be signed in to change notification settings - Fork 1
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
Question 9 might belong under findable #89
Comments
Sorry, it's currently under interoperability, but it could go under R or F. |
When it comes to versioning, I see 2 reasons why we would ask about that:
Having said all that, of course we can make changes if somehow users get thrown off by how the checklist asks things, but let's go with more or less this content for now, then reevaluate later once we have actual experience in the form of user reviews. |
Okay yes, the question as posed doesn't map to the relevant principle under findable:
I agree with you on that. Interoperability has a very specific definition under the FAIR4RS principles, and I think you've interpreted it quite differently:
I don't see how the question maps to the high level definition of the principle or the two guiding principles. I think if the FAIR principles had originally been written with software as a primary consideration, it's possible that "interoperability" wouldn't have made the cut. We spent so much time arguing about how to interpret "Interoperability" and the reason this narrow interpretation was chosen was to avoid a lot of overlap with the meaning of reusability. That's why there's only two guiding principles against it. But as for R, or specifically:
R3 ends up doing an insane amount of heavy lifting in the end. I usually take is as meaning "community norms". And this covers a lot of practices. The intent of the wording is not to contrast domains. The intent of the principle where reasonable, do what is accepted practice across the communities you are doing this within. This would mean scientific communities, but if I was submitting to CRAN, it would mean according to their norms as well, and then I think generally if producing any software, then according to more broadly recognised best practice like software versioning. So I would argue it belongs under R. |
code state: 34430c5 As a checklist user, I would expect the Interoperability section to ask me about how my software facilitates exchanging data (Q8), how it specifies which software it depends on (Q10), as well as how it can be used in conjunction with related software (Q11) and related data (Q12). It looks like we're mostly in agreement about the questions in this section, except for Q9. Allow me to first delve a bit deeper into Q10, and then I can explain how I think Q10 relates to Q9 afterwards. Q10: "The software" is e.g. a top level program As an example, let's say we are using the checklist to evaluate some software ("The software") that happens to have just one dependency ("The dependency"). Both "The software" and "The dependency" have multiple released versions. The importance of interoperability becomes immediately clear when one realizes that only a small subset of "The dependency"'s version history actually works for any given version of "The software", and that this subset may be different for different versions of "The software". For example, something like this: It is therefore important that software authors supply the necessary information to consumers, such that the latter group can unambiguously know which version of "The dependency" they should have in order to make use of "The software". Hence Q10. Q9: "The software" is e.g. a library Ok so that's the case where "The software" is the top program so to speak, but interoperability is equally important in the reverse case, namely where "The software" under evaluation is in fact a libary of some sort that's being used by some "Other software". In other words, something like this (I've only changed the titles on the left, everything else is the same) In my view, Q9 is simply the reverse of Q10, and thus belongs in the interoperability section. If "The software" does not facilitate differentiating between its versions, interoperability breaks down because "Other software" cannot reliably specify its requirements. You'd have something like: |
My two cents to this discussion, I don't quite agree with this statement (sorry @jspaaks):
I don't think that something being a community standard in one domain means that it cannot be applied to another. If version control is a community standard in domain A, it doesn't mean it cannot be applied to domain B. It only means that it is yet to become a standard on domain B. Arguably, versioning could be considered as part of software provenance (R1.2)? |
code state: 390fb39
Q 9. "What approach does the software take to versioning?" probably best relates to "R3. Software meets domain-relevant community standards." but arguably overlaps with "F1.2. Different versions of the software are assigned distinct identifiers.".
It's currently under R, but could go under F.
The text was updated successfully, but these errors were encountered: