I recall donationware being claimed to only provide a trickle amount - usually due to people being greedy and wanting to keep as much money as possible. Perhaps that was just that one person, but it’s still unreliable income source for the Dos shareware era.
Asking for donations doesn’t even solve the symptom of important software needing a team to scrounge funding. No publicly-important infrastructure should require begging.
This might be from an old version of ruby, but:
irb(main):001:0> a NameError: undefined local variable or method `a' for main:Object from (irb):1 from C:/Ruby23-x64/bin/irb.cmd:19:in `<main>' irb(main):002:0> b NameError: undefined local variable or method `b' for main:Object from (irb):2 from C:/Ruby23-x64/bin/irb.cmd:19:in `<main>' irb(main):003:0> a=b NameError: undefined local variable or method `b' for main:Object from (irb):3 from C:/Ruby23-x64/bin/irb.cmd:19:in `<main>' irb(main):004:0> a => nil
This NameError doesn’t stop the assignment, going through despite the error.