carpentries / maintainer-RFCs

Requests for comment for technology changes and other issues affecting lesson Maintainers.
18 stars 0 forks source link

Encouraging / accepting contributions to non-official lessons for Instructor Training checkout #6

Closed ErinBecker closed 4 years ago

ErinBecker commented 4 years ago

Context

Instructor trainees are required to submit a “contribution” to one of the official The Carpentries lessons (or other repositories) as part of the process for becoming a certified Instructor. Most trainees do this by submitting a PR, Issue, or comment on an existing PR or Issue on GitHub, and most make their contribution to lesson repositories (as opposed to our websites or template repositories). In the past year, we have had ~900 trainees go through Instructor Training, and about 500 of them have submitted lesson contributions. This averages to about 40 contributions per month across all of our lessons combined, but some lessons are more commonly taught and have a greater proportion of contributions.

Especially for stable lessons, the types of contributions generally fall into two categories:

  1. Minor language or code format changes.
  2. Suggestions for major changes (like a new plotting system).

The first category of contributions are likely to be accepted, and incrementally improve our lessons and keep them in good shape, but are not particularly exciting, for either contributors or Maintainers. Many trainees want to make a more substantial contribution to the lessons. However, major changes to our core lessons require significant coordination, discussion, and testing before implementing. (A recent change to the dataset used for the DC Genomics curriculum took 18 months.)

There has been interest in allowing contributions to non-official lessons (i.e. lessons in the Incubator and Lab) as counting towards trainees’ lesson contribution requirement for checkout. The intention would be to let Incubator / Lab lesson Maintainers opt-in to advertising their lessons for contributors, and to encourage them to keep a list of places where they would like contributions / types of contributions they want.

I’m opening this RFC to get feedback from Maintainers and Trainers about making this policy change. I’ve outlined below some of the potential impacts this change would have on Maintainers and Trainers. One particular area of concern is that trainees will assume that they can use Incubator lessons for teaching demonstrations. This will not be the case, as Trainers need to be somewhat familiar with a lesson in order to facilitate a teaching demonstration.

How will these changes affect me?

Maintainers of official Carpentries lessons will likely receive fewer pull requests and issues from new trainees on their lesson repositories. This will decrease Maintenance load, but may also lead to small errors in lessons persisting over longer periods of time.

Maintainers of Incubator lessons will have the opportunity to receive more contributions from trainees. They will be able to direct this activity towards particular areas, but may also receive PRs and Issues for directions they weren’t planning on taking the lesson.

Trainers will need to communicate about this new policy in Instructor Training workshops and the IT curriculum will need to be updated. There will likely be an increase in trainees coming to demo sessions having prepared a non-official lesson and needing to reschedule.

Timeline

Please post your thoughts and concerns about this policy change in this thread by Wednesday, 20 November midnight UTC.

Denubis commented 4 years ago

I absolutely support this. The primary lessons have extremely firm visions of what they are. Supporting comments (or test-teaching) incubator or unofficial lessons and feeding back comments or improvements can be an excellent route to provide genuine contribution, instead of demonstrating competence of the mechanisms of feedback.

fpsom commented 4 years ago

Thanks @ErinBecker, that's actually a very good idea! I generally in favor of this process - however, it would also make sense to me to encourage (or focus? I'm not sure what the appropriate word would be here) contributions to unofficial lessons that are have been explicitly highlighted as "encouraging checkout contributions". My reasoning behind this is that there might exist cases / lessons where there is either too few content already to warrant a meaningful contribution, or lessons where there is a roadmap (probably in a person's mind) and new contributions may not be as helpful there. Of course, this is mostly an "implementation" idea for this concept. And as I said, I'm in favor of having this regardless of the how. :)

ostephens commented 4 years ago

I think this is a good idea. I agree with @fpsom that this may bring it's own challenges, especially for lessons in the very early stages of development, but I also think that maintainers may be able to help manage those issues - e.g. through contributor guidelines, or by creating issues with task lists that can direct potential contributors in the best direction for developing the lesson.

annefou commented 4 years ago

Excellent idea! It can really help to make our community more dynamic and inclusive (regarding lesson development) and I think it can also serve more mature lessons (avoid to get too much additional material that do not fit to the schedule).

fmichonneau commented 4 years ago

Regarding concerns raised about contributions to lessons in the early stages of development, I'm wondering if we could open contributions to lessons that have passed the "pre-alpha" stage. In other words, the lessons that would accept contributions from the community would already have a complete first draft and would already have been taught once (see this figure from the Curriculum Development Handbook).

brownsarahm commented 4 years ago

I'm an incubator maintainer with a lesson that's on the edge of alpha/pre-alpha. I've taught it once, but there are sections that are still a mostly empty outline, because feedback was to add them. I have a published roadmap and a set of issues and would welcome contributions to my lesson.

Maybe opt-in by maintainers is better than a specific stage? Or maybe there's a mini-review that confirms the lesson is at a point where it's feasible for trainees to contribute? (I could be wrong that mine is accessible enough for someone to contribute, but I can't tell that...)

dvanic commented 4 years ago

Maybe opt-in by maintainers is better than a specific stage? Or maybe there's a mini-review that confirms the lesson is at a point where it's feasible for trainees to contribute?

This sounds like a great idea. I don't know if we need a special github tag for these types of contributions. Or use "help-wanted"?

ErinBecker commented 4 years ago

Thanks everyone for the feedback! It seems like the feeling on this idea is very positive. In terms of implementation, I agree with the need to "direct" or "focus" contributions towards specific lessons. I was envisioning an opt-in process for Maintainers of Incubator lessons and have started to outline steps for this in this Google doc (comment access for everyone). I also agree with @dvanic about keeping the "help-wanted" list simple by using existing tags. @Denubis has also put together a proof of concept RSS feed linked to GH issue tags that will allow us to make a continuously updated "help wanted" page for all of the lessons. This is of course contingent on Maintainers making use of those issue tags, so would take some coordination and communication, but I'm excited about the potential for this to make it easier for contributors to find something that Maintainers actually want help with. 🙂

anenadic commented 4 years ago

Just wanted to add my support for this idea too - there are many lessons in the incubator that are already in decent enough shape (however we chose to define them) that could benefit from the push from the community to get into an even better state (e.g. may need help with applying Carpentry lesson template styling) where the original owner/maintainer simply does not have enough resources at the moment to dedicate to this. And the number of instructors is constantly growing while there is only a fixed amount of official lessons to work on so 👍 for addressing this.

kariljordan commented 4 years ago

I support this. Having recently taught, I got this question a lot (can we contribute to lessons in the incubator, etc.) It will take a bit of pressure off of maintainers (stable lessons) and help push new lessons forward. Love it!

I only wonder if we'll eventually need more clear contributing guidelines, or if the current contributing guidelines are enough.

kekoziar commented 4 years ago

I really like this idea.

Speaking to the following concern:

Trainers will need to communicate about this new policy in Instructor Training workshops and the IT curriculum will need to be updated. There will likely be an increase in trainees coming to demo sessions having prepared a non-official lesson and needing to reschedule.

Perhaps the checkout procedure can keep an explicit list of lessons to use for demo sessions. It already has _Suggested Lessons for Teaching Demonstrations_, so it shouldn't be difficult to make that list the only lessons for the demo, and tighten up the wording in the procedure page to avoid ambiguity about other lessons that aren't approved to use for the demo.

ChristinaLK commented 4 years ago

Agree w/ allowing contributions to incubator/lab lessons and with a lot of the comments that this should be "opt-in" from the maintainer of the lesson.

amyehodge commented 4 years ago

I support this as well. I think it's really demotivating for learners to be told they are required to contribute but then be told that they can't make suggestions for significant changes because the lessons are fairly stable. This gives them an opportunity to feel like they are really contributing.

aschuerch commented 4 years ago

I also think this is a very good idea and more motivating than looking for the accidental flaw in established lessons.

ErinBecker commented 4 years ago

Thank you everyone for the feedback! I will be closing this RFC now and working on planning out and setting a timeline for implementing this idea. This also aligns well with @sstevens2's proposal around soliciting contributions to instructor notes, so I will coordinate with her on this. Thanks again everyone and looking forward to moving this forward!