Open Up Your Open Source Module – Part 2: TODO File

This is Part 2 of a 5 part series.  Links to other parts (as they become available) are below.

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

TODO Tasks:
* 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.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s