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

[ENH] BIDS software development guidelines appendix #227

Closed

Conversation

yarikoptic
Copy link
Collaborator

Related (possibly to be reflected in that doc):

This PR is primarily to palpate interest and possible objections

Additional TODOs known needed to be done

@sappelhoff
Copy link
Member

Looks like a good thing to have. It reminds me a bit of the BEP LEAD GUIDELINES (formerly Contributor Guide).

Both documents seem to be on the same logical level, so I would propose to either

  • make the software development guide a GoogleDoc
  • import the BEP LEAD GUIDELINES into github as an appendix

could be further formalized (see [ISSUE-102]).
It is RECOMMENDED that BIDS supporting applications are coded adhering
to [Postel's principle](https://en.wikipedia.org/wiki/Robustness_principle)
which is driving TCP implementations to *"be conservative in what you do, be
Copy link
Collaborator

Choose a reason for hiding this comment

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

For the sake of clarity and minimising the nerd factor, I'd remove "driving TCP implementations"

liberal in what you accept from others."*


[ISSUE-226]: https://github.com/bids-standard/bids-specification/issues/226
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't understand the role of these links... we reference issues inside the spec? Seems fragile.

@sappelhoff
Copy link
Member

@franklin-feingold @effigies do yo want to chime in on this PR?

Do you think the contents should be added to the spec? ... or in a different/separate Google Doc?

see also my comment above. @nicholst your comments were more of a concrete nature - but perhaps you also want to voice your opinion on where (and if at all) to include this in general.

@nicholst
Copy link
Collaborator

My comments all seem very petty now :)

Anyway, I do see the role and value of guidelines for BIDS software, and it makes sense that it is distinct from BEP LEAD GUIDELINES, right?

E.g., if I'm someone wanting to write software for BIDS 1.0, what does that have to do with a BEP?

So... unless there's another concrete suggestion, here as an appendix seems as good as any place.

@sappelhoff
Copy link
Member

sappelhoff commented Sep 11, 2019

Anyway, I do see the role and value of guidelines for BIDS software, and it makes sense that it is distinct from BEP LEAD GUIDELINES, right?

I agree that these should be distinct documents - but I see where the confusion is coming from.

I was simply saying that if we make THESE guidelines (for software) a part of the spec ... then why shouldn't the BEP-Lead-guidelines be a part of the spec as well?

This is just an argument for consistency, and I currently tend towards preferring putting the software guidelines in a google doc (until they grow more substantially) --> instead of importing the BEP-Lead-guidelines also into the appendix (for being consistent).

EDIT: Of course, it's also an option to be inconsistent and have the software guidelines as an appendix, and BEP-lead-guidelines as a Google Doc. But I personally find that confusing.

@franklin-feingold
Copy link
Collaborator

My two cents on the point raised in this discussion:

Regarding having this part of the appendix - In the current makeup of the appendix, this document may be better suited to be part of the specification repository (temporarily) rather than in the specification RTD. This would be great in relation to information/repository for contributors (similar to the starter kit, but for contributors. perhaps establishing a need for a contributors repo?). There is infrastructure to be built out to support this type of information effectively (and even overall better establishing the process, documenting, and simplifying the pathway from user to contributor). In the meantime, perhaps this can be part of this repository. It can be in markdown, but if there is dynamic action that arises it can be ported over to google docs and the more rapid commenting/development can happen more seamlessly there. Google doc vs markdown I don't feel strongly either way.

In general, having a set of guidelines to uniformly build out software associated with BIDS will be really important as we move into wrapping up Derivatives, Statistical and Computational Models.

[inheritance principle](../02-common-principles.md#the-inheritance-principle)
could be further formalized (see [ISSUE-102]).
It is RECOMMENDED that BIDS supporting applications are coded adhering
to [Postel's principle](https://en.wikipedia.org/wiki/Robustness_principle)
Copy link
Collaborator

Choose a reason for hiding this comment

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

It's not clear what this means in the BIDS context

@sappelhoff
Copy link
Member

I went ahead and copied the contents to a google doc BIDS Software Development Guidelines

this document may be more easily shared and extended by other contributors.

If it grows and we finally decide what to do with it, we can reopen this PR.

Feel free to challenge this decision.

@sappelhoff sappelhoff closed this May 6, 2020
@yarikoptic
Copy link
Collaborator Author

  • "Daddy, daddy!? what is a Google Doc?"
  • "Google Doc is where all good but unfinished ideas are moved to let them RiP" ;)

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