What I did (Jan. 26 & 27 '17)
(Update about last post)
- After describing my bad feelings about not having enough to report you were very supportive, thank you a lot for that!
- I will stick to daily-if-possible, every-two-days-if-slow posts, I really like the diary style feeling of these updates, they feel a lot easier and faster to write than the longer ones I did in the past
... so what I did:
- Today I almost finished my planning code reimplementation
- I decided to try to already hook in a contributor's code for having nicely-reconfigurable key bindings
After trying to make the contributor's code work for quite some time, I realized two things:
- It was incomplete (wouldn't be a problem usually, I can just finish it myself)
- It was written in such a chaotic way that there was no hope for adding even this simple missing thing, not to speak of more substantial additions and an obviously required clean-up later
- I only understood that it's that bad after spending several hours just trying to understand the code and what it actually does
This puts me in a slightly uncomfortable position:
- I obviously want to encourage everyone who wants to help me with the code to do so
- I want to create a welcoming atmosphere for everyone involved
- I don't want to waste anyones' time or hopes
- Just the fact that a kind stranger wants to help me at all for free is wonderful!
- If a contribution is below a reasonable quality standard (i.e. it takes me more time to bring it there than to completely rewrite it myself), it doesn't help anyone
- If someone starts a contribution with the intention of taking care of a certain aspect of the game, I want to trust them that it's actually in their abilities to do that, that they seek guidance if problems arise and that they give reliable reports on progress and what to expect
- A contribution that is abandoned but left in an easily understandable state is much more helpful than one that is "almost finished" but very messy
Some bigger and much more mature open source projects (for example Rust itself) have a pretty amazing system of tutors helping new contributors with easy introductory tasks. Unfortunately I don't have the time or manpower yet to offer something like that, so for now I can only give my own feedback and take matters into my own hands if needed - which is what I did in this case.
What this means for the next couple days:
- This in-general-nice-to-have thing of configurable keybindings won't make it to the next release and will be a low-priority optional task for myself during the February Feature Phase
- I will still try to finish the planning code rewrite, get that into a release and maybe squeeze in some more bugfixes before the end of January (aka Wednesday)
I would really like to hear your feedback about all of this, maybe you have some ideas how to handle situations like that better!