That is because there are few people who deal with these issues on a day to
day basis and are supporting a large user base. If I hadn't worked for a
distribution in 2005 with an opposing perspective to free software I wouldn't
have realized just how big a problem it was. When I founded ThinkPenguin I
had to make a decision. That decision was to support non-free software or
not. It was a technical decision at the core. Not an ethical one. This is not
to say that was the only reason. It was never a purely technical decision. It
was also an ethical decision. The first distribution we attempted to support
was GnewSense. After which was Trisquel. All this despite there being no real
demand.
To continue on. The company I worked for tried to and failed miserably at
supporting non-free software. Unfortunately Ubuntu and others are making the
same mistakes. The difference between Canonical and the distributor I worked
for was one of public relations. In fact many of the developers from two
different companies during that time period whom focused on non-free
components or in cohesion with non-free software ended up at Canonical. One
of the developers I worked with was obsessed with Apple (as can be seen in
Ubuntu) and explicitly stated GNU/Linux didn't matter. This was said to me
personally. I wouldn't likely have realized the extent of the non-free
software problem either had I not seen first hand just how badly it was
hurting GNU/Linux adoption. His actions and influence are still being felt.
However he is certainly NOT the only person to blame. He doesn't work in a
bubble. Mark Shuttleworth, Kevin Carmony, Andreas Typaldos, Linus Torvalds,
and many others are part of the problems facing users.
We don't need non-free software or a stable ABI. We should make some changes
in order to better support GNU/Linux and free software users though. The
current setup works OK provided we have a company like ThinkPenguin although
it could work better I believe with more cooperation between various
companies and the free software community. That is chipset companies like
Atheros, hardware manufactures, distributors like Trisquel, Ubuntu, Linux
Mint, and retailers.
Here is an example of why we need to do things differently. It's also why
h-node is ultimately not the way to solve the problem even with more
documentation on how to choose your hardware.
How to pick a printer:
HP is the only printer manufacturer which is currently providing
comprehensive documentation on printers and support for GNU/Linux AND free
operating systems. This documentation is very cryptic though. However it's
sufficient to figuring out which models to look at if you know how to
interpret it.
I'm going to start by visiting the HP web site. There are lots of current
models listed. These printers are readily available from thousands of retail
stores and online shops around the world.
Once you find the printer that you are thinking about buying you need to
check the HP's recommended printer list found here:
http://hplipopensource.com/hplip-web/recommended.html
If you click on a particular model there is lots of information to check out
about driver compatibility, distribution compatibility, and more. This is NOT
a good way to determine if your printer a particular printer is well
supported. HP's recommendations are not very good. In fact this information
is even misleading to those who don't understand it.
On this page there lists the HPLIP version. This is a critical component to
determining which distributions and versions have out of the box support. The
distributions listed on this page do not all work out of the box. This is
only the versions which are compatible with the HPLIP driver. However this is
not the version which ships with the distribution. It only means that a
version of HPLIP driver can be installed. That procedure is complicated and I
would not recommend it. While it may be faster to install this driver on
GNU/Linux than it would the equivalent Microsoft Windows driver it requires
more technical knowledge than most users have.
So.. to continue. The first thing you want to check is that there is no
“Driver plug-in” required and that the unit does not require a
“firmware download”. This information is found at the bottom. If this is
the case the next thing one would need to check is that the support level is
“Full” and it's a “Recommended” model. This information is at the
very top.
Now that you know this you need to find out if the printer is supported by
the version of the distribution you are using and not just by the driver HP
makes available. To do that you need to find the “Minimum HPLIP version”.
This is also at the very top of the page.
Now open up a new tab in your web browser and visit
http://packages.yourdistribution.com/ or search through your package
management software for the version of HPLIP that ships with your
distribution. packages.yourdistribution.com only works for debian derived
distributions. There are equivalents for at least some other distributions.
If using the web site scroll down to “Search package directories” and
enter HPLIP. Select the “Distribution” version you have installed. If you
don't know what version you have you can find it under System Settings →
Details (this may differ from one distribution or version to the next). Now
you will need to translate the number into a name.
To translate it open up a new tab in your web browser. Search for wikipedia +
distribution name. Select the resulting link pointing to the wikipedia
distributions information page. Here you can generally find a section titled
Releases. It'll tell you the code name for the version number. Find it and go
back to the packages.yourdistribution.com page.
Now you can select the distribution version based on the code name for your
distribution. Hit search. This will result in the listing of packages with
hplip in the title. The first result is usually just “hplip”. This is the
one we are looking for. Under it you will see the hplip version number. This
must be greater than the version from the hplipopensource.com page. Otherwise
it won't have out of the box support.
Now here is where the problem is introduced and one of the reasons why
libre.thinkpenguin.com exists. The currently available printers are not
necessarily the ones supported by the long term support releases that are
recommended for most users. For that you need a company specializing in
supporting GNU/Linux and free software. Once you realize this and choose the
right printer you'll have a better experience on GNU/Linux than with any
other operating system. There are no drivers to install and devices will work
out of the box. Simply plug the printer in and hit print.