There are pros and cons to having users:
One thing you should consider once you have users is gracefully handling changes to your published APIs. If you want to change something, you probably should help users of your software to transition. MOOSE has several features that makes this easy. The general practice is to add new code but leave the old code in place for awhile. You'll have to support two ways of doing things but you can help users move to the new way and eventually delete the old way.
mooseDeprecated()possibly in conjunction with
mooseDoOnce()to avoid seeing hundreds or thousands of messages on your terminal.
InputParameters::addDeprecatedParam*()methods to help users find new parameters.
if you are contributing to the MOOSE test suite, the modules test suite, or applications that might not allow any warnings in their test suite through the use of the TestHarness option
--error which turns all warnings into errors.
allow_deprecated_untilparameter to the effected test. Choose a date in the near future at which time the test will revert to throwing errors if the deprecated code hasn't been cleaned up.
[Tests] [./test] type = Exodiff ... allow_deprecated_until = '06/01/2016' [../]