This is Part 2 of a 5 part series. Links to other parts (as they become available) are below.
- Part 1: CONTRIBUTING File
- Part 2 (Below): TODO File
- Part 3: CODE_OF_CONDUCT File
- Part 4: Contributor Credit
- Part 5 (Future): BONUS TIPS!
So, you’ve added a CONTRIBUTING file to your module (in part 1). That’s great! Now people know the ground rules for contributing to your module. But there is another thing you can do to encourage the contributions you want: Simply tell the potential developer what changes you might appreciate.
I have to admit I’m not particularly good at giving some good suggestions for the TODO file, so this will likely be shorter than some of the other parts. But I’d like to be better at this because I know when I like a module, I often want to look to see if I can give something back – and a TODO file can be helpful.
For me, these files are merely my own personal todo list – I log anything I want to eventually do with the module, as I think of the task. For instance, the file in one of my modules, IP::Random –
* IPv6 Support
* Performance improvements (do not roll 2**32 die, roll die with only enough sides to select one of the non-excluded IPs)
* Command Line Tool to generate IP addresses
If this looks pretty simple, it is. The IPv6 support task will take some effort, while other tasks might be more straightforward (the command line tool). Ideally, you want to have tasks for all levels of difficulty here. You might also mention your issue tracker (if you actively use one), documentation, writing more tests, or other non-feature tasks if they are appropriate to your code. But the idea is to give your contributors some ideas on things you and others might appreciate.