There have been the days no matter on which operating system when installing the driver for a new printer was a real pain. Linux has been no exception and it was probably the platform on which this procedure was the most painful. After all, especially companies that are on the cheap side of the market often don’t bother to provide printer drivers for Linux so it’s up to the community to do that. I’ve come quite a number of different printers from different manufacturers over the years and I can’t remember a single one that wouldn’t work after a bit of configuration. While the added effort is obviously a disadvantage the big plus is that community drivers prevent closed source software from invading your system and keep bloatware and advertising pop-ups away from your system.
HP is one of the positive and notable exceptions in the Linux world. Their open source driver suite for their printers and scanners works well indeed, comes as a part of many Linux distributions and I had very good experiences with it over the years when I had to connect to HP products. Recently, I noticed that things have advanced a step further (in Ubuntu 16.04 which I am using right now but it is most likely included in other distributions as well) as the HP printer I connected to my notebook over USB was detected automatically and drivers were installed without any user interaction. No model selection, no questions. Perfect!