I had to do something similar to get an old Epson scanner to work. It astonished me that there are no drivers for it on the Epson website, no generic or legacy Windows drivers. And this was a serious hum-dinger of a scanner which is still much better than a brand new Epson because, shockingly, it's really hard to buy a decent scanner these days. They're ludicrously badly made unless you spend many thousands. Most of the high end ones are aimed at office scanning, with automatic page feed and high throughout etc. If you're an artist, you're screwed.
Obviously the scanner works on Linux, but my wife is the one who needs to use it. So I hacked together a Raspberry Pi, a heavily customised PHPSane and an ancient Apple iPad (that is similarly unsupported, with almost no software available in the store). The pi boots in about 5 seconds. Now anyone on the house WiFi can scan over the network or walk right up and use the web interface via the iPad which is mounted beside the scanner.
What was really enjoyable about the project was that I got to use one of my old Pis and a tablet that was heading for e-waste.
This project made me wonder if a "physical virtual printer" exists?
I'd love to send print jobs to a "non-physical" printer that any OS (and/or Adobe DC Reader) sees as a "completely legit, real, physical printer".
In other words, not just the "Print to PDF" option/dialog on the OS. Then after "printing", have a valid PDF appear on that device's target storage itself (eMMC/SD Card/SMB share...)?
Right now CUPS does not publish all available custom page formats for label printers in a Windows 11 compatible way for true driverless printing, but some day I'll get my hands on this issue!
This is an open source project in a technical sense (source is open and the license is open), but not in a social sense (no free as in beer available source code, no public support for everyone). Source code, as well as firmware updates and support, are provided only to the customers.
When I sell the print server, I ask the buyer for the printer model, check its compatibility, and sell the device + guarantee that it would work for the buyer's printer. If it doesn't work properly, I'm first trying to debug remotely, and I could not fix it, I'm buying the same printer on flea market and debugging and fixing it until it works, and contribute the fix to CUPS/SANE/printer driver package.
In other words, I sell tech support in a package, and I just don't sell the print server if it's incompatible with the printer.
The goal of this project is to provide *ready-to-use, no-DIY device*, to improve the underlying software by directly contributing to it, for anyone to benefit from the fix. If you want to contribute to the printing stack and already know where to start, you should improve relevant projects, such as CUPS, SANE, printer and scanner drivers.
> Many people believe that the spirit of the GNU Project is that you should not charge money for distributing copies of software, or that you should charge as little as possible—just enough to cover the cost. This is a misunderstanding.
> Actually, we encourage people who redistribute free software to charge as much as they wish or can. If a license does not permit users to make copies and sell them, it is a nonfree license. If this seems surprising to you, please read on.
You can buy only the firmware package as well, without the device. I'll send you the instruction on how to configure everything and which hardware modifications are required.
Selling non-free software under a GNU license != open source. The title will be misleading to most people. Nothing wrong with charging for your software, but you shouldn't call it open source.
If you're implying something, then please get your thoughts across more clearly. The title says "profit goes to open-source", meaning CUPS, SANE, AirSane projects, which are FOSS (free and open-source), if the publicly available code and collaborative development is what you're referring to.
Additional software (web interface, scripts, utilities) is free, the source code is included in the source package.
The customer is provided with the source code of the firmware components, and with the build system based on mkosi[1] to build the complete firmware: starting from bootstrapping Debian 12 builder image which cross-compiles the packages with additional patches and builds additional software, to ARM Debian 12 image with everything compiled in the previous stage, to the final squashfs OS file and MicroSD image.
Yeah sorry, I misread the title. I used Debian with CUPS on an SBC for something similar, but yours looks way more elegant. This concept is not just for old printers, BTW; a lot of new ones have buggy implementations or can't be trusted on WAN (looking at you HP). Thanks for the reply, wishing you success!
No prob! Hope we'll all get great 2D printer some day, from Framework or other user-facing company!
It's not that impossible than you may think: several Chinese companies have their own domestic laser printers, claiming of in-house components and development (Cumtenn, ZoneWin), and one company does inkjet printers in addition to lasers (Deli Printer).
Is there any method possibility to purchase the software install on my own hardware and/or other payment methods? It is impossibility for self to send money to Russia without «consequences» and crypto is unpleasant KYC to access, much less importation of shipment from RU.
Yep, you'll need an OrangePi Zero 3 board, MicroSD, a button, and some soldering skills. Several options for non-KYC cryptocurrency exchanges exist[1], I also accept PayPal (non-RU account). Mail me!
I think the nuance is that OP is charging for hardware , software, and service (firmware customization and support).
With regards to the software, it is open source but OP is only providing the code to customers who receive the end product. In part, OP is acting as a distributor of the software and is charging a fee for that distribution.
If anyone else gets their hands on that software, they can choose to become a distributor and make it publicly available. It’s their freedom to do so.
A overly simple way to look at is is that OP is choosing (as a small part of their business) to charge for the distribution of the source code but not the source itself.
In reality, it’s unlikely that OP will have a customer who only wants the source code and is willing to pay a fee for the distribution of it. Their customers are coming to them for the service and support.
The GPL is an open source license. It does not require that the source be public, just that people who receive the software also are granted the source with the GPL license.
I had to do something similar to get an old Epson scanner to work. It astonished me that there are no drivers for it on the Epson website, no generic or legacy Windows drivers. And this was a serious hum-dinger of a scanner which is still much better than a brand new Epson because, shockingly, it's really hard to buy a decent scanner these days. They're ludicrously badly made unless you spend many thousands. Most of the high end ones are aimed at office scanning, with automatic page feed and high throughout etc. If you're an artist, you're screwed.
Obviously the scanner works on Linux, but my wife is the one who needs to use it. So I hacked together a Raspberry Pi, a heavily customised PHPSane and an ancient Apple iPad (that is similarly unsupported, with almost no software available in the store). The pi boots in about 5 seconds. Now anyone on the house WiFi can scan over the network or walk right up and use the web interface via the iPad which is mounted beside the scanner.
What was really enjoyable about the project was that I got to use one of my old Pis and a tablet that was heading for e-waste.
https://www.youtube.com/watch?v=7Fw7bZoPyVU
I'd love to send print jobs to a "non-physical" printer that any OS (and/or Adobe DC Reader) sees as a "completely legit, real, physical printer".
In other words, not just the "Print to PDF" option/dialog on the OS. Then after "printing", have a valid PDF appear on that device's target storage itself (eMMC/SD Card/SMB share...)?
Does it mean you have remote access to the device?
(I use the Pi with thermal 4x6 label printers that use either ZPL or variant thereof, to access them either by Wi-Fi or Bluetooth.)
https://github.com/OpenPrinting/cups/issues/1017
I'll pass until that's normal.
When I sell the print server, I ask the buyer for the printer model, check its compatibility, and sell the device + guarantee that it would work for the buyer's printer. If it doesn't work properly, I'm first trying to debug remotely, and I could not fix it, I'm buying the same printer on flea market and debugging and fixing it until it works, and contribute the fix to CUPS/SANE/printer driver package.
In other words, I sell tech support in a package, and I just don't sell the print server if it's incompatible with the printer.
The goal of this project is to provide *ready-to-use, no-DIY device*, to improve the underlying software by directly contributing to it, for anyone to benefit from the fix. If you want to contribute to the printing stack and already know where to start, you should improve relevant projects, such as CUPS, SANE, printer and scanner drivers.
Selling Free Software <https://www.gnu.org/philosophy/selling.en.html>
> Many people believe that the spirit of the GNU Project is that you should not charge money for distributing copies of software, or that you should charge as little as possible—just enough to cover the cost. This is a misunderstanding.
> Actually, we encourage people who redistribute free software to charge as much as they wish or can. If a license does not permit users to make copies and sell them, it is a nonfree license. If this seems surprising to you, please read on.
You can buy only the firmware package as well, without the device. I'll send you the instruction on how to configure everything and which hardware modifications are required.
Edit: Apparently I misread the title.
Additional software (web interface, scripts, utilities) is free, the source code is included in the source package.
The customer is provided with the source code of the firmware components, and with the build system based on mkosi[1] to build the complete firmware: starting from bootstrapping Debian 12 builder image which cross-compiles the packages with additional patches and builds additional software, to ARM Debian 12 image with everything compiled in the previous stage, to the final squashfs OS file and MicroSD image.
[1]: https://github.com/systemd/mkosi
It's not that impossible than you may think: several Chinese companies have their own domestic laser printers, claiming of in-house components and development (Cumtenn, ZoneWin), and one company does inkjet printers in addition to lasers (Deli Printer).
[1]: https://kycnot.me/?t=exchange&q=&fiat=on
You are only required to provide source to the users of your software.
With regards to the software, it is open source but OP is only providing the code to customers who receive the end product. In part, OP is acting as a distributor of the software and is charging a fee for that distribution.
If anyone else gets their hands on that software, they can choose to become a distributor and make it publicly available. It’s their freedom to do so.
A overly simple way to look at is is that OP is choosing (as a small part of their business) to charge for the distribution of the source code but not the source itself.
In reality, it’s unlikely that OP will have a customer who only wants the source code and is willing to pay a fee for the distribution of it. Their customers are coming to them for the service and support.