I am genuinely interested how such a thing would be done. I understand that it wouldn't be as hard as with communism, but I can't think of any way to encourage companies to make better (genuinely better) products. I remember how my mother told me how in her days (she lived in the DDR) there wasn't really any reason to be better than another company, as they would all be payed equally.
Money still exists under socialism, you could donate money, code, time, bug reports. You can still sell/buy products in a socialist society too