A cleaning alternative to vinegar is to use ascorbic acid. We learned this years ago from our local appliance repair man. He was up repairing the stove and we mentioned the spots on glassware from the dishwasher. He said to use ascorbic acid (vitamin C powder) rather than the commercial (and expensive) dishwasher additives. Adding a bit(teaspoon?) each time works great to prevent spots and keep the dishwasher free of scale.
We also use it for descaling everything else such as water tap fittings, coffee pots, etc. For badly scaled items use a higher concentration and let it soak a few hours. Like vinegar, you do have to rinse well to get rid of the bitter taste.
It is in some commercial cleaners and can be expensive in the fancy packs. Our repairman is also a cattle farmer and told us to buy bulk from the feed store, which is a fraction of the price.