I agree with Chris Hannah on this, however, I would make an exception for applications with core functionality that relies on an online service. To ensure the developer is able to maintain that web service, I think it’s perfectly fine to charge a subscription fee.
➝ Source: chrishannah.me