geodynamics / best_practices

Software development and training best practices.
13 stars 9 forks source link

Software Donation Checklist #14

Closed ljhwang closed 3 years ago

ljhwang commented 4 years ago

Should we convert or Software Development Best Practices to a checklist?

We recently have been fielding questions about software donations. Would it be easier if we had a simplified checklist based on the BPs?

baagaard-usgs commented 4 years ago

What do you mean by checklist? How would it differ from what we already have?

ljhwang commented 4 years ago

It would be very similar but more explicit in how the guidelines are currently interpreted and let us more rapidly assess the state of the code without a lot of back and forth with the developers. For example, it would let us set the expectation of what files should be found in the main folder of the repo, how they use version control in development, whether they currently use integration testing, how they intend or would like to deploy the software, what the intent of the donation is etc.

baagaard-usgs commented 4 years ago

I can see how a checklist for donated code would be useful, but it sounds different from our list of best practices. I think we may need both or maybe once we have both, it will be clearer how to merge them.

ljhwang commented 4 years ago

Agreed on all points. Variations on a theme. We will float any such document through the SSC and post in this repo for feedback.

If others have suggestions in what they think would be helpful in such a check list, please propose.

gassmoeller commented 4 years ago

I like the idea of a checklist it would make the process of donating codes to CIG more transparent. We could have 3 lists, representative for our minimum / standard / target best practices (with minimum being required for accepting a code donation?). We could still keep our best practices list, maybe with some more guidance or links on how to actually implement these best practices (this is something that I think CIG would be a great organization to provide).