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

Recruiting additional maintainers for all Exercism language tracks #5161

Closed
kytrinyx opened this issue Jan 9, 2020 · 12 comments
Closed

Recruiting additional maintainers for all Exercism language tracks #5161

kytrinyx opened this issue Jan 9, 2020 · 12 comments

Comments

@kytrinyx
Copy link
Member

kytrinyx commented Jan 9, 2020

We're about to start a big push towards version 3 (v3) of Exercism. This is going to be a really exciting step forward for Exercism, with in-browser coding, new Concept Exercises with automated feedback, improved mentoring and much more.

This to be a big community effort, with the work spread out among hundreds of volunteers across Exercism. One key thing is going to be each track having enough maintainers who have the time to manage that community effort. We are therefore putting out a call for new maintainers to bolster our numbers. We're hoping that our existing maintainers will be able to act as mentors to the newer maintainers we add, and take on a parental role in the tracks.

We have opened issues on each active track. Please respond on the relevant track (see below) if you are interested.

This was referenced Jan 9, 2020
@verdammelt
Copy link
Member

What happens to a track that cannot be upgraded to v3? Will there be some sort of 'backward compatibility' for tracks that don't have all the mentioned bells and whistles (in-browser editing, automated feedback and new exercises)?

@sshine
Copy link

sshine commented Jan 10, 2020

What happens to a track that cannot be upgraded to v3?

I presume the same thing that happened to those tracks that never (fully) progressed to v2: Nothing.

Yet, to be fair, in Haskell the full type of Nothing is forall a. Maybe a.

in-browser editing, automated feedback and new exercises

I believe the answer is different for each:

  • In-browser editing will be a site feature, much like language-specific syntax highlighting is today. It has to be enabled can be configured in the track's config.json like on Ruby track, but as witnessed on Haskell track, this change was incompatible with configlet fmt a month ago; I suspect it is still experimental.
  • Automated feedback will be triggered only when that whole machinery is configured. Otherwise the track's config.json has the usual "auto_approve": true/false which is only really used for hello-world. So presumably very much like tracks are now.
  • New exercises: Tracks that don't attain resources to "ascend" to v3 will just continue with their existing exercises. For example, SML track is still in a "v1" state since it has no core/side exercise distinction.

With the many new features of v3 tracks, there will surely be unexpected behavior, and it will likely hit tracks differently depending on whether they mostly resemble what what we think of as "v1", "v2" and "v3". But we'll probably also quickly notice those behaviors and treat them with some urgency regardless of whether the track is in a state we can call "v1", "v2" or "v3".

¢2

@iHiD
Copy link
Member

iHiD commented Jan 13, 2020

Just wanted to send a final nudge about this to all @exercism/track-maintainers, @exercism/website-copy and @exercism/alumni for this before we start going through all the issues tidying things up :) Sorry for the extra notification if you've already replied!

@iHiD
Copy link
Member

iHiD commented Jan 13, 2020

What happens to a track that cannot be upgraded to v3?

My current working plan (subject to change) is that they'll go into Practice Mode only, because the Learning Mode won't make sense without concept exercises. So effectively those tracks will become unstructured. Any tracks that didn't "migrate" to v2 will do the same.

As @sshine says, there are also parallel questions as part of v3. A track might not have Learning Mode, but still work in-browser with a Test Runner. I don't think we will allow the other way round though (Learning Mode but no Test Runner). And a track may or may not have Approaches, regardless of its state with either Learning Mode or Test Runner.

And there are features that will be irrelevant to the Tracks themselves (e.g. better profiles and permissions).

There's lots to work out here still :)

@sshine
Copy link

sshine commented Jan 13, 2020

Learning Mode won't make sense without concept exercises

Remind me, is Learning Mode that in v3 which most closely resembles Mentored Mode in v2?

This name changing has its downside. Maybe we should try to stick with names as long as they're not wrong, or at least link to its definition in discussions in periods of transition.

My current working plan (subject to change) is that they'll go into Practice Mode only

Are you saying that either track maintainers come up with new exercises, or the track loses its "Mentored Mode"? Why not let tracks develop gradually into v3? This would really seem like an unnecessary loss to me. 😮

I don't think we will allow the other way round though (Learning Mode but no Test Runner)

This would mean that whenever "v3 is released", if track maintainers for a given track don't conjure a Docker-based Test Runner, figure out some sustainable security model for it, and design some minimal curriculum that isn't the current set of exercises (since they'll be labelled Practice Exercises), the track won't be able to be in a state where submissions are submitted for feedback by default?

This would probably impact some well-functioning tracks with active mentors but with low maintainer resources.

And a track may or may not have Approaches

I forgot what this means. I can't find an issue or blog post that explains it.

@iHiD
Copy link
Member

iHiD commented Jan 14, 2020

Remind me, is Learning Mode that in v3 which most closely resembles Mentored Mode in v2?

Well sort of. It's a core pathway, with automated feedback, but not with mentor-blocking/approval/etc. So it's a bit of a new thing. No idea of the actual name yet, but "Learning Mode" has been my WIP because "Mentored Mode" sounds focussed on the bit that it is sort of moving away from.

This would mean that whenever "v3 is released", if track maintainers for a given track don't conjure a Docker-based Test Runner, figure out some sustainable security model for it...

Just to pick this bit apart. The only bit maintainers really need to do here is the script/program that runs the tests. The "security model" bit is global to everything and therefore not the concern of the track maintainers, and the Docker stuff we can help with if you don't know docker (I'm using a general "we" here really to mean Charles and Erik, as I don't know Docker). I understand that creating the "test runner" is work (and can be surprisingly complex) but the key requirement would only be to write a Haskell program for the Haskell track, not to have to understand a wider ecosystem.

... and design some minimal curriculum that isn't the current set of exercises (since they'll be labelled Practice Exercises), the track won't be able to be in a state where submissions are submitted for feedback by default? This would probably impact some well-functioning tracks with active mentors but with low maintainer resources.

Sort of correct. Yes, they won't get a new "Learning Mode" experience (with the pathway etc) without this being done, but also I'm not sure that any submissions will be automatically submitted for mentoring any more, and there definitely won't be mentor's blocking anything. Instead we'll probably move towards a model where the more you give, the more you can submit. So if you contribute to exercism, mentor others, etc, then you'll be able to put lots of solutions in mentor queues, whereas if you don't, you'll maybe only able to put one or two solutions in the queue (per language) at a time. We need to work out all the specifics of this, and will take time over the next few months to do it, but the idea is that the "Core" pathway will be effectively automatically mentored, and the surrounding Practice exercises will be where the mentoring takes place. But it's different enough from the current v2 experience, that putting it in those terms doesn't really give the clarity that I have in my mind. Fundamentally, we need to do a wad of work to turn what's in our brains into something that's useful and clear to everyone, but in the interim, we think that all the active tracks will be able to crowd-source enough exercises that the concerns you raise don't really manifest.

well-functioning tracks with active mentors but with low maintainer resources.

I hope, in these scenarios, we could get each mentor to help contribute an exercise under the guidance of a maintainer, to help us reach that target. And there will also be lots of exercises that can have quite a lot of the effort shared between tracks.

And a track may or may not have Approaches
I forgot what this means. I can't find an issue or blog post that explains it.

I mention it in #5088 - I'm not sure I've written up the latest work/thinking on this yet. At a basic level imagine solutions being automatically grouped and explorable, and articles being written exploring the different ways something can be solved (sort of like world-facing mentor notes).


I think, fundamentally, we're still at the stage where we have to ask for a little of everyone's trust that we're going to get it right, and a little patience in the fact that we're still working out the details and that I'm therefore reluctant to document too much before we've got clarity, so that we don't just add confusion. The things that we do feel we have clarity on (e.g. Concept Exercises) are the ones that we're pushing now, and as things firm up, we'll push out lots more information, and no doubt discuss a lot of this with you along the way :)

It's really helpful to hear your concerns though, so I'm not shutting you down here :)

@iHiD
Copy link
Member

iHiD commented Jan 15, 2020

Hello @arguello, @bmatsuo, @brent113, @celavek, @chezwicker, @Dog, @drueck, @hankturowski, @ireddick, @kevinlitchfield, @paf31, @sjwarner-bp, @soniakeys

We don't have working email addresses for any of you so can only contact you through GitHub. We've not heard back on the issue above, so I thought I'd ping you here for some housekeeping. Would you like to carry on as maintainers? If we don't hear back, we'll presume not, and set you to allumi so we don't continue to spam you :) Thanks!

@iHiD
Copy link
Member

iHiD commented Jan 15, 2020

(Also cc to my last message @jpreese, @rchavarria, and @proger as the emails to you bounced)

@budmc29
Copy link
Member

budmc29 commented Jan 15, 2020

@ErikSchierboom @iHiD I'm interested in helping with v3 and be a maintainer with as much time as I have available (not that much in the next few months though).

@ErikSchierboom
Copy link
Member

@budmc29 That's great to hear!

@chezwicker
Copy link

Sorry, I have been up to different things and unfortunately don't have time at the moment. Good luck with the project!

@ErikSchierboom
Copy link
Member

Hello 👋

With the launch of Exercism v3, we are closing all issues in this repository to help give us a clean slate to detect new problems. If this issue is still relevant to Exercism v3 (e.g. it's a feature that we haven't implemented in v3, or a bug that still exists), please reopen it and we will review it and post an update on it as soon as we get chance.

Thanks for helping make Exercism better, and we hope you enjoy v3 🙂

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

No branches or pull requests

7 participants