Look at the size of the nonlinear terms relative to the linear ones; then decide for yourself whether you can throw them away. This is greatly simplified using nondimensional analysis contrived so that all coefficients have a magnitude on the order one.
So set up reference quantities for the terms that appear in the governing equations. The reference mass might be the starting mass or the mass of a half filled bucket. So the mass in the governing equation is the actual mass divided by the reference mass. You can constrain the frequency using nondimensional time. For instance, you might divide the actual period by the natural period of the reference mass. Instantaneous flow rate out the bucket is now expressed in reference masses per reference cycle. Now you can decide under what conditions you are willing to disregard higher order terms (and justify the decisions) because you don't have to worry about huge coefficients counteracting some product of otherwise small terms.
This is a big part of exploiting series expansions such as Taylor series. To do so, you need to know the higher order terms get smaller at a decent rate.
(This problem would be a lot more fun if the bucket was supplying fuel to a rocket engine and the spring represented a vibration mode. Because now you really do want to get the terms on the order of one.)
this system is constituitively linear but contains one time-varying coefficient, so it is technically nonlinear. even if your modeling software does not permit time-varying coefficients, you can do a piecewise model in which you start the run, halt it, change the system mass, and restart it. this will get you close, and by shortening the run time at a given value of mass you will approach the behavior of the "real" system.