This doesn't sound unreasonable to me, especially as a solo developer. I think it's important to make sure your customers understand that they may not be able to download their installer in the future.
Perhaps sending an email reminder _n_ days before expiration of their one year free maintenance and reminding them of that (and perhaps offering an upsell to renew for an additional year of maintenance)
Perhaps sending an email reminder _n_ days before expiration of their one year free maintenance and reminding them of that (and perhaps offering an upsell to renew for an additional year of maintenance)