Once that is said, it should be possible to work in a general-purpose open source 2d printer. The open community has achieved bigger goals. The biggest problem I can see is the entry barrier: to get a very basic printer, you have to invest thousands of time with a lot of knowledge in different areas, when a basic printer, even from the large companies, is not very expensive.
I think that one of the only chances we have for that to happen is that a company frees its designs and patents and community starts working from there.
In addition printers contain custom specific IP blocks related to everything from ethernet to scan and print functionality. It is just not feasible for someone to be able to write custom firmware for a printer without access to the hardware documentation for these devices. More sophisticated printers even have multiple CPUs for doing various tasks.