legacy-docs
legacy-docs copied to clipboard
Document how to start a new language track
For the longest time, if anyone emailed me or tweeted at me and said "hey, could we have a track for the X programming language?" I'd go ahead and make it.
The problem with this was that often the person wasn't offering to implement and maintain a new track, they were just wishing out loud that it existed.
So we've ended up with a bunch of tracks that are kind of in the works—maybe—but probably not really, but we don't actually know. They might have one or two exercises, but they've not actually gone anywhere. They're not live on the site.
A few months ago I created a new repository, https://github.com/exercism/request-new-language-track, and the process is now to open a new issue in that repository. There's an issue template that asks some questions, and then we bootstrap a new repository and generate some starter issues. One of the starter issues is a "launch checklist", which guides the new maintainer through the process of implementing and launching the track.
This needs to be documented and added to the maintaining-a-track
directory in this repository.
The documentation for this should give a high level overview of what to expect throughout the process, without duplicating the nitty gritty details (which can be left in the launch checklist).
The documentation about starting a new track in the problem-specifications contributing guide is not up to date, so that would need to be deleted.
So this issue has two tasks:
- Open a pull request in this repository documenting how to start a new language track
- Open a pull request in https://github.com/exercism/problem-specifications to delete the section about starting a language track.
Since this is basically undocumented, don't be afraid to open a pull request with your best guess at a starting point. We'll be able to go back and forth from there—a lot of this is finding a way to force my brain to dump out the information that is there!
@mfernest this one's for you, if you want it!
@kytrinyx this sounds meaty and interesting. Gimme gimme.
Take it! 🌻
I've been thinking about this some more. I think it would be nice to make this the canonical source of truth, and then update the request-new-language-track to have very little text, and link to this.
Here's some relevant stuff that I think should be included:
Ideally a track will have several maintainers. This makes the discussions more lively and interesting, and it makes the track more resilient to illnesses, job changes, new babies, and all the other excitement that real lifeTM brings.
More Lively
We've noticed that as soon as there are at least two people maintaining the same track we get rich discussions about quality and idioms. There's a lot more activity, and it's a lot more fun.
Spread the Workload
We don't want to burn people out, and it's really nice to be able to go on vacation or get busy at work without worrying too much about a growing backlog of unanswered issues and unreviewed and unmerged pull requests.
Caveat
There's a small chance that when more people are involved there's a bit of diffusion of responsibility (worth googling and reading about if you haven't heard the term before).
@mfernest How are you getting on with this?
It's been a month, I'm going to go ahead and make this one up for grabs again.
Hi @kytrinyx ! Is this issue still really open/relevant? I'm trying to pick up issues for hacktoberfest and would love to get this done for y'all if it is.
@donquxiote Oh shoot I missed this and now it's no longer October. I am so sorry about that!
❤️ 💛 💚 💙 💜 🖤
Basically... yeah, it's still relevant!
No worries! Even though it's not October I'd still like to take it on, the site's been a great tool and I'd like to give back, even a little.
I'd like to give back, even a little.
❤️ this is so much appreciated!
@kytrinyx sorry about the radio silence, real life took made an appearance and I wasn't able to look at this for a while. I've made a PR with what I have so far here: #122
That being said, I do have a question, what do you want a new maintainer to do if they find a track that is not active, but want to maintain it? (is that even a possible case with how y'all organize the project?)
Once this documentation is what you want, I'll open PRs to remove it from the problem-specifications and from the request-new-language-track readme.
@donquxiote I think we still have tracks that are not actively maintained. The best thing to do would be to open an issue in http://github.com/exercism/exercism/issues about it.