-
Notifications
You must be signed in to change notification settings - Fork 132
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
Add CONTRIBUTING, update README #392
Add CONTRIBUTING, update README #392
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, @phil-blain. This is very nice -- I agree it is a friendlier introduction than the current README. I would like others to weigh in on these files, especially the number and type of links that are included. We have worked hard to consolidate links into the resources wiki page to reduce maintenance, e.g. when the bulletin board location suddenly changes, and this repeats some of those.
I would like to suggest that we use the term "forum" instead of "bulletin board", everywhere it appears. The latter sounds like it's just for announcements, while "forum" invites discussion.
Re CONTRIBUTING:
Is this the minimum information and pointers needed to get someone started? Another potential option could be, where it makes sense, to not have an in-line, active link, but put a link to the resources wiki page near the top of CONTRIBUTING.md and send people there for more info. Some of these links are new/different from what we already have, and could stay.
I would prefer that issues be reserved for Consortium member use -- have users go first to the forum, and we (or they, with our permission) can create an issue after we've had a chance to review the problem. Users often classify things as bugs when the code doesn't act the way they expect it too, not realizing that we've intentionally made the code act that way. Your suggestions for what they should do when reporting an issue are still apropos. I would probably reword the porting bullet to emphasize that they should probably involve their IT people first!
Re README
I've tried not to emphasize any Consortium institution in the first-look info, including LANL, which is why that first statement isn't in the README now. A replacement statement could be
CICE is a computationally efficient model for simulating the growth, melting, and movement of polar sea ice. Designed as one component of coupled atmosphere-ocean-land-ice global climate models, today’s CICE model is the outcome of more than two decades of community collaboration in building a sea ice model suitable for multiple uses including process studies, operational forecasting, and climate simulation.
I think it's best to keep the 'getting started' instructions just in the docs. You have a pointer to them already under 'getting help', so I recommend removing the 'getting started' section entirely. By showing users the docs early on, we might head off some unnecessary questions.
I do think some of the content is quite helpful, but I also agree that we should not be duplicating links (or even content) in multiple places. In fact, I think I've been the most proactive in that regard. My preference would be that the only place we have links in on the resource page and all other places point ONLY to the resource page. In the same way, documentation (like how to download the code or setup a case) would exist only in one place. That way, we only have one thing to maintain when things change. I think some of this content could be moved to the resource page which would almost certainly make it better. Some of the info here could be dropped into the other documents as well. I totally understand why it's appealing to do what's been done here, but I think it creates more work overall in some ways. Again, my preference is that everything points to the resource page. That resource page should be well organized and point to various documents and other things in a friendly and clear way. And those documents on the resource page should overlap as little as possible (again to compartmentalize content and minimize redundancy). |
To be clear @apcraig, are you suggesting to keep the basic outline of CONTRIBUTING but move the details elsewhere (especially the resources page)? I think that could still be helpful. @phil-blain where does CONTRIBUTING.md appear in GitHub? Is it something that will be staring people in the face as soon as they open a repository page? |
I guess what I'm suggesting is that both in the README and the CONTRIBUTING page that more or less the only link that exists (if possible) is to the CICE Resource Page. We could then add/update the content on the CICE Resource Page (or other documents) based upon what @phil-blain has done here. In other words, I propose both look something like
But written with a little more fluff and pizazz. If we wanted there to be quite a bit more information, that's OK. I would just avoid having a bunch of links or redundant content if possible. Again, that's just my proposal/preference for organizing our documentation. The "half dozen" changes that were required to address the bulletin board change is a good example about why I think having everything centralized provides some benefits to us. And if the resource page and our documentation is well organized, it should be more than adequate for users. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One other thing, I would remove the new content in the PULL_REQUEST_TEMPLATE. It really doesn't much matter whether the "check boxes" are checked or not as far as I'm concerned. It's sort of an interesting feature, but not an important feature. In this case, I think it's better to leave out those details than add more text. In fact, if you do all the things requested by the template, you still haven't checked all the boxes. And the only place the info shows up that I can find is in the Pull Request list where it says something like (10 out of 16) in regards to the check boxes. Again, not particularly useful to worry about the check boxes overall in terms of our process. The main point is to do and fill out the template.
Regarding the pull request template: but I can drop that commit if we feel it's not an issue. |
I just want to ping this thread. I think we should try to finish this up. I think the main outstanding question is whether we want the README and CONTRIBUTING files to have so many details. I have argued the README and CONTRIBUTING pages should point to the resource page for more details and we should not duplicate the documentation as that just creates additional maintenance work. I think there are also other benefits if users just leverage the resource page as their go-to Consortium documentation/information starting point. |
I agree that we should avoid duplication and link mainly (maybe only) to the resources page. However that page does not provide a lot of guidance for someone approaching the Consortium for the first time. Maybe the 'contributing' page can provide some textual direction without links that need to be maintained. For example, we can say that the place to find information about dealing with the icepack submodule is in the git workflow document (which is linked from the resources page), and the place to find information about testing requirements for contributing new code, and information about the tests themselves, is in so-and-so section of the documentation (also linked from the resources page). I don't think we should clutter up the resources page with a lot of extra, descriptive text. This approach might 'feel' a little friendlier to users without being maintenance-heavy for us. We'd still want to review it every once in a while. I think the tutorial will provide us with some feedback on the kinds of guidance that new (and experienced) users might need most. |
I think it's great to have some text to provide an overview. I even don't mind having a few links (like to the resource page, bulletin board, and something else, for instance). But I think we should consciously avoid too much redundancy. I also think some of the updates in the README and CONTRIBUTING documents as they currently stand could/should be migrated to the resource page and/or other documents. The information is nicely presented. I think we should be constantly improving the resource page. I feel it's one of the most critical pages in the Consortium project. |
I'll be working on Consortium stuff for the tutorial this afternoon, traveling back to NM, and will try to take a stab at this text. |
I can also update this PR once a consensus has been reached... @eclare108213 to answer your question:
When GitHub users go to open their first issue or pull request in a project, GitHub shows these banners: In both cases, the "contributing guidelines" link to CONTRIBUTING.md. |
Can we control the text of those banners?
e
|
No. |
> The latter sounds like it's just for announcements, while "forum" invites discussion. CICE-Consortium#392 (review)
> The latter sounds like it's just for announcements, while "forum" invites discussion. CICE-Consortium#392 (review)
cd22129
to
5143fe5
Compare
fixed
fixed |
done |
> The latter sounds like it's just for announcements, while "forum" invites discussion. CICE-Consortium#392 (review)
5143fe5
to
55425fc
Compare
That looks good to me. Thanks. |
I added a new Contributing page to the About-Us wiki but did not create any links to it except this one. I further reduced the internal links and took out some but not all of the external links. Please take a look and make suggestions in this PR conversation. Here are my suggestions for other pages: CONTRIBUTING.md
Resource index
FAQ
Top of README (include links to CICE-svn-trunk and at the bottom as before, but use ‘forum’ instead of ‘bulletin board’):
|
I like the new contributing page. I would suggest a few changes. I would try to avoid the "About-Us" references/links. I view the About-Us as sort of a potential landing page and a place where we keep a lot of our documentation. But I don't think of it as a place that should be linked to or really mentioned. I don't think there is anything on the About-Us page that is not on the Resource Page. And I think we should try to avoid mentioning anything related to the organization of our documentation, so the fact that a bunch of the documentation is on the About Us wiki vs the Icepack wiki or CICE wiki or even external should not be exposed. So, I would change
I would change
I would not mention the squashed merge at the end. And I don't fully understand what the final sentence/link is contributing. (A helpful hint: Use [GitHub Flavored Markdown] appropriately.) Finally, I would move this
to the git workflow document under submodules. I think noting submodules are important is good, but I think pointing to the git workflow document is adequate at this level. If we include these links in the submodule section of the workflow document, I think that would be best. |
I like these suggestions @apcraig and have made the changes to the 'contributing' wiki page, including moving the submodule links to the git workflow doc. I have not made the other changes that I suggested above, waiting for others' opinions. |
@eclare108213 : I think having the Contributing page in the About-Us wiki is a good compromise. It's true that it causes less administrative burden to update and less duplication since CICE and Icepack can both link to it instead of duplicating content.
I'm also ok with moving the submodule resources to the Git Workflow page. Regarding the comments by @apcraig :
The reason why I explicitly mentioned "the About-Us wiki" is that when I started with the Consortium, I was always confused by how the documentation is organized. For example, I would try to find the "Git workflow Guidance" page often, first by looking in the CICE wiki, not finding it, then clicking Resource Index, looking at the sidebar, still not finding it, then scrolling down and finally finding the link.
For some contributors that are used to make atomic, self-contained commits, and write really detailed commit messages, it can be quite disconcerting for their pull requests to be integrated using this procedure, because all the work they did in splitting their work into separate commits is discarded. So I think we should at least warn these users that that is the procedure that is going to be used.
I agree; I had added that sentence when I talked about opening issues. In the latest version of this branch, I instead link to the appropriate syntax page on xenodo when I talk about opening new forum threads. @eclare108213 regarding your suggestions to the different files/pages: CONTRIBUTING.md: maybe I'd copy the "Getting help" section in there, so that it may deter more people from creating issues (since they have less links to click to in order to learn that we prefer they open a thread in the Forum) FAQ and Resource Index: I think these are good ideas. README: I would link directly in the text to the Forum, as well as to the Contributing page on the About-Us wiki. Also of note: I just noticed that the About-Us repo has a code of conduct https://github.com/CICE-Consortium/About-Us/blob/master/CodeOfConduct.md |
Sorry I'm late to the thread here. @phil-blain, thanks for heading this up. I didn't know about this feature and it will be good to follow the expected github format of repos. I've read through the comments so far and here are my opinions:
@phil-blain I also don't like how the pull request template check boxes don't match up with the numbering. But I don't know how to fix that given that we don't have a linear PR process since we can have, for example, both b4b and non requests. But that information seems essential to me in the PR template so we can adequately review it. I should be online all tomorrow to get this settled before the tutorial if that's our timeframe before people all start looking at this. |
We are converging on this issue and I think we need to finish it up today. Remaining questions are in @phil-blain s comments above. I'm generally okay with all of those suggestions, but I think the jury is still out on where and how often to link the various pages. I like the idea of just linking to the resources page in theory, but in practice I can see how that is non-intuitive to people approaching the Consortium for the first few times. I think we should go with the single contributing page in About-Us (without too many links within it), briefly link to it from CONTRIBUTING.md (and we can add the 'how to get help' section there, but I might not), and then link to the contributing wiki from the READMEs. I don't think a contributing link needs to be explicit in the side bar, but then again I also find it a little frustrating to look there and not find stuff. Maybe we can annotate the sidebar link to 'resources' to make it more obvious as the place to go? |
I'm answering Phil's questions directly from his last message. I think this can be done today pretty easily. @phil-blain , if I can help with any of these last items let me know.
I'm fully on board with this solution. Linking in all the places you list, @phil-blain , makes sense to me.
This sounds good to me.
I think this is good feedback that the process wasn't intuitive at first. If non team members aren't sure where to look and would usually look for a "contributing.md" file first for guidance, then we should create that with the info in it and links to other places (like the About-Us wiki). I think we can try this solution and we can always refine later, if necessary.
I don't have as much familiarity with this, so I don't have an opinion to share.
Sounds good to me.
Yep, agree.
Yep, agree.
Again, @phil-blain just let me know today what I can do to help. Reviewing, or helping with some of the PR's in other repos, etc. If you have it covered, then that's fine too. Thanks for heading this up! :) |
I'm happy to help push this forward today as well. I think we're converging and are reaching a reasonable compromise. As @duvivier says, we can always revise again in the future. It will be helpful to have this merged, then we can actually see what it looks like and continue to improve. Do we have a clear list of things that still needs to be done? I think it's at least
On the squashed merge, I'm OK if others think it should be mentioned, but I don't think it should be one of the first things a user sees. Can we drop it into the github workflow doc as well. I will update the github workflow doc now. I think for this PR, we mainly need to finalize the Contributing and README .md files. Those should be fairly straight-forward, largely pointing just to some primary links (resources, contributing, forum, etc). I think @eclare108213 has provided a reasonable version for both. By making them simple, they should be fairly static. We can then continue to improve all the surrounding documentation without needing to PR. |
OK I'll update the README and CONTRIBUTING files soon. |
I have updated the git workflow document and confirm the submodule links are there. I also copied the squash-merge info into the PR section, https://github.com/CICE-Consortium/About-Us/wiki/Git-Workflow-Guidance#submodules I also added a link to the Contributing Page on the About-Us README and on the About-Us wiki sidebar https://github.com/CICE-Consortium/About-Us |
The consensus on CICE-Consortium#392 was to create a 'Contributing' page in the About-Us wiki and link to there in both README.md and CONTRIBUTING.md. That page is created, so let's do that.
@eclare108213 @apcraig @duvivier : I've pushed a commit reducing the length of CONTRIBUTING.md and instead linking to the About-Us wiki Contributing page, as discussed above. This PR should be ready to merge, but we should make sure to do all the things we mentioned above that pertain to other repos (or check they have been done):
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@phil-blain I think this is looking really good. I have a number of little, minor changes. But overall I think it's very close to ready!
@@ -1,13 +1,32 @@ | |||
[![Build Status](https://travis-ci.org/CICE-Consortium/CICE.svg?branch=master)](https://travis-ci.org/CICE-Consortium/CICE) | |||
[![Documentation Status](https://readthedocs.org/projects/cice-consortium-cice/badge/?version=master)](http://cice-consortium-cice.readthedocs.io/en/master/?badge=master) | |||
|
|||
## Overview | |||
This repository contains the files and code needed to run the CICE sea ice numerical model starting with version 6. CICE is maintained by the CICE Consortium. Versions prior to v6 are found in the [CICE-svn-trunk repository](https://github.com/CICE-Consortium/CICE-svn-trunk). | |||
## The CICE Consortium sea-ice model |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@eclare108213 may want to weigh into how we refer to this model. My inclination would be to label this section "The CICE sea-ice model"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree it's more natural to just say "CICE sea-ice model"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've left this as 'The CICE Consortium sea-ice model' for now, but we can change it if others think that sounds weird.
@duvivier how are you viewing these pages "rendered"? |
@apcraig go directly to @phil-blain 's branch for this PR: https://github.com/phil-blain/CICE/blob/add-contributing/CONTRIBUTING.md |
@duvivier makes sense, thanks. |
I have checked off the first two boxes. |
As I have been advocating, I think we should document stuff in one place and then point to it as much as possible. I know this isn't always possible nor is it always the best approach, but it makes maintenance easier. At some point, maybe we should review our documentation and put together a little dependency/coverage diagram to help us recognize redundant documentation and/or unusual redirecting links in order to further clean this up. I'm happy to do that if others agree, but don't want to push this point farther than I should :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would remove the 'getting help' and 'contributing' headers from the README and remove the boldface formatting from the sentence about issues. Otherwise, I agree with all of the comments and suggestions by @duvivier and @apcraig. If no one else is able to work on this in the meantime, I'll try to finish it up later today.
It doesn't look like this gone completed today, but we can discuss tomorrow at dinner if we want to finish it up before Tuesday. |
I have checked the Contributing, Resource Index, About-Us and FAQ pages and further edited them as noted above. I did not add a link to the Contributing wiki page in the main About-Us wiki page, but I put the link in the side bar in a prominent place, and generally reorganized that side bar to emphasize the important stuff. I added a link to the code of conduct in the resources index and mentioned it in the Contributing wiki page without a direct link. I believe that the only thing left to do is to update the Contributing.md and README.md files in this PR as suggested by @duvivier and @apcraig. Rather than cloning the wiki and pushing to @phil-blain's branch, I am inclined to merge this PR as it is and then fix the remaining places directly. I'll wait a few (10?) minutes before starting that process, in case @phil-blain or anyone else is working on this simultaneously. Once that is done, we will need to bring the Icepack CONTRIBUTING.md and README.md files in line with these. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we seem to have reached consensus on what should be done, I will go ahead and merge this PR, and I will fix the remaining items directly. I'll post my progress and and resolve the conversations in this PR as I go. We can continue to improve all of these files and wiki pages, as needed.
PR checklist
Add a Contribution guide (CONTRIBUTING.md) and update the README to make it more welcoming.
Philippe Blain
I'll ping everyone on this one:
@eclare108213 @apcraig @duvivier @dabail10 @JFLemieux73 @proteanplanet @CICE-Consortium/devteam @mattdturner @rgrumbine @rallard77 @TillRasmussen
No tests.
This would close #384.
You can see the formatted documents over at my fork:
CONTRIBUTING.md
README.md
I would welcome any feedback: wording, formatting, section placements, etc.
I think the wording I chose makes it clear that support requests and feature requests should go to the bulletin board, but genuine bugs should be reported using GitHub issues. I think that is the consensus that was reached during our last call. If we feel like we should outright tell people to not open issues and always open a thread on the bulletin board instead, I'll update the PR.
I think our README looks a lot better and is more welcoming with these changes.
Please @-mention others I might have forgotten (especially new Consortium members as this is mostly targeted to them!)
P.S.: once consensus is reached on the content and wording I'll do a similar PR for Icepack.