WEBVTT 99:59:59.999 --> 99:59:59.999 Welcome to the only talk of this time span 99:59:59.999 --> 99:59:59.999 I am glad that I am the only one talking 99:59:59.999 --> 99:59:59.999 and I hope I will somewhat interesting [laughs] 99:59:59.999 --> 99:59:59.999 That's a very good honour to be the only one talking 99:59:59.999 --> 99:59:59.999 I just wanted to do a status report of the Debian Printing team 99:59:59.999 --> 99:59:59.999 because it's been quite a long time, I've been working on this part of Debian 99:59:59.999 --> 99:59:59.999 and I've tried to attract people into helping me for printing in the last years 99:59:59.999 --> 99:59:59.999 and it hasn't really worked. 99:59:59.999 --> 99:59:59.999 So I'll just do another attempt and see what that gives 99:59:59.999 --> 99:59:59.999 and hopefully give you some insight on how the whole thing works 99:59:59.999 --> 99:59:59.999 A little introduction about me; 99:59:59.999 --> 99:59:59.999 I'm a Swiss guy, I was basically grown up with computers 99:59:59.999 --> 99:59:59.999 If you followed my talk from last year, 99:59:59.999 --> 99:59:59.999 I showed you some of the Swiss computers back then 99:59:59.999 --> 99:59:59.999 and some Motorola 68k Swiss-specific stuff that I was basically born with. 99:59:59.999 --> 99:59:59.999 I am currently working at Liip, CH. 99:59:59.999 --> 99:59:59.999 It's a Swiss company that has websites 99:59:59.999 --> 99:59:59.999 and I'm working there as an eLearning specialist, 99:59:59.999 --> 99:59:59.999 webapp backender and sysadmin. 99:59:59.999 --> 99:59:59.999 Whatever that means. 99:59:59.999 --> 99:59:59.999 Towards Debian, I've been translating things 99:59:59.999 --> 99:59:59.999 at the Ubuntu site since 2005, 99:59:59.999 --> 99:59:59.999 maintaining packages since 2009. 99:59:59.999 --> 99:59:59.999 I've been a developer since 2011 99:59:59.999 --> 99:59:59.999 and I've been maintaining some packages since then. 99:59:59.999 --> 99:59:59.999 That's not the most interesting part of the talk 99:59:59.999 --> 99:59:59.999 so let's go forward. 99:59:59.999 --> 99:59:59.999 This session's intent is to present the state of the Debian printing stack, 99:59:59.999 --> 99:59:59.999 its evolution until today, the leftover work 99:59:59.999 --> 99:59:59.999 and also how I got trapped into maintaining that part of Debian. 99:59:59.999 --> 99:59:59.999 I mean, I don't have a particular interest in printers 99:59:59.999 --> 99:59:59.999 but, yeah. 99:59:59.999 --> 99:59:59.999 How you can help! 99:59:59.999 --> 99:59:59.999 So let's dive into the past 99:59:59.999 --> 99:59:59.999 If you have questions, just raise your hand and interrupt me 99:59:59.999 --> 99:59:59.999 Don't feel shy 99:59:59.999 --> 99:59:59.999 It started in June 2010, I adopted foomatic-filters 99:59:59.999 --> 99:59:59.999 because it was severely outdated 99:59:59.999 --> 99:59:59.999 There was no upload for a year, missing 5 new upstream releases 99:59:59.999 --> 99:59:59.999 We were lagging severely behind Ubuntu 99:59:59.999 --> 99:59:59.999 and the maintainer was quasi-MIA 99:59:59.999 --> 99:59:59.999 Typical case for adopting a package some months before the freeze. 99:59:59.999 --> 99:59:59.999 I was kind of looking for things to help the freeze out 99:59:59.999 --> 99:59:59.999 and this was broken on my machine, 99:59:59.999 --> 99:59:59.999 that's were the trap was working me first. 99:59:59.999 --> 99:59:59.999 It just made it into Squeeze because I did the upload 99:59:59.999 --> 99:59:59.999 3 hours after the freeze was suprise announced at the DebConf then 99:59:59.999 --> 99:59:59.999 So I managed to get it through, somehow. 99:59:59.999 --> 99:59:59.999 But that was the only package I was maintaining there for Squeeze 99:59:59.999 --> 99:59:59.999 Then in July, I sent this Request For Comments 99:59:59.999 --> 99:59:59.999 for forming a printing task force 99:59:59.999 --> 99:59:59.999 to various mailing lists 99:59:59.999 --> 99:59:59.999 the cups maintainers list, et cetera 99:59:59.999 --> 99:59:59.999 to see if it was possible to gather some people 99:59:59.999 --> 99:59:59.999 around maintaining the whole printing stack under a team umbrella 99:59:59.999 --> 99:59:59.999 because before that it was just sets of packages 99:59:59.999 --> 99:59:59.999 maintained by individuals on their own side of debian 99:59:59.999 --> 99:59:59.999 This thing was kind of working 99:59:59.999 --> 99:59:59.999 but as soon as people went MIA 99:59:59.999 --> 99:59:59.999 or just had other interests then the packages were rotting. 99:59:59.999 --> 99:59:59.999 Then I started integrating the Ubuntu delta into Debian 99:59:59.999 --> 99:59:59.999 because Ubuntu apparently had more need than Debian 99:59:59.999 --> 99:59:59.999 to have a working printing infrastructure then. 99:59:59.999 --> 99:59:59.999 and they had been fixing this stuff on their site. 99:59:59.999 --> 99:59:59.999 It's interesting to take a look at the Ubuntu delta 99:59:59.999 --> 99:59:59.999 in the first place, why there was one. 99:59:59.999 --> 99:59:59.999 One argument for that is that the updates were not proposed 99:59:59.999 --> 99:59:59.999 back to Debian at all 99:59:59.999 --> 99:59:59.999 No patches to enter to the bug tracker 99:59:59.999 --> 99:59:59.999 no other was than just looking at the packages in Ubuntu 99:59:59.999 --> 99:59:59.999 and seeing there were updates there 99:59:59.999 --> 99:59:59.999 so I should maybe take the patches back 99:59:59.999 --> 99:59:59.999 but there was no upward communication. 99:59:59.999 --> 99:59:59.999 On the other hand, the packages were not getting 99:59:59.999 --> 99:59:59.999 any or much attention in Debian, either. 99:59:59.999 --> 99:59:59.999 No one was actually taking a look at this diff 99:59:59.999 --> 99:59:59.999 and making sure that things were working. 99:59:59.999 --> 99:59:59.999 It was working for some parts but there were many bugs still. 99:59:59.999 --> 99:59:59.999 But it's still free software 99:59:59.999 --> 99:59:59.999 so patches were sitting there 99:59:59.999 --> 99:59:59.999 you had a nice link from the PTS to get one big patch 99:59:59.999 --> 99:59:59.999 you could apply to the Debian package 99:59:59.999 --> 99:59:59.999 and you could just integrate that. 99:59:59.999 --> 99:59:59.999 The patches were available. 99:59:59.999 --> 99:59:59.999 It was not that bad. 99:59:59.999 --> 99:59:59.999 The work started at the beginning of the Wheezy cycle 99:59:59.999 --> 99:59:59.999 around 2010 or 2011 99:59:59.999 --> 99:59:59.999 by basically adopting new packages 99:59:59.999 --> 99:59:59.999 and polishing the Ubuntu changes 99:59:59.999 --> 99:59:59.999 like taking one change at a time 99:59:59.999 --> 99:59:59.999 making one clean commit out of that 99:59:59.999 --> 99:59:59.999 and uploading releases one after another 99:59:59.999 --> 99:59:59.999 integrating new upstream releases 99:59:59.999 --> 99:59:59.999 and all good, no? 99:59:59.999 --> 99:59:59.999 Well, not exactly 99:59:59.999 --> 99:59:59.999 because the dependency stack was at that time a little complicated, so to say. 99:59:59.999 --> 99:59:59.999 because every package was liking against its dependencies 99:59:59.999 --> 99:59:59.999 and some of the drivers had been promoted to the print server task. 99:59:59.999 --> 99:59:59.999 So the print server task was pulling like, hplip and gutenprint 99:59:59.999 --> 99:59:59.999 but not other drivers for some reason 99:59:59.999 --> 99:59:59.999 and it was pulling cups 99:59:59.999 --> 99:59:59.999 and cups was pulling poppler 99:59:59.999 --> 99:59:59.999 and then, yes, that basically. 99:59:59.999 --> 99:59:59.999 You can go on the wiki page to revise history 99:59:59.999 --> 99:59:59.999 but basically that was what was there when I was cleaning up the stack. 99:59:59.999 --> 99:59:59.999 I started discussing the thing on the list 99:59:59.999 --> 99:59:59.999 and we were like 2 or 3 and many people were agreeing with the thing 99:59:59.999 --> 99:59:59.999 but I was not many for doing the thing [laughs] 99:59:59.999 --> 99:59:59.999 So I started cleaning up the dust 99:59:59.999 --> 99:59:59.999 renaming the drivers, 99:59:59.999 --> 99:59:59.999 now all printer drivers are namespaced somehow 99:59:59.999 --> 99:59:59.999 they all start with the same binary name 99:59:59.999 --> 99:59:59.999 reworking the dependency tree 99:59:59.999 --> 99:59:59.999 making sure you have a printer-driver-all that just recommends all available 99:59:59.999 --> 99:59:59.999 drivers that the print task can depend on. 99:59:59.999 --> 99:59:59.999 So, by default you get all available free software drivers 99:59:59.999 --> 99:59:59.999 just in case you might want to install a printer. 99:59:59.999 --> 99:59:59.999 There is this pyppd, 99:59:59.999 --> 99:59:59.999 that is a compressor that would take the pdd files 99:59:59.999 --> 99:59:59.999 and turn them into an xz compressed python script 99:59:59.999 --> 99:59:59.999 that will uncompress itself into pdds 99:59:59.999 --> 99:59:59.999 that basically allow disk space reduction of 80% 99:59:59.999 --> 99:59:59.999 That was written during a Google Summer of Code 99:59:59.999 --> 99:59:59.999 and I just wrote the dh wrapper around that to automate that for the printing 99:59:59.999 --> 99:59:59.999 packages 99:59:59.999 --> 99:59:59.999 so if you put the ppd files in the right place 99:59:59.999 --> 99:59:59.999 and run that tool, it will just do the compression 99:59:59.999 --> 99:59:59.999 and replacement and removing in the right place. 99:59:59.999 --> 99:59:59.999 We have moved all of the packages to git 99:59:59.999 --> 99:59:59.999 because some of them were in no VCS 99:59:59.999 --> 99:59:59.999 some of them were in SVN 99:59:59.999 --> 99:59:59.999 I don't we had any in CVS 99:59:59.999 --> 99:59:59.999 but moving to git was a good thing 99:59:59.999 --> 99:59:59.999 in collab-maint by then because I didn't have the interest in making a proper 99:59:59.999 --> 99:59:59.999 team namespace 99:59:59.999 --> 99:59:59.999 I wondered if it was easier just to put everything there 99:59:59.999 --> 99:59:59.999 and what might happen is that someone would be interested in putting patches. 99:59:59.999 --> 99:59:59.999 That didn't happen. 99:59:59.999 --> 99:59:59.999 We hijacked the debian-printing list, 99:59:59.999 --> 99:59:59.999 because no one was using that 99:59:59.999 --> 99:59:59.999 and it was totally logical to use that 99:59:59.999 --> 99:59:59.999 as a maintainer list, to have everything in the same place. 99:59:59.999 --> 99:59:59.999 and cleaning out dependencies, apparently that was twice on the slide. 99:59:59.999 --> 99:59:59.999 During that time, we managed to package all known free software drivers. 99:59:59.999 --> 99:59:59.999 There were some laying around that were not packaged, 99:59:59.999 --> 99:59:59.999 some that were a little complicated to package. 99:59:59.999 --> 99:59:59.999 I tried to search through OpenPrinting and whatever 99:59:59.999 --> 99:59:59.999 and find some others that were not packaged 99:59:59.999 --> 99:59:59.999 that were maybe supporting one or two printers. 99:59:59.999 --> 99:59:59.999 I wondered, it was probably good to have them in Debian anyway 99:59:59.999 --> 99:59:59.999 could be useful to one or two users. 99:59:59.999 --> 99:59:59.999 Consolidated the foomatic packaging 99:59:59.999 --> 99:59:59.999 and caught back on upstream versions. 99:59:59.999 --> 99:59:59.999 I think in wheezy we had most of that. 99:59:59.999 --> 99:59:59.999 But there's still cups. 99:59:59.999 --> 99:59:59.999 cups is like the thing you don't really want to touch when you do printing 99:59:59.999 --> 99:59:59.999 because that is the complicated part, 99:59:59.999 --> 99:59:59.999 everything else is just drivers, filters and small programs 99:59:59.999 --> 99:59:59.999 It's easy when you start packaging, 99:59:59.999 --> 99:59:59.999 small things in different languages 99:59:59.999 --> 99:59:59.999 It's funny. 99:59:59.999 --> 99:59:59.999 But cups is a little frightening. 99:59:59.999 --> 99:59:59.999 So I wondered, cups is one big thing 99:59:59.999 --> 99:59:59.999 and it has an Apple upstream, 99:59:59.999 --> 99:59:59.999 it's not really the thing you want to touch. 99:59:59.999 --> 99:59:59.999 cups is not really known for the super whatever free software friendly. 99:59:59.999 --> 99:59:59.999 The wheezy freeze was upcoming and cups hadn't seen uploads for a year 99:59:59.999 --> 99:59:59.999 so I started fixing one thing after another 99:59:59.999 --> 99:59:59.999 and I started uploading NMUs 99:59:59.999 --> 99:59:59.999 I ended up doing 16 NMUs in a row 99:59:59.999 --> 99:59:59.999 Not every NMU got the freeze exception request 99:59:59.999 --> 99:59:59.999 but almost all of them 99:59:59.999 --> 99:59:59.999 So for each of the NMUs, there was a discussion 99:59:59.999 --> 99:59:59.999 with the release team all of the changes that would enter wheezy. 99:59:59.999 --> 99:59:59.999 Yeah, that. 99:59:59.999 --> 99:59:59.999 In 2013, cups was especially made complicated 99:59:59.999 --> 99:59:59.999 by the fact there was no public VCS. 99:59:59.999 --> 99:59:59.999 There used to be an SVN but it was down for some reason. 99:59:59.999 --> 99:59:59.999 There also used to be a public bug tracker, 99:59:59.999 --> 99:59:59.999 but it was down for some reason. 99:59:59.999 --> 99:59:59.999 The few contacts I had with Apple 99:59:59.999 --> 99:59:59.999 was just over private mails 99:59:59.999 --> 99:59:59.999 because they had no mailing lists, 99:59:59.999 --> 99:59:59.999 or it was closed or it was down. 99:59:59.999 --> 99:59:59.999 So not exactly the upstream you are very fine working with 99:59:59.999 --> 99:59:59.999 It's just a black-hole, you get a new tarball 99:59:59.999 --> 99:59:59.999 No changes, you get a Changelog, but you don't get the individual changes 99:59:59.999 --> 99:59:59.999 and of course the package back then had no test suite working, no autopkgtest 99:59:59.999 --> 99:59:59.999 So, yeah, that. 99:59:59.999 --> 99:59:59.999 But finally after doing 16 NMUs, I thought to myself, 99:59:59.999 --> 99:59:59.999 Yeah, what does that mean? The real maintainer would not get back to 99:59:59.999 --> 99:59:59.999 uploading that for the stable release so I might as well just update 99:59:59.999 --> 99:59:59.999 and we'll see what happens. 99:59:59.999 --> 99:59:59.999 So apparently the trap worked. 99:59:59.999 --> 99:59:59.999 I ended up with one more big package, that's cups. 99:59:59.999 --> 99:59:59.999 So where do we stand now? 99:59:59.999 --> 99:59:59.999 If you run sid, you probably have most packages 99:59:59.999 --> 99:59:59.999 that are in there are the most recent upstream version. 99:59:59.999 --> 99:59:59.999 In the last year, we moved from collab-maint to printing 99:59:59.999 --> 99:59:59.999 because it's now easier because now I'm a DD 99:59:59.999 --> 99:59:59.999 so I could easily create a new alioth group 99:59:59.999 --> 99:59:59.999 and we thought it's also easier to see who was actually still in the team. 99:59:59.999 --> 99:59:59.999 We sent out the mail to various persons that had contributed and asked them to 99:59:59.999 --> 99:59:59.999 request the membership in alioth 99:59:59.999 --> 99:59:59.999 The ones that are just MIA don't request and they're not members 99:59:59.999 --> 99:59:59.999 So that the list on alioth is somewhat relevant 99:59:59.999 --> 99:59:59.999 We kind of managed to maintain the bug flow at a reasonable level. 99:59:59.999 --> 99:59:59.999 I started, there was like 400 bugs and now we are around 300 99:59:59.999 --> 99:59:59.999 but that means also that the new bugs are addressed within a reasonable delay, 99:59:59.999 --> 99:59:59.999 somehow. 99:59:59.999 --> 99:59:59.999 So now, the FLOSS drivers are in Debian 99:59:59.999 --> 99:59:59.999 There was a new one, I think 3 months ago, 99:59:59.999 --> 99:59:59.999 some guy did a driver for 2 or 3 Brother printers 99:59:59.999 --> 99:59:59.999 that just works currently. 99:59:59.999 --> 99:59:59.999 So we packaged that and it's in Debian. 99:59:59.999 --> 99:59:59.999 Also the Ubuntu diff is kept minimal 99:59:59.999 --> 99:59:59.999 we've integrated some of the Ubuntu specific changes 99:59:59.999 --> 99:59:59.999 into the Debian packaging just to avoid have them creating a new diff 99:59:59.999 --> 99:59:59.999 or maintaining a diff over time. 99:59:59.999 --> 99:59:59.999 We could do that easily with dpkg-vendor for example 99:59:59.999 --> 99:59:59.999 The package is the same, 99:59:59.999 --> 99:59:59.999 just at build-time it will do different things 99:59:59.999 --> 99:59:59.999 So for example, the default pdf page is different 99:59:59.999 --> 99:59:59.999 and the two pages are in the Debian package 99:59:59.999 --> 99:59:59.999 but when you build it on Ubuntu you get the Ubuntu page. 99:59:59.999 --> 99:59:59.999 It has the advantage that the Ubuntu 99:59:59.999 --> 99:59:59.999 employees don't have to maintain that patch over time 99:59:59.999 --> 99:59:59.999 We manage to get the diff to zero, sometimes 99:59:59.999 --> 99:59:59.999 Sometimes, you just see a peak in Ubuntu 99:59:59.999 --> 99:59:59.999 because they want to be to faster than the music 99:59:59.999 --> 99:59:59.999 and they do their stuff. 99:59:59.999 --> 99:59:59.999 That's the bugs for all printing packages 99:59:59.999 --> 99:59:59.999 it's not that bad. 99:59:59.999 --> 99:59:59.999 I had to do actual work, for my work 99:59:59.999 --> 99:59:59.999 in July and August it rose a little. 99:59:59.999 --> 99:59:59.999 For cups, as you might have noticed if you're googling it now 99:59:59.999 --> 99:59:59.999 we've gone from 1.5.3 in Squeeze 99:59:59.999 --> 99:59:59.999 to 1.7.5, now in Jessie. 99:59:59.999 --> 99:59:59.999 So it's two minor upstream releases 99:59:59.999 --> 99:59:59.999 with quite a lot of changes 99:59:59.999 --> 99:59:59.999 and I think we packaged all intermediate versions 99:59:59.999 --> 99:59:59.999 and it's not bold to say that Wheezy will release with a minor version of 1.7 99:59:59.999 --> 99:59:59.999 I mean Jessie, yes. Thank you. 99:59:59.999 --> 99:59:59.999 I'm getting old! 99:59:59.999 --> 99:59:59.999 We've enabled the full testsuite 99:59:59.999 --> 99:59:59.999 so lots of patches within the testsuite 99:59:59.999 --> 99:59:59.999 but not for disabling things, mostly for ignoring things in the error logs 99:59:59.999 --> 99:59:59.999 because cups' testsuite will count the number of errors in its error log 99:59:59.999 --> 99:59:59.999 so you have to take things out so that the count always matches 99:59:59.999 --> 99:59:59.999 autopkgtest is basically printing to /dev/null 99:59:59.999 --> 99:59:59.999 but we test that this continues to work when other parts of the archive change 99:59:59.999 --> 99:59:59.999 so printing to /dev/null works 99:59:59.999 --> 99:59:59.999 Good news! 99:59:59.999 --> 99:59:59.999 We've patched in the systemd socket activation and activity timeout 99:59:59.999 --> 99:59:59.999 The socket activation was originally from Lennart 99:59:59.999 --> 99:59:59.999 and then changed by Gentoo to not have that mandatory, 99:59:59.999 --> 99:59:59.999 because Gentoo also has sysvinit 99:59:59.999 --> 99:59:59.999 where Red Hat just has systemd so they don't have an option at runtime 99:59:59.999 --> 99:59:59.999 to either activate or deactive the socket activation 99:59:59.999 --> 99:59:59.999 So it's a mix of the Red Hat patch and the Gentoo patch 99:59:59.999 --> 99:59:59.999 plus cleaning, of course. 99:59:59.999 --> 99:59:59.999 The activity timeout was from Ubuntu 99:59:59.999 --> 99:59:59.999 Basically now in sid if you run systemd, or upstart 99:59:59.999 --> 99:59:59.999 after 30 seconds of not doing anything the cups server will shutdown itself 99:59:59.999 --> 99:59:59.999 and doesn't do anything and when you print something or access the web 99:59:59.999 --> 99:59:59.999 interface over the 6631 port, it just launches itself in a part of second 99:59:59.999 --> 99:59:59.999 and prints and then after 30 seconds shuts down again. 99:59:59.999 --> 99:59:59.999 As for upstream, we have regular good and constructive contact 99:59:59.999 --> 99:59:59.999 with upstream. 99:59:59.999 --> 99:59:59.999 They have again a public VCS, bugs repository 99:59:59.999 --> 99:59:59.999 so we can actually communicate on the public place 99:59:59.999 --> 99:59:59.999 and have the various changes also as individual units 99:59:59.999 --> 99:59:59.999 so it's quite easier then. 99:59:59.999 --> 99:59:59.999 As for the constructive contacts, 99:59:59.999 --> 99:59:59.999 I also have good private emails with Mike 99:59:59.999 --> 99:59:59.999 Michael Sweet from Apple 99:59:59.999 --> 99:59:59.999 about this GnuTLS vs OpenSSL discussion 99:59:59.999 --> 99:59:59.999 we had in debian-devel some months ago 99:59:59.999 --> 99:59:59.999 because GnuTLS introduced some incompatibilities 99:59:59.999 --> 99:59:59.999 So I thought we could just build against OpenSSL 99:59:59.999 --> 99:59:59.999 No problem, cups has the GPL 2 exception 99:59:59.999 --> 99:59:59.999 and it was rightly pointed out that every package 99:59:59.999 --> 99:59:59.999 that uses libcups2 also needs the GPL 2 exception for OpenSSL. 99:59:59.999 --> 99:59:59.999 So it wasn't really possible. 99:59:59.999 --> 99:59:59.999 So we had that discussion and actually 99:59:59.999 --> 99:59:59.999 upstream was interested in finding a solution 99:59:59.999 --> 99:59:59.999 eventually patching in another SSL library 99:59:59.999 --> 99:59:59.999 if that would help the Linux distributors 99:59:59.999 --> 99:59:59.999 It was kind of surprising to me that Apple would be doing that 99:59:59.999 --> 99:59:59.999 but they were! I must say, so that's good. 99:59:59.999 --> 99:59:59.999 Now we dropped the OpenSSL and it just builds the latest GnuTLS version 99:59:59.999 --> 99:59:59.999 The Linux Foundation still needs to maintain several things 99:59:59.999 --> 99:59:59.999 that got dropped from cups 99:59:59.999 --> 99:59:59.999 That is one drawback of having cups owned by Apple is that 99:59:59.999 --> 99:59:59.999 they basically dropped everything that was not interesting for them. 99:59:59.999 --> 99:59:59.999 So they want to just make sure you can print on Apple certified printers 99:59:59.999 --> 99:59:59.999 and the rest is left up the community. 99:59:59.999 --> 99:59:59.999 So the Linux Foundation took over the cups filters 99:59:59.999 --> 99:59:59.999 and the cups broadcasting management, 99:59:59.999 --> 99:59:59.999 so you can announcement between cups servers 99:59:59.999 --> 99:59:59.999 to get the queues in your local queue, et cetera 99:59:59.999 --> 99:59:59.999 So that's taken over by the Linux Foundation 99:59:59.999 --> 99:59:59.999 I'm thankful they do that job 99:59:59.999 --> 99:59:59.999 I'm happy I don't have to do it myself 99:59:59.999 --> 99:59:59.999 because it probably wouldn't work 99:59:59.999 --> 99:59:59.999 and Till Kamppeter is working with them making that happen, 99:59:59.999 --> 99:59:59.999 so I'm glad he does and thank you. 99:59:59.999 --> 99:59:59.999 We also have some people helping, 99:59:59.999 --> 99:59:59.999 I would like to thank Brian Potkin in particular 99:59:59.999 --> 99:59:59.999 for being precise, tireless and helpful 99:59:59.999 --> 99:59:59.999 I don't know if he is at DebConf 99:59:59.999 --> 99:59:59.999 but he's been participating on the list quite a lot 99:59:59.999 --> 99:59:59.999 for tracking down some bugs 99:59:59.999 --> 99:59:59.999 reporting some useful bugs 99:59:59.999 --> 99:59:59.999 preparing some patches also. 99:59:59.999 --> 99:59:59.999 That's been useful. 99:59:59.999 --> 99:59:59.999 You might have seen from the list of packages 99:59:59.999 --> 99:59:59.999 we also have packages that I don't maintain myself 99:59:59.999 --> 99:59:59.999 but that are also in the Debian Printing team; 99:59:59.999 --> 99:59:59.999 we have Jonas for ghostscript and IJS, 99:59:59.999 --> 99:59:59.999 c2050 by Marco, 99:59:59.999 --> 99:59:59.999 cups-bjnp by Joe, 99:59:59.999 --> 99:59:59.999 min12xxw by Stefan 99:59:59.999 --> 99:59:59.999 and tea4cups by Mike. 99:59:59.999 --> 99:59:59.999 Those packages don't move very often, 99:59:59.999 --> 99:59:59.999 but when they do we have updates. 99:59:59.999 --> 99:59:59.999 So it's good. 99:59:59.999 --> 99:59:59.999 In other parts of the stack, we still have hplip 99:59:59.999 --> 99:59:59.999 that is maintained indepedently by Mark Purcell. 99:59:59.999 --> 99:59:59.999 That also gets updated regularly so it's fine. 99:59:59.999 --> 99:59:59.999 and cups-pdf by Martin-Ăric 99:59:59.999 --> 99:59:59.999 which is apparently working too. 99:59:59.999 --> 99:59:59.999 So thanks! 99:59:59.999 --> 99:59:59.999 For the future; scoping the problem, 99:59:59.999 --> 99:59:59.999 non-free plague and some incoming challenges. 99:59:59.999 --> 99:59:59.999 The problem of printing is that it's still a must-be of our world. 99:59:59.999 --> 99:59:59.999 When you discuss with people some people say cups is really shit, 99:59:59.999 --> 99:59:59.999 we could just drop that from the default installation. 99:59:59.999 --> 99:59:59.999 Well you know, people still print 99:59:59.999 --> 99:59:59.999 The non-paper world is probably in the advertisement 99:59:59.999 --> 99:59:59.999 but it's not there at all. 99:59:59.999 --> 99:59:59.999 Printing when it works is boring, 99:59:59.999 --> 99:59:59.999 it just has to work. 99:59:59.999 --> 99:59:59.999 But when it doesn't, it's really annoying. 99:59:59.999 --> 99:59:59.999 So it's that type of technical challenge that 99:59:59.999 --> 99:59:59.999 you will only get complaints when it doesn't 99:59:59.999 --> 99:59:59.999 and when it does everyone is happy, no bugs, nothing, it just works. 99:59:59.999 --> 99:59:59.999 And that's fine. 99:59:59.999 --> 99:59:59.999 On the other hand, printing is damn complex. 99:59:59.999 --> 99:59:59.999 Printer manufacturers come up with new protocols every 3 months basically. 99:59:59.999 --> 99:59:59.999 They can even change printing protocols 99:59:59.999 --> 99:59:59.999 within the same product suite, for some reason. 99:59:59.999 --> 99:59:59.999 You get different IPP versions, PCL support 99:59:59.999 --> 99:59:59.999 different memory requirements 99:59:59.999 --> 99:59:59.999 now you can directly feed PDFs to printers 99:59:59.999 --> 99:59:59.999 but the printers will sometimes fail 99:59:59.999 --> 99:59:59.999 because the internal PDF rendering will fail for some reason 99:59:59.999 --> 99:59:59.999 so you have to circumvent that in the printer drivers 99:59:59.999 --> 99:59:59.999 You also have different sending protocols, 99:59:59.999 --> 99:59:59.999 AirPrint, the Google cloud print is coming, 99:59:59.999 --> 99:59:59.999 we have now IPP over USB for some printers 99:59:59.999 --> 99:59:59.999 It's like an ever changing landscape for printing 99:59:59.999 --> 99:59:59.999 It's a thing we've been doing for years 99:59:59.999 --> 99:59:59.999 and it's still changing for some reason. 99:59:59.999 --> 99:59:59.999 It's complex also because it takes any format as input; 99:59:59.999 --> 99:59:59.999 you can print images, Word documents, PDFs, PostScript 99:59:59.999 --> 99:59:59.999 and you have to make sure that's transformed to whatever 99:59:59.999 --> 99:59:59.999 the printer is ready to get. 99:59:59.999 --> 99:59:59.999 Sometimes that's PostScript, sometimes that's PDF, 99:59:59.999 --> 99:59:59.999 sometimes it's a raw whatever, sometimes it's a bitstream. 99:59:59.999 --> 99:59:59.999 So we have complex chains 99:59:59.999 --> 99:59:59.999 and one of the biggest problems is that when a user has a problem, 99:59:59.999 --> 99:59:59.999 the probability is 1 that you don't have the printer. 99:59:59.999 --> 99:59:59.999 I mean, I have one printer at home 99:59:59.999 --> 99:59:59.999 I test it when I do new uploads 99:59:59.999 --> 99:59:59.999 and I just print the test page and that works 99:59:59.999 --> 99:59:59.999 but when a guy has a problem on a printer, I don't have it. 99:59:59.999 --> 99:59:59.999 So it's quite hard to reproduce. 99:59:59.999 --> 99:59:59.999 There's still IP in the drivers 99:59:59.999 --> 99:59:59.999 We have full manufacturer suites that have no acceptable FLOSS support. 99:59:59.999 --> 99:59:59.999 I'll do some fingerpointing now. 99:59:59.999 --> 99:59:59.999 I hope this is not video-taped. 99:59:59.999 --> 99:59:59.999 Oh shit. 99:59:59.999 --> 99:59:59.999 We've had this project from Debian France 99:59:59.999 --> 99:59:59.999 they were basically offering books for people 99:59:59.999 --> 99:59:59.999 that would be happy to contribute to something 99:59:59.999 --> 99:59:59.999 and I mentored two guys to take a look at what Brother is doing with the drivers 99:59:59.999 --> 99:59:59.999 I invite you to go there, the documentation is quite extensive 99:59:59.999 --> 99:59:59.999 and they tried to see how we could package that even in non-free 99:59:59.999 --> 99:59:59.999 just to consolidate the thing and have a somewhat clean dump of files 99:59:59.999 --> 99:59:59.999 even in non-free so that we could install that 99:59:59.999 --> 99:59:59.999 instead of downloading a 2002 .deb, that has no debsums 99:59:59.999 --> 99:59:59.999 But the web page layout changed in the middle of the project. 99:59:59.999 --> 99:59:59.999 They just revamped the website. 99:59:59.999 --> 99:59:59.999 So we had a crawler that would get the various drivers and it just changed 99:59:59.999 --> 99:59:59.999 completely, in the middle of the project. 99:59:59.999 --> 99:59:59.999 For some printers you have two different versions 99:59:59.999 --> 99:59:59.999 Either for SI or imperial units. 99:59:59.999 --> 99:59:59.999 Because, I don't know, the printers has different physical size 99:59:59.999 --> 99:59:59.999 or I don't know. 99:59:59.999 --> 99:59:59.999 You have C-shell all over the place, 99:59:59.999 --> 99:59:59.999 I don't think we have any valid C-shell interpreter yet in Debian 99:59:59.999 --> 99:59:59.999 For many drivers, there is no co-installation possible 99:59:59.999 --> 99:59:59.999 because they used the same named files with different contents 99:59:59.999 --> 99:59:59.999 in the same place 99:59:59.999 --> 99:59:59.999 So you need a different file with the same name, the same place 99:59:59.999 --> 99:59:59.999 for two different printers. 99:59:59.999 --> 99:59:59.999 So basically you can even print to one or the other 99:59:59.999 --> 99:59:59.999 but not to two at the same time. 99:59:59.999 --> 99:59:59.999 It still uses printcap, that's been deprecated 99:59:59.999 --> 99:59:59.999 since at least Etch, I didn't check 99:59:59.999 --> 99:59:59.999 but something very old. 99:59:59.999 --> 99:59:59.999 There are a lot of bugs all over the place 99:59:59.999 --> 99:59:59.999 it's loads and loads of shell code that would unpack 99:59:59.999 --> 99:59:59.999 parts of PPD files to generate files to put in other places, 99:59:59.999 --> 99:59:59.999 download things from the Internet... 99:59:59.999 --> 99:59:59.999 A whole load of crap, frankly. 99:59:59.999 --> 99:59:59.999 But we should not only finger point at Brother 99:59:59.999 --> 99:59:59.999 at Samsung they are doing exactly the same, or worse 99:59:59.999 --> 99:59:59.999 I didn't take a look at that precisely 99:59:59.999 --> 99:59:59.999 but the Brother project was quite frightening 99:59:59.999 --> 99:59:59.999 and I don't think we will ever do something useful there. 99:59:59.999 --> 99:59:59.999 I don't know if that's, I don't know. 99:59:59.999 --> 99:59:59.999 [??]: I seem to remember a Samsung printer driver installer 99:59:59.999 --> 99:59:59.999 from some years back 99:59:59.999 --> 99:59:59.999 that would require applications printing 99:59:59.999 --> 99:59:59.999 to run as root 99:59:59.999 --> 99:59:59.999 setuid flag on certain applications so it might be used for printing. 99:59:59.999 --> 99:59:59.999 [Didier]: I'm not surprised. 99:59:59.999 --> 99:59:59.999 That's the dark corner we don't to see. 99:59:59.999 --> 99:59:59.999 There are free drivers that work quite well 99:59:59.999 --> 99:59:59.999 and there are a whole lot of things in the dark corner 99:59:59.999 --> 99:59:59.999 that, you don't want to buy these printers 99:59:59.999 --> 99:59:59.999 because there's no way to make them work reasonably 99:59:59.999 --> 99:59:59.999 unless you download a some very very rare old Debian package, 99:59:59.999 --> 99:59:59.999 fix the debsums inside and something like that. 99:59:59.999 --> 99:59:59.999 For Jessie, new things: 99:59:59.999 --> 99:59:59.999 ghostscript moved to AGPL, 99:59:59.999 --> 99:59:59.999 that makes some people very happy. 99:59:59.999 --> 99:59:59.999 so what we'll probably do is upload the latest non-AGPL version 99:59:59.999 --> 99:59:59.999 and have that in Jessie 99:59:59.999 --> 99:59:59.999 and we'll probably see what happens then 99:59:59.999 --> 99:59:59.999 because we release soon and it's quite a complex problem 99:59:59.999 --> 99:59:59.999 we won't have time to fix that before. 99:59:59.999 --> 99:59:59.999 So, we'll move some versions up 99:59:59.999 --> 99:59:59.999 but not to the latest upstream version. 99:59:59.999 --> 99:59:59.999 Apparently we're the only ones to care, 99:59:59.999 --> 99:59:59.999 all the other distributions have uploaded the AGPL version and it's there. 99:59:59.999 --> 99:59:59.999 CUPS 2.0 is around the corner, 99:59:59.999 --> 99:59:59.999 we hope it will get there by the end of the year. 99:59:59.999 --> 99:59:59.999 It introduces upstream systemd support, 99:59:59.999 --> 99:59:59.999 TLS certificate validation, 99:59:59.999 --> 99:59:59.999 maybe it's time for us to do that! 99:59:59.999 --> 99:59:59.999 They moved to OpenSSL support 99:59:59.999 --> 99:59:59.999 and many OSX enhancements, 99:59:59.999 --> 99:59:59.999 whatever that is useful for us. 99:59:59.999 --> 99:59:59.999 Expect 2.0~beta1 in experimental in the next weeks/months, 99:59:59.999 --> 99:59:59.999 we'll see. 99:59:59.999 --> 99:59:59.999 So what you can do. 99:59:59.999 --> 99:59:59.999 Frankly, I'm getting bored by all that. 99:59:59.999 --> 99:59:59.999 It's been years now, I've been maintaining the printing stack. 99:59:59.999 --> 99:59:59.999 Not exactly alone, but for some parts quite alone. 99:59:59.999 --> 99:59:59.999 It's true to say that I've got quite a lot of 99:59:59.999 --> 99:59:59.999 collaboration with Ubuntu to make that work. 99:59:59.999 --> 99:59:59.999 There are many things that I just have to 99:59:59.999 --> 99:59:59.999 patch back into Debian and it just works 99:59:59.999 --> 99:59:59.999 but it's sometimes a little boring to do that all alone. 99:59:59.999 --> 99:59:59.999 I'm glad others are helping in the team 99:59:59.999 --> 99:59:59.999 but for the most part, particularly cups, 99:59:59.999 --> 99:59:59.999 it's not that easy. 99:59:59.999 --> 99:59:59.999 But it's not too complicated, believe me. 99:59:59.999 --> 99:59:59.999 Trust me! 99:59:59.999 --> 99:59:59.999 One point is, I'm very bad at motivating people 99:59:59.999 --> 99:59:59.999 or documenting the processes. 99:59:59.999 --> 99:59:59.999 For example the Teams page on the wiki, 99:59:59.999 --> 99:59:59.999 I probably edited it twice, once in 2010 99:59:59.999 --> 99:59:59.999 and once last year for the printing BoF 99:59:59.999 --> 99:59:59.999 and it's still sitting there with not many updates 99:59:59.999 --> 99:59:59.999 So someone motivated by processes documentation should jump on the ship 99:59:59.999 --> 99:59:59.999 and do some stuff there. 99:59:59.999 --> 99:59:59.999 This talk was an attempt at motivating people, at least 99:59:59.999 --> 99:59:59.999 So we'll see if that works. 99:59:59.999 --> 99:59:59.999 On the long-term; 99:59:59.999 --> 99:59:59.999 what we need is move drivers writers bascially 99:59:59.999 --> 99:59:59.999 because there are tons of printers that come out 99:59:59.999 --> 99:59:59.999 that don't get full support and that people use, basically 99:59:59.999 --> 99:59:59.999 and the problem is not making sure everyone can buy the printer they want 99:59:59.999 --> 99:59:59.999 people will have printers they have there and they want that to work 99:59:59.999 --> 99:59:59.999 and it doesn't. 99:59:59.999 --> 99:59:59.999 So we need people to actually write drivers for printers. 99:59:59.999 --> 99:59:59.999 We need more bug triagers, 99:59:59.999 --> 99:59:59.999 that they become wanna-maintainers, hopefully. 99:59:59.999 --> 99:59:59.999 and less bugs, pretty please. 99:59:59.999 --> 99:59:59.999 We can achieve less bugs two ways; 99:59:59.999 --> 99:59:59.999 by fixing more bugs or by introducing less bugs. 99:59:59.999 --> 99:59:59.999 So maybe we should do the two. 99:59:59.999 --> 99:59:59.999 That's all from my little Debian Printing stack status. 99:59:59.999 --> 99:59:59.999 If you have questions, I am happy to try to answer them. 99:59:59.999 --> 99:59:59.999 Otherwise, I think we can all move to dinner! 99:59:59.999 --> 99:59:59.999 [Wookey]: I'm a bit interested in printing 99:59:59.999 --> 99:59:59.999 because we have lots of corporate printing 99:59:59.999 --> 99:59:59.999 which doesn't work because it's all run for Windows people. 99:59:59.999 --> 99:59:59.999 So the poor Linux people are thoroughly ignored 99:59:59.999 --> 99:59:59.999 and in fact if we print to the printers, they tend to crash! 99:59:59.999 --> 99:59:59.999 Which is a bit sad 99:59:59.999 --> 99:59:59.999 and people complain that the printers are very unreliable 99:59:59.999 --> 99:59:59.999 and actually it's us [laughs] 99:59:59.999 --> 99:59:59.999 There's a fifty percent chance of things exploding 99:59:59.999 --> 99:59:59.999 But what I haven't been able to find is 99:59:59.999 --> 99:59:59.999 where do people that have to worry about corporate installations hang out? 99:59:59.999 --> 99:59:59.999 I couldn't find anywhere to ask questions 99:59:59.999 --> 99:59:59.999 because our IT people go: 99:59:59.999 --> 99:59:59.999 "We don't know how it's supposed to work in Linux-world, 99:59:59.999 --> 99:59:59.999 we have no fucking idea. 99:59:59.999 --> 99:59:59.999 Please tell us what to do and we'll do that" 99:59:59.999 --> 99:59:59.999 and I don't know anything about printing, 99:59:59.999 --> 99:59:59.999 or who to ask, or where to go. 99:59:59.999 --> 99:59:59.999 Is there a place? 99:59:59.999 --> 99:59:59.999 There must be lots of people who have big installations 99:59:59.999 --> 99:59:59.999 and there must be some people who understand how this works 99:59:59.999 --> 99:59:59.999 [Didier]: The debian-printing list is not that much use 99:59:59.999 --> 99:59:59.999 it gets the automated mails from the maintainers mails 99:59:59.999 --> 99:59:59.999 so we could drop that if people started to use that. 99:59:59.999 --> 99:59:59.999 That would be one option, I think you should look into 99:59:59.999 --> 99:59:59.999 OpenPrinting and if no list exists there 99:59:59.999 --> 99:59:59.999 they should probably create one. 99:59:59.999 --> 99:59:59.999 I think they have one, they have summits 99:59:59.999 --> 99:59:59.999 and they have meetings for whatever printing related- 99:59:59.999 --> 99:59:59.999 [Wookey]: Somewhere on the OpenPrinting site, 99:59:59.999 --> 99:59:59.999 would be a good place then? 99:59:59.999 --> 99:59:59.999 [Didier]: Yes, I think. 99:59:59.999 --> 99:59:59.999 [??]: Hi, I was just wondering if you would comment on- 99:59:59.999 --> 99:59:59.999 What's your perspective on backports things like that. 99:59:59.999 --> 99:59:59.999 So once we go stable, how do you see supporting the printing stack 99:59:59.999 --> 99:59:59.999 for 2 years/5 years, however long stable's going to be out there. 99:59:59.999 --> 99:59:59.999 [Didier]: There are two answers for that; 99:59:59.999 --> 99:59:59.999 one is, there's quite a lot of security work to do for stable already 99:59:59.999 --> 99:59:59.999 and we had a, I think, privilege escalation in stable. 99:59:59.999 --> 99:59:59.999 So we had to revamped the whole configuration system in stable, for cups, 99:59:59.999 --> 99:59:59.999 during the wheezy cycle. 99:59:59.999 --> 99:59:59.999 So that kind of takes the time that would be allocated for backports. 99:59:59.999 --> 99:59:59.999 The other answer is, patches welcome! 99:59:59.999 --> 99:59:59.999 So I didn't do backports for wheezy yet, 99:59:59.999 --> 99:59:59.999 just because I had enough on my plate for sid. 99:59:59.999 --> 99:59:59.999 But I would happily help anyone wanting to prepare backports 99:59:59.999 --> 99:59:59.999 I think it shouldn't be too hard. 99:59:59.999 --> 99:59:59.999 cups is probably buildable right away. 99:59:59.999 --> 99:59:59.999 [??]: So that's cups, how about drivers? 99:59:59.999 --> 99:59:59.999 [Didier]: Same. 99:59:59.999 --> 99:59:59.999 If anyone's interested I could just help making sure it happens. 99:59:59.999 --> 99:59:59.999 It's unlikely I would do it myself. 99:59:59.999 --> 99:59:59.999 [??]: Thank you. 99:59:59.999 --> 99:59:59.999 [Ben]: Do new drivers typically depend on a new version of cups? 99:59:59.999 --> 99:59:59.999 [Didier]: Usually not, because they build against libcups2 99:59:59.999 --> 99:59:59.999 but libcups2 is kind of ABI stable, since years 99:59:59.999 --> 99:59:59.999 So it shouldn't be too much. 99:59:59.999 --> 99:59:59.999 [Ben]: So the missing hardware support, is as I understand it 99:59:59.999 --> 99:59:59.999 always considered an important bug 99:59:59.999 --> 99:59:59.999 and worthy of a stable update. 99:59:59.999 --> 99:59:59.999 So that means that if you wanted to, you could update drivers, 99:59:59.999 --> 99:59:59.999 add new drivers, in stable. 99:59:59.999 --> 99:59:59.999 For hardware enablement. 99:59:59.999 --> 99:59:59.999 [Didier]: That's interesting, yeah. 99:59:59.999 --> 99:59:59.999 [Ben]: I also had a question about drivers, which is 99:59:59.999 --> 99:59:59.999 typically when I plug into a new printer, 99:59:59.999 --> 99:59:59.999 I get a list of possible drivers 99:59:59.999 --> 99:59:59.999 possibly limited to the exact model, or not. 99:59:59.999 --> 99:59:59.999 But there always seems to be more than one option per model. 99:59:59.999 --> 99:59:59.999 I assume that because there are multiple collections of drivers 99:59:59.999 --> 99:59:59.999 in the package. 99:59:59.999 --> 99:59:59.999 How, as a user, supposed to decide which of those to use? 99:59:59.999 --> 99:59:59.999 [Didier]: Trial and attempt? [laughs] 99:59:59.999 --> 99:59:59.999 I mean, for some printers you get a recommended version 99:59:59.999 --> 99:59:59.999 from foomatic that has this parenthesis recommended thing. 99:59:59.999 --> 99:59:59.999 You should just pick that one. 99:59:59.999 --> 99:59:59.999 I think we also mostly have multiple drivers per printer 99:59:59.999 --> 99:59:59.999 because sometimes for a single printer, 99:59:59.999 --> 99:59:59.999 depending on where in the world it was 99:59:59.999 --> 99:59:59.999 it would work better or worse with different printer drivers. 99:59:59.999 --> 99:59:59.999 The one database that we use for that is foomaticdb 99:59:59.999 --> 99:59:59.999 That is maintained on the OpenPrinting website 99:59:59.999 --> 99:59:59.999 Where exactly you should report bugs isn't exactly clear, 99:59:59.999 --> 99:59:59.999 also for me, so I should clarify that. 99:59:59.999 --> 99:59:59.999 [Ben]: I've never selected a driver and found that it didn't work 99:59:59.999 --> 99:59:59.999 So as far as I'm concerned you're doing fine there. 99:59:59.999 --> 99:59:59.999 It's simply because, having been presented with a choice, 99:59:59.999 --> 99:59:59.999 I don't know what the difference would be. 99:59:59.999 --> 99:59:59.999 [Didier]: Was that on the cups web interface? 99:59:59.999 --> 99:59:59.999 [Ben]: Yes. 99:59:59.999 --> 99:59:59.999 [Didier]: I think there the selection isn't very smart 99:59:59.999 --> 99:59:59.999 but when I think that you use python-cups or one of the 99:59:59.999 --> 99:59:59.999 GNOME or KDE frontends, 99:59:59.999 --> 99:59:59.999 you have a little less options, I think. 99:59:59.999 --> 99:59:59.999 But that's more frontend work, than whatever cups related 99:59:59.999 --> 99:59:59.999 but I don't have a better answer, now. [laughs] 99:59:59.999 --> 99:59:59.999 Any other questions? 99:59:59.999 --> 99:59:59.999 [Wookey]: Kind of following on from what Ben said 99:59:59.999 --> 99:59:59.999 I'd been under the impression that those were different ways of talking to the 99:59:59.999 --> 99:59:59.999 printer 99:59:59.999 --> 99:59:59.999 because there are always 17 ways of talking to any given printer 99:59:59.999 --> 99:59:59.999 So I kind of thought that those were all different flavours 99:59:59.999 --> 99:59:59.999 But again, it's extremely unclear. 99:59:59.999 --> 99:59:59.999 Do I want foomatic-thingy or hplip-thingy or somethingelse-thingy? 99:59:59.999 --> 99:59:59.999 I just say, you try one and usually it works 99:59:59.999 --> 99:59:59.999 and you go, "I can sit here and try all 17 99:59:59.999 --> 99:59:59.999 but I don't know whether that's good." 99:59:59.999 --> 99:59:59.999 And sometimes there's the interface to printer you have to specify 99:59:59.999 --> 99:59:59.999 so our fancy printer in the office has 81 different ways of talking to it 99:59:59.999 --> 99:59:59.999 and you go, "I don't want to try all those!" 99:59:59.999 --> 99:59:59.999 The 4 I've tried all make it crash! 99:59:59.999 --> 99:59:59.999 [Didier]: Just need one that works! 99:59:59.999 --> 99:59:59.999 [Wookey]: Exactly. 99:59:59.999 --> 99:59:59.999 There seems to be a very small number of people that understand this stuff 99:59:59.999 --> 99:59:59.999 There's Till and maybe 3 other people somewhere. 99:59:59.999 --> 99:59:59.999 [Didier]: Yeah. 99:59:59.999 --> 99:59:59.999 [Wookey]: Right. 99:59:59.999 --> 99:59:59.999 [Didier]: We should talk more to Till! [laughs] 99:59:59.999 --> 99:59:59.999 He's making most of that work on the Ubuntu site. 99:59:59.999 --> 99:59:59.999 I think, as a Canonical employee. 99:59:59.999 --> 99:59:59.999 [Wookey]: I vaguely gathered that the cups browsing thing has disappeared 99:59:59.999 --> 99:59:59.999 upstream 99:59:59.999 --> 99:59:59.999 So we're keeping it in a Debian and Ubuntu, while we can. 99:59:59.999 --> 99:59:59.999 Is that right? 99:59:59.999 --> 99:59:59.999 [Didier]: Yes. 99:59:59.999 --> 99:59:59.999 Basically using a zeroconf/avahi thing. 99:59:59.999 --> 99:59:59.999 [Wookey]: That's how Apple want it to work 99:59:59.999 --> 99:59:59.999 but especially in a big office, that doesn't work at all 99:59:59.999 --> 99:59:59.999 because you're on different network segments 99:59:59.999 --> 99:59:59.999 [Didier]: One thing that was dropped and that hasn't been reintroduced 99:59:59.999 --> 99:59:59.999 on OpenPrinting, is the LDAP support. 99:59:59.999 --> 99:59:59.999 It used to be in cups, that's now removed. 99:59:59.999 --> 99:59:59.999 It was used in big corporations that had 99:59:59.999 --> 99:59:59.999 like, an LDAP list of printers. 99:59:59.999 --> 99:59:59.999 Instead of listening to the noise of all printers 99:59:59.999 --> 99:59:59.999 announcing themselves on a network. 99:59:59.999 --> 99:59:59.999 And we regularly get users asking, 99:59:59.999 --> 99:59:59.999 the latest one was, 99:59:59.999 --> 99:59:59.999 "The browsing daemon has 10% CPU, 99:59:59.999 --> 99:59:59.999 is that because I have 100 printers at my office?" 99:59:59.999 --> 99:59:59.999 Well, yes! [laughs] 99:59:59.999 --> 99:59:59.999 I don't have the capacity of recoding that anyway 99:59:59.999 --> 99:59:59.999 If a big corporation wants to get LDAP support, 99:59:59.999 --> 99:59:59.999 they should make LDAP support! 99:59:59.999 --> 99:59:59.999 [Wookey]: Fix it, yeah. 99:59:59.999 --> 99:59:59.999 [Didier]: But I'm open to integrating that as a Debian patch 99:59:59.999 --> 99:59:59.999 if that helps, but can't really fix that myself. 99:59:59.999 --> 99:59:59.999 [Wookey]: If I had any time I would like to help you with printing. 99:59:59.999 --> 99:59:59.999 But I have too many hats already, so I'm not promising anything! 99:59:59.999 --> 99:59:59.999 [Didier]: Yeah, thank you. 99:59:59.999 --> 99:59:59.999 [Wookey]: Mostly so I could actually print stuff, 99:59:59.999 --> 99:59:59.999 without having to run Windows in a VM. 99:59:59.999 --> 99:59:59.999 Which in practice is how I printed my stuff to get here! 99:59:59.999 --> 99:59:59.999 [Didier]: Yeah, it's bad. 99:59:59.999 --> 99:59:59.999 Actually, one thing that geeks like us should know 99:59:59.999 --> 99:59:59.999 is how to pick the correct printer when you buy one 99:59:59.999 --> 99:59:59.999 [Wookey]: Yeah, my home printers all work fine. 99:59:59.999 --> 99:59:59.999 The cups browsing works, stuff prints, 99:59:59.999 --> 99:59:59.999 it's all lovely. 99:59:59.999 --> 99:59:59.999 It's when you go to work that the whole things a disaster 99:59:59.999 --> 99:59:59.999 [Didier]: Yah. 99:59:59.999 --> 99:59:59.999 [??]: Which manufacturers should we prefer? 99:59:59.999 --> 99:59:59.999 [laughter] 99:59:59.999 --> 99:59:59.999 [Didier]: I'm not paid by any of these, but HP printers mostly work fine 99:59:59.999 --> 99:59:59.999 Either through hplip or other things. 99:59:59.999 --> 99:59:59.999 That's baseline, I would say. 99:59:59.999 --> 99:59:59.999 Others work too! [laughs] 99:59:59.999 --> 99:59:59.999 If anyone has contacts at Brother, 99:59:59.999 --> 99:59:59.999 tell them to contact me and we'll manage something 99:59:59.999 --> 99:59:59.999 and recommend some good practices for modern printing 99:59:59.999 --> 99:59:59.999 if you know, because that's not an acceptable way 99:59:59.999 --> 99:59:59.999 of providing Linux support, I think. 99:59:59.999 --> 99:59:59.999 Anyway, other questions? 99:59:59.999 --> 99:59:59.999 Everyone's hungry. 99:59:59.999 --> 99:59:59.999 Good, thank you very much. 99:59:59.999 --> 99:59:59.999 [applause] 99:59:59.999 --> 99:59:59.999