87 分 | 作者 gmac 3天前
13 条评论
- ValdikSS 9小时前It's a great concept, but you haven't open-sourced the previous code, as the license requires, and you're yet again apologizing in this project as well, without any code.
Pretty sure you have my code in both projects. I contribute first and foremost to make printers and scanners to work reliably, but also keeping in mind the idea that I could at least try to apply legal actions for companies which violate the license rules one day, as a CUPS/SANE/printer/scanner drivers contributor.
Printer companies generally don't like that: https://xcancel.com/ValdikSS/status/1745898408693371125#m
Cool project though! Hope you can publish the source one day so we can all benefit from it in the future!
- gmac 5小时前If you think I’ve done something wrong according to the licences involved here, please do clarify. I had understood that open-sourcing the Linux stuff (as branches of a fork of v86, linked from the /credits page) met all relevant legal obligations, which I absolutely intend to do.
More broadly, it’s unusual for me not to make everything open, and I do feel bad/conflicted about it. But, unusually, I feel like I have identified a possible route to monetising this, and I think open-sourcing all of it risks making that harder.
- ValdikSS 4小时前Sorry, it's me who needs a reading comprehension lessons. I've read back in printervention website and now again that you didn't open the code that you HAVE to. Because you're apologizing for that, I assumed that you're breaking the license, twice.
After rereading both of your websites again, I should say you've nothing wrong! It's sleepy me who accused you for nothing, sorry.
Linux printing and scanning stack is held on 5 enthusiasts basically, and is quite buggy. Any contributions welcome.
If you want to further improve your project, make it small and fast, you can compile printer filters (most of which work on cups-raster data) with emscripten. This way you don't need to use CUPS, Linux, and x86 emulation. You'll need to write some shims for CUPS libppd functions which many filters use (some don't), and either parse PPD files or convert them into another representation.
Most filters (drivers) are quite simple pipes from stdin to stdout, sometimes they don't use cups functions at all, receiving all the data directly from raster header. Some filters, such as gutenprint, are more complex and use their own backends, but even in this case it's not a hard task: libusb has emscripten WebUSB backend.
- stuaxo 1小时前OT: But in a way kind of good to know.
Ages ago I got a Canon A3 printer. I've never been sure if it worked properly, as I was never sure if the colours are right.
Next time I unpack it I'll have to try and find the place the 5 enthusiasts hang out - the cups mailing list ?
- woolion 3小时前If monetization is at odds with open-source, why wouldn't potential customers just wouldn't go to VueScan, as someone posted? I was recently looking at scanners, and saw some brands directly advertise Linux support through this... which means you now have to pay subscription each year to access the expensive hardware you bought.
Thankfully the Avision FB5100 states native Linux support (AFAIK, this is the only flatbed A3 scanner that does), so I'm certainly going to buy this one. I know implementing device support for companies that don't make any effort is hard and thankless, but then we need to divest/invest in the right companies and solutions.
- ValdikSS 3小时前Any airprint/mopria certified devices don't need drivers to work on Linux, Windows, Android or macOS.
- ironhaven 5小时前If you just install CUPS in a virtual machine (emulated in wasm on the web) what patches do you need to share?
- itsthecourier 7小时前hope we see that code soon
- winkelmann 1小时前FYI, if the goal is just to use something like an old Canon LiDE scanner (pretty common/cheap devices with no more driver support) on macOS: SANE runs natively and works great: https://formulae.brew.sh/formula/sane-backends (comes with `scanimage` CLI tool).
- IdiotSavage 3小时前With AirSane [1], you can make scanners integrate nicely with macOS. This page [2] has a writeup (in German) how to set it up on a RaspberryPi. On non-macOS devices you can still use the web interface, as demonstrated by the "yes-we-scan" app.
- jdub 8小时前Hrm, yes-we-scan and printervention are built on SANE and CUPS respectively, which makes sense. But running them in a whole wasm-emulated Linux kernel and userland seems... like a lot.
- jdub 8小时前Oh, and:
> I must apologise that I haven’t so far open-sourced any part of this that I don’t have to.
With some blather about commercial opportunities. Which is a weird thing to say without linking to the bits that must be shared (under the terms of the various licenses).
- gmac 5小时前There’s separately a /credits page where I’ve done that, linked from the footer. Perhaps I should link it from the apology too. Tell me if you think I’ve not shared what I have to.
- mrweasel 4小时前If you just need a single scan every now and then and have an old scanner, I can see this being handy. Installing Linux, battling Windows drivers or buying Vuescan (great as it is) might be enough to make most just give up and take a photo of whatever document they where going to scan.
It is a little much, but if it can be made to "Just Work" by booting a Linux kernel in the browser that it pretty cool and impressive. I'm still a little on the fence about my browser having USB support, but this could be handy for dusins of people.
- jdub 8小时前Ah, it seems like the architecture was designed by a slop machine. OK.
- userbinator 7小时前RE'ing drivers and porting them is one of those things that AI turns out to be really useful for, and there have been a few of such projects posted here already. But of course the author has to drive it in that direction rather than let it just glue stuff together.
- ironhaven 5小时前If they reverse engineered the drivers then why do they need a virtual cpu and a Linux kernel to run them. Is this reverse engineering or just installing software in a weird environment?
Speaking of not just gluing stuff together with usb/ip could one make a virtual WebUSB host kernel module that could be used by the Linux kernel USB stack? They most likely would not want to do that because then all of the code would be GPL and would have to be shared with the public.
- toast0 5小时前I don't think a usb host driver is necessarily tainted into being GPL? But if it is, plenty of non-gpl oses that can run SANE.
- raffraffraff 6小时前I used a raspberry pi 3b+ and an ancient ipad to turn my Canon A3 scanner into a network scanner with an LCD interface (which also just points to the phpscan web page). I tuned to html / js / css to fit the ipad perfectly and only show options that worked with my specific scanner.
- keepamovin 3小时前Such a cool project. I love seeing what the web platform can do and particularly like the hardware integration capabilities of these type of APIs. I remember playing with a Web USB ADS-B scanner that plugs into your SDR.
Interestingly, it was better executed than many of the downloadable native apps.
- hard_times 3小时前The idea of emulating a lightweight Alpine Linux in the browser to make this work, without overengineering don't-know-what custom niche solution is definitely intriguing.
I wonder how much work would it be to port a given Linux USB driver to WASM alone?
- Aloha 9小时前I could also just go buy VueScan, which is cross platform and great.
- erasmoss 2小时前Reminds me of building a tiny Linux VM to access the APFS share of our Mac-centric uni from Windows. Other students just got a MacBook..
- brnt 3小时前I've plugged in many a scanner (or printer) into my Linux machines, and they always just werk. Which this project probably makes use of: SANE. I think there's even a project porting SANE to Windows (because that's I guess what this is aimed at: scanners that never got a WHQL driver).
- ocdtrekkie 6小时前I don't want this enough to subject myself to WebUSB, but I am particularly fond of a no-longer-supported flatbed scanner I own which powers entirely off the USB port. It was super handy if you wanted to scan to like a tablet in a car or something, as long as you had a USB-A port to work with.
- DeathArrow 6小时前Can this be made into a generic support app for old devices, not just scanners?
- brudgers 1天前The ShowHN a few days ago, https://yes-we-scan.app/