diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index da3b067c..bd1c674c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -78,3 +78,6 @@ jobs: - name: Build Next.js run: ${{ steps.pm.outputs.runner }} build + + - name: Verify URL conventions + run: ${{ steps.pm.outputs.runner }} verify:urls diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 52019076..8ad31945 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -60,10 +60,12 @@ jobs: xsltproc \ python3 \ python3-pip + # Do NOT set `static_site_generator: next` here: it makes configure-pages + # write a `next.config.js`, which Next.js prefers over this repo's + # `next.config.ts`, so the deployed build silently ignores our config + # (#207). Everything it would inject is already in `next.config.ts`. - name: Setup Pages uses: actions/configure-pages@v5 - with: - static_site_generator: next - name: Restore cache uses: actions/cache@v4 with: @@ -76,6 +78,9 @@ jobs: run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} - name: Build with Next.js run: ${{ steps.detect-package-manager.outputs.runner }} build + # Blocks the deploy on broken URLs (#207); reads ./out, rebuilds nothing. + - name: Verify URL conventions + run: ${{ steps.detect-package-manager.outputs.runner }} verify:urls - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: diff --git a/AGENTS.md b/AGENTS.md index 8fc26a3d..262e8585 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -50,6 +50,20 @@ If a PR changes generated output without changing the inputs that produce it, ca - A large part of the site is Markdown-driven. Review content pipeline changes for frontmatter assumptions, slug handling, excerpt/title sanitization, and image resolution. - This repo uses Yarn as the expected package manager. Flag changes that introduce package-manager drift or inconsistent lockfile/package-manager usage unless the migration is intentional. +### URL conventions (see #207) + +- Canonical URLs have **no trailing slash**: `/some-page`. `next.config.ts` sets + `trailingSlash: false`, so the export writes `out/some-page.html` and GitHub + Pages serves it directly for `/some-page`. +- Write internal links, canonical URLs, sitemap entries and RSS ``s in + that form. Two deliberate exceptions: `/cups/` (separate CUPS Pages site) and + RSS ``s, which keep their historical trailing slash because they are + item identities -- changing them makes feed readers re-announce old articles. +- `scripts/generate-trailing-slash-aliases.ts` writes `out/some-page/index.html` + redirect stubs after the export so old inbound links ending in `/` keep + working. +- `yarn verify:urls` checks these invariants and gates both CI and deployment. + ## Configuration & Portability - **Single Source of Truth**: All deployment-specific values, such as GitHub organization / repository names, base paths, and external URLs (e.g., Giscus configs, CI pipelines), are centralized in `config/site.config.ts`. diff --git a/app/foomatic/driver/[id]/page.tsx b/app/foomatic/driver/[id]/page.tsx index be3d1bc9..47407717 100644 --- a/app/foomatic/driver/[id]/page.tsx +++ b/app/foomatic/driver/[id]/page.tsx @@ -52,7 +52,7 @@ export async function generateMetadata({ params }: DriverPageProps): Promise
diff --git a/app/gsod2020/page.tsx b/app/gsod2020/page.tsx index cc566433..3ceeeba7 100644 --- a/app/gsod2020/page.tsx +++ b/app/gsod2020/page.tsx @@ -72,7 +72,7 @@ export default async function GSoD2020Page() { {ideas.map((idea) => (
diff --git a/app/hall-of-fame/page.tsx b/app/hall-of-fame/page.tsx index e96145fb..2f187cd1 100644 --- a/app/hall-of-fame/page.tsx +++ b/app/hall-of-fame/page.tsx @@ -16,11 +16,11 @@ const ANNOUNCEMENT_PATH = "/OpenPrinting-News-The-New-OpenPrinting-Website" export const metadata: Metadata = { title, description, - alternates: { canonical: getSiteUrl("/hall-of-fame/") }, + alternates: { canonical: getSiteUrl("/hall-of-fame") }, openGraph: { title, description, - url: getSiteUrl("/hall-of-fame/"), + url: getSiteUrl("/hall-of-fame"), type: "website", }, } diff --git a/app/opportunity-open-source/page.tsx b/app/opportunity-open-source/page.tsx index 142618dd..8b1b14b3 100644 --- a/app/opportunity-open-source/page.tsx +++ b/app/opportunity-open-source/page.tsx @@ -17,12 +17,12 @@ export const metadata: Metadata = { title: "Opportunity Open Source | OpenPrinting", description: "OpenPrinting's annual free and open source software conference in India — the mission, past editions, and the upcoming one.", - alternates: { canonical: getSiteUrl("/opportunity-open-source/") }, + alternates: { canonical: getSiteUrl("/opportunity-open-source") }, openGraph: { title: "Opportunity Open Source | OpenPrinting", description: "OpenPrinting's annual free and open source software conference in India.", - url: getSiteUrl("/opportunity-open-source/"), + url: getSiteUrl("/opportunity-open-source"), type: "website", }, } diff --git a/app/sitemap.ts b/app/sitemap.ts index 672a50f3..ddf0762e 100644 --- a/app/sitemap.ts +++ b/app/sitemap.ts @@ -25,35 +25,35 @@ function readDirSlugs(dir: string): string[] { const STATIC_ROUTES = [ "/", - "/about-us/", - "/news/", - "/projects/", - "/downloads/", - "/documentation/", - "/upcoming-technologies/", - "/driverless/", - "/drivers/", - "/printers/", - "/foomatic/printers/", - "/foomatic/drivers/", - "/contact/", - "/donations/", - "/sponsors/", - "/opportunity-open-source/", - "/contribute/", - "/contribute-website/", - "/codeofconduct/", - "/achievements/", - "/history/", - "/current/", - "/databaseintro/", - "/gsoc/", - "/gsod/", - "/gsod2020/", - "/lfmp/", - "/lfmp2020/", - "/wsl-printer-app/", - "/wsl-printer-app-compile/", + "/about-us", + "/news", + "/projects", + "/downloads", + "/documentation", + "/upcoming-technologies", + "/driverless", + "/drivers", + "/printers", + "/foomatic/printers", + "/foomatic/drivers", + "/contact", + "/donations", + "/sponsors", + "/opportunity-open-source", + "/contribute", + "/contribute-website", + "/codeofconduct", + "/achievements", + "/history", + "/current", + "/databaseintro", + "/gsoc", + "/gsod", + "/gsod2020", + "/lfmp", + "/lfmp2020", + "/wsl-printer-app", + "/wsl-printer-app-compile", ]; export default function sitemap(): MetadataRoute.Sitemap { @@ -65,19 +65,19 @@ export default function sitemap(): MetadataRoute.Sitemap { for (const post of getAllPostRecords()) { entries.push({ - url: getSiteUrl(`/${post.slug}/`), + url: getSiteUrl(`/${post.slug}`), lastModified: post.date || undefined, }); } for (const slug of readDirSlugs("projects")) { - entries.push({ url: getSiteUrl(`/projects/${slug}/`) }); + entries.push({ url: getSiteUrl(`/projects/${slug}`) }); } for (const slug of readDirSlugs("documentation")) { - entries.push({ url: getSiteUrl(`/documentation/${slug}/`) }); + entries.push({ url: getSiteUrl(`/documentation/${slug}`) }); } for (const slug of readDirSlugs("upcoming-technologies")) { - entries.push({ url: getSiteUrl(`/upcoming-technologies/${slug}/`) }); + entries.push({ url: getSiteUrl(`/upcoming-technologies/${slug}`) }); } for (const route of foomaticRoutes()) { @@ -97,7 +97,7 @@ function foomaticRoutes(): string[] { printers: { id: string; manufacturer: string }[]; }; for (const printer of data.printers) { - routes.push(`${printerHref(printer.id, printer.manufacturer)}/`); + routes.push(printerHref(printer.id, printer.manufacturer)); } } @@ -107,7 +107,7 @@ function foomaticRoutes(): string[] { drivers: { id: string }[]; }; for (const driver of data.drivers) { - routes.push(`${driverHref(driver.id)}/`); + routes.push(driverHref(driver.id)); } } diff --git a/app/sponsors/page.tsx b/app/sponsors/page.tsx index 10b7bfa5..a8f210a4 100644 --- a/app/sponsors/page.tsx +++ b/app/sponsors/page.tsx @@ -12,12 +12,12 @@ export const metadata: Metadata = { title: "Sponsors & Supporters | OpenPrinting", description: "The organizations and supporters who sponsor OpenPrinting, and how to become a sponsor or make a donation.", - alternates: { canonical: getSiteUrl("/sponsors/") }, + alternates: { canonical: getSiteUrl("/sponsors") }, openGraph: { title: "Sponsors & Supporters | OpenPrinting", description: "The organizations and supporters who sponsor OpenPrinting, and how to become a sponsor or make a donation.", - url: getSiteUrl("/sponsors/"), + url: getSiteUrl("/sponsors"), type: "website", }, } diff --git a/components/cta-section.tsx b/components/cta-section.tsx index 477ce6fb..b0bb3af4 100644 --- a/components/cta-section.tsx +++ b/components/cta-section.tsx @@ -39,10 +39,10 @@ export default function CTASection() { className="flex flex-col sm:flex-row gap-4 justify-center" > diff --git a/contents/gsoc/2022/GUI-for-discovering-non-driverless-printers-and-finding-suitable-Printer-Applications-for-them.md b/contents/gsoc/2022/GUI-for-discovering-non-driverless-printers-and-finding-suitable-Printer-Applications-for-them.md index b1152b7a..28260a0f 100644 --- a/contents/gsoc/2022/GUI-for-discovering-non-driverless-printers-and-finding-suitable-Printer-Applications-for-them.md +++ b/contents/gsoc/2022/GUI-for-discovering-non-driverless-printers-and-finding-suitable-Printer-Applications-for-them.md @@ -10,7 +10,7 @@ Modern printers usually are driverless IPP printers, and those get discovered an Printers which do not do driverless IPP are either legacy printers, the many older printers which got developed before driverless IPP printing existed, and specialty printers. These need Printer Applications. As there will be several different Printer Applications and each one supporting another set of printers it is not trivial for the user to discover available non-IPP-driverless printers and find out which is the Printer Application to use and whether it is already installed. -So we need some guide for the user. The idea is a GUI tool which lists available, non-IPP-driverless printers, local (USB) and network devices. If the user selects one of them, all installed Printer Applications which support this printer are shown, and for each a button to open the Printer Application's web interface and also a quick auto-add-this-printer button. In addition to the list of suitable Printer Applications there should also be a button which does a fuzzy search for the printer make and model on the Snap Store/the OpenPrinting web site to find Printer Applications which are not installed on the local system. There is already a concept to implement an appropriate [search index on OpenPrinting](/OpenPrinting-News-November-2021/#printer-querying-on-the-openprinting-web-server) which will be used by this GUI. +So we need some guide for the user. The idea is a GUI tool which lists available, non-IPP-driverless printers, local (USB) and network devices. If the user selects one of them, all installed Printer Applications which support this printer are shown, and for each a button to open the Printer Application's web interface and also a quick auto-add-this-printer button. In addition to the list of suitable Printer Applications there should also be a button which does a fuzzy search for the printer make and model on the Snap Store/the OpenPrinting web site to find Printer Applications which are not installed on the local system. There is already a concept to implement an appropriate [search index on OpenPrinting](/OpenPrinting-News-November-2021#printer-querying-on-the-openprinting-web-server) which will be used by this GUI. The contributor's task is to implement such a tool in GTK, ideally as a module for the GNOME Control Center. ### Mentors diff --git a/contents/gsoc/2023/CI-Testing-programs-for-libcupsfilters-libpappl-retrofit-libppd-CPDB-etc-.md b/contents/gsoc/2023/CI-Testing-programs-for-libcupsfilters-libpappl-retrofit-libppd-CPDB-etc-.md index cc4f5988..f128b849 100644 --- a/contents/gsoc/2023/CI-Testing-programs-for-libcupsfilters-libpappl-retrofit-libppd-CPDB-etc-.md +++ b/contents/gsoc/2023/CI-Testing-programs-for-libcupsfilters-libpappl-retrofit-libppd-CPDB-etc-.md @@ -18,7 +18,7 @@ Test programs are also needed for the so-called 'autopkgtest' tests which are ad In addition, instruction files and shell scripts are needed to build the software on different platforms/environments, run tests, create GitHub Actions (for the automatic triggering on each commit ...). -This subject got discussed on the OpenPrinting micro-conference on Linux Plumbers 2022: ([Summary](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022), [Slides](https://lpc.events/event/16/contributions/1161/attachments/942/1851/lpc-printing-ci-2022.pdf), [Video](https://www.youtube.com/watch?v=c--Uki7cvGE)) +This subject got discussed on the OpenPrinting micro-conference on Linux Plumbers 2022: ([Summary](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022), [Slides](https://lpc.events/event/16/contributions/1161/attachments/942/1851/lpc-printing-ci-2022.pdf), [Video](https://www.youtube.com/watch?v=c--Uki7cvGE)) Here you can see what we already have in terms of CI, and what is missing ... ### Mentors diff --git a/contents/gsoc/2024/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md b/contents/gsoc/2024/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md index e065e268..9111c4d4 100644 --- a/contents/gsoc/2024/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md +++ b/contents/gsoc/2024/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md @@ -18,7 +18,7 @@ Test programs are also needed for the so-called 'autopkgtest' tests which are ad In addition, instruction files and shell scripts are needed to build the software on different platforms/environments, run tests, create GitHub Actions (for the automatic triggering on each commit ...). -This subject got discussed on the OpenPrinting micro-conference on Linux Plumbers 2022: ([Summary](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022), [Slides](https://lpc.events/event/16/contributions/1161/attachments/942/1851/lpc-printing-ci-2022.pdf), [Video](https://www.youtube.com/watch?v=c--Uki7cvGE)) +This subject got discussed on the OpenPrinting micro-conference on Linux Plumbers 2022: ([Summary](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022), [Slides](https://lpc.events/event/16/contributions/1161/attachments/942/1851/lpc-printing-ci-2022.pdf), [Video](https://www.youtube.com/watch?v=c--Uki7cvGE)) Here you can see what we already have in terms of CI, and what is missing ... ### Mentors diff --git a/contents/gsoc/2025/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md b/contents/gsoc/2025/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md index cc6f5ffb..a1ffa0db 100644 --- a/contents/gsoc/2025/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md +++ b/contents/gsoc/2025/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md @@ -16,7 +16,7 @@ Test programs are also needed for the so-called 'autopkgtest' tests which are ad In addition, instruction files and shell scripts are needed to build the software on different platforms/environments, run tests, create GitHub Actions (for the automatic triggering on each commit ...). -This subject got discussed on the OpenPrinting micro-conference on Linux Plumbers 2022: ([Summary](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022), [Slides](https://lpc.events/event/16/contributions/1161/attachments/942/1851/lpc-printing-ci-2022.pdf), [Video](https://www.youtube.com/watch?v=c--Uki7cvGE)) +This subject got discussed on the OpenPrinting micro-conference on Linux Plumbers 2022: ([Summary](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022), [Slides](https://lpc.events/event/16/contributions/1161/attachments/942/1851/lpc-printing-ci-2022.pdf), [Video](https://www.youtube.com/watch?v=c--Uki7cvGE)) Here you can see what we already have in terms of CI, and what is missing ... ### Mentors diff --git a/contents/gsoc/2025/Image-output-evaluation-for-testing-of-print-scan-job-processing.md b/contents/gsoc/2025/Image-output-evaluation-for-testing-of-print-scan-job-processing.md index d0eac051..33570d56 100644 --- a/contents/gsoc/2025/Image-output-evaluation-for-testing-of-print-scan-job-processing.md +++ b/contents/gsoc/2025/Image-output-evaluation-for-testing-of-print-scan-job-processing.md @@ -14,7 +14,7 @@ To compare graphical content they use the free software computer vision library With this we could for example take a PDF file, rasterize it in high quality, then "print" it/send it through a filter chain and afterwards compare the images. We can also OCR raster output to check whether the complete text of the input (plain text or PDF file) is conserved in the output, not having anything cut off at the borders and no glyphs missing or replaced by squares/placeholders for missing glyphs. -See also [my report from the GUADEC 2024](/OpenPrinting-News-July-2024/#guadec-2024-in-denver), the section "Workshop: openQA testing for your GNOME app, module or service". +See also [my report from the GUADEC 2024](/OpenPrinting-News-July-2024#guadec-2024-in-denver), the section "Workshop: openQA testing for your GNOME app, module or service". Tests which benefit from this are not only our CI testing in libcupsfilters, but also 2 of our other projects on this list: * Behavior-accurate simulation of multi-function printers diff --git a/contents/gsoc/2025/Qt-Print-Dialog.md b/contents/gsoc/2025/Qt-Print-Dialog.md index 9372a272..c4cc5be2 100644 --- a/contents/gsoc/2025/Qt-Print-Dialog.md +++ b/contents/gsoc/2025/Qt-Print-Dialog.md @@ -6,7 +6,7 @@ title: "Qt Print Dialog: Modernize the user interface" The print dialog of [Qt](https://contribute.qt-project.org/), which is also the print dialog used by KDE applications has still the user interface of 20 years ago, when I told the Qt and KDE developers that a CUPS-supporting print dialog is needed and they made this print dialog in response. -Now, after the internals of the dialog being up-to-date (Support for the [Common Print Dialog Backends](/achievements/#common-print-dialog-backends) added in [GSoC 2022](https://github.com/TinyTrebuchet/gsoc22/)) we need to make the user interface of the Qt print dialog cute. +Now, after the internals of the dialog being up-to-date (Support for the [Common Print Dialog Backends](/achievements#common-print-dialog-backends) added in [GSoC 2022](https://github.com/TinyTrebuchet/gsoc22/)) we need to make the user interface of the Qt print dialog cute. The modernization should at least be a UI similar to the one of the GTK print dialog. This should not require any extensions of the API between the print dialog and the applications and so the new dialog can replace the old one without modifications on existing applications needed. diff --git a/contents/gsoc/2025/Utilizing-OSS-Fuzz-Gen-to-improve-fuzz-testing-for-OpenPrinting-projects.md b/contents/gsoc/2025/Utilizing-OSS-Fuzz-Gen-to-improve-fuzz-testing-for-OpenPrinting-projects.md index ecfeaf4f..50c55ad4 100644 --- a/contents/gsoc/2025/Utilizing-OSS-Fuzz-Gen-to-improve-fuzz-testing-for-OpenPrinting-projects.md +++ b/contents/gsoc/2025/Utilizing-OSS-Fuzz-Gen-to-improve-fuzz-testing-for-OpenPrinting-projects.md @@ -6,7 +6,7 @@ title: "Utilizing OSS-Fuzz-Gen to improve fuzz testing for OpenPrinting projects 1 contributor full-size (350 hours), Level of difficulty: Hard -Recent vulnerabilities (including [CVE-2024-47175, CVE-2024-47176, CVE-2024-47177](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability/)) reported in OpenPrinting projects have underscored the critical need for robust security measures. Given that most of the projects of OpenPrinting are developed in `C/C++`, which are prone to memory violation bugs. To address these challenges, OpenPrinting has engaged with Google's [OSS-Fuzz](https://github.com/google/oss-fuzz/), a service designed to support open-source communities by providing large-scale fuzz testing and bug reporting, and maintains the fuzz harnesses in the separate [OpenPrinting fuzzing](https://github.com/OpenPrinting/fuzzing) repository. +Recent vulnerabilities (including [CVE-2024-47175, CVE-2024-47176, CVE-2024-47177](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability)) reported in OpenPrinting projects have underscored the critical need for robust security measures. Given that most of the projects of OpenPrinting are developed in `C/C++`, which are prone to memory violation bugs. To address these challenges, OpenPrinting has engaged with Google's [OSS-Fuzz](https://github.com/google/oss-fuzz/), a service designed to support open-source communities by providing large-scale fuzz testing and bug reporting, and maintains the fuzz harnesses in the separate [OpenPrinting fuzzing](https://github.com/OpenPrinting/fuzzing) repository. **Current Integration with OSS-Fuzz:** OpenPrinting has successfully integrated **three** key projects into the OSS-Fuzz workflow, with **two** additional projects currently in progress. Although the integration has already yielded significant results, which have reported **21** critical fixed bugs leading to more than **5,000** lines of code fixes, it remains insufficient. The [testing coverage](https://introspector.oss-fuzz.com/project-profile?project=cups) for critical components is still lacking, and the severity of potential issues within OpenPrinting projects demands further action. diff --git a/contents/gsoc/2026/AI-Driven-Printer-Compatibility-and-Recommendation-Portal-data-intelligence-ml-pipeline.md b/contents/gsoc/2026/AI-Driven-Printer-Compatibility-and-Recommendation-Portal-data-intelligence-ml-pipeline.md index 1f983597..e7a62313 100644 --- a/contents/gsoc/2026/AI-Driven-Printer-Compatibility-and-Recommendation-Portal-data-intelligence-ml-pipeline.md +++ b/contents/gsoc/2026/AI-Driven-Printer-Compatibility-and-Recommendation-Portal-data-intelligence-ml-pipeline.md @@ -6,7 +6,7 @@ title: "AI-Driven Printer Compatibility and Recommendation Portal: Printer Data 1 contributor, large-size (350 hours), Level of difficulty: Hard -OpenPrinting maintains large and continuously evolving datasets such as the [Foomatic printer database](https://www.openprinting.org/printers/) and [driverless printer support](/printers/) lists. While these datasets are rich in information, they are currently consumed as static listings, requiring users to manually reason about printer compatibility, feature equivalence, and suitable alternatives. As the number of supported printers continues to grow, this approach becomes increasingly difficult to maintain and use effectively. +OpenPrinting maintains large and continuously evolving datasets such as the [Foomatic printer database](https://www.openprinting.org/printers/) and [driverless printer support](/printers) lists. While these datasets are rich in information, they are currently consumed as static listings, requiring users to manually reason about printer compatibility, feature equivalence, and suitable alternatives. As the number of supported printers continues to grow, this approach becomes increasingly difficult to maintain and use effectively. The objective of this project is to design and implement an **offline, reproducible machine-learning pipeline** that transforms OpenPrinting’s printer metadata into structured, actionable intelligence suitable for downstream web applications. diff --git a/contents/gsoc/2026/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md b/contents/gsoc/2026/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md index 355f8d85..067f9d30 100644 --- a/contents/gsoc/2026/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md +++ b/contents/gsoc/2026/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md @@ -16,7 +16,7 @@ Test programs are also needed for the so-called 'autopkgtest' tests which are ad In addition, instruction files and shell scripts are needed to build the software on different platforms/environments, run tests, create GitHub Actions (for the automatic triggering on each commit ...). -This subject got discussed on the OpenPrinting micro-conference on Linux Plumbers 2022: ([Summary](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022), [Slides](https://lpc.events/event/16/contributions/1161/attachments/942/1851/lpc-printing-ci-2022.pdf), [Video](https://www.youtube.com/watch?v=c--Uki7cvGE)) +This subject got discussed on the OpenPrinting micro-conference on Linux Plumbers 2022: ([Summary](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022), [Slides](https://lpc.events/event/16/contributions/1161/attachments/942/1851/lpc-printing-ci-2022.pdf), [Video](https://www.youtube.com/watch?v=c--Uki7cvGE)) Here you can see what we already have in terms of CI, and what is missing ... ### Mentors diff --git a/contents/gsoc/gsoc.md b/contents/gsoc/gsoc.md index 77bf5ce0..6073be60 100644 --- a/contents/gsoc/gsoc.md +++ b/contents/gsoc/gsoc.md @@ -5,24 +5,24 @@ permalink: /gsoc/ ## Year-Wise GSoC Project List -### 1. [GSOC 2026](/gsoc2026/) +### 1. [GSOC 2026](/gsoc2026) -### 2. [GSOC 2025](/gsoc2025/) +### 2. [GSOC 2025](/gsoc2025) -### 3. [GSOC 2024](/gsoc2024/) +### 3. [GSOC 2024](/gsoc2024) -### 4. [GSOC 2023](/gsoc2023/) +### 4. [GSOC 2023](/gsoc2023) -### 5. [GSOC 2022](/gsoc2022/) +### 5. [GSOC 2022](/gsoc2022) -### 6. [GSOC 2021](/gsoc2021/) +### 6. [GSOC 2021](/gsoc2021) -### 7. [GSOC 2020](/gsoc2020/) +### 7. [GSOC 2020](/gsoc2020) -### 8. [GSOC 2019](/gsoc2019/) +### 8. [GSOC 2019](/gsoc2019) ## Year-Wise GSoC Students -### 1. [GSOC 2021](/gsoc-2021-students/) +### 1. [GSOC 2021](/gsoc-2021-students) -### 2. [GSOC 2020](/gsoc-2020-students/) +### 2. [GSOC 2020](/gsoc-2020-students) diff --git a/contents/gsoc/gsoc2020.md b/contents/gsoc/gsoc2020.md index 0a5d435e..f329b331 100644 --- a/contents/gsoc/gsoc2020.md +++ b/contents/gsoc/gsoc2020.md @@ -47,7 +47,7 @@ The participation of the Linux Foundation in the Google Summer of Code is organi

-Please see the plans for our near future work to get an overview of our development direction and architecture changes. +Please see the plans for our near future work to get an overview of our development direction and architecture changes.

## GSoC 2020 Students @@ -150,4 +150,4 @@ We are looking into finishing up CPDB after GSoC. - **Mentors:** Michael Sweet, Alexander Pevzner - **Status:** WITHDRAWN (shortly after first evaluation) -We replaced this project by a 2-student LFMP project ([details](/OpenPrinting-News-September-2020/#linux-foundation-mentorship-program)). +We replaced this project by a 2-student LFMP project ([details](/OpenPrinting-News-September-2020#linux-foundation-mentorship-program)). diff --git a/contents/gsoc/gsoc2021.md b/contents/gsoc/gsoc2021.md index cb2e522f..008c7676 100644 --- a/contents/gsoc/gsoc2021.md +++ b/contents/gsoc/gsoc2021.md @@ -47,7 +47,7 @@ The participation of the Linux Foundation in the Google Summer of Code is organi

-Please see the plans for our near future work to get an overview of our development direction and architecture changes. +Please see the plans for our near future work to get an overview of our development direction and architecture changes.

## GSoC 2021 Students diff --git a/contents/gsoc/gsoc2022.md b/contents/gsoc/gsoc2022.md index e96ca314..8588a8e5 100644 --- a/contents/gsoc/gsoc2022.md +++ b/contents/gsoc/gsoc2022.md @@ -47,5 +47,5 @@ The participation of the Linux Foundation in the Google Summer of Code is organi

-Please see the plans for our near future work to get an overview of our development direction and architecture changes. +Please see the plans for our near future work to get an overview of our development direction and architecture changes.

diff --git a/contents/gsoc/gsoc2023.md b/contents/gsoc/gsoc2023.md index 180ffdfb..ff6bbd78 100644 --- a/contents/gsoc/gsoc2023.md +++ b/contents/gsoc/gsoc2023.md @@ -47,5 +47,5 @@ The participation of the Linux Foundation in the Google Summer of Code is organi

-Please see the plans for our near future work to get an overview of our development direction and architecture changes. +Please see the plans for our near future work to get an overview of our development direction and architecture changes.

diff --git a/contents/gsoc/gsoc2024.md b/contents/gsoc/gsoc2024.md index 671fe443..156968a1 100644 --- a/contents/gsoc/gsoc2024.md +++ b/contents/gsoc/gsoc2024.md @@ -47,5 +47,5 @@ The participation of the Linux Foundation in the Google Summer of Code is organi

-Please see the plans for our near future work to get an overview of our development direction and architecture changes. +Please see the plans for our near future work to get an overview of our development direction and architecture changes.

diff --git a/contents/gsoc/gsoc2025.md b/contents/gsoc/gsoc2025.md index 48c8f7b6..a447d9e9 100644 --- a/contents/gsoc/gsoc2025.md +++ b/contents/gsoc/gsoc2025.md @@ -47,5 +47,5 @@ The participation of the Linux Foundation in the Google Summer of Code is organi

-Please see the plans for our near future work to get an overview of our development direction and architecture changes. +Please see the plans for our near future work to get an overview of our development direction and architecture changes.

diff --git a/contents/gsoc/gsoc2026.md b/contents/gsoc/gsoc2026.md index 2a4afc68..810e1f4e 100644 --- a/contents/gsoc/gsoc2026.md +++ b/contents/gsoc/gsoc2026.md @@ -47,5 +47,5 @@ The participation of the Linux Foundation in the Google Summer of Code is organi

-Please see the plans for our near future work to get an overview of our development direction and architecture changes. +Please see the plans for our near future work to get an overview of our development direction and architecture changes.

diff --git a/contents/pages/achievements.md b/contents/pages/achievements.md index f0819ad3..c4b139e7 100644 --- a/contents/pages/achievements.md +++ b/contents/pages/achievements.md @@ -91,7 +91,7 @@ Flatpaked desktop applications communicate with the host system/the outside worl In contrary to Snap's interfaces the Portal is not an AppArmor permission to access a certain part of the host system (or another Snap) or a mount of certain parts of the host's (or another Snap's) file system, but instead, it is a D-Bus API which provides **common GUI dialogs** for common tasks (choose file, save file, **print**, ...), where the dialog comes from the desktop environment (GNOME or KDE) and so is the one of the desktop environment, a *common* dialog and is de-coupled from the user application via the D-Bus interface. So when using the GNOME desktop and printing from a flatpaked KDE app we should see GNOME's print dialog. -See more details in my "[Flatpak and Printing](/OpenPrinting-News-March-2022/#flatpak-and-printing)" article. +See more details in my "[Flatpak and Printing](/OpenPrinting-News-March-2022#flatpak-and-printing)" article. ## Grand Unified Ghostscript: CUPS support, third-party built-in drivers ... @@ -203,7 +203,7 @@ CUPS has a [new home page](/cups/) now and what was formerly our fork is now the So today Apple CUPS is the version of CUPS that is provided with macOS® and iOS® while OpenPrinting CUPS is the version of CUPS being further developed by OpenPrinting for all operating systems. -This way we could establish a [roadmap](/OpenPrinting-News-October-2021/#cups) for upcoming CUPS releases, especially in the end of 2023 releasing CUPS 3.x with the NEW Architecture of handling printers IPP-only without PPDs and classic drivers. Michael has presented development plans on [Linux Plumbers 2021](/OpenPrinting-News-October-2021/#openprinting-micro-conference-on-the-linux-plumbers-2021) and the [OpenPrinting Summt/PWG Meeting 2022](/OpenPrinting-News-June-2022/#openprinting-summitpwg-meeting). +This way we could establish a [roadmap](/OpenPrinting-News-October-2021#cups) for upcoming CUPS releases, especially in the end of 2023 releasing CUPS 3.x with the NEW Architecture of handling printers IPP-only without PPDs and classic drivers. Michael has presented development plans on [Linux Plumbers 2021](/OpenPrinting-News-October-2021#openprinting-micro-conference-on-the-linux-plumbers-2021) and the [OpenPrinting Summt/PWG Meeting 2022](/OpenPrinting-News-June-2022#openprinting-summitpwg-meeting). ## The CUPS Snap @@ -215,7 +215,7 @@ Snap has also a rigorous security system, encapsulating the application's file s My work on the CUPS Snap got motivated by Canonical's plans of creating an all-Snap Linux distribution, not using Debian packages at all any more. So everything, including the printing system (and also the printer drivers) had to be in Snaps. -Fortunately, Snap was so well-designed that it allows also packaging command line tools and even system daemons ([Flatpak](https://flatpak.org/) for example only packages GUI applications, see [my blog post](/OpenPrinting-News-March-2022/#flatpak-and-printing)) and so I could snap right away. +Fortunately, Snap was so well-designed that it allows also packaging command line tools and even system daemons ([Flatpak](https://flatpak.org/) for example only packages GUI applications, see [my blog post](/OpenPrinting-News-March-2022#flatpak-and-printing)) and so I could snap right away. But there were a lot of challenges in these 5 years until the CUPS Snap got into production use for the first time: - [How to add printer drivers](https://forum.snapcraft.io/t/snapping-cups-drivers-as-plugins) (note that Michael Sweet brought in the solution with the Printer Applications only on the [OpenPrinting Summit 2018](https://pwg.org/chair/meeting-info/may-2018-sunnyvale.html), [slides](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-18.pdf)) @@ -270,7 +270,7 @@ But now one can think why did we rush the classic printer drivers into Printer A And all the talk about an all-Snap Ubuntu distribution ... -Yes, I have transferred [all free software printer drivers](/OpenPrinting-News-November-2021/#practically-all-free-printer-drivers-in-printer-applications) which come with Debian (and so also with Ubuntu) into [4 driver-retro-fitting Printer Applications](https://snapcraft.io/search?q=OpenPrinting). Only driver not transferred (yet) is the Braille printer driver included in cups-filters (but this is in the works now). +Yes, I have transferred [all free software printer drivers](/OpenPrinting-News-November-2021#practically-all-free-printer-drivers-in-printer-applications) which come with Debian (and so also with Ubuntu) into [4 driver-retro-fitting Printer Applications](https://snapcraft.io/search?q=OpenPrinting). Only driver not transferred (yet) is the Braille printer driver included in cups-filters (but this is in the works now). But do not think I have all these drivers rewritten into filter functions and turned their PPD file generators into `get-printer-attributes` IPP responders. No, I would never do it, as such code changes one has to test, and how should I test the drivers for ~10000 printer models without having the actual printers, but having a hall with 10000 printers inside one would also need a lot of people to do the testing. So the way to go is "do not touch the running code" and encapsulate it in Printer Applications. @@ -293,7 +293,7 @@ And Michael Sweet has also made a Printer Application for label printers, based - [**LPrint**](https://github.com/michaelrsweet/lprint) ([Snap Store](https://snapcraft.io/lprint)): Supports Dymo LabelWriter and Zebra ZPL label printers, with all label-printer-typical options: Label modes, tear-off offsets, media tracking, media top offset, print darkness, resolution, roll selection, speed, ... Note that this is a native Printer Application. It does not simply encapsulate the CUPS filters and PPD files which come with CUPS. -And there is also a [Legacy Printer Application](/OpenPrinting-News-November-2021/#your-driver-not-in-a-printer-application---the-legacy-printer-application) (included in the pappl-retrofit) project which, when classically installed (do not try to snap it) sees all classically installed CUPS drivers and makes them available in a Printer Application. This is especially useful for proprietary drivers. +And there is also a [Legacy Printer Application](/OpenPrinting-News-November-2021#your-driver-not-in-a-printer-application---the-legacy-printer-application) (included in the pappl-retrofit) project which, when classically installed (do not try to snap it) sees all classically installed CUPS drivers and makes them available in a Printer Application. This is especially useful for proprietary drivers. So we will not lose the support for any of the currently supported printers when switching over into the PPD-less, all-IPP New Architecture ... Now the third generation of printing with free software can start ... @@ -328,7 +328,7 @@ Due to this there is no known operating system using ippusbxd any more. Therefor Linux distributions use ipp-usb and with this driverless printing and scanning on USB-connected devices generally works. -Only problem is that this connection type has many device-specific quirks and Alexander is following the reports and trying to fix as many as possible, producing an everytime longer list of quirk workarounds in ipp-usb's code. Especially there are also devices which [support the IPP-over-USB USB protocol but not driverless printing and scanning](/OpenPrinting-News-May-2022/#ipp-usb-printer-does-ipp-over-usb-but-not-driverless-ipp-and-driver-vs-driverless). +Only problem is that this connection type has many device-specific quirks and Alexander is following the reports and trying to fix as many as possible, producing an everytime longer list of quirk workarounds in ipp-usb's code. Especially there are also devices which [support the IPP-over-USB USB protocol but not driverless printing and scanning](/OpenPrinting-News-May-2022#ipp-usb-printer-does-ipp-over-usb-but-not-driverless-ipp-and-driver-vs-driverless). ## "localhost" support in Avahi @@ -348,7 +348,7 @@ Most modern printers do driverless IPP and many of them are multi-function devic Driverless scanning means, as also for driverless printing, not needing a driver, where a driver is any type of device-model-specific software or data. And this means that the device has to use standard protocols, for which client software can easily be made part of the operating system. The standard here is AirScan, Apple's extension of AirPrint so that the complete multi-function device can be used with an iPhone or iPad. The underlying communication protocols are eSCL (an HTTP-based protocol, the more common one) and [WSD](https://en.wikipedia.org/wiki/Web_Services_for_Devices) (Web Services for Devices, from Microsoft), one of the two the device has to support in order to fulfill the standard. -Back in 2019 the situation was really inSANE, there was no SANE backend supporting eSCL or WSD, but "between the years" 2019 and 2020, between Christmas and New Year I was reading great news on the SANE mailing list: [Two independently developed backends for eSCL support](/OpenPrinting-News-January-2020/#driverless-scanning) got announced! +Back in 2019 the situation was really inSANE, there was no SANE backend supporting eSCL or WSD, but "between the years" 2019 and 2020, between Christmas and New Year I was reading great news on the SANE mailing list: [Two independently developed backends for eSCL support](/OpenPrinting-News-January-2020#driverless-scanning) got announced! These are “[escl](https://gitlab.com/sane-project/backends/merge_requests/242)” (small, light, basic, already included in SANE 1.0.29) and “[airscan](https://github.com/alexpevzner/sane-airscan)” (complete functionality). And there is also an AirScan server, [AirSane](https://github.com/SimulPiscator/AirSane), which is a SANE frontend which emulates an AirScan (eSCL) scanner scanning on any physical scanner supported by SANE, so it is nothing more than an early Scanner Application. @@ -356,12 +356,12 @@ After that I worked a lot together with the authors to make it all working on my Both "escl" (as part of sane-backends) and "airsane" (separate package) made it into all major Linux distributions and so the scanners in thousands of multi-function printers are working under Linux now. -And the specs of eSCL got finally [published by Mopria](/OpenPrinting-News-May-2021/#driverless-scanning) in May 2021! +And the specs of eSCL got finally [published by Mopria](/OpenPrinting-News-May-2021#driverless-scanning) in May 2021! ## The OpenPrinting web site -[From the March 2022 New](/OpenPrinting-News-March-2022/#openprinting-web-site) +[From the March 2022 New](/OpenPrinting-News-March-2022#openprinting-web-site) The part of the web site for looking up (legacy, non-driverless) printers and drivers (the [OpenPrinting database web app](https://github.com/OpenPrinting/foomatic-db-webapp/) has moved to a new server at Oregon State University Open Source Lab ([OSUOSL](https://osuosl.org)). As the old server did not receive a system upgrade for many years there were a lot of problems with the compatibility of the code (SQL and PHP) with the new, modern server. @@ -371,4 +371,4 @@ The UI of the web app did not change, but there are changes in the internal func Also the `query.php` script for machine queries got fixed and is fully working again. -This is especially important as we want to add a [query service for printer setup tools](/OpenPrinting-News-November-2021/#printer-querying-on-the-openprinting-web-server) to find the correct Printer Application(s) for a printer based on its device ID. This is currently [in the works](/current/#printer-application-look-up-via-the-openprinting-web-site). +This is especially important as we want to add a [query service for printer setup tools](/OpenPrinting-News-November-2021#printer-querying-on-the-openprinting-web-server) to find the correct Printer Application(s) for a printer based on its device ID. This is currently [in the works](/current#printer-application-look-up-via-the-openprinting-web-site). diff --git a/contents/pages/current.md b/contents/pages/current.md index 45881e06..6bc2b4f6 100644 --- a/contents/pages/current.md +++ b/contents/pages/current.md @@ -19,7 +19,7 @@ Also there has been a lot of development of the systems and environments for whi In addition we need to improve on things like CI and automated testing of our code. There will also be some work on documentation needed, especially for the APIs of our libraries. -For all this we are always in search for contributors of the community. Therefore we are once reaching out by presenting on several conferences, like the OpenPrinting micro-conferences on the Linux Plumbers Conference ([2019](/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2019/), [2020](/OpenPrinting-News-September-2020/#openprinting-microconference-on-linux-plumbers-conference-2020), [2021](/OpenPrinting-News-October-2021/#openprinting-micro-conference-on-the-linux-plumbers-2021), [2022](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022)), [Linux App Summit](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022/), [GUADEC](/OpenPrinting-News-July-2022/#guadec-2022), ..., and also internet platforms, like [Ubuntu on Air](https://ubuntu.com/blog/ubuntuonair) ([YouTube channel](https://www.youtube.com/UbuntuOnAir)). And second, we are participating in the [Google Summer of Code](http://g.co/gsoc) (GSoC) every year, having 5-8 3-month projects each year and some of the contributors continue to work with us voluntarily. +For all this we are always in search for contributors of the community. Therefore we are once reaching out by presenting on several conferences, like the OpenPrinting micro-conferences on the Linux Plumbers Conference ([2019](/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2019), [2020](/OpenPrinting-News-September-2020#openprinting-microconference-on-linux-plumbers-conference-2020), [2021](/OpenPrinting-News-October-2021#openprinting-micro-conference-on-the-linux-plumbers-2021), [2022](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022)), [Linux App Summit](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022), [GUADEC](/OpenPrinting-News-July-2022#guadec-2022), ..., and also internet platforms, like [Ubuntu on Air](https://ubuntu.com/blog/ubuntuonair) ([YouTube channel](https://www.youtube.com/UbuntuOnAir)). And second, we are participating in the [Google Summer of Code](http://g.co/gsoc) (GSoC) every year, having 5-8 3-month projects each year and some of the contributors continue to work with us voluntarily. I am leading OpenPrinting as my day job, thanks to my full-time employment at Canonical, the company behind Ubuntu, right for doing that. Thanks a lot to Canonical for supporting printing on Linux and other POSIX-style operating systems this way. @@ -51,7 +51,7 @@ For 22 years now, since its 1.0 launch, [CUPS](#cups) uses principally the same We especially want to get rid of the PPD files, because ... - In 1984 Adobe stopped development on PPDs (and also PostScript), so we started with an obsolete (but useful) format right away. -- In 2006 we [abolished PostScript as print job format](/achievements/#pdf-instead-of-postscript-as-standard-print-job-format) and replaced it by PDF. +- In 2006 we [abolished PostScript as print job format](/achievements#pdf-instead-of-postscript-as-standard-print-job-format) and replaced it by PDF. - PPD files can represent user-settable options only as enumerated choice or boolean. Ugly workarounds for things like passwords or color adjustment are needed, implemented in [CUPS](/cups/doc/spec-ppd.html) and [Foomatic](https://openprinting.org/printers). As CUPS was always following the standards of the Printer Working Group ([PWG](http://www.pwg.org/)), a consortium of printer, OS, general IT, ... industry with which OpenPrinting works closely together and with Michael Sweet (author of CUPS) actively developing on the Internet Printing Protocol (IPP) for decades, we follow them even more to create an all-IPP CUPS without the legacy of PPD files and driver filters. @@ -90,9 +90,9 @@ This way the New Architecture also helps printer/scanner manufacturers who for s ## CUPS CUPS is the standard print environment in Linux and other POSIX-style oprating systems for more than 20 years now.It is the daemon managing print queues with appropriate printer drivers, receiving, queueing, spooling, and printing print jobs from applications, sharing print queues on the netwok, ... -With [CUPS having moved from Apple to OpenPrinting](/achievements/#cups-upstream-home-is-openprinting-now), developemnt, especially of new fetures, has resumed. We do annual feature releases again and bug fix releases as needed inbetween. +With [CUPS having moved from Apple to OpenPrinting](/achievements#cups-upstream-home-is-openprinting-now), developemnt, especially of new fetures, has resumed. We do annual feature releases again and bug fix releases as needed inbetween. -Michael Sweet has presented a [roadmap](OpenPrinting-News-October-2021/#cups) for the further development o CUPS on the [Linux Plumbers Conference 2021](/OpenPrinting-News-October-2021/#openprinting-micro-conference-on-the-linux-plumbers-2021) ([slides](https://linuxplumbersconf.org/event/11/contributions/1023/attachments/737/1443/lpc-cups-2021.pdf)) and on the [OpenPrinting Summit/PWG meeting 2022](/OpenPrinting-News-June-2022/#openprinting-summitpwg-meeting) ([slides](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-2022.pdf)). +Michael Sweet has presented a [roadmap](OpenPrinting-News-October-2021/#cups) for the further development o CUPS on the [Linux Plumbers Conference 2021](/OpenPrinting-News-October-2021#openprinting-micro-conference-on-the-linux-plumbers-2021) ([slides](https://linuxplumbersconf.org/event/11/contributions/1023/attachments/737/1443/lpc-cups-2021.pdf)) and on the [OpenPrinting Summit/PWG meeting 2022](/OpenPrinting-News-June-2022#openprinting-summitpwg-meeting) ([slides](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-2022.pdf)). ### CUPS 2.5.x Its development is supposed to start soon and it is scheduled to be released towards the end of 2022. This is the last series in the 2.x generation, still supporting the current architecture based on print queues with PPD files and printer-model-specific filters (aka drivers). @@ -104,7 +104,7 @@ OAuth authentication should replace the more awkward Kerberos which requires roo ### CUPS 3.x The next generation of CUPS implements the New Architecture: Classic printer drivers based on PPDs and printer-model-specific filters are not supported any more. In adition, the CUPS project gets split into various smaller modules: libcups, commands, local server, sharing server. -Release is scheduled for the end of 2023, meaning that until then all related software, like [cups-filters](#cups-filters), [all printer drivers](/achievements/#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps), [print dialogs](#the-print-dialogs), [printer setup tools](#gnome-control-center---printers-module), ... needs to be prepared for the New Architecture, which is subject of most of our work currently. +Release is scheduled for the end of 2023, meaning that until then all related software, like [cups-filters](#cups-filters), [all printer drivers](/achievements#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps), [print dialogs](#the-print-dialogs), [printer setup tools](#gnome-control-center---printers-module), ... needs to be prepared for the New Architecture, which is subject of most of our work currently. Michael Sweet has already started the development on the new [libcups3](https://github.com/michaelrsweet/libcups). @@ -142,13 +142,13 @@ cups-filters provides filters (to convert data formats for printing) and backend With the replacement of classic printer drivers consisting of PPD files and filter executables by Printer Applications we are also changing the architecture of cups-filters, in the new 2.x generation. -The first time when I mentioned that the architecture of cups-filters needs to get changed and that for this I would start a cups-filters 2.x generation was in [March](/OpenPrinting-News-March-2020/#cups-filters) and [April](/OpenPrinting-News-April-2020/#cups-filters) 2020. +The first time when I mentioned that the architecture of cups-filters needs to get changed and that for this I would start a cups-filters 2.x generation was in [March](/OpenPrinting-News-March-2020#cups-filters) and [April](/OpenPrinting-News-April-2020#cups-filters) 2020. -Development started mid-2020 (2 years ago) with creating a libppd containing all PPD support functionality of libcups (in libcups3 it will get removed) for retro-fitting classic drivers and PostScript PPDs in [July](/OpenPrinting-News-July-2020/#cups-filters). +Development started mid-2020 (2 years ago) with creating a libppd containing all PPD support functionality of libcups (in libcups3 it will get removed) for retro-fitting classic drivers and PostScript PPDs in [July](/OpenPrinting-News-July-2020#cups-filters). -The next step was turning all the individual filter executables into library functions, the filter functions, for being easily used by [Printer Applications](#printer-applications), starting in [August](/OpenPrinting-News-August-2020/#cups-filters) and with this separating the cups-filter 1.x development into its own branch. +The next step was turning all the individual filter executables into library functions, the filter functions, for being easily used by [Printer Applications](#printer-applications), starting in [August](/OpenPrinting-News-August-2020#cups-filters) and with this separating the cups-filter 1.x development into its own branch. -These changes have been all performed already and have been made use of in the [printer-driver-retro-fitting Printer Applications](/achievements/#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps). +These changes have been all performed already and have been made use of in the [printer-driver-retro-fitting Printer Applications](/achievements#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps). To finalize cups-filters 2.x, the support for PPD files in the filter functions has been completely separated from libcupsfilters and moved into libppd, so that libcupsfilters can be installed without installing libppd and so distributions do not need to keep the PPD-file-retro-fitting library in their standard installation. @@ -158,10 +158,10 @@ Currently we are in the phase of final testing, code clean-up and separating the ## Printer Applications As mentioned earlier Printer Applications are the new format for printer drivers, emulations of IPP printers, to turn the all-IPP New Architecture into reality. They also can be easily put into sandboxed, distribution-independent packages like Snaps, for easy distribution of printer drivers by hardware manufacturers. -We already have [retro-fitted the drivers for ~10000 printer models](/achievements/#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps), the drivers which are usually available in Linux distributions into 4 Printer Applications and put up those in the Snap Store, to not lose any printer support when switching to the New Architecture, but there are still a lot of things to do. +We already have [retro-fitted the drivers for ~10000 printer models](/achievements#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps), the drivers which are usually available in Linux distributions into 4 Printer Applications and put up those in the Snap Store, to not lose any printer support when switching to the New Architecture, but there are still a lot of things to do. ### PAPPL -Michael Sweet's [PAPPL](https://github.com/michaelrsweet/pappl/) is the base for all currently available Printer Applications, the [4 retro-fitting ones of OpenPrinting](/achievements/#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps) and also Michael Sweet's [LPrint](https://github.com/michaelrsweet/lprint) and [hp-printer-app](https://github.com/michaelrsweet/hp-printer-app). +Michael Sweet's [PAPPL](https://github.com/michaelrsweet/pappl/) is the base for all currently available Printer Applications, the [4 retro-fitting ones of OpenPrinting](/achievements#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps) and also Michael Sweet's [LPrint](https://github.com/michaelrsweet/lprint) and [hp-printer-app](https://github.com/michaelrsweet/hp-printer-app). It provides everything which every Printer Application needs: - A daemon which emulates an IPP printer @@ -217,9 +217,9 @@ Our support for Braille embossers is currently provided in the [cups-filters](ht ### Reviving legacy printers under Windows I am working at [Canonical in the Desktop Team](https://discourse.ubuntu.com/t/desktop-team-updates-monday-15th-august-2022/29954/8?u=till-kamppeter), my job being leading the OpenPrinting project, and in the Desktop Team we also have a sub-team working on WSL (Windows Subsystem for Linux), a facility to run Linux applications under Windows. This brought me to the idea of running Printer Applications under WSL, to revive legacy printers which got abandoned by Microsoft and also by their manufacturers. -My first public mention of this idea was during the [virtual release party of Ubuntu 22.04](https://www.youtube.com/watch?v=CBPefa0Ckq8&t=15480s) on the [LAS 2022](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022/), in [my second part](https://youtu.be/CBPefa0Ckq8?t=17455) praising the WSL team. +My first public mention of this idea was during the [virtual release party of Ubuntu 22.04](https://www.youtube.com/watch?v=CBPefa0Ckq8&t=15480s) on the [LAS 2022](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022), in [my second part](https://youtu.be/CBPefa0Ckq8?t=17455) praising the WSL team. -The first working implementation of this idea is available now, the first [HOWTO](/wsl-printer-app/) of WSL team member Carlos Nihelton, which he has worked out and written in cooperation with me. Thanks a lot to him! +The first working implementation of this idea is available now, the first [HOWTO](/wsl-printer-app) of WSL team member Carlos Nihelton, which he has worked out and written in cooperation with me. Thanks a lot to him! ![Creating Windows print queue to Printer Application running under WSL](../assets/images/wsl-printer/13-ipp.png) @@ -235,7 +235,7 @@ My intention is to present the idea at the [Ubuntu Summit](https://summit.ubuntu ## Scanner Applications Most modern printers do driverless IPP and many of them are multi-function devices with built-in scanner, and these ones do not only driverless printing but also driverless scanning! -We have [Linux support for the underlying scanning protocols eSCL and WSD](/achievements/#sane-backends-for-driverless-scanning---escl-and-wsd-airscan) and the eSCL communication protocol is also [published](/OpenPrinting-News-May-2021/#driverless-scanning), but what we still do not have is PAPPL support for scanning, to easily create Scanner Applications for non-driverless scanners as we already have Printer Applications. +We have [Linux support for the underlying scanning protocols eSCL and WSD](/achievements#sane-backends-for-driverless-scanning---escl-and-wsd-airscan) and the eSCL communication protocol is also [published](/OpenPrinting-News-May-2021#driverless-scanning), but what we still do not have is PAPPL support for scanning, to easily create Scanner Applications for non-driverless scanners as we already have Printer Applications. Currently, we have the SANE backends as scanner drivers, which are dynamically linkable libraries. They must be put into a defined system directory to be found by the applications which scan and they also need to have binary compatibility with the applications. This can usually only be achieved by applications and scanner drivers being built for the host operating system distribution, for security reasons even preferably by the maintainers of the distribution. @@ -285,7 +285,7 @@ Also print dialogs need changes for the New Architecture. They first of all shou The most obvious approach would be that all print dialogs (GTK, Qt, LibreOffice, Firefox, Chromium, ...) get changed appropriately, but this requires the maintainer's, often volunteers, time, is not top-priority in the projects, ... and so takes time if done at all. -Therefore we created the concept of the [Common Print Dialog Backends](/achievements/#common-print-dialog-backends) (CPDB) to not only let all print dialogs support multiple print technologies (CUPS, print to file, cloud printing services, ...) but also move the responsibility of correct support of each print technology to the maintainers of that print technologies, for example to OpenPrinting for CUPS. +Therefore we created the concept of the [Common Print Dialog Backends](/achievements#common-print-dialog-backends) (CPDB) to not only let all print dialogs support multiple print technologies (CUPS, print to file, cloud printing services, ...) but also move the responsibility of correct support of each print technology to the maintainers of that print technologies, for example to OpenPrinting for CUPS. This is done by the print technology support being in separate modules (backends) which are available to the print dialogs as D-Bus services. This way the backends can get updated separately and they can also be in separate sandboxed packages, allowing easy Linux support for any cloud/online printing service provider. @@ -307,24 +307,24 @@ Linux distributions are usually composed of binary packages (RPM or DEB in most To overcome this, and get a packaging system which is distribution-independent and also to get enough security to run third-party binary code, sandboxed packaging methods were introduced. Each package comes with all its libraries and other parts it depends on in a security-encapsulated sandbox. Also what comes with the package is an immutable, manipulation-proof file system image. It also can only communicate with the host system and other packages only through well-defined channels. -The most sophisticated system in terms of security and flexibility is [Snap](https://snapcraft.io/) because it is very similar to smartphone app packaging. See also the [Ubuntu Indaba with Mark Shuttleworth](/OpenPrinting-News-May-2022/#openprinting-snaps-and-the-ubuntu-indaba-with-mark-shuttleworth). +The most sophisticated system in terms of security and flexibility is [Snap](https://snapcraft.io/) because it is very similar to smartphone app packaging. See also the [Ubuntu Indaba with Mark Shuttleworth](/OpenPrinting-News-May-2022#openprinting-snaps-and-the-ubuntu-indaba-with-mark-shuttleworth). -This is also the system I have most experience with. Right when it was launched back in mid-2017 I started [snapping (packaging as a Snap) CUPS](/achievements/#the-cups-snap). I posted several feature requests on Snap and worked together with the Snap developers to integrate the CUPS Snap in the Snap infrastructure, creating an [interface](https://forum.snapcraft.io/t/new-interface-cups-for-all-snaps-which-print/) for snapped applications being able to safely print without being able to mess up the system. +This is also the system I have most experience with. Right when it was launched back in mid-2017 I started [snapping (packaging as a Snap) CUPS](/achievements#the-cups-snap). I posted several feature requests on Snap and worked together with the Snap developers to integrate the CUPS Snap in the Snap infrastructure, creating an [interface](https://forum.snapcraft.io/t/new-interface-cups-for-all-snaps-which-print/) for snapped applications being able to safely print without being able to mess up the system. -Not only CUPS, but also [ipp-usb](/achievements/#driverless-printers-on-usb---ipp-over-usb) and the [4 retro-fitting Printer Applications](achievements/#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps) I have snapped and are available in the [Snap Store](https://snapcraft.io/search?q=openprinting). I am regularly updating all of these for new versions of the contained classic printer drivers and other included software. +Not only CUPS, but also [ipp-usb](/achievements#driverless-printers-on-usb---ipp-over-usb) and the [4 retro-fitting Printer Applications](achievements/#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps) I have snapped and are available in the [Snap Store](https://snapcraft.io/search?q=openprinting). I am regularly updating all of these for new versions of the contained classic printer drivers and other included software. Having snapped CUPS I wondered why not packaging CUPS also in other formats, as Flatpak or AppImage. I investigated and found out the following: -- **[Flatpak is not suitable](/OpenPrinting-News-March-2022/#flatpak-and-printing):** It is especially made for desktop/GUI applications. One cannot package daemons. The packaged app cannot be run as root. The channels to communicate with the outside world are not file system mounts or AppArmor allowances as with Snap, but portals, D-Bus interfaces to common GUI dialogs as "Open", "Save as ...", and "[Print](/achievements/#common-print-dialog)". -- **[AppImage is not suitable, too](/OpenPrinting-News-April-2022/#appimage-and-printing):** AppImage does nothing more than providing an immutable file system image with the packaged application and all its libraries and other dependencies. It is an executable which simply opens the file system and runs the included application. There is no security concept, the application has access to the whole system (or at least to what the invoking user has access to). There is also no support for daemons, like for example auto-starting it. -- **[Docker is an alternative](/OpenPrinting-News-May-2022/#official-docker-image-of-cups-and-printer-applications):** Especially on systems based on a minimal/immutable/atomic/image-based OS designed for applications being installed as Flatpaks or systems not based on systemd, not using AppArmor, Snaps cannot get installed and an alternative method to install distribution-independent packages of CUPS and Printer Applications is needed. Here Docker images (OCI-compatible containers) as official versions from OpenPrinting on [DockerHub](https://hub.docker.com/) were suggested. I had some discussion with Robert McQueen and he posted on [the Flatpak list](https://lists.freedesktop.org/archives/flatpak/2022-May/002244.html) and then there were [further suggestions](https://lists.freedesktop.org/archives/flatpak/2022-May/thread.html). +- **[Flatpak is not suitable](/OpenPrinting-News-March-2022#flatpak-and-printing):** It is especially made for desktop/GUI applications. One cannot package daemons. The packaged app cannot be run as root. The channels to communicate with the outside world are not file system mounts or AppArmor allowances as with Snap, but portals, D-Bus interfaces to common GUI dialogs as "Open", "Save as ...", and "[Print](/achievements#common-print-dialog)". +- **[AppImage is not suitable, too](/OpenPrinting-News-April-2022#appimage-and-printing):** AppImage does nothing more than providing an immutable file system image with the packaged application and all its libraries and other dependencies. It is an executable which simply opens the file system and runs the included application. There is no security concept, the application has access to the whole system (or at least to what the invoking user has access to). There is also no support for daemons, like for example auto-starting it. +- **[Docker is an alternative](/OpenPrinting-News-May-2022#official-docker-image-of-cups-and-printer-applications):** Especially on systems based on a minimal/immutable/atomic/image-based OS designed for applications being installed as Flatpaks or systems not based on systemd, not using AppArmor, Snaps cannot get installed and an alternative method to install distribution-independent packages of CUPS and Printer Applications is needed. Here Docker images (OCI-compatible containers) as official versions from OpenPrinting on [DockerHub](https://hub.docker.com/) were suggested. I had some discussion with Robert McQueen and he posted on [the Flatpak list](https://lists.freedesktop.org/archives/flatpak/2022-May/002244.html) and then there were [further suggestions](https://lists.freedesktop.org/archives/flatpak/2022-May/thread.html). After releasing [cups-filters 2.0b1](#cups-filters-2-x) and [pappl-retrofit 1.0b1](#pappl-retrofit) I will look into creating the Docker images of CUPS and the Printer Applications. ## Printer Application look-up via the OpenPrinting web site -The part of the website for looking up (legacy, non-driverless) printers and drivers (the [OpenPrinting database web app](https://github.com/OpenPrinting/foomatic-db-webapp/) has [successfully moved](/achievements/#the-openprinting-web-site) to a new server at Oregon State University Open Source Lab ([OSUOSL](https://osuosl.org)). Violet Kurtz and Lance Albertson, both from OSUOSL have helped a lot on this. +The part of the website for looking up (legacy, non-driverless) printers and drivers (the [OpenPrinting database web app](https://github.com/OpenPrinting/foomatic-db-webapp/) has [successfully moved](/achievements#the-openprinting-web-site) to a new server at Oregon State University Open Source Lab ([OSUOSL](https://osuosl.org)). Violet Kurtz and Lance Albertson, both from OSUOSL have helped a lot on this. -This is the base for being able to do further development and updates on our web app, especially the [Printer Application look-up service](/OpenPrinting-News-November-2021/#printer-querying-on-the-openprinting-web-server) which is needed for the printer setup tools to find the correct Printer Application to install when submitting the printer's device ID as search term. The service is especially needed as the developers of the Snap Store [did not show interest on hardware-signature-based search](https://forum.snapcraft.io/t/hardware-associated-snaps-snap-store-search-by-hardware-signature) and we also want to provide the Printer Applications [in other formats in the future](#distribution-independent-packaging). +This is the base for being able to do further development and updates on our web app, especially the [Printer Application look-up service](/OpenPrinting-News-November-2021#printer-querying-on-the-openprinting-web-server) which is needed for the printer setup tools to find the correct Printer Application to install when submitting the printer's device ID as search term. The service is especially needed as the developers of the Snap Store [did not show interest on hardware-signature-based search](https://forum.snapcraft.io/t/hardware-associated-snaps-snap-store-search-by-hardware-signature) and we also want to provide the Printer Applications [in other formats in the future](#distribution-independent-packaging). Violet Kurtz is making good progress on the [extension of the web app for this functionality](https://github.com/OpenPrinting/foomatic-db-webapp/pull/15). diff --git a/contents/pages/gsod.md b/contents/pages/gsod.md index ebda5a75..8a6628df 100644 --- a/contents/pages/gsod.md +++ b/contents/pages/gsod.md @@ -5,8 +5,8 @@ permalink: /gsod/ ## Year-Wise GSoD Project List -### 1. [GSoD 2020](/gsod2020/) +### 1. [GSoD 2020](/gsod2020) ## Year-Wise GSoD Students -### 1. [GSoD 2020](/gsod-2020-students/) \ No newline at end of file +### 1. [GSoD 2020](/gsod-2020-students) \ No newline at end of file diff --git a/contents/pages/gsod2020.md b/contents/pages/gsod2020.md index e06617cd..10429eb2 100644 --- a/contents/pages/gsod2020.md +++ b/contents/pages/gsod2020.md @@ -50,7 +50,7 @@ The participation of the Linux Foundation in the Google Season of Docs is organi

-Please see the plans for our near future work to get an overview of our development direction and architecture changes. +Please see the plans for our near future work to get an overview of our development direction and architecture changes.

Project Ideas

diff --git a/contents/pages/history.md b/contents/pages/history.md index 3488e179..b8c50176 100644 --- a/contents/pages/history.md +++ b/contents/pages/history.md @@ -75,4 +75,4 @@ From then on I did everything to make printing "just work" in non-Mac Unix/Posix From 2008 on I started organizing the participation of the Linux Foundation in the [Google Summer of Code](http://g.co/gsoc) and got accepted for all but one year until now. Many students worked this way for OpenPrinting and recently we got together a student community to work on development tasks, like our new web site and also on mentoring further GSoC contributors. -[And here is what we have all done so far](/achievements/). +[And here is what we have all done so far](/achievements). diff --git a/contents/pages/lfmp.md b/contents/pages/lfmp.md index dbb86b7c..ebdc3d3a 100644 --- a/contents/pages/lfmp.md +++ b/contents/pages/lfmp.md @@ -5,8 +5,8 @@ permalink: /lfmp/ ## Year-Wise LFMP Project List -### 1. [LFMP 2020](/lfmp2020/) +### 1. [LFMP 2020](/lfmp2020) ## Year-Wise LFMP Students -### 1. [LFMP 2020](/lfmp-2020-students/) \ No newline at end of file +### 1. [LFMP 2020](/lfmp-2020-students) \ No newline at end of file diff --git a/contents/pages/lfmp2020.md b/contents/pages/lfmp2020.md index 32cfd29c..0f307abb 100644 --- a/contents/pages/lfmp2020.md +++ b/contents/pages/lfmp2020.md @@ -50,7 +50,7 @@ The participation of the Linux Foundation in the Linux Foundation Mentorship Pro

-Please see the plans for our near future work to get an overview of our development direction and architecture changes. +Please see the plans for our near future work to get an overview of our development direction and architecture changes.

Project Ideas

diff --git a/contents/pages/opportunity-open-source.md b/contents/pages/opportunity-open-source.md index fa0fb408..3c8fface 100644 --- a/contents/pages/opportunity-open-source.md +++ b/contents/pages/opportunity-open-source.md @@ -19,7 +19,7 @@ Follow the conference on [LinkedIn](https://www.linkedin.com/company/opportunity - **Location:** IIIT Allahabad, Prayagraj, Uttar Pradesh, India - **Dates:** August 28–30, 2026 -The fourth edition, hosted together with the Google Developer Group (GDG) at IIIT Allahabad. Read the [announcement](/OpenPrinting-News-Opportunity-Open-Source-4.0/). +The fourth edition, hosted together with the Google Developer Group (GDG) at IIIT Allahabad. Read the [announcement](/OpenPrinting-News-Opportunity-Open-Source-4.0). - [The event's web site](https://oosc.iiita.ac.in/) - [Practical info: Location, remote attending/speaking, ...](https://events.canonical.com/event/154/) @@ -34,9 +34,9 @@ The fourth edition, hosted together with the Google Developer Group (GDG) at III | Edition | Location | Dates | Links | | --- | --- | --- | --- | -| 3.0 | IIT Kanpur, India | September 5–7, 2025 | [Recap](/OpenPrinting-News-Opportunity-Open-Source-3.0-in-the-IIT-Kanpur,-India/) · [Schedules](https://events.canonical.com/event/134/timetable/) | -| 2.0 | IIT Kanpur, India | August 24–26, 2024 | [Recap](/OpenPrinting-News-August-2024/#opportunity-open-source-in-iit-kanpur) · [Schedules](https://events.canonical.com/event/89/) | -| 1.0 | IIT Mandi, India | September 2023 | [Recap](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india) · [Schedules](https://events.canonical.com/event/35/) | +| 3.0 | IIT Kanpur, India | September 5–7, 2025 | [Recap](/OpenPrinting-News-Opportunity-Open-Source-3.0-in-the-IIT-Kanpur,-India) · [Schedules](https://events.canonical.com/event/134/timetable/) | +| 2.0 | IIT Kanpur, India | August 24–26, 2024 | [Recap](/OpenPrinting-News-August-2024#opportunity-open-source-in-iit-kanpur) · [Schedules](https://events.canonical.com/event/89/) | +| 1.0 | IIT Mandi, India | September 2023 | [Recap](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india) · [Schedules](https://events.canonical.com/event/35/) | ## Get involved diff --git a/contents/pages/wsl-printer-app-snap.md b/contents/pages/wsl-printer-app-snap.md index dfce2414..e3631b5f 100644 --- a/contents/pages/wsl-printer-app-snap.md +++ b/contents/pages/wsl-printer-app-snap.md @@ -10,7 +10,7 @@ author: CNihelton ## Introduction -In the [previous HOWTO](/wsl-printer-app-compile/) we've seen how WSL 2 and Printer Applications can revive older printers which Windows doesn't offer drivers for. +In the [previous HOWTO](/wsl-printer-app-compile) we've seen how WSL 2 and Printer Applications can revive older printers which Windows doesn't offer drivers for. Although effective, it's quite complicated to build the necessary components from source. That complexity is really not necessary anymore. @@ -27,7 +27,7 @@ As before, it’s necessary to point out that the following steps would simply b ## How to -**Editor's Note:** USB IPD only needs to get installed if the printer gets actually connected by USB. For network-connected (Ethernet/Wi-Fi) printers it is not needed. Depending on your printer model you will perhaps need a different Printer Application ([OpenPrinting](https://snapcraft.io/search?q=OpenPrinting), [LPrint](https://snapcraft.io/lprint), or if you are in doubt, use our [look-up service](/OpenPrinting-News-September-2022/#openprinting-web-server-printer-application-look-up-service-is-now-live)). +**Editor's Note:** USB IPD only needs to get installed if the printer gets actually connected by USB. For network-connected (Ethernet/Wi-Fi) printers it is not needed. Depending on your printer model you will perhaps need a different Printer Application ([OpenPrinting](https://snapcraft.io/search?q=OpenPrinting), [LPrint](https://snapcraft.io/lprint), or if you are in doubt, use our [look-up service](/OpenPrinting-News-September-2022#openprinting-web-server-printer-application-look-up-service-is-now-live)). 1. Connect the printer to the USB port. Make sure it’s not supported on Windows by checking Settings > Bluetooth & devices > Printers & scanners. diff --git a/contents/post/Common-Print-Dialog-Backends-Second-Generation-First-Beta-Release.md b/contents/post/Common-Print-Dialog-Backends-Second-Generation-First-Beta-Release.md index 0ffcd966..e6de19bf 100644 --- a/contents/post/Common-Print-Dialog-Backends-Second-Generation-First-Beta-Release.md +++ b/contents/post/Common-Print-Dialog-Backends-Second-Generation-First-Beta-Release.md @@ -9,7 +9,7 @@ date: '2022-12-13' --- We are now releasing the first beta of the second generation of the Common Print Dialog Backends (CPDB). -As part of making everything ready for the [New Architecture of printing](/current/#the-new-architecture-for-printing-and-scanning) we have finally added CPDB support to the print dialogs of the major desktop environments/GUI toolkits, GNOME/GTK and KDE/Qt. This was done in [Gaurav Guleria's GSoC project](https://github.com/TinyTrebuchet/gsoc22/) and in the course of his work on the print dialogs he also did a lot of improvements on the CPDB framework, mainly due to missing features but also to work well in a PPD-less world. +As part of making everything ready for the [New Architecture of printing](/current#the-new-architecture-for-printing-and-scanning) we have finally added CPDB support to the print dialogs of the major desktop environments/GUI toolkits, GNOME/GTK and KDE/Qt. This was done in [Gaurav Guleria's GSoC project](https://github.com/TinyTrebuchet/gsoc22/) and in the course of his work on the print dialogs he also did a lot of improvements on the CPDB framework, mainly due to missing features but also to work well in a PPD-less world. The components we are currently maintaining got all updated and released as version 2.0b1: diff --git a/contents/post/Common-Print-Dialog-Backends-Second-Generation-Forth-Beta-Release.md b/contents/post/Common-Print-Dialog-Backends-Second-Generation-Forth-Beta-Release.md index 15d1be33..4270d3fb 100644 --- a/contents/post/Common-Print-Dialog-Backends-Second-Generation-Forth-Beta-Release.md +++ b/contents/post/Common-Print-Dialog-Backends-Second-Generation-Forth-Beta-Release.md @@ -9,7 +9,7 @@ date: '2023-03-21' --- We are now releasing the forth beta of the second generation of the Common Print Dialog Backends (CPDB). -Main addition are build test scripts (`make check`) for all the three components, as they are required for [inclusion of the CPDB packages into Ubuntu Main](/OpenPrinting-News-February-2023/#the-new-architecture-is-going-into-ubuntu-and-red-hat). Main is the core part of Ubuntu, which gets full support from Canonical. +Main addition are build test scripts (`make check`) for all the three components, as they are required for [inclusion of the CPDB packages into Ubuntu Main](/OpenPrinting-News-February-2023#the-new-architecture-is-going-into-ubuntu-and-red-hat). Main is the core part of Ubuntu, which gets full support from Canonical. To facilitate creation of test scripts for the backends, for creating test scripts which test packages installed into a system (like autopkgtests of Debian and Ubuntu), and also for general development and debugging use, the demo programs of cpdb-libs (former `demo/` sub-directory) got promoted to be development tools. Not only their directory got renamed (to `tools/`) but also the programs get built together with the libraries by `make` and get installed by `make install`. And they got also renamed to nicely live in a system: `cpdb-text-frontend` and `cpdb-pickle-print`. diff --git a/contents/post/Common-Print-Dialog-Backends-Second-Generation-Sixth-Beta-Release.md b/contents/post/Common-Print-Dialog-Backends-Second-Generation-Sixth-Beta-Release.md index 701e3167..8eef5cdd 100644 --- a/contents/post/Common-Print-Dialog-Backends-Second-Generation-Sixth-Beta-Release.md +++ b/contents/post/Common-Print-Dialog-Backends-Second-Generation-Sixth-Beta-Release.md @@ -7,7 +7,7 @@ excerpt: >- data and simplifying D-Bus interface date: '2024-06-19' --- -After 10 months, and working currently on [snapping the CPDB backend for CUPS](/OpenPrinting-News-May-2024/#cpdb-cups-backend-snap), we are now releasing the sixth beta of the second generation of the Common Print Dialog Backends (CPDB). +After 10 months, and working currently on [snapping the CPDB backend for CUPS](/OpenPrinting-News-May-2024#cpdb-cups-backend-snap), we are now releasing the sixth beta of the second generation of the Common Print Dialog Backends (CPDB). **Streaming print job content** diff --git a/contents/post/OpenPrinting-Live-in-the-Ubuntu-Office-Hours.md b/contents/post/OpenPrinting-Live-in-the-Ubuntu-Office-Hours.md index 1027234c..5cd46a99 100644 --- a/contents/post/OpenPrinting-Live-in-the-Ubuntu-Office-Hours.md +++ b/contents/post/OpenPrinting-Live-in-the-Ubuntu-Office-Hours.md @@ -22,6 +22,6 @@ Please mark in your calendars: It will take place on [YouTube](https://www.youtube.com/watch?v=diB3wm4HB1Y) and everyone can participate, without registration and free of charge. Everyone can post questions on the YouTube Live Chat. -For everyone who wants to get some technical background, Michael Sweet and me have talked about the ongoing changes in the architecture of printing with free software six weeks ago in the [Ubuntu Indaba](/OpenPrinting-News-Flash-Ubuntu-Indaba-and-Ghostscript-Printer-Application/#the-ubuntu-desktop-indabas-and-openprinting---the-recording) (recording on [YouTube](https://www.youtube.com/watch?v=P22DOu_ahBo)). +For everyone who wants to get some technical background, Michael Sweet and me have talked about the ongoing changes in the architecture of printing with free software six weeks ago in the [Ubuntu Indaba](/OpenPrinting-News-Flash-Ubuntu-Indaba-and-Ghostscript-Printer-Application#the-ubuntu-desktop-indabas-and-openprinting---the-recording) (recording on [YouTube](https://www.youtube.com/watch?v=P22DOu_ahBo)). See you there! diff --git a/contents/post/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2020.md b/contents/post/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2020.md index bd0407fe..45488f98 100644 --- a/contents/post/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2020.md +++ b/contents/post/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2020.md @@ -7,19 +7,19 @@ date: '2020-08-24' --- **Update:** [Recording on YouTube](https://youtu.be/MPGh9FUW4as) -As already back in [2019](/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2019/) we are holding a Microconference on the [Linux Plumbers 2020](https://www.linuxplumbersconf.org/), this year in ... +As already back in [2019](/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2019) we are holding a Microconference on the [Linux Plumbers 2020](https://www.linuxplumbersconf.org/), this year in ... ... the wider Internet!! Yes, due to COVID-19 it is all virtual this time, no travelling, no 12 hours with a mask in an airplane full of people. But also no nice sights and delicious restaurants, not tourist-guiding my co-workers with the help of my knowledge of the Portuguese language through a nice city. But it has also one big advantage: It is much easier to get the desired speakers, as one does not need to get their travel funded. So we will have Michael Sweet, Ira McDonald, Aveek Basu, Alexander Pevzner, and Rithvik Patibandla on our virtual stage, and me naturally, too. -We will talk about the following [subjects](/upcoming-technologies/): +We will talk about the following [subjects](/upcoming-technologies): -- [Printer Applications - A new way to print in Linux](/upcoming-technologies/01-printer-application/) -- [IPP scan (or virtual MF device) server (Scanner Application)](/upcoming-technologies/02-ipp-scan/) -- [3D Printing](/upcoming-technologies/03-3d-printing/) -- [IPP Fax Out - A new reality](/upcoming-technologies/04-ipp-fax/) -- [Designing and Packaging Printer and Scanner Drivers](/upcoming-technologies/05-designing-packaging-drivers/) +- [Printer Applications - A new way to print in Linux](/upcoming-technologies/01-printer-application) +- [IPP scan (or virtual MF device) server (Scanner Application)](/upcoming-technologies/02-ipp-scan) +- [3D Printing](/upcoming-technologies/03-3d-printing) +- [IPP Fax Out - A new reality](/upcoming-technologies/04-ipp-fax) +- [Designing and Packaging Printer and Scanner Drivers](/upcoming-technologies/05-designing-packaging-drivers) The conference takes place from **Monday, August 24 to Friday, August 28, every day from 2pm - 6pm UTC**. Our day will be the **Friday, August 28**, with our microconference to span all the 4 hours. Everyone is invited to visit us. diff --git a/contents/post/OpenPrinting-News-25-years-of-working-full-time-for-printing-with-free-open-source-software.md b/contents/post/OpenPrinting-News-25-years-of-working-full-time-for-printing-with-free-open-source-software.md index de6f0ac0..8397e106 100644 --- a/contents/post/OpenPrinting-News-25-years-of-working-full-time-for-printing-with-free-open-source-software.md +++ b/contents/post/OpenPrinting-News-25-years-of-working-full-time-for-printing-with-free-open-source-software.md @@ -16,7 +16,7 @@ date: '2025-08-01' My first task at MandrakeSoft (later Mandriva) was to **switch Mandrake Linux from the LPD (Line Printer Daemon) printing environment to CUPS**. I succeeded the switchover just in a few month so that the next available edition of Mandrake Linux had CUPS working and printer setup and printing much easier and much more functional as before. -This, and my numerous presentations of CUPS on conferences, in talks, workshops, and booths, [made all the other distributions follow](/achievements/#getting-all-linux-distributions-to-use-cups), including Debian, and as being derived from Debian, Ubuntu just started off with CUPS back in 2004. +This, and my numerous presentations of CUPS on conferences, in talks, workshops, and booths, [made all the other distributions follow](/achievements#getting-all-linux-distributions-to-use-cups), including Debian, and as being derived from Debian, Ubuntu just started off with CUPS back in 2004. **In 2006, I organized the first OpenPrinting Summit**, at Lanier (now part of Ricoh), in Atlanta, Georgia, with the help of Ulrich Wehner who is working there. There **I got invited to work full-time at the Free Standards Group** (now the Linux Foundation) by Ian Murdock, one of the founders of DebIAN Linux, **to lead OpenPrinting**. @@ -26,28 +26,28 @@ Not being able to take both full-time and leading OpenPrinting be the central pa Later on, when the Linux Foundation dropped my contract to 1/2 and Canonical offered me a full-time employment I got full-time there, until this year. -See also: [How did this all begin?](/history/) +See also: [How did this all begin?](/history) ## Achieved a lot of things ... Principally I have done the same work all the time, and independently, who my actual employer was, to make printing with FOSS "just work". -In the beginning I have taken care that [all the printer drivers from the pre-CUPS era work with CUPS](/achievements/#all-free-drivers-to-be-used-with-cups), that distributions have all the drivers readily available to the user, for example with the help of the [Grand Unified Ghostscript](/achievements/#grand-unified-ghostscript-cups-support-third-party-built-in-drivers-), and that printer setup is as easy and automatic as possible by adding algorithms for printer identification and driver assignment to [system-config-printer](https://github.com/OpenPrinting/system-config-printer) to provide the Plug'n'Print experience (not Plug'n'Play as in Windows, you plug in the printer and play for hours with the drivers and if you win this game, you can print). +In the beginning I have taken care that [all the printer drivers from the pre-CUPS era work with CUPS](/achievements#all-free-drivers-to-be-used-with-cups), that distributions have all the drivers readily available to the user, for example with the help of the [Grand Unified Ghostscript](/achievements#grand-unified-ghostscript-cups-support-third-party-built-in-drivers-), and that printer setup is as easy and automatic as possible by adding algorithms for printer identification and driver assignment to [system-config-printer](https://github.com/OpenPrinting/system-config-printer) to provide the Plug'n'Print experience (not Plug'n'Play as in Windows, you plug in the printer and play for hours with the drivers and if you win this game, you can print). I also need to assure that the **good user experience stays conserved all the time**, even if changes in CUPS drop features which make user's life easy and users get used to them. One was CUPS' simple but fully automatic **broadcasting/browsing system**, where when in a local network the CUPS on one machine shared a printer, automatically all the other machines created a (virtual) print queue and the users could immediately print, and thanks to server-side drivers without needing to download and install a driver. -This mechanism got replaced by the **DNS-SD** protocol, which is once a general standard in networking, and also matches the standard of driverless [IPP](https://en.wikipedia.org/wiki/Internet_Printing_Protocol) printing. Only here the automatic creation of virtual print queues on the client side was not done, which made me create [cups-browsed](/achievements/#cups-browsed), an auxiliary daemon which creates local print queues for discovered IPP printers, both shared remote CUPS queues and network printers. +This mechanism got replaced by the **DNS-SD** protocol, which is once a general standard in networking, and also matches the standard of driverless [IPP](https://en.wikipedia.org/wiki/Internet_Printing_Protocol) printing. Only here the automatic creation of virtual print queues on the client side was not done, which made me create [cups-browsed](/achievements#cups-browsed), an auxiliary daemon which creates local print queues for discovered IPP printers, both shared remote CUPS queues and network printers. -When **Apple removed the filters and backends from CUPS** (they had hired Michael full-time for macOS printing from 2007 to 2019) **as they have their own proprietary ones** (2011) I had overtaken their maintainership calling it the [cups-filters](/achievements/#cups-filters) project and the first thing I did was switching them over to the [PDF-centric printing workflow](/achievements/#pdf-instead-of-postscript-as-standard-print-job-format) which we already had agreed on on the OpenPrinting Summit back in 2006, making all distros finally getting switched to PDF. +When **Apple removed the filters and backends from CUPS** (they had hired Michael full-time for macOS printing from 2007 to 2019) **as they have their own proprietary ones** (2011) I had overtaken their maintainership calling it the [cups-filters](/achievements#cups-filters) project and the first thing I did was switching them over to the [PDF-centric printing workflow](/achievements#pdf-instead-of-postscript-as-standard-print-job-format) which we already had agreed on on the OpenPrinting Summit back in 2006, making all distros finally getting switched to PDF. -I also created the idea of the [Common Print Dialog Backends](/achievements/#common-print-dialog-backends) to separate the communication with the actual print technology (like CUPS) from the print dialog GUI. This is once to overcome the inertia of big GUI toolkit and app projects of keeping pace with changes in the print system (CUPS), as motivation of printing support maintenance work in these GUI/desktop project is very low. So the maintainer of the print dialog maintains the backend to keep up with the changes in CUPS. Also backends for cloud printing services could easily get added (and so the support for them be added to all print dialogs by installing a single Snap). +I also created the idea of the [Common Print Dialog Backends](/achievements#common-print-dialog-backends) to separate the communication with the actual print technology (like CUPS) from the print dialog GUI. This is once to overcome the inertia of big GUI toolkit and app projects of keeping pace with changes in the print system (CUPS), as motivation of printing support maintenance work in these GUI/desktop project is very low. So the maintainer of the print dialog maintains the backend to keep up with the changes in CUPS. Also backends for cloud printing services could easily get added (and so the support for them be added to all print dialogs by installing a single Snap). Next step was integration of **driverless printing**. Some years ago new printers started all to be driverless IPP printers, with the main motivation that one can print on them from a smartphone (AirPrint for iPhone, Mopria for Android). The principle of driverless printing always follows the principles of the common [IPP Everywhere](https://www.pwg.org/ipp/everywhere.html) standard from the Printer Working Group ([PWG](https://www.pwg.org/), I work closely together with them) here. CUPS supports it and I did the integration with cups-filters, also on some extra points, like AirPrint as a server (so that iPhone prints on shared Linux printers). -And to make driverless printing complete, meaning that it does not only work with network-connected printers but also via USB (there can be settings without LAN or people prefer USB for privacy) I have taken care of the [IPP-over-USB](https://github.com/OpenPrinting/ipp-usb/blob/master/README.md) standard being [implemented on Linux](/achievements/#driverless-printers-on-usb---ipp-over-usb), first by a GSoC contributor doing [an implementation in C](https://github.com/OpenPrinting/ippusbxd), but this one was not very reliable, and later on, when I tested Alexander Pevzner's [sane-airscan](https://github.com/alexpevzner/sane-airscan) also on IPP-over-USB and ran into problems, he quickly created [ipp-usb](https://github.com/OpenPrinting/ipp-usb) in Go, and he used Go as Go's HTTP library is much more sophisticated and the one of C is not sufficient for this task. +And to make driverless printing complete, meaning that it does not only work with network-connected printers but also via USB (there can be settings without LAN or people prefer USB for privacy) I have taken care of the [IPP-over-USB](https://github.com/OpenPrinting/ipp-usb/blob/master/README.md) standard being [implemented on Linux](/achievements#driverless-printers-on-usb---ipp-over-usb), first by a GSoC contributor doing [an implementation in C](https://github.com/OpenPrinting/ippusbxd), but this one was not very reliable, and later on, when I tested Alexander Pevzner's [sane-airscan](https://github.com/alexpevzner/sane-airscan) also on IPP-over-USB and ran into problems, he quickly created [ipp-usb](https://github.com/OpenPrinting/ipp-usb) in Go, and he used Go as Go's HTTP library is much more sophisticated and the one of C is not sufficient for this task. -See also: [Our principal achievements](/achievements/) +See also: [Our principal achievements](/achievements) ## ... and a lot of things to do @@ -63,13 +63,13 @@ And the CUPS library will have a lot of convenient new APIs, for OAuth2, X.509, And currently I am working on preparing the **smooth transition from CUPS [2.x](/cups/) to [3.x](/cups/cups3.html)** in the operating systems. -First, I had to [turn all the printer drivers currently available in Linux distributions into **Printer Applications**](/achievements/#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps) to conserve the non-driverless legacy printers (with the side effect that the [Printer Applications also work under WSL under Windows](/wsl-printer-app/), saving these printers there, too). +First, I had to [turn all the printer drivers currently available in Linux distributions into **Printer Applications**](/achievements#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps) to conserve the non-driverless legacy printers (with the side effect that the [Printer Applications also work under WSL under Windows](/wsl-printer-app), saving these printers there, too). The other very important point is also the **desktop integration**, so that **print dialogs** and **printer setup tools** correctly list all print destinations and offer the correct functionality for configuring the destinations and printing on them. In addition to classic CUPS print queues we have to display IPP print destinations as one can print on them without creating an explicit CUPS queue. We have to group them if they come from the same hardware unit or the same Printer Application, let users access their web admin interfaces by clicking a single button. The "Add printer" part has to find only non-driverless legacy printers and now find installed Printer Applications and prefer their use instead of PPD files. **Printer setup tools** commonly in use are the GNOME Control Center, KDE Print Manager, and [system-config-printer](https://github.com/OpenPrinting/system-config-printer). -For **print dialogs** we have implemented the IPP print destination support and PPD-less operation in the [CPDB](/achievements/#common-print-dialog-backends) (Common Print Dialog Backends) backend for CUPS, so we have to switch all print dialogs to CPDB support. This affects all dialogs currently in use, which are the GTK (GNOME), Qt (KDE), Mozilla (Firefox, Thunderbird), Chromium Browser, and LibreOffice print dialogs. +For **print dialogs** we have implemented the IPP print destination support and PPD-less operation in the [CPDB](/achievements#common-print-dialog-backends) (Common Print Dialog Backends) backend for CUPS, so we have to switch all print dialogs to CPDB support. This affects all dialogs currently in use, which are the GTK (GNOME), Qt (KDE), Mozilla (Firefox, Thunderbird), Chromium Browser, and LibreOffice print dialogs. Here one sees that **we need changes on code which is not provided by OpenPrinting**. But we cannot just report issues or feature requests to the mentioned GUI toolkit, desktop environment, and desktop application projects. Their developers, in good part also ones doing their part in their spare time, are doing a lot of valuable work to bring their projects forward, but, unfortunately, as printing is not such an attractive subject matter for developers, motivation to implement the requested features is low and so the projects do not keep pace with the development of CUPS. @@ -97,7 +97,7 @@ This is especially a problem for printer drivers, and therefore probably many ma So we need distribution-independent packages, which do not rely on anything specific to each operating system distribution. Usually, these dependencies are shared libraries, but it can also be the locations and file names of certain resource, like device files or translations. So the packages bring all these files and components from the operating system under which the app was built. -Main formats are [Flatpak](https://flatpak.org/), [Snap](https://snapcraft.io/), and [OCI containers](https://opencontainers.org/) here. As OpenPrinting's software, CUPS, ipp-usb, and the Printer Applications (new format of printer drivers), are all system daemons, Flatpak is not suitable, it only supports packaging desktop applications. There are efforts to also package daemons, started by [Christian Hergert](https://blogs.gnome.org/chergert/2024/05/07/system-extensions-from-flatpak/), discussed in a [BoF on the GUADEC 2024 in Denver, Colorado](/OpenPrinting-News-July-2024/#guadec-2024-in-denver), and Adrian Vovk wants to continue on it ... +Main formats are [Flatpak](https://flatpak.org/), [Snap](https://snapcraft.io/), and [OCI containers](https://opencontainers.org/) here. As OpenPrinting's software, CUPS, ipp-usb, and the Printer Applications (new format of printer drivers), are all system daemons, Flatpak is not suitable, it only supports packaging desktop applications. There are efforts to also package daemons, started by [Christian Hergert](https://blogs.gnome.org/chergert/2024/05/07/system-extensions-from-flatpak/), discussed in a [BoF on the GUADEC 2024 in Denver, Colorado](/OpenPrinting-News-July-2024#guadec-2024-in-denver), and Adrian Vovk wants to continue on it ... Therefore and also as I was working at Canonical I used Canonical's Snap format for getting distro-independent packages right from OpenPrinting, also because they wanted create an all-Snap desktop distribution, Ubuntu Core Desktop, based on the immutable IoT distro Ubuntu Core, which was for what they originally designed Snap for. And there were also plans to switch the printing system of the standard Ubuntu distributions to Snap. But even with Ubuntu Core Desktop not materializing it is good to have everything, especially the drivers for ~10000 legacy printer models available as distro-independent package in the [Snap Store](https://snapcraft.io/publisher/openprinting/). @@ -113,15 +113,15 @@ For automated testing one thinks about the CI tests first which are executed whe Therefore we are also doing **[Fuzz testing](https://en.wikipedia.org/wiki/Fuzzing) using Google's OSS-Fuzz service**. Here the code is exercised with randomized input and each input which leads to unexpected behavior (usually crashes, errors, memory leaks, getting stuck, ...) is taken note of and automatically reported as a bug, with the actual input data of the run and everything need to reproduce the problem. This testing technique requires that huge amounts of tests with new random input are done, and this happens on Google's OSS-Fuzz high-performance cluster. -The work is done by our OSS-Fuzz team, started by George-Andrei Iosif, former member of Canonical's security engineering team, and in the GSoC 2024 he mentored Jiongchi Yu ("TTfish") for [OSS-Fuzz deployment on CUPS and cups-filters](https://github.com/OpenPrinting/fuzzing/wiki/Integrating-C%E2%80%90based-OpenPrinting-Projects-in-OSS%E2%80%90Fuzz-Testing-(GSoC-2024)), and now, in the GSoC 2025 Jiongchi is mentoring 2 further contributors, on [LLM use for creating fuzzers](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/#utilizing-oss-fuzz-gen-to-improve-fuzz-testing-for-openprinting-projects-by-zixuan-liu) and [fuzzing our Go- and Python-based components](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/#integrating-oss-fuzz-for-go-based-and-python-based-openprinting-projects-by-mohammed-imaduddin). +The work is done by our OSS-Fuzz team, started by George-Andrei Iosif, former member of Canonical's security engineering team, and in the GSoC 2024 he mentored Jiongchi Yu ("TTfish") for [OSS-Fuzz deployment on CUPS and cups-filters](https://github.com/OpenPrinting/fuzzing/wiki/Integrating-C%E2%80%90based-OpenPrinting-Projects-in-OSS%E2%80%90Fuzz-Testing-(GSoC-2024)), and now, in the GSoC 2025 Jiongchi is mentoring 2 further contributors, on [LLM use for creating fuzzers](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started#utilizing-oss-fuzz-gen-to-improve-fuzz-testing-for-openprinting-projects-by-zixuan-liu) and [fuzzing our Go- and Python-based components](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started#integrating-oss-fuzz-for-go-based-and-python-based-openprinting-projects-by-mohammed-imaduddin). We have also produced an [excellent workshop about fuzzing free software apps on the Ubuntu Summit 2024](https://www.youtube.com/watch?v=S0IyScIRzb8). -Now you could think, why do we apply such a high computational effort to hunt after crashes when there is the memory-safe Rust programming language? Should we not just oxidize (convert into Rust) the whole OpenPrinting code base? Theoretically, this would be a solution, but it requires a lot of people to do the work in a timely manner (how should we get them, and this for the even more boring conversion of code into another programming language?) and in this work easily many new bugs, not crashes or memory violations, but annoying bugs are introduced ... At least we now support people who write apps in Rust, by creating appropriate bindings in 2 GSoC projects ([libcups](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/#rust-bindings-for-libcups23-by-mintu-gogoi), [CPDB libraries](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/#rust-bindings-for-cpdb-libs-by-titiksha-bansal)). +Now you could think, why do we apply such a high computational effort to hunt after crashes when there is the memory-safe Rust programming language? Should we not just oxidize (convert into Rust) the whole OpenPrinting code base? Theoretically, this would be a solution, but it requires a lot of people to do the work in a timely manner (how should we get them, and this for the even more boring conversion of code into another programming language?) and in this work easily many new bugs, not crashes or memory violations, but annoying bugs are introduced ... At least we now support people who write apps in Rust, by creating appropriate bindings in 2 GSoC projects ([libcups](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started#rust-bindings-for-libcups23-by-mintu-gogoi), [CPDB libraries](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started#rust-bindings-for-cpdb-libs-by-titiksha-bansal)). Another approach for testing is done by Alexander Pevzner, volunteer contributor of the IPP-over-USB support implementation [ipp-usb](https://github.com/OpenPrinting/ipp-usb) and the SANE scanning backend for driverless scanning, [sane-airscan](https://github.com/alexpevzner/sane-airscan). He is creating a **behavior-accurate simulator for a driverless IPP printing and scanning multi-function device**. This will not only use a database of get-printer-attributes IPP responses of the devices but also reproduce device-specific behavior, like bugs for example and so we can test OpenPrinting's software against known hardware device behavior without having the hardware at hand. -And for not only discovering crashes and errors but also test for correct output, we are doing, inspired by GNOME's [openQA](https://gitlab.gnome.org/GNOME/openqa-tests) about which I have learned on another [BoF on the GUADEC 2024 in Denver, Colorado](/OpenPrinting-News-July-2024/#guadec-2024-in-denver) **visual analysis of print output**, so that problems in the printouts, like decentered pages, cut borders, ... get discovered. To implement this we are mentoring [a GSoC project](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/#openprinting-image-output-verification-framework-by-sanskar-yaduka). +And for not only discovering crashes and errors but also test for correct output, we are doing, inspired by GNOME's [openQA](https://gitlab.gnome.org/GNOME/openqa-tests) about which I have learned on another [BoF on the GUADEC 2024 in Denver, Colorado](/OpenPrinting-News-July-2024#guadec-2024-in-denver) **visual analysis of print output**, so that problems in the printouts, like decentered pages, cut borders, ... get discovered. To implement this we are mentoring [a GSoC project](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started#openprinting-image-output-verification-framework-by-sanskar-yaduka). This can enhance all types of automated tests, to advance to testing actual functionality, CI tests, fuzzing, and also the multi-function printer simulation. @@ -131,18 +131,18 @@ Printing does not only happen on PCs and servers with the usual Intel or AMD pro First, there is the RISC-V architecture, this is a completely open hardware architecture, meaning that everybody can make RISC-V processors without acquiring a license from the creators of RISC-V. This makes it interesting as a new architecture for a lot of use cases, including desktop PCs/laptops, the category of computers for which printing support is essential. -On the [Ubuntu Summit 2024](/OpenPrinting-News-October-2024/#ubuntu-summit-2024-in-the-hague) and the [FOSDEM 2025](https://fosdem.org/2025/) I have met Yuning Liang, founder and CEO of [DeepComputing](https://deepcomputing.io/), manufacturer of RISC-V-based motherboards for Framework laptops and on the [FOSDEM I got a sample of the motherboard](https://deepcomputing.io/deepcomputing-received-overwhelming-interest-at-fosdem-2025/) for OpenPrinting. I tested it with the Ubuntu desktop and after sorting out some problems with Yuning and the developers at DeepComputing and also with Heinrich Schuchardt, Ubuntu RISC-V expert at Canonical, everything was up and running, including the full printing stack both from DEB packages and from Snaps. For the latter I have activated RISC-V support for the builds of the OpenPrinting Snaps in the Snap Store. +On the [Ubuntu Summit 2024](/OpenPrinting-News-October-2024#ubuntu-summit-2024-in-the-hague) and the [FOSDEM 2025](https://fosdem.org/2025/) I have met Yuning Liang, founder and CEO of [DeepComputing](https://deepcomputing.io/), manufacturer of RISC-V-based motherboards for Framework laptops and on the [FOSDEM I got a sample of the motherboard](https://deepcomputing.io/deepcomputing-received-overwhelming-interest-at-fosdem-2025/) for OpenPrinting. I tested it with the Ubuntu desktop and after sorting out some problems with Yuning and the developers at DeepComputing and also with Heinrich Schuchardt, Ubuntu RISC-V expert at Canonical, everything was up and running, including the full printing stack both from DEB packages and from Snaps. For the latter I have activated RISC-V support for the builds of the OpenPrinting Snaps in the Snap Store. -I have written a [blog article on OpenPrinting](/OpenPrinting-News-We-got-a-Framework-RISC-V-board-from-DeepComputing/) about this and Yuning has [linked it also from DeepComputing's blog](https://deepcomputing.io/openprinting-news-we-got-a-framework-risc-v-board-from-deepcomputing/). +I have written a [blog article on OpenPrinting](/OpenPrinting-News-We-got-a-Framework-RISC-V-board-from-DeepComputing) about this and Yuning has [linked it also from DeepComputing's blog](https://deepcomputing.io/openprinting-news-we-got-a-framework-risc-v-board-from-deepcomputing/). -**[Zephyr RTOS](https://www.zephyrproject.org/)** is an operating system for microcontrollers, tiny single-chip computers for embedded/IoT applications. To allow such devices to print, to use them as a cheap solution to make a non-driverless legacy printer driverless, or even to use them as controller in a printer, we are porting CUPS and [PAPPL](https://github.com/michaelrsweet/pappl) (Printer APPLications framework, developed by Michael Sweet) to the Zephyr platform via a [GSoC project](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/#porting-printing-to-zephyr-by-hubert-guan). +**[Zephyr RTOS](https://www.zephyrproject.org/)** is an operating system for microcontrollers, tiny single-chip computers for embedded/IoT applications. To allow such devices to print, to use them as a cheap solution to make a non-driverless legacy printer driverless, or even to use them as controller in a printer, we are porting CUPS and [PAPPL](https://github.com/michaelrsweet/pappl) (Printer APPLications framework, developed by Michael Sweet) to the Zephyr platform via a [GSoC project](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started#porting-printing-to-zephyr-by-hubert-guan). ## Our team and our community This all I cannot do alone, also our little core team, of Michael Sweet, me, Zdenek Dohnal, Alexander Pevzner, Thorsten Alteholz, Aveek Basu, and Ira McDonald cannot do it. Also, from these it is only me actually working full-time on OpenPrinting. We need a developer/contributor community. And printing is not a very attractive subject matter to have tons of volunteers overrunning to our organization ... -Therefore I make massive use of the **[Google Summer of Code](https://summerofcode.withgoogle.com)**, since 2008 every year, in the beginning we had 1-3 contributors every year, and when Aveek Basu from India (he worked at Lexmark that time) joined OpenPrinting and he asked around at several universities and colleges in India, we got around 5-6 every year, and when we started organizing the annual [Opportunity Open Source conferences](/OpenPrinting-News-August-2024/#opportunity-open-source-in-iit-kanpur) since 2023, 11 contributors for [2024](/OpenPrinting-News-October-2024/#google-summer-of-code-2024) and also for [2025](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/). They do most of the coding work, especially in the GUI part where I do not have very much experience with. +Therefore I make massive use of the **[Google Summer of Code](https://summerofcode.withgoogle.com)**, since 2008 every year, in the beginning we had 1-3 contributors every year, and when Aveek Basu from India (he worked at Lexmark that time) joined OpenPrinting and he asked around at several universities and colleges in India, we got around 5-6 every year, and when we started organizing the annual [Opportunity Open Source conferences](/OpenPrinting-News-August-2024#opportunity-open-source-in-iit-kanpur) since 2023, 11 contributors for [2024](/OpenPrinting-News-October-2024#google-summer-of-code-2024) and also for [2025](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started). They do most of the coding work, especially in the GUI part where I do not have very much experience with. ## The show must go on ... diff --git a/contents/post/OpenPrinting-News-A-New-Approach.md b/contents/post/OpenPrinting-News-A-New-Approach.md index 52920834..4c0c24e9 100644 --- a/contents/post/OpenPrinting-News-A-New-Approach.md +++ b/contents/post/OpenPrinting-News-A-New-Approach.md @@ -8,17 +8,17 @@ excerpt: Moving on from time-based monthly posts to one post per subject matter date: '2024-12-28' --- -I have made it, for [5 years I have posted the OpenPrinting News](/OpenPrinting-News-October-2024/) here every month, everything what happened that month and what we had planned and in front of us, and never skipped a single month. +I have made it, for [5 years I have posted the OpenPrinting News](/OpenPrinting-News-October-2024) here every month, everything what happened that month and what we had planned and in front of us, and never skipped a single month. -In the beginning, it was not much work, Before I started here I also did monthly news posts on the mailing list, I just switched to the web site back in 2019 when our current GitHub-based site went live ([First issue](/OpenPrinting-News-October-2019/)). The posts were still very short, more headlines than articles. Also [running right into the pandemic at 2020](/OpenPrinting-News-March-2020/) there were not that many events to talk about. +In the beginning, it was not much work, Before I started here I also did monthly news posts on the mailing list, I just switched to the web site back in 2019 when our current GitHub-based site went live ([First issue](/OpenPrinting-News-October-2019)). The posts were still very short, more headlines than articles. Also [running right into the pandemic at 2020](/OpenPrinting-News-March-2020) there were not that many events to talk about. -But with the time my write-ups about the different subject matters got longer and more in-depth ([November 2022 as example](/OpenPrinting-News-November-2022/)), I got deeper and deeper into coordinating everything to smoothly support the [New Architecture of PPD-less all-IPP CUPS 3.x](/current/#the-new-architecture-for-printing-and-scanning), I got more GSoC contributors for OpenPrinting and they did nice monthly reports, and from 2022 on, when the pandemic ended, I attended (and organized) many conferences which I also covered here. +But with the time my write-ups about the different subject matters got longer and more in-depth ([November 2022 as example](/OpenPrinting-News-November-2022)), I got deeper and deeper into coordinating everything to smoothly support the [New Architecture of PPD-less all-IPP CUPS 3.x](/current#the-new-architecture-for-printing-and-scanning), I got more GSoC contributors for OpenPrinting and they did nice monthly reports, and from 2022 on, when the pandemic ended, I attended (and organized) many conferences which I also covered here. -This got exhausting, as sometimes there was a lot of work to do and not much time to squeeze in the news post, especially when being principal organizer of the [Opportunity Open Source](/OpenPrinting-News-August-2024/#opportunity-open-source-in-iit-kanpur) and also giving several talks there, attending the GUADEC before and a second conference in India right after, and having to do all the usual daily work ... Then having to scrape all what happened in the month together without forgetting anything, adding a nice intro, that all makes it really hard not to forego a month ... +This got exhausting, as sometimes there was a lot of work to do and not much time to squeeze in the news post, especially when being principal organizer of the [Opportunity Open Source](/OpenPrinting-News-August-2024#opportunity-open-source-in-iit-kanpur) and also giving several talks there, attending the GUADEC before and a second conference in India right after, and having to do all the usual daily work ... Then having to scrape all what happened in the month together without forgetting anything, adding a nice intro, that all makes it really hard not to forego a month ... This already made everything start to slip. In the beginning the news post for a given month was in the middle of that month. With the time the posts happened only at the end of the month, and this year I ended up to do them only in the following month ... -So in the last weeks, after [having reached the finish line of 5 years of monthly news posts](/OpenPrinting-News-October-2024/), I started thinking about how I can do better (sorry for the pause caused by that). Under no circumstances I cannot just stop posting about what we are doing. It is very important for OpenPrinting to get visible, as we are the provider of an essential piece of infrastructure for the free software but not the attractive subject matter where we get swamped with volunteer contributors. The posts also help a lot to onboard new contributors, and last but not least, I by myself can easily check what was done already ... +So in the last weeks, after [having reached the finish line of 5 years of monthly news posts](/OpenPrinting-News-October-2024), I started thinking about how I can do better (sorry for the pause caused by that). Under no circumstances I cannot just stop posting about what we are doing. It is very important for OpenPrinting to get visible, as we are the provider of an essential piece of infrastructure for the free software but not the attractive subject matter where we get swamped with volunteer contributors. The posts also help a lot to onboard new contributors, and last but not least, I by myself can easily check what was done already ... So what I will do now is not collect all the news of a month to put them together to one report, but instead, if I have something interesting or important to tell about, I will do it right away, in its own post. This lets news arrive more quickly, stuff is more freshly in my mind, so I forget less details and less items at all, and old news items are easier to find. diff --git a/contents/post/OpenPrinting-News-April-2020.md b/contents/post/OpenPrinting-News-April-2020.md index ceb178e7..622d2870 100644 --- a/contents/post/OpenPrinting-News-April-2020.md +++ b/contents/post/OpenPrinting-News-April-2020.md @@ -35,7 +35,7 @@ In the web interface the structure of pages is already defined, but most pages a This also means that things planned for the Printer Application SDK GSoC project will already be done when the coding period starts, but here we will simply be flexible with what will exactly be done during the project. We will be able to do additional things which we did not plan in the beginning. I am suggesting the following: -- Take care that all the properties described on [here](/OpenPrinting-News-March-2020/#printer-application-frameworksdk---pappl) last month are fulfilled. I have agreed with Mike on them. But if Mike does not implement all of these it will be the student's task to add what is missing. +- Take care that all the properties described on [here](/OpenPrinting-News-March-2020#printer-application-frameworksdk---pappl) last month are fulfilled. I have agreed with Mike on them. But if Mike does not implement all of these it will be the student's task to add what is missing. - One point Mike will most probably not add is the retro-fitting of old PPD/filter drivers. For these we will need to copy over PPD-supporting code from libcups into cups-filters to conserve it for the legacy driver support with a minimum of code creation. - Re-structuring of cups-filters to make it easier to use the code of the filters in Printer Applications. diff --git a/contents/post/OpenPrinting-News-April-2021.md b/contents/post/OpenPrinting-News-April-2021.md index e7f840e8..655e290a 100644 --- a/contents/post/OpenPrinting-News-April-2021.md +++ b/contents/post/OpenPrinting-News-April-2021.md @@ -18,7 +18,7 @@ The [agenda](https://www.pwg.org/chair/meeting-info/may-2021-virtual.html) is al ## Google Summer of Code 2021 With the Linux Foundation being accepted as mentoring organization we are now receiving the student's proposals until the deadline on April 13 ([Timeline](https://developers.google.com/open-source/gsoc/timeline)). After that we have to select the students/projects we want to work with. -OpenPrinting's project ideas are [posted](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021-openprinting-projects), but further ideas are still welcome. Note that the projects are half-length this year, 175 hours instead of 350 hours (see our [October news](/OpenPrinting-News-October-2020/#google-summer-of-code-2021)). Larger projects we should run in the Linux Foundation Mentoring Program instead of in the GSoC. +OpenPrinting's project ideas are [posted](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021-openprinting-projects), but further ideas are still welcome. Note that the projects are half-length this year, 175 hours instead of 350 hours (see our [October news](/OpenPrinting-News-October-2020#google-summer-of-code-2021)). Larger projects we should run in the Linux Foundation Mentoring Program instead of in the GSoC. ## Google Season of Docs 2021 We have also applied as mentoring organization in this year’s [Google Season of Docs](https://developers.google.com/season-of-docs/). diff --git a/contents/post/OpenPrinting-News-April-2022.md b/contents/post/OpenPrinting-News-April-2022.md index 522f3e1b..bf0d448e 100644 --- a/contents/post/OpenPrinting-News-April-2022.md +++ b/contents/post/OpenPrinting-News-April-2022.md @@ -20,7 +20,7 @@ I will be on this year's [Linux Application Summit](https://conf.linuxappsummit. There I will give a [talk](https://conf.linuxappsummit.org/event/4/contributions/106/) about the New Architecture of printing and scanning and what is important for developers of desktop applications. -I will give a summary of the changes and tell what needs to be changed in the desktop world, the [new printer setup tool](/OpenPrinting-News-February-2022/#gui-printer-setup-tool-and-print-dialog---essential-for-user-experience), [print dialog requirements](/OpenPrinting-News-February-2022/#the-print-dialogs) and [CPDB](https://nilanjanalodh.github.io/common-print-dialog-gsoc17/), sandboxed/distribution-independent packaging, like [Snap](/OpenPrinting-News-March-2022/#how-to-snap-an-application), [Flatpak](/OpenPrinting-News-March-2022/#flatpak-and-printing), ... +I will give a summary of the changes and tell what needs to be changed in the desktop world, the [new printer setup tool](/OpenPrinting-News-February-2022#gui-printer-setup-tool-and-print-dialog---essential-for-user-experience), [print dialog requirements](/OpenPrinting-News-February-2022#the-print-dialogs) and [CPDB](https://nilanjanalodh.github.io/common-print-dialog-gsoc17/), sandboxed/distribution-independent packaging, like [Snap](/OpenPrinting-News-March-2022#how-to-snap-an-application), [Flatpak](/OpenPrinting-News-March-2022#flatpak-and-printing), ... This should help application and GUI/desktop developers to get print and scan functionality of their software just work. @@ -52,7 +52,7 @@ The regression has been fixed already and snapd 2.55.3 with the fix is available ``` sudo snap refresh --candidate snapd ``` -Then everything should work as described [last month](/OpenPrinting-News-March-2022/#cups-snap-and-snapd-printing-interface). +Then everything should work as described [last month](/OpenPrinting-News-March-2022#cups-snap-and-snapd-printing-interface). If not, there is still a bug which could affect you: @@ -83,7 +83,7 @@ Anyway, thanks a lot to Michael Vogt and his team on the hard work on snapd. ## AppImage and printing -I had a quick look (especially also for the talk on Linux App Summit 2022, see above) into [this format](https://appimage.org/) for distribution-independent packaging and found out that it is, as [Flatpak](/OpenPrinting-News-March-2022/#flatpak-and-printing), also not suitable for packaging system services, like CUPS, ipp-usb, or Printer Applications. +I had a quick look (especially also for the talk on Linux App Summit 2022, see above) into [this format](https://appimage.org/) for distribution-independent packaging and found out that it is, as [Flatpak](/OpenPrinting-News-March-2022#flatpak-and-printing), also not suitable for packaging system services, like CUPS, ipp-usb, or Printer Applications. AppImage is not actually sandboxed packaging, as Snap and Flatpak are. It is simply a single downloadable file, which a user puts into their home directory, makes it executable, and starts it, this way the included (squashfs) file system is mounted and the application started. The file system *is supposed* to contain everything to run the application. So one does not need to install anything. diff --git a/contents/post/OpenPrinting-News-April-2023.md b/contents/post/OpenPrinting-News-April-2023.md index df965c7b..81869bc8 100644 --- a/contents/post/OpenPrinting-News-April-2023.md +++ b/contents/post/OpenPrinting-News-April-2023.md @@ -9,7 +9,7 @@ excerpt: >- cups-filters 2.0.0, CPDB support in print dialogs date: '2023-04-14' --- -Not long ago that there were the [March News](/OpenPrinting-News-March-2023/), and now we already have the April ones! April News contain important announcements and therefore they cannot be late, usually the new [Ubuntu release](#ubuntu-2304-lunar-lobster-is-coming), and the latest and greatest about the upcoming [Linux App Summit](#linux-app-summit-2023). But no April fool's pranks, like [this one](https://news.itsfoss.com/ubuntu-ditch-snap/), for that we are too late. But don't worry, we will go on [snappy](https://snapcraft.io/search?q=OpenPrinting) ... +Not long ago that there were the [March News](/OpenPrinting-News-March-2023), and now we already have the April ones! April News contain important announcements and therefore they cannot be late, usually the new [Ubuntu release](#ubuntu-2304-lunar-lobster-is-coming), and the latest and greatest about the upcoming [Linux App Summit](#linux-app-summit-2023). But no April fool's pranks, like [this one](https://news.itsfoss.com/ubuntu-ditch-snap/), for that we are too late. But don't worry, we will go on [snappy](https://snapcraft.io/search?q=OpenPrinting) ... ## Ubuntu 23.04 (Lunar Lobster) is coming! @@ -34,7 +34,7 @@ The user-facing printing-related changes are lots of bug fixes: - Universal CUPS filter for less external filter executable calls by CUPS In addition, there are included: -- **CUPS 2.4.2** (with [auto-setting PPD options by print-quality, print-color-mode, and print-content-optiomize job IPP attributes](/OpenPrinting-News-August-2021/#retro-fitting-of-cups-printer-drivers-into-printer-applications)) +- **CUPS 2.4.2** (with [auto-setting PPD options by print-quality, print-color-mode, and print-content-optiomize job IPP attributes](/OpenPrinting-News-August-2021#retro-fitting-of-cups-printer-drivers-into-printer-applications)) - **Ghostscript 10.0.0** (with fix for [not matching custom page size against PPD](https://github.com/OpenPrinting/cups-filters/issues/484)) - **HPLIP 3.22.10** @@ -90,7 +90,7 @@ Given by Heather Ellsworth and Igor Ljubuncic. **Booth** -There will be a Ubuntu/Canonical booth, no marketing people, but a gathering point to meet who makes Ubuntu, to start great hallway chats (like described [here](/OpenPrinting-News-June-2022/#guadec-2022)). +There will be a Ubuntu/Canonical booth, no marketing people, but a gathering point to meet who makes Ubuntu, to start great hallway chats (like described [here](/OpenPrinting-News-June-2022#guadec-2022)). **Office Hours** @@ -150,7 +150,7 @@ The other sub-organizations of the Linux Foundation will do the same thing and p ## Release Candidate for cups-filters 2.0.0 -I have [released](/cups-filters-Second-Generation-Release-Candidate/) the release candidates (2.0rc1) of the 4 components [libcupsfilters](https://github.com/OpenPrinting/libcupsfilters/releases/tag/2.0rc1), [libppd](https://github.com/OpenPrinting/libppd/releases/tag/2.0rc1), [cups-filters](https://github.com/OpenPrinting/cups-filters/releases/tag/2.0rc1), and [cups-browsed](https://github.com/OpenPrinting/cups-browsed/releases/tag/2.0rc1) and updated the [Ubuntu 23.04 (Lunar Lobster)](#ubuntu-2304-lunar-lobster-is-coming) packages in time for the Final Freeze last Thursday. +I have [released](/cups-filters-Second-Generation-Release-Candidate) the release candidates (2.0rc1) of the 4 components [libcupsfilters](https://github.com/OpenPrinting/libcupsfilters/releases/tag/2.0rc1), [libppd](https://github.com/OpenPrinting/libppd/releases/tag/2.0rc1), [cups-filters](https://github.com/OpenPrinting/cups-filters/releases/tag/2.0rc1), and [cups-browsed](https://github.com/OpenPrinting/cups-browsed/releases/tag/2.0rc1) and updated the [Ubuntu 23.04 (Lunar Lobster)](#ubuntu-2304-lunar-lobster-is-coming) packages in time for the Final Freeze last Thursday. **Filter functions** @@ -168,7 +168,7 @@ And the Release Candidate has [one last, slight API change](https://github.com/O Change is renaming the function `cfippfindBasedURIConverter()` to `cfResolveURI2()` to not have the function named by the method it uses. Now the names are suitable for using the new API function `httpResolveURI()` of libcups3, `cfResolveURI()` always returning the IPP URI for printing and `cfResolveURI2()` taking an additional boolean argument to tell whether one wants the print or fax out URI. -The [implementation of the libcups3 support](https://github.com/OpenPrinting/libcupsfilters/pull/24) (see also [last month](/OpenPrinting-News-March-2023/#libcupsfilters-and-libcups-3x)) for libcupsfilters is now nearly completed. Thanks to GSoC candidate Gayatri Kapse for his excellent work. +The [implementation of the libcups3 support](https://github.com/OpenPrinting/libcupsfilters/pull/24) (see also [last month](/OpenPrinting-News-March-2023#libcupsfilters-and-libcups-3x)) for libcupsfilters is now nearly completed. Thanks to GSoC candidate Gayatri Kapse for his excellent work. **Bug report from Ubuntu 23.04 user** @@ -178,7 +178,7 @@ In the same report he also complained that the auto-generated print queue for hi **Autopkgtests** -As told here in [February](/OpenPrinting-News-February-2023/#the-new-architecture-is-going-into-ubuntu-and-red-hat) and [March](/OpenPrinting-News-March-2023/#cups-filters-20b4-in-ubuntu-2304) Debian and Ubuntu packages have so-called autopkgtests which are run on the build servers after each upload and build of a new package release, with the package installed on a virtual machine running the destination distribution. This revealed especially two bugs which we fixed in the Release Candidates. +As told here in [February](/OpenPrinting-News-February-2023#the-new-architecture-is-going-into-ubuntu-and-red-hat) and [March](/OpenPrinting-News-March-2023#cups-filters-20b4-in-ubuntu-2304) Debian and Ubuntu packages have so-called autopkgtests which are run on the build servers after each upload and build of a new package release, with the package installed on a virtual machine running the destination distribution. This revealed especially two bugs which we fixed in the Release Candidates. After uploading cups-filters 2.0b3 to Ubuntu, the autopkg test of the foo2zjs printer driver package started failing, but only on the ppc64el architecture. Repeating the test also failed, so the problem seemed not to be intermittent. There it always came to a SIGPIPE error when the `foomatic-rip` CUPS filter called Ghostscript. As I do not have easy access to a system based on ppc64el, I talked with Steve Langasek (@vorlon) from the Ubuntu release team on IRC (#ubuntu-release, Libera.Chat) and he had some test setup where he could investigate the problem. He found a fix for this in foomatic-rip and provided a [pull request](https://github.com/OpenPrinting/cups-filters/pull/517). Thanks a lot, Steve. @@ -186,7 +186,7 @@ Another failure caused by the new generation of cups-filters was the failure of ## Common Print Dialog Backends getting into the dialogs -Gaurav Guleria is currently working on getting the [merge request for CPDB support in the Qt print dialog](https://codereview.qt-project.org/c/qt/qtbase/+/437301) merged. With that and the [GTK dialog](/OpenPrinting-News-February-2023/#common-print-dialog-backends-support-accepted-into-gtk) we are not yet ready, as [several applications have their own dialogs which also need CPDB support](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2023-openprinting-projects#cpdb_support_for_application_s_print_dialogsfirefox_chromium_libreoffice). +Gaurav Guleria is currently working on getting the [merge request for CPDB support in the Qt print dialog](https://codereview.qt-project.org/c/qt/qtbase/+/437301) merged. With that and the [GTK dialog](/OpenPrinting-News-February-2023#common-print-dialog-backends-support-accepted-into-gtk) we are not yet ready, as [several applications have their own dialogs which also need CPDB support](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2023-openprinting-projects#cpdb_support_for_application_s_print_dialogsfirefox_chromium_libreoffice). GSoC candidate Kushagra Sharma, mentored by Gaurav, is already working on this. diff --git a/contents/post/OpenPrinting-News-April-2024.md b/contents/post/OpenPrinting-News-April-2024.md index cfa98c73..26353920 100644 --- a/contents/post/OpenPrinting-News-April-2024.md +++ b/contents/post/OpenPrinting-News-April-2024.md @@ -10,7 +10,7 @@ excerpt: >- Manager, CUPS 2.4.8, pycups 2.0.4 date: '2024-04-30' --- -We had three releases of free software operating systems in the last weeks. Both Ubuntu and Fedora came with their 40th release! [Ubuntu 24.04 LTS](https://www.omgubuntu.co.uk/2024/04/ubuntu-24-04-lts-20-changes-to-look-out-for) (Long Term Support) and Fedora 40. Unfortunately we did not have a [Linux App Summit for a joint release party](/OpenPrinting-News-April-2023/#release-party) in that week. This year the [Linux App Summit](#linux-app-summit-2024) will only take place in October (so one could celebrate 20 years of Ubuntu there). +We had three releases of free software operating systems in the last weeks. Both Ubuntu and Fedora came with their 40th release! [Ubuntu 24.04 LTS](https://www.omgubuntu.co.uk/2024/04/ubuntu-24-04-lts-20-changes-to-look-out-for) (Long Term Support) and Fedora 40. Unfortunately we did not have a [Linux App Summit for a joint release party](/OpenPrinting-News-April-2023#release-party) in that week. This year the [Linux App Summit](#linux-app-summit-2024) will only take place in October (so one could celebrate 20 years of Ubuntu there). Printing-wise there is not anything special to tell about in these two releases. In Ubuntu I have taken care that from all components the newest release is included and I have applied some bug fixes, and in Fedora probably the same thing got done. @@ -142,7 +142,7 @@ This means that system-config-printer is also the gold standard for assigning th For switching distributions into the New Architecture, meaning from CUPS 2.x to CUPS 3.x, the printer setup tool needs to get appropriately adapted, to list IPP print destinations with appropriate configuration options, especially access to their web admin interfaces, and assign Printer Applications to non-driverless printers. -And one needs to be very careful with switching over Ubuntu. The original distro from Canonical is GNOME-based, but there are the flavors, community-maintained distros derived from Ubuntu but with all kinds of different desktops. And the base of all of them is the same, and the printing stack, especially also CUPS is part of the base. So simply taking care of GNOME and then switching over is [failing miserably](/OpenPrinting-News-August-2023/#the-cups-snap-not-in-ubuntu-2310) ... +And one needs to be very careful with switching over Ubuntu. The original distro from Canonical is GNOME-based, but there are the flavors, community-maintained distros derived from Ubuntu but with all kinds of different desktops. And the base of all of them is the same, and the printing stack, especially also CUPS is part of the base. So simply taking care of GNOME and then switching over is [failing miserably](/OpenPrinting-News-August-2023#the-cups-snap-not-in-ubuntu-2310) ... One could also think about dropping the concept of printer setup tools altogether as modern, driverless printers are simply there, but it is not very intuitive for a user to have to find a Printer Application and install it to make a non-driverless printer working and that for driverless printers and Printer Applications there are web admin interfaces and how to access them. @@ -180,7 +180,7 @@ Half a year's worth of bug fixes, especially such important things like a race c Get it [here](https://github.com/OpenPrinting/cups/releases/tag/v2.4.8) and see [all the changes in detail](https://github.com/OpenPrinting/cups/blob/v2.4.8/CHANGES.md#changes-in-cups-v248-2024-04-26). -And the [CUPS Snap](https://snapcraft.io/cups/) is also already the current version, 2.4.8, thanks to [Snap release automation](/OpenPrinting-News-March-2024/#snap-automation-working-well)! +And the [CUPS Snap](https://snapcraft.io/cups/) is also already the current version, 2.4.8, thanks to [Snap release automation](/OpenPrinting-News-March-2024#snap-automation-working-well)! ## pycups 2.0.4 The Python bindings for CUPS also received an update. This time it is all about compatibility with newer Python versions, 3.10 and newer. diff --git a/contents/post/OpenPrinting-News-August-2020.md b/contents/post/OpenPrinting-News-August-2020.md index 05cf55cb..0a04a4e9 100644 --- a/contents/post/OpenPrinting-News-August-2020.md +++ b/contents/post/OpenPrinting-News-August-2020.md @@ -10,25 +10,25 @@ date: '2020-08-13' ## 20 Years of working on printing with free software! This month I have my 20th work anniversary of working with printing under Linux and free software. In August 2000 I have started at MandrakeSoft in Paris (later Mandriva) to switch the first Linux distribution from LPD/LPRng to CUPS. -See [how all began](/How-did-this-all-begin/). +See [how all began](/How-did-this-all-begin). ## OpenPrinting Microconference on Linux Plumbers Conference 2020 **Update:** [Recording on YouTube](https://youtu.be/MPGh9FUW4as) -As already back in [2019](/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2019/) we are holding a Microconference on the [Linux Plumbers 2020](https://www.linuxplumbersconf.org/), this year in ... +As already back in [2019](/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2019) we are holding a Microconference on the [Linux Plumbers 2020](https://www.linuxplumbersconf.org/), this year in ... ... the wider Internet!! Yes, due to COVID-19 it is all virtual this time, no travelling, no 12 hours with a mask in an airplane full of people. But also no nice sights and delicious restaurants, not tourist-guiding my co-workers with the help of my knowledge of the Portuguese language through a nice city. But it has also one big advantage: It is much easier to get the desired speakers, as one does not need to get their travel funded. So we will have Michael Sweet, Ira McDonald, Aveek Basu, Alexander Pevzner, and Rithvik Patibandla on our virtual stage, and me naturally, too. -We will talk about the following [subjects](/upcoming-technologies/): +We will talk about the following [subjects](/upcoming-technologies): -- [Printer Applications - A new way to print in Linux](/upcoming-technologies/01-printer-application/) -- [IPP scan (or virtual MF device) server (Scanner Application)](/upcoming-technologies/02-ipp-scan/) -- [3D Printing](/upcoming-technologies/03-3d-printing/) -- [IPP Fax Out - A new reality](/upcoming-technologies/04-ipp-fax/) -- [Designing and Packaging Printer and Scanner Drivers](/upcoming-technologies/05-designing-packaging-drivers/) +- [Printer Applications - A new way to print in Linux](/upcoming-technologies/01-printer-application) +- [IPP scan (or virtual MF device) server (Scanner Application)](/upcoming-technologies/02-ipp-scan) +- [3D Printing](/upcoming-technologies/03-3d-printing) +- [IPP Fax Out - A new reality](/upcoming-technologies/04-ipp-fax) +- [Designing and Packaging Printer and Scanner Drivers](/upcoming-technologies/05-designing-packaging-drivers) The conference takes place from **Monday, August 24 to Friday, August 28, every day from 2pm - 6pm UTC**. Our day will be the **Friday, August 28**, with our microconference to span all the 4 hours. Everyone is invited to visit us. @@ -210,8 +210,8 @@ cups-filters 2.0.0 should contain the following features: - Filter function to chain filters - Wrappers for the filters to allow their use from CUPS - IPP handling functions, mainly to be used for filter functions -- [libppd](/OpenPrinting-News-July-2020/#cups-filters) for retro-fitting classic drivers and [manufacturer-supplied PPDs for PostScript printers](https://lists.linuxfoundation.org/pipermail/printing-architecture/2020/003846.html) into Printer Applications -- [pclmtoraster](/OpenPrinting-News-July-2020/#cups-filters) filter function to convert PDF files from scanners into PWG/CUPS/Apple Raster without loss of image quality +- [libppd](/OpenPrinting-News-July-2020#cups-filters) for retro-fitting classic drivers and [manufacturer-supplied PPDs for PostScript printers](https://lists.linuxfoundation.org/pipermail/printing-architecture/2020/003846.html) into Printer Applications +- [pclmtoraster](/OpenPrinting-News-July-2020#cups-filters) filter function to convert PDF files from scanners into PWG/CUPS/Apple Raster without loss of image quality - cups-browsed with multi-threading to better scale with larger amounts of printers in the network - Options for the `./configure` script for partial builds: No cups-browsed, no libppd/PPD support, no libqpdf, raster-only printing/scanning, ... to allow Snaps build only the part of cups-filters which they actually need diff --git a/contents/post/OpenPrinting-News-August-2022.md b/contents/post/OpenPrinting-News-August-2022.md index 865eaab7..66986530 100644 --- a/contents/post/OpenPrinting-News-August-2022.md +++ b/contents/post/OpenPrinting-News-August-2022.md @@ -19,13 +19,13 @@ Now, two and a half years later, we must correct: > This is Till, he makes printing just work, on everything except Mac. -Once, Michael Sweet has left Apple end of 2019, and second, one can [run Printer Applications under Windows](/current/#reviving-legacy-printers-under-windows)! +Once, Michael Sweet has left Apple end of 2019, and second, one can [run Printer Applications under Windows](/current#reviving-legacy-printers-under-windows)! Microsoft and Canonical are collaborating and the Desktop Team has a nice WSL (Windows Subsystem for Linux) sub-team now. With this I came up with the idea to run Printer Applications under WSL and this way make legacy printers which are abandoned by Microsoft and also their manufacturers work under Windows again. My colleague Carlos Nihelton, of the WSL sub-team, has worked out a first approach with my guidance. He made his HP OfficeJet J4660 working under Windows again as his work requires him to use this OS quite often. -About this he has written a HOWTO and contributed it to OpenPrinting. The [HOWTO](/wsl-printer-app/) explains step-by-step how to compile and install a Printer Application under Windows to make ones good old printer working again. +About this he has written a HOWTO and contributed it to OpenPrinting. The [HOWTO](/wsl-printer-app) explains step-by-step how to compile and install a Printer Application under Windows to make ones good old printer working again. Thanks a lot, Carlos. @@ -33,15 +33,15 @@ The process is still somewhat awkward, but with further development of WSL (supp ## New web pages about our work are completed -[Last month](/OpenPrinting-News-July-2022/#new-web-pages-about-our-work) I told about that we want to have a blog post about OpenPrinting at Canonical to make OpenPrinting and Canonical's support for it more visible and that therefore I have decided to write some articles about what OpenPrinting has done and is doing. +[Last month](/OpenPrinting-News-July-2022#new-web-pages-about-our-work) I told about that we want to have a blog post about OpenPrinting at Canonical to make OpenPrinting and Canonical's support for it more visible and that therefore I have decided to write some articles about what OpenPrinting has done and is doing. -These articles I have completed now (All linked from the "[About Us](/about-us/)" page): +These articles I have completed now (All linked from the "[About Us](/about-us)" page): -- [How did this all begin?](/history/) -- [Our principal achievements](/achievements/) -- [What we are currently doing](/current/) +- [How did this all begin?](/history) +- [Our principal achievements](/achievements) +- [What we are currently doing](/current) -The first is derived from my [blog article about how I got started with OpenPrinting](/How-did-this-all-begin/), the second one is about what we have achieved in all the time, and the third is about what we are currently doing. +The first is derived from my [blog article about how I got started with OpenPrinting](/How-did-this-all-begin), the second one is about what we have achieved in all the time, and the third is about what we are currently doing. I have not only added the page about our current activities but also added some forgotten items to the achievements page. @@ -107,7 +107,7 @@ Get in touch with the Ubuntu developers in Prague!! ## GUADEC 2022 I have attended my first [GUADEC](https://events.gnome.org/event/77/overview), in Guadalajara in Mexico and it was a success, and also a lot of fun. -In my [talk](https://events.gnome.org/event/77/contributions/285/) I have first introduced the GNOME Community into the [New Architecture of printing and scanning](/current/#the-new-architecture-for-printing-and-scanning) and then spread the news about our [GSoC](#google-summer-of-code-2022) work on the ["Printers" module of the GNOME Control Center](/current/#gnome-control-center---printers-module) and on the [GTK print dialog](/current/#the-print-dialogs) ([slides](https://events.gnome.org/event/77/contributions/285/attachments/88/187/guadec-2022-new-architecture.pdf), [video](https://youtu.be/_zy_FkDttHQ?t=19194)). +In my [talk](https://events.gnome.org/event/77/contributions/285/) I have first introduced the GNOME Community into the [New Architecture of printing and scanning](/current#the-new-architecture-for-printing-and-scanning) and then spread the news about our [GSoC](#google-summer-of-code-2022) work on the ["Printers" module of the GNOME Control Center](/current#gnome-control-center---printers-module) and on the [GTK print dialog](/current#the-print-dialogs) ([slides](https://events.gnome.org/event/77/contributions/285/attachments/88/187/guadec-2022-new-architecture.pdf), [video](https://youtu.be/_zy_FkDttHQ?t=19194)). **Bye Bye, colord!** @@ -131,7 +131,7 @@ Now the second month of the coding period of the Google Summer of Code 2022 has 7 of the 8 contributors have passed the mid-term evaluations. -I have also mentioned our GSoC work and all the contributors and active mentors on our new page about [our current activity](/current/). +I have also mentioned our GSoC work and all the contributors and active mentors on our new page about [our current activity](/current). All of them have posted again a little summary of what they have done in our group chat on Telegram: @@ -196,7 +196,7 @@ Feature requests so far: ## Common Print Dialog Backends 2.0 -While our GSoC contributor Gaurav Guleria is working on [adding CPDB support to the print dialogs](/current/#the-print-dialogs) (see [above](#google-summer-of-code-2022)) he has also done many fixes and improvements on the [CPDB framework](/achievements/#common-print-dialog-backends) itself: +While our GSoC contributor Gaurav Guleria is working on [adding CPDB support to the print dialogs](/current#the-print-dialogs) (see [above](#google-summer-of-code-2022)) he has also done many fixes and improvements on the [CPDB framework](/achievements#common-print-dialog-backends) itself: - Support for human-readable strings for options and choices - Removal of CUPS dependencies in the core libraries @@ -214,7 +214,7 @@ For the release itself I will still wait a little bit, as Gaurav could find othe ## CUPS Snap and snapd printing interface **[CUPS Snap](https://github.com/OpenPrinting/cups-snap) in the [Snap Store](https://snapcraft.io/cups)** -Now with the [`cups` snapd interface in place](/achievements/#the-cups-snap) Snap package maintainers are starting to use it. +Now with the [`cups` snapd interface in place](/achievements#the-cups-snap) Snap package maintainers are starting to use it. Some days ago I have worked with my colleagues in the Canonical Desktop Team on [switching their Snaps over](https://discourse.ubuntu.com/t/desktop-team-updates-monday-15th-august-2022/29954/8?u=till-kamppeter) to the new `cups` interface and they did and it is actually working now. At least the Firefox, Chromium, gnome-text-editor, and evince Snaps should be switched over now, at least in the "Edge" channel of the Snap Store. Also of the LibreOffice Snap a switched version will appear soon. @@ -222,7 +222,7 @@ Thanks a lot to Oliver Tilloy, Nathan Pratta Teodosio, Sergio Costas, and Heathe ## Approaching cups-filters 2.0 -Completed the restructuring to have **libppd depend on libcupsfilters** instead of **libcupsfilters depend on libppd**, as [introduced in May](/OpenPrinting-News-May-2022/#approaching-cups-filters-20) now! +Completed the restructuring to have **libppd depend on libcupsfilters** instead of **libcupsfilters depend on libppd**, as [introduced in May](/OpenPrinting-News-May-2022#approaching-cups-filters-20) now! The commit is [here](https://github.com/OpenPrinting/cups-filters/commit/af98924b376). And the adaptations on [pappl-retrofit](https://github.com/OpenPrinting/pappl-retrofit/) are [here](https://github.com/OpenPrinting/pappl-retrofit/commit/9b8fe83ba6). diff --git a/contents/post/OpenPrinting-News-December-2019.md b/contents/post/OpenPrinting-News-December-2019.md index 6103298c..3cdeea19 100644 --- a/contents/post/OpenPrinting-News-December-2019.md +++ b/contents/post/OpenPrinting-News-December-2019.md @@ -11,7 +11,7 @@ date: '2019-12-13' ## OpenPrinting Mini Summit at IIT Mandi, India On November 9 we had a meeting in India presenting the work of OpenPrinting at one of the universities where our Google Summer of Code students came from. -See our [separate news article with pictures](/OpenPrinting-Mini-Summit-at-IIT-Mandi/). +See our [separate news article with pictures](/OpenPrinting-Mini-Summit-at-IIT-Mandi). ## Google Summer of Code 2020 We need to start with the student selection process soon, so that we can let them do assignments to compensate for the missed Google Code-In opportunity. diff --git a/contents/post/OpenPrinting-News-December-2020.md b/contents/post/OpenPrinting-News-December-2020.md index 55cc7fca..b8f0eea4 100644 --- a/contents/post/OpenPrinting-News-December-2020.md +++ b/contents/post/OpenPrinting-News-December-2020.md @@ -10,17 +10,17 @@ date: '2020-12-11' ## Google Summer of Code 2021 We are currently looking for project ideas for next year's Google Summer of Code. -As mentioned [already in October](/OpenPrinting-News-October-2020/#google-summer-of-code-2021) student projects will only be half the time (6 weeks). Google tells that this will probably attract more students, but for us it is a much higher workload as we have to find the double amount of students and get the double amount of students introduced and up to speed to get the same work done. +As mentioned [already in October](/OpenPrinting-News-October-2020#google-summer-of-code-2021) student projects will only be half the time (6 weeks). Google tells that this will probably attract more students, but for us it is a much higher workload as we have to find the double amount of students and get the double amount of students introduced and up to speed to get the same work done. For larger projects we should also consider to run them under the Linux Foundation Mentoring Program instead of GSoC. ## Google Season of Docs 2020 -The standard length (3 months) projects of this year's Google Summer of Docs have ended and so also our OpenPrinting project done by Piyush Goyal. His work continues to be available [on our web site](/documentation/) and he has also put up his [final report](https://docs.google.com/document/d/1ZWaDt897MyoiNDkgrvO8vU_SlGwQI8cIfuhsA0c3Q7A/). +The standard length (3 months) projects of this year's Google Summer of Docs have ended and so also our OpenPrinting project done by Piyush Goyal. His work continues to be available [on our web site](/documentation) and he has also put up his [final report](https://docs.google.com/document/d/1ZWaDt897MyoiNDkgrvO8vU_SlGwQI8cIfuhsA0c3Q7A/). Piyush also reported his successful conclusion of GSoD on [LinkedIn](https://www.linkedin.com/feed/update/urn%3Ali%3Aactivity%3A6742723576908038144/) and thanked his mentors and others on OpenPrinting who helped him. -Only part not completed is the [section about Scanning](/documentation/03-designing-scanner-drivers/) as the implementation of scanning support in PAPPL is still work in progress. +Only part not completed is the [section about Scanning](/documentation/03-designing-scanner-drivers) as the implementation of scanning support in PAPPL is still work in progress. ## PAPPL 1.0.0 released! Michael Sweet has issued the first stable release of PAPPL, version [1.0.0](https://github.com/michaelrsweet/pappl/releases/tag/v1.0.0). diff --git a/contents/post/OpenPrinting-News-December-2021.md b/contents/post/OpenPrinting-News-December-2021.md index 6c0f4b50..9ac290a3 100644 --- a/contents/post/OpenPrinting-News-December-2021.md +++ b/contents/post/OpenPrinting-News-December-2021.md @@ -9,7 +9,7 @@ This month's news post is somewhat shorter, as not many important features, mile But we are not completely without milestones, as **CUPS 2.4.0** got released as the **first stable feature release of CUPS on OpenPrinting**. We are back with a new stable release series of CUPS and Ubuntu 22.04 LTS and probably many other distributions will come with a 2.4.x version of CUPS. -And also keep in mind that for 2022 **everyone** can participate as code contributor in the Google Summer of Code, not only students. See [last month's edition](/OpenPrinting-News-November-2021/#google-summer-of-code-2022). So if you like to participate, or at least be part of the OpenPrinting developer community, please speak up (`till at linux dot com`). +And also keep in mind that for 2022 **everyone** can participate as code contributor in the Google Summer of Code, not only students. See [last month's edition](/OpenPrinting-News-November-2021#google-summer-of-code-2022). So if you like to participate, or at least be part of the OpenPrinting developer community, please speak up (`till at linux dot com`). We need also project ideas for the GSoC 2022. Note that there are 2 sizes now, 3 months like on GSoC 2020 and before and 6 weeks like on GSoC 2021. @@ -55,7 +55,7 @@ From OpenPrinting we have already [6 Snaps in the Snap Store](https://snapcraft. ## CUPS Currently released is [**2.4.0**](https://github.com/OpenPrinting/cups/releases/tag/v2.4.0). -This is the **first feature release of CUPS on OpenPrinting**. Thanks to Zdenek Dohnal (RedHat) for having taken the role of the release manager for the CUPS 2.4.x series. See our [development roadmap](/OpenPrinting-News-October-2021/#cups) posted earlier here for details. +This is the **first feature release of CUPS on OpenPrinting**. Thanks to Zdenek Dohnal (RedHat) for having taken the role of the release manager for the CUPS 2.4.x series. See our [development roadmap](/OpenPrinting-News-October-2021#cups) posted earlier here for details. Ubuntu Jammy Jellyfish ([22.04 LTS](https://discourse.ubuntu.com/t/jammy-jellyfish-release-schedule/)) will come with CUPS 2.4.x, if all works well, as Snap. The CUPS Snap and our CUPS-driver-retro-fitting Printer Application Snaps use the current GIT master of CUPS. diff --git a/contents/post/OpenPrinting-News-December-2022.md b/contents/post/OpenPrinting-News-December-2022.md index ce4c3df7..42bdbe1c 100644 --- a/contents/post/OpenPrinting-News-December-2022.md +++ b/contents/post/OpenPrinting-News-December-2022.md @@ -12,7 +12,7 @@ date: '2022-12-15' --- This is the last News Post of 2022. Most of us will be meeting family and friends during the holidays. And many of them are not Linux and free software users as we are. -Struggling with their Windows and Mac systems and considering you as computer guru they are asking you to solve their problems. If it is Windows 11 (or at least updateable to 11) and an old printer, you are lucky as we have already posted [the solution](/wsl-printer-app/) here ([video](https://youtu.be/y7GIiLPjdTk?t=624)). +Struggling with their Windows and Mac systems and considering you as computer guru they are asking you to solve their problems. If it is Windows 11 (or at least updateable to 11) and an old printer, you are lucky as we have already posted [the solution](/wsl-printer-app) here ([video](https://youtu.be/y7GIiLPjdTk?t=624)). But if there are more severe problems, like for example network printing with Windows, with Windows' printing system being "that mess of Windows 3.0" (of the late 90s, see also [below](#podcasts-and-videos)), it is at the time to convince them to switch over. And for that there is now a nice Christmas gift available, the book "Beginning Ubuntu for Windows and Mac Users" by Nathan Haines, one of my colleagues in the organization committee of the [Ubuntu Summit](#ubuntu-summit---videos-pictures-blogs-podcasts-). Still in doubt that this is the right book? Then let Nathan tell you more about it in the December edition of the [Ubuntu Desktop Team Indaba](https://discourse.ubuntu.com/t/ubuntu-desktop-team-indaba-ama-december-16-2022-4pm-utc/) which has taken place some days ago ([YouTube video](https://www.youtube.com/watch?v=9vP-9vds--g)). @@ -38,7 +38,7 @@ By the way, I had already visited the museum many years ago. The [Babbage Differ ## Ubuntu Summit - Videos, pictures, blogs, podcasts ... **Update: Impressions of the event: [The Aftermovie!](https://www.youtube.com/watch?v=8XF6jR7XzXM)** -The first [Ubuntu Summit](https://events.canonical.com/event/2/overview) was really one of the greatest and most awesome conferences I have experienced. As reported here already in the [last month](/OpenPrinting-News-November-2022/#the-first-ubuntu-summit-was-a-success) I and many others have put a lot of work into it and the result was overwhelming ... +The first [Ubuntu Summit](https://events.canonical.com/event/2/overview) was really one of the greatest and most awesome conferences I have experienced. As reported here already in the [last month](/OpenPrinting-News-November-2022#the-first-ubuntu-summit-was-a-success) I and many others have put a lot of work into it and the result was overwhelming ... ### Recordings You did not make it to Prague? Or, while you have attended a great session on the Ubuntu Summit an awesome session was taking place in another room? No problem! We have recorded most of the talks and panels in the ballroom and the 4 breakout rooms Karlin 1-4 and they are now available on YouTube in a [playlist](https://www.youtube.com/playlist?list=PL-qBHd6_LXWYutOfi0r_jzyqHGmq1vIhf). @@ -53,7 +53,7 @@ By the time of writing this News Post the uploading process of the videos to You **Update: All the recordings of all the 3 days are available now!!** -I have also updated my [report in last month's news](/OpenPrinting-News-November-2022/#and-the-conference-finally-started-) adding links to the recordings of every session I mentioned there. +I have also updated my [report in last month's news](/OpenPrinting-News-November-2022#and-the-conference-finally-started-) adding links to the recordings of every session I mentioned there. And I have to give a special thank you to Mauro and Aaron as the recordings of all the (non-workshop) sessions where I was the speaker or host of worked out great: @@ -74,15 +74,15 @@ Have you been on the Ubuntu Summit and taken some interesting shots? Submissions ### Blogs and articles The conference also attracted several bloggers and news writers, so there is a lot to read about the Summit. -My [lightning talk](https://youtu.be/y7GIiLPjdTk?t=624) about [saving old printers under Windows with WSL and Printer Applications](/wsl-printer-app/) was a special success. When one looks through all these articles and blogs (and especially also the podcasts) it can feel like the conference was a printer-saving-under-Windows Summit despite this subject matter only being presented in a 10-minute lightning talk and the Summit being all about Linux. What perhaps contributed to this was also Mark Shuttleworth who has [mentioned me and my lightning talk as the very first highlight](https://youtu.be/ZtY7_fv0vwo?t=1141) of the Summit in his opening plenary. I have never seen that a lightning talk got so much attention. +My [lightning talk](https://youtu.be/y7GIiLPjdTk?t=624) about [saving old printers under Windows with WSL and Printer Applications](/wsl-printer-app) was a special success. When one looks through all these articles and blogs (and especially also the podcasts) it can feel like the conference was a printer-saving-under-Windows Summit despite this subject matter only being presented in a 10-minute lightning talk and the Summit being all about Linux. What perhaps contributed to this was also Mark Shuttleworth who has [mentioned me and my lightning talk as the very first highlight](https://youtu.be/ZtY7_fv0vwo?t=1141) of the Summit in his opening plenary. I have never seen that a lightning talk got so much attention. - [**Canonical's Ubuntu Blog**](https://ubuntu.com/blog) + [Ubuntu Summit Highlight Reel](https://ubuntu.com/blog/ubuntu-summit-2022-reflections): Heather Ellsworth (with some help by Mauro Gaspari, Igor Ljubuncic, and me) writes about what has happened: Lots of photos from the sessions (including my Snap panel), the GNOME panel (or better stand-up meeting?), the Mini Pupper and plotter workshops, the foosball action, the Kinetic Knitting workshop of the first night the game night, the boat party ... + [Ubuntu Summit Memories Live On](https://ubuntu.com/blog/ubuntu-summit-memories-live-on): In the second post-Summit blog Heather gives us the links to the photo galleries and the recordings, and she also motivates to come or even speak next year, or make the next Summit a part of your day job, working at Canonical! - [**Canonical's Snap Blog**](https://snapcraft.io/blog) + [Snapcrafters: 2022 wrap-up](https://snapcraft.io/blog/snapcrafters-2022-wrap-up): This is about what happened in the volunteer organization [Snapcrafters](https://github.com/snapcrafters) (they snap what upstream is not snapping) during the year 2022. Especially it also tells about the Ubuntu Summit and mentions (and YouTube-links) Dani Llewellyn's plenary talk "Getting started within the Ubuntu Community" and my Snap panel "Your app everywhere, just in a Snap!", the latter even with YouTube thumbnail image. -- [**OpenPrinting**](/news/) - + [OpenPrinting News - November 2022](/OpenPrinting-News-November-2022/): I have also written about the Summit, especially my work on contributing to its organization, on creating the Snap tutorial workshop series, preparing the first 2 panel sessions I have hosted in my life, the build-a-plotter workshop (with photos), my 4 sessions, the hallway track, and the success of my lightning talk. +- [**OpenPrinting**](/news) + + [OpenPrinting News - November 2022](/OpenPrinting-News-November-2022): I have also written about the Summit, especially my work on contributing to its organization, on creating the Snap tutorial workshop series, preparing the first 2 panel sessions I have hosted in my life, the build-a-plotter workshop (with photos), my 4 sessions, the hallway track, and the success of my lightning talk. - [**Jonathan Esk-Riddell**](https://jriddell.org/) + [Ubuntu Summit 2022 Prague](https://jriddell.org/2022/11/14/ubuntu-summit-2022-prague/): The KDE-related sessions on the Ubuntu Summit (Jonathan is creator of the KDE Neon distro and former leader of Kubuntu). - [**The Register**](https://www.theregister.com/) @@ -169,7 +169,7 @@ Chandresh Soni, working on the [Braille embosser Printer Application](https://gi ## Common Print Dialog Backends Second Generation - First Beta Release! We are now releasing the first beta of the second generation of the Common Print Dialog Backends (CPDB). -As part of making everything ready for the [New Architecture of printing](/current/#the-new-architecture-for-printing-and-scanning) we have finally added CPDB support to the print dialogs of the major desktop environments/GUI toolkits, GNOME/GTK and KDE/Qt. This was done in [Gaurav Guleria's GSoC project](https://github.com/TinyTrebuchet/gsoc22/) and in the course of his work on the print dialogs he also did a lot of improvements on the CPDB framework, mainly due to missing features but also to work well in a PPD-less world. +As part of making everything ready for the [New Architecture of printing](/current#the-new-architecture-for-printing-and-scanning) we have finally added CPDB support to the print dialogs of the major desktop environments/GUI toolkits, GNOME/GTK and KDE/Qt. This was done in [Gaurav Guleria's GSoC project](https://github.com/TinyTrebuchet/gsoc22/) and in the course of his work on the print dialogs he also did a lot of improvements on the CPDB framework, mainly due to missing features but also to work well in a PPD-less world. The components we are currently maintaining got all updated and released as version 2.0b1: diff --git a/contents/post/OpenPrinting-News-December-2023.md b/contents/post/OpenPrinting-News-December-2023.md index 674a9f58..9a554781 100644 --- a/contents/post/OpenPrinting-News-December-2023.md +++ b/contents/post/OpenPrinting-News-December-2023.md @@ -34,7 +34,7 @@ So now send your Christmas faxes to your loved ones and happy holidays! ## New Architecture under Windows -[Last month](/OpenPrinting-News-November-2023/) I was citing Michael Tunnell from TuxDigital: +[Last month](/OpenPrinting-News-November-2023) I was citing Michael Tunnell from TuxDigital: > There is no such thing like a pain-free experience of printing under Windows ... Linux printing is ridiculously good ... @@ -50,7 +50,7 @@ By the way, I have [participated](https://techcommunity.microsoft.com/t5/securit They do away with their classic printer drivers because they run with system (highest) privileges, like the print spooler itself and many come from third parties. This makes fixing security vulnerabilities especially challanging, and even worse if there are decade-old drivers installed for which the issuing printer manufacturer has already ceased support. -Microsoft did not present any concept to support non-drierless legacy printers, considering all these printers obsolete. But in reality, at least the ones for which there are drivers under Linux can be continued to be used, thanks to WSL and Printer Applications. Here is [how to do this](/wsl-printer-app/). +Microsoft did not present any concept to support non-drierless legacy printers, considering all these printers obsolete. But in reality, at least the ones for which there are drivers under Linux can be continued to be used, thanks to WSL and Printer Applications. Here is [how to do this](/wsl-printer-app). Windows Protected Print can already be tested, in the Insider Preview of Windows 11, as described on [How-To Geek](https://www.howtogeek.com/microsoft-is-revamping-printing-on-windows-11/) and also by [Microsoft itself](https://blogs.windows.com/windows-insider/2023/12/13/announcing-windows-11-insider-preview-build-26016-canary-channel/#:~:text=in%20Build%2026016-,Windows%20Protected%20Print%20Mode,-Windows%20protected%20print). @@ -58,7 +58,7 @@ Note that Print Support Apps (PSA) under Windows are not the same as Printer App ## From the Ubuntu Summit 2023 into YouTube and Podcasts -The Ubuntu Summit 2023 in Riga was not only successful due to the talks and hallway sessions but also in terms of YouTube videos and podcasts with me. So together with the two recordings from the Engineering Sprint in Riga which I already mentioned [last month](/OpenPrinting-News-November-2023/) you have even more nice alternatives to boring holiday TV programs. +The Ubuntu Summit 2023 in Riga was not only successful due to the talks and hallway sessions but also in terms of YouTube videos and podcasts with me. So together with the two recordings from the Engineering Sprint in Riga which I already mentioned [last month](/OpenPrinting-News-November-2023) you have even more nice alternatives to boring holiday TV programs. In less than 2 weeks 4 new videos/shows got released: @@ -78,7 +78,7 @@ This episode is something special in several points: First, being invited to tal Second, the interview with Mike and me got 1:20 hours long, nearly as a full movie and so this episode is appropriately long and dedicated to the interview! -Third, Monica Ayhens-Madon has bought a little penguin in Riga, a gift for co-host Jill (see [last month](/OpenPrinting-News-November-2023/#ubuntu-summit-2023-in-riga)), and taken photos with it and several important people on the conference, including me ([Mastodon](https://ubuntu.social/@communiteatime@fosstodon.org/111375114801448241)), so I have asked Michael to make my episode the first where Jill has received the penguin and put me into the scene where she presents it. So this episode consists of the "Community Feedback" section where Jill & Till present the penguin and of the interview, nothing more, nothing less. +Third, Monica Ayhens-Madon has bought a little penguin in Riga, a gift for co-host Jill (see [last month](/OpenPrinting-News-November-2023#ubuntu-summit-2023-in-riga)), and taken photos with it and several important people on the conference, including me ([Mastodon](https://ubuntu.social/@communiteatime@fosstodon.org/111375114801448241)), so I have asked Michael to make my episode the first where Jill has received the penguin and put me into the scene where she presents it. So this episode consists of the "Community Feedback" section where Jill & Till present the penguin and of the interview, nothing more, nothing less. The Destination Linux team is eager to attend the Ubuntu Summit 2024. I suggested them to produce an episode there. @@ -90,7 +90,7 @@ The production of the Destination Linux episode got scheduled on Sunday, Dec 10, And if you also want to see many more people doing great things with free software, on the Ubuntu Summit Advent Calendar nearly all the doors are open now, only a few sessions are still missing. Find the recordings of the individual sessions in all rooms on the [Ubuntu Summit 2023 playlist](https://www.youtube.com/playlist?list=PL-qBHd6_LXWZqbxr3542fZs_IMn0gAb2B) on [Ubuntu OnAir](https://www.youtube.com/@UbuntuOnAir/videos). -I have also updated my Ubuntu Summit report from [last month](/OpenPrinting-News-November-2023/#ubuntu-summit-2023-in-riga) with links to all videos and shows which got released. +I have also updated my Ubuntu Summit report from [last month](/OpenPrinting-News-November-2023#ubuntu-summit-2023-in-riga) with links to all videos and shows which got released. **Complete [playlist of all sesions](https://www.youtube.com/playlist?list=PL-qBHd6_LXWZqbxr3542fZs_IMn0gAb2B)** @@ -102,9 +102,9 @@ I have also updated my Ubuntu Summit report from [last month](/OpenPrinting-News **On the [Schedules page](https://fosdem.org/2024/schedule/) follow the links to the schedules of each room, full schedules for each day, in which room is which track, ...** -Of [my 6 proposals](/OpenPrinting-News-November-2023/#fosdem-2024) which I have submitted one is accepted now, 2 are rejected and 3 still pending. +Of [my 6 proposals](/OpenPrinting-News-November-2023#fosdem-2024) which I have submitted one is accepted now, 2 are rejected and 3 still pending. -The 2 rejected ones are the report about the [Opportunity Open Source conference](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india) which I have organized in India, as full-size talk for the Community DevRoom and my [workshop about packaging applications as Snaps (snapping)](/OpenPrinting-News-November-2023/#snap-workshops) in the Distributions DevRoom. There was a really high amount of propoals submitted for these rooms, 89 for Community! And each DevRoom takes place on only one single day. +The 2 rejected ones are the report about the [Opportunity Open Source conference](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india) which I have organized in India, as full-size talk for the Community DevRoom and my [workshop about packaging applications as Snaps (snapping)](/OpenPrinting-News-November-2023#snap-workshops) in the Distributions DevRoom. There was a really high amount of propoals submitted for these rooms, 89 for Community! And each DevRoom takes place on only one single day. My proposal "[Desktop Linux, as easy as a smartphone! Just in a Snap!](https://fosdem.org/2024/schedule/event/fosdem-2024-1860-desktop-linux-as-easy-as-a-smartphone-just-in-a-snap-/)", about Snap, Ubuntu Core, and Ubuntu Core Desktop, in the [Distributions DevRoom](https://fosdem.org/2024/schedule/track/distributions/) got accepted, but only as a short 25-min talk, instead of the originally proposed 55 min. It got scheduled for [Sunday, Feb 4, 13:30 - 13:55](https://fosdem.org/2024/schedule/track/distributions/). Not having gotten the Ubuntu/Canonical booth accepted we have this way at least one representation of Snap and Ubuntu Core Desktop on the conference. I and some colleagues will also demo Ubuntu Core Desktop in the DevRoom and in the hallways. diff --git a/contents/post/OpenPrinting-News-February-2021.md b/contents/post/OpenPrinting-News-February-2021.md index deeb631a..ba3d73b1 100644 --- a/contents/post/OpenPrinting-News-February-2021.md +++ b/contents/post/OpenPrinting-News-February-2021.md @@ -10,7 +10,7 @@ date: '2021-02-08' ## Google Summer of Code 2021 The time window for the mentoring organizations to [apply](https://summerofcode.withgoogle.com/) has opened and the deadline is Feb 19, 2021 ([Timeline](https://developers.google.com/open-source/gsoc/timeline)). We are applying again for the Linux Foundation as mentoring organization, as in the previous years, OpenPrinting being one of the sub groups. -OpenPrinting's project ideas are [posted](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021-openprinting-projects), but further ideas are still welcome. Note that the projects are half-length this year, 175 hours instead of 350 hours (see our [October news](/OpenPrinting-News-October-2020/#google-summer-of-code-2021)). Larger projects we should run under the Linux Foundation Mentoring Program instead of GSoC. +OpenPrinting's project ideas are [posted](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021-openprinting-projects), but further ideas are still welcome. Note that the projects are half-length this year, 175 hours instead of 350 hours (see our [October news](/OpenPrinting-News-October-2020#google-summer-of-code-2021)). Larger projects we should run under the Linux Foundation Mentoring Program instead of GSoC. ## IPP Scan in PAPPL The students of our [IPP Scan LFMP project](https://mentorship.lfx.linuxfoundation.org/project/55cdb4a1-76bd-423a-ab48-3bdf1502a171) did not do all points needed to complete the IPP Scan server support, but are still working on the missing points. Michael Sweet posted [on the PAPPL GitHub](https://github.com/michaelrsweet/pappl/projects/3) what is still needs to be done. @@ -58,7 +58,7 @@ The idea of renaming the "ps-printer-app" project into "retro-fit-printer-app" a ## CUPS Currently released is [2.3.3op2](https://github.com/OpenPrinting/cups/releases/tag/v2.3.3op2). -This [release](/cups-2.3.3op2/) contains a security fix and several other bug fixes. +This [release](/cups-2.3.3op2) contains a security fix and several other bug fixes. It made it already into Debian. diff --git a/contents/post/OpenPrinting-News-February-2022.md b/contents/post/OpenPrinting-News-February-2022.md index cc33d9a9..a365c56f 100644 --- a/contents/post/OpenPrinting-News-February-2022.md +++ b/contents/post/OpenPrinting-News-February-2022.md @@ -52,16 +52,16 @@ UI design work is needed for the “Add Printer” part and perhaps on improving See below the links to the OpenPrinting Micro-Conference on the Linux Plumbers Conference 2021, especially the presentation about the Print Management GUI, which shows more in-depth how the new printer setup tool should look like. Also see the links to OpenPrinting discussion, GSoC 2020/2021 projects, and Frederik Feichtmeier’s Flutter counerpart to G-C-C. -- [OpenPrinting Micro-Conference on the Linux Plumbers Conference 2021](/OpenPrinting-News-October-2021/#openprinting-micro-conference-on-the-linux-plumbers-2021) +- [OpenPrinting Micro-Conference on the Linux Plumbers Conference 2021](/OpenPrinting-News-October-2021#openprinting-micro-conference-on-the-linux-plumbers-2021) - [Session about printer setup tool on Linux Plumbers Conference 2021](https://linuxplumbersconf.org/event/11/contributions/1027/attachments/774/1460/Print-Management-GUI.pdf) - [Session about print dialog on Linux Plumbers Conference 2021](https://linuxplumbersconf.org/event/11/contributions/1028/attachments/762/1433/Common-Print-Dialog-Backends.pdf) - [Recording of the OpenPrinting Micro-Conference on Linux Plumbers Conference 2021](https://www.youtube.com/watch?v=5KogjLb1Hb4) -- [First thoughts and discussions on a printer setup tool for the New Architecture](/OpenPrinting-News-March-2021/#user-experience-automatic-printer-setup-printer-setup-tools) +- [First thoughts and discussions on a printer setup tool for the New Architecture](/OpenPrinting-News-March-2021#user-experience-automatic-printer-setup-printer-setup-tools) - [IPP System Service config/status panel (GSoC 2020)](https://github.com/lbandlish/Administrate-MF-Devices-GUI) - [Main window/panel to list and manage IPP services (GSoC 2021)](https://github.com/divyashk/GSOC21_summary) - [GNOME-Control-Center fork with new printer setup tool (at least main panel)](https://github.com/divyashk/gnome-control-center/tree/devCups) - [Flutter alternative to GNOME-Control-Center, printer part is planned to be done following the New Architecture](https://github.com/Feichtmeier/settings) -- [Service on OpenPrinting web server for finding the correct Printer Application for a given, non-driverless printer](/OpenPrinting-News-November-2021/#printer-querying-on-the-openprinting-web-server) +- [Service on OpenPrinting web server for finding the correct Printer Application for a given, non-driverless printer](/OpenPrinting-News-November-2021#printer-querying-on-the-openprinting-web-server) ### The Print Dialogs Most print jobs are sent via the print dialog of a desktop application, like evince, Chrome, LibreOffice, DarkTable, … Print dialogs are usually, like “Open …” or “Save as …” dialogs, provided by the GUI toolkits, in most cases GTK or Qt, sometimes applications come also with their own creations, like LibreOffice or Chrome. @@ -153,7 +153,7 @@ Many smaller bugs and glitches got also fixed. Another backport series to the 1.x branch is planned. -Some time ago I have started a [discussion thread on the OpenPrinting mailing list](https://lists.linuxfoundation.org/pipermail/printing-architecture/2021/004100.html) and, after not getting any answer, posted a copy [in the January news](/OpenPrinting-News-January-2022/#approaching-cups-filters-20). +Some time ago I have started a [discussion thread on the OpenPrinting mailing list](https://lists.linuxfoundation.org/pipermail/printing-architecture/2021/004100.html) and, after not getting any answer, posted a copy [in the January news](/OpenPrinting-News-January-2022#approaching-cups-filters-20). Now I got some [remarks from Zdenek Dohnal](https://lists.linuxfoundation.org/pipermail/printing-architecture/2022/004107.html) and [answered with clarifications](https://lists.linuxfoundation.org/pipermail/printing-architecture/2022/004108.html). @@ -199,9 +199,9 @@ From OpenPrinting we have already [6 Snaps in the Snap Store](https://snapcraft. ## CUPS Currently released is [**2.4.1**](https://github.com/OpenPrinting/cups/releases/tag/v2.4.1). -CUPS 2.4.1 got released, adding several bug fixes, especially that the ColorModel default in generated PPD files for driverless printers is taken from the printer and also configurable which I told about [last month](/OpenPrinting-News-January-2022/#cups). +CUPS 2.4.1 got released, adding several bug fixes, especially that the ColorModel default in generated PPD files for driverless printers is taken from the printer and also configurable which I told about [last month](/OpenPrinting-News-January-2022#cups). -Michael Sweet is also **already working on the libcups of [CUPS 3.x](/OpenPrinting-News-October-2021/#cups)** ([Michael's personal libcups repo](https://github.com/michaelrsweet/libcups)). +Michael Sweet is also **already working on the libcups of [CUPS 3.x](/OpenPrinting-News-October-2021#cups)** ([Michael's personal libcups repo](https://github.com/michaelrsweet/libcups)). Ubuntu Jammy Jellyfish ([22.04 LTS](https://discourse.ubuntu.com/t/jammy-jellyfish-release-schedule/)) will come with CUPS 2.4.x, most probably 2.4.1. It will still come as classic Debian package and all the drivers, too. The full snapd integration of the CUPS Snap is only happening right now ([see above](#cups-snap-and-snapd-printing-interface)) and we also did not succeed to release cups-filters 2.x and pappl-retrofit 1.x (for the Legacy Printer Application). More important even, we need the changes in the GUI tools ([see above](#approaching-cups-filters-20)). diff --git a/contents/post/OpenPrinting-News-February-2023.md b/contents/post/OpenPrinting-News-February-2023.md index a2f2d8d4..8e75d763 100644 --- a/contents/post/OpenPrinting-News-February-2023.md +++ b/contents/post/OpenPrinting-News-February-2023.md @@ -16,7 +16,7 @@ But we have a lot of **good and exciting news**! Not only that we got [accepted Some of you were perhaps wondering how to **report security issues** and therefore hesitated to do so, now I succeeded in [getting an intuitive way](#private-bug-reports-for-security-issues). -And **Kurt Pfeifle**, who made me know about CUPS back in mid-2000 by a magazine article and [so made out of me what I am now](/history/) has retired and now wants to **contribute to the documentation** on OpenPrinting! Welcome back in the team!! +And **Kurt Pfeifle**, who made me know about CUPS back in mid-2000 by a magazine article and [so made out of me what I am now](/history) has retired and now wants to **contribute to the documentation** on OpenPrinting! Welcome back in the team!! ## Google Summer of Code 2023 - We are in!! @@ -24,7 +24,7 @@ First off, the Linux Foundation got accepted as mentoring organization. So we ar Our selection process has already started some months ago and we already got some promising candidates. If you want to participate, too, have a look at our [project ideas list](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2023-openprinting-projects). Please contact us as soon as possible and not only when Google's application time window opens (March 20 - April 4). -Please send us your resume/CV and tell us what you like to work on, either on one of the project ideas or you can also provide your own project idea. Also have a look what we are doing via the links on our [About Us](/about-us/) and [News and Events](/news/) pages. +Please send us your resume/CV and tell us what you like to work on, either on one of the project ideas or you can also provide your own project idea. Also have a look what we are doing via the links on our [About Us](/about-us) and [News and Events](/news) pages. A nice side effect of having the contributors working on GitHub issues as part of the process is that we get several bugs fixed or feature requests implemented. For example we have completely overlooked to transfer the handy utility `cupstestppd` into [libppd](#cups-filters). Now, thanks to a contributor candidate we have it even as library function, `ppdTest()`, in addition to the new command line utility `testppdfile`. Also several bugs in the print filters got fixed. @@ -34,7 +34,7 @@ Thanks a lot to all contributor candidates who helped us fixing bugs and accompl ## Linux App Summit 2023 The [Linux App Summit 2023](https://linuxappsummit.org/) in Brno in the Czech Republic is coming closer. The conference will actually take place on Saturday, April 22 and Sunday April 23. On Friday, April 21 there will be a pre-registration. Here is some info about [the venue, the location, and how to get there](https://linuxappsummit.org/local/). -The Call for Proposals has closed and we got a lot of great abstracts, for talks, lightning talks, workshops, and BoFs, 44 in total. So now we have the hard work of selecting the best ones to accommodate in the two rooms we have, like [last year in Rovereto](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022/) an auditorium for the talks and lightning talks and a classroom for the workshops and BoFs. +The Call for Proposals has closed and we got a lot of great abstracts, for talks, lightning talks, workshops, and BoFs, 44 in total. So now we have the hard work of selecting the best ones to accommodate in the two rooms we have, like [last year in Rovereto](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022) an auditorium for the talks and lightning talks and a classroom for the workshops and BoFs. Provided that it gets accepted I will give a talk about the **Printing GUI work to support the New Architecture**, on the [GNOME Control Center](https://github.com/vermamohit13/GSOC_2022_Summary) and on the print dialogs, especially the [GTK one](#common-print-dialog-backends-support-accepted-into-gtk), and perhaps also give a short demo. I will leave plenty of time in the end for an AMA (Ask Me Anything) and for further Q&A and discussion I will also run an **OpenPrinting BoF** session afterwards. @@ -46,7 +46,7 @@ On my two printing sessions you will also have the chance to meet They will be in the rooms to answer questions and participate in the discussion. -I will also make use of the fact that this year we will for the first time offer workshops and give a **workshop to learn how to snap (= package as a Snap) applications** for distributing them via the Snap Store. So anyone who has missed [my Snap workshop series on the Ubuntu Summit](/OpenPrinting-News-November-2022/#and-the-conference-finally-started-), here is another chance. There is only this one workshop for the basics, but I have also seen some talks about advanced topics under the submissions and have given good reviews to them. +I will also make use of the fact that this year we will for the first time offer workshops and give a **workshop to learn how to snap (= package as a Snap) applications** for distributing them via the Snap Store. So anyone who has missed [my Snap workshop series on the Ubuntu Summit](/OpenPrinting-News-November-2022#and-the-conference-finally-started-), here is another chance. There is only this one workshop for the basics, but I have also seen some talks about advanced topics under the submissions and have given good reviews to them. Accepted contributions will get announced on March 1. @@ -70,7 +70,7 @@ Marek Kasik and Matthias Clasen, thanks a lot for guiding Gaurav to get his work ## libcups 3.0b1 - The first piece of CUPS 3.x! -Michael Sweet has **released the [first beta of libcups 3.0](/libcups-3.0b1/)!** +Michael Sweet has **released the [first beta of libcups 3.0](/libcups-3.0b1)!** This is the first of the new split components of CUPS 3.x. It will not only have deprecated features removed, like PPD file and classic driver support, but also a lot of new functionality, like for example: @@ -93,7 +93,7 @@ And there is already a GSoC contributor candidate on it to start the adaptation. **Ubuntu** -I have continued the Ubuntu integration work. See also my [report on it from last month](/OpenPrinting-News-January-2023/#new-architecture-makes-it-into-ubuntu-and-debian), where I have especially talked about the concepts and requirements. +I have continued the Ubuntu integration work. See also my [report on it from last month](/OpenPrinting-News-January-2023#new-architecture-makes-it-into-ubuntu-and-debian), where I have especially talked about the concepts and requirements. Of all the packages libcupsfilters, libppd, cups-filters. cups-browsed, pappl, pappl-retrofit, cpdb-libs, cpdb-backend-cups, and cpdb-backend-file, the current versions are uploaded. @@ -109,23 +109,23 @@ Next step are the **tests**: **libcupsfilters** and **libppd** ([MIR](https://bu But **cups-browsed** ([MIR](https://bugs.launchpad.net/ubuntu/+source/cups-browsed/+bug/2003259)) has no tests at all and **cpdb-libs** ([MIR](https://bugs.launchpad.net/ubuntu/+source/cpdb-libs/+bug/1747759)), **cpdb-backend-cups** ([MIR](https://bugs.launchpad.net/ubuntu/+source/cpdb-backend-cups/+bug/1747760)), and **cpdb-backend-file** ([MIR](https://bugs.launchpad.net/ubuntu/+source/cpdb-backend-file/+bug/2003272)) lack build tests. -Therefore we need, not only for our own QA, a **good test infrastructure** for all the software we produce. This is already on our [roadmap](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022) and we will let two GSoC contributors [work on it](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2023-openprinting-projects#ci_testing_programs_for_libcupsfilters_libpappl-retrofit_libppd_cpdb). +Therefore we need, not only for our own QA, a **good test infrastructure** for all the software we produce. This is already on our [roadmap](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022) and we will let two GSoC contributors [work on it](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2023-openprinting-projects#ci_testing_programs_for_libcupsfilters_libpappl-retrofit_libppd_cpdb). -In **cups-filters** ([2.0b4](/libcupsfilters-and-libppd-Second-Generation-Forth-Beta-Release/)) I have also eliminated warnings about deprecated QPDF functions by making everything using the current QPDF 11 API, as having that many warnings was not much liked by the MIR approval team. +In **cups-filters** ([2.0b4](/libcupsfilters-and-libppd-Second-Generation-Forth-Beta-Release)) I have also eliminated warnings about deprecated QPDF functions by making everything using the current QPDF 11 API, as having that many warnings was not much liked by the MIR approval team. -Of the **Common Print Dialog Backends** I released the [second](/Common-Print-Dialog-Backends-Second-Generation-Second-Beta-Release/) and the [third beta](/Common-Print-Dialog-Backends-Second-Generation-Third-Beta-Release/), to have a CPDB release with which [GTK 4.9.4](#common-print-dialog-backends-support-accepted-into-gtk) actually builds and to get the improvements in translation support in, all in time for Lunar's Feature Freeze. All 3 packages (cpdb-libs, cpdb-backend-cups, cpdb-backend-file) already did the migration from -proposed into the release in Universe. +Of the **Common Print Dialog Backends** I released the [second](/Common-Print-Dialog-Backends-Second-Generation-Second-Beta-Release) and the [third beta](/Common-Print-Dialog-Backends-Second-Generation-Third-Beta-Release), to have a CPDB release with which [GTK 4.9.4](#common-print-dialog-backends-support-accepted-into-gtk) actually builds and to get the improvements in translation support in, all in time for Lunar's Feature Freeze. All 3 packages (cpdb-libs, cpdb-backend-cups, cpdb-backend-file) already did the migration from -proposed into the release in Universe. For **PAPPL** I posted the [MIR](https://bugs.launchpad.net/ubuntu/+source/pappl/+bug/2004119). The package ([1.3.1](https://launchpad.net/ubuntu/+source/pappl/1.3.1-2)) synced already from Debian. -For the [first Debian/Ubuntu package](https://launchpad.net/ubuntu/+source/pappl-retrofit) of **pappl-retrofit** I have released the [second beta](/pappl-retrofit-Second-Beta-Release/) upstream. It especially includes the systemd `*.service` file for auto-starting the Legacy Printer Application as system service. The Debian package contains a binary package of the [Legacy Printer Application](https://github.com/OpenPrinting/pappl-retrofit#legacy-printer-application) for making classically installed (also proprietary) printer drivers available for the CUPS Snap and for CUPS 3.x. +For the [first Debian/Ubuntu package](https://launchpad.net/ubuntu/+source/pappl-retrofit) of **pappl-retrofit** I have released the [second beta](/pappl-retrofit-Second-Beta-Release) upstream. It especially includes the systemd `*.service` file for auto-starting the Legacy Printer Application as system service. The Debian package contains a binary package of the [Legacy Printer Application](https://github.com/OpenPrinting/pappl-retrofit#legacy-printer-application) for making classically installed (also proprietary) printer drivers available for the CUPS Snap and for CUPS 3.x. **Red Hat** The new packages, for now at least libcupsfilters, libppd, cups-filters, and cups-browsed will replace the old cups-filters package also in Red Hat and Fedora Linux. Therefore Red Hat's printing maintainer Zdenek Dohnal did a lot of fixes and clean-up on the upstream source code and build systems of these packages. -He [removed some unnecessary dependencies](https://github.com/OpenPrinting/libcupsfilters/pull/7) (Avahi, GLib, zlib, Freetype) from libcupsfilters which got overlooked during the separation. He also removed overlooked dependencies in the other packages, especially on C++ in cups-filters and cups-browsed and added explanations for the actual dependencies to the `INSTALL` files. These changes are in my release of the [third beta](/cups-filters-Second-Generation-Third-Beta-Release/). +He [removed some unnecessary dependencies](https://github.com/OpenPrinting/libcupsfilters/pull/7) (Avahi, GLib, zlib, Freetype) from libcupsfilters which got overlooked during the separation. He also removed overlooked dependencies in the other packages, especially on C++ in cups-filters and cups-browsed and added explanations for the actual dependencies to the `INSTALL` files. These changes are in my release of the [third beta](/cups-filters-Second-Generation-Third-Beta-Release). -Zdenek ran also Coverity on libcupsfilters ([PR](https://github.com/OpenPrinting/libcupsfilters/pull/11)) and libppd ([PR](https://github.com/OpenPrinting/libppd/pull/9)), discovering several bugs (memory leaks, possible buffer overflows, ...) and fixed those. This fixes are available in the [forth beta](/libcupsfilters-and-libppd-Second-Generation-Forth-Beta-Release/) now. +Zdenek ran also Coverity on libcupsfilters ([PR](https://github.com/OpenPrinting/libcupsfilters/pull/11)) and libppd ([PR](https://github.com/OpenPrinting/libppd/pull/9)), discovering several bugs (memory leaks, possible buffer overflows, ...) and fixed those. This fixes are available in the [forth beta](/libcupsfilters-and-libppd-Second-Generation-Forth-Beta-Release) now. Thank you very much, Zdenek for all this amazing work! @@ -155,7 +155,7 @@ Ubuntu 23.04 (Lunar Lobster) will most probably come with CUPS 2.4.2, perhaps wi ## cups-filters In the course of the [integration of the new generation of cups-filters in Ubuntu](#the-new-architecture-is-going-into-ubuntu-and-red-hat) I have done two more beta releases to include general bug fixes and also fulfill requirements for Ubuntu. Also several of the bug fixes were done in cooperation with [GSoC contributor candidates](#google-summer-of-code-2023---we-are-in) to whom we have given issue reports as assignments. -**[Third beta](/cups-filters-Second-Generation-Third-Beta-Release/)** +**[Third beta](/cups-filters-Second-Generation-Third-Beta-Release)** - Monochrome PXL-XL printing (Ghostscript, output device `pxlmono`) did not work due to the `cfFilterGhostscript()` filter function using the sRGB instead of the sGray color profile, which makes Ghostscript erroring out ([commit](https://github.com/OpenPrinting/libcupsfilters/commit/81f0e79)). - As in CUPS we have also added the separated polling of the `all` and `media-col-database` attributes from driverless printers to cups-filters ([commit](https://github.com/OpenPrinting/libcupsfilters/commit/789cca62d), [issue](https://github.com/OpenPrinting/cups-filters/issues/492)) @@ -164,7 +164,7 @@ In the course of the [integration of the new generation of cups-filters in Ubunt - Removed unnecessary dependencies, especially on C++ in cups-filters and cups-browsed. Thanks, Zdenek Dohnal. - Many fixes in the build system and the source code documentation. -**[Forth beta of libcupsfilters and libppd](/libcupsfilters-and-libppd-Second-Generation-Forth-Beta-Release/)** +**[Forth beta of libcupsfilters and libppd](/libcupsfilters-and-libppd-Second-Generation-Forth-Beta-Release)** - Zdenek Dohnal from Red Hat has run all the components of the new generation of cups-filters through Coverity and found several bugs: Memory leaks, files not closed, possible string overflows, ... He fixed all these bugs in the upstream code. This assures reliability and security of all the new components, especially if being part of permanently running daemons ([PR libcupsfilters](https://github.com/OpenPrinting/libcupsfilters/pull/11), [PR libppd](https://github.com/OpenPrinting/libppd/pull/9)). Thanks a lot, Zdenek! - Updated libcupsfilters to work with the latest version of QPDF (11) as building it showed a lot of warnings about the use of deprecated functions in QPDF. Now it should be even ready for the upcoming QPDF 12. @@ -190,7 +190,7 @@ Zdenek Dohnal also [improved the privilege dropping](https://github.com/OpenPrin ## Common Print Dialog Backends -For the requirements of the [CPDB support in the GTK print dialog](#common-print-dialog-backends-support-accepted-into-gtk) Gaurav Guleria needed to do a lot of enhancements on CPDB itself, and when his merge request got accepted into GTK, CPDB 2.0b1 was already 2 months old and after that a lot of changes have been done, ending up with GTK's CPDB support [not building with any released version of CPDB](https://gitlab.gnome.org/GNOME/gtk/-/issues/5589). Therefore we have now [released version 2.0b2](/Common-Print-Dialog-Backends-Second-Generation-Second-Beta-Release/) of all the three components (cpdb-libs, cpdb-backend-cups, cpdb-backend-file) of the CPDB to allow easy building of the first CPDB-supporting GTK. +For the requirements of the [CPDB support in the GTK print dialog](#common-print-dialog-backends-support-accepted-into-gtk) Gaurav Guleria needed to do a lot of enhancements on CPDB itself, and when his merge request got accepted into GTK, CPDB 2.0b1 was already 2 months old and after that a lot of changes have been done, ending up with GTK's CPDB support [not building with any released version of CPDB](https://gitlab.gnome.org/GNOME/gtk/-/issues/5589). Therefore we have now [released version 2.0b2](/Common-Print-Dialog-Backends-Second-Generation-Second-Beta-Release) of all the three components (cpdb-libs, cpdb-backend-cups, cpdb-backend-file) of the CPDB to allow easy building of the first CPDB-supporting GTK. Features added are - **Options groups:** This allows better structuring of options in print dialogs. Common options are categorized in groups, like media, print quality, color, finishing, ... @@ -202,7 +202,7 @@ Features added are Also several bugs got corrected and work on the documentation done. And there are now three source code download formats: `*.tar.gz`, `*.tar.bz2`, and `*.tar.xz` -Shortly before Feature Freeze for Ubuntu 23.04 I have released the [third beta](/Common-Print-Dialog-Backends-Second-Generation-Third-Beta-Release/) with improvements in translation support, now having functions to load translations synchronously and asynchronously. +Shortly before Feature Freeze for Ubuntu 23.04 I have released the [third beta](/Common-Print-Dialog-Backends-Second-Generation-Third-Beta-Release) with improvements in translation support, now having functions to load translations synchronously and asynchronously. ## PAPPL Scanning Support @@ -210,6 +210,6 @@ One of our GSoC contributor candidates is preparing for working on the GSoC proj ## pappl-retrofit -I have released the [second beta](/pappl-retrofit-Second-Beta-Release/). It especially includes the systemd `*.service` file for auto-starting the [Legacy Printer Application](https://github.com/OpenPrinting/pappl-retrofit#legacy-printer-application) as system service, so that it can easily be used for making classically installed (also proprietary) printer drivers available for the CUPS Snap and for CUPS 3.x. +I have released the [second beta](/pappl-retrofit-Second-Beta-Release). It especially includes the systemd `*.service` file for auto-starting the [Legacy Printer Application](https://github.com/OpenPrinting/pappl-retrofit#legacy-printer-application) as system service, so that it can easily be used for making classically installed (also proprietary) printer drivers available for the CUPS Snap and for CUPS 3.x. As an example case for the Legacy Printer Application we can take this [bug](https://github.com/OpenPrinting/cups-filters/issues/497) where it turns out that a printer designed to be driverless does not work correctly when used as such and the manufacturer worked around the bug with their proprietary driver, defeating the original driverless design of the printer. In the end of the bug's discussion thread I discussed with Zdenek Dohnal (Red Hat) and Brian Potkin (Debian) about how to use legacy CUPS drivers with the Legacy Printer Application in the era of the New Architecture/CUPS 3.x. diff --git a/contents/post/OpenPrinting-News-February-2024.md b/contents/post/OpenPrinting-News-February-2024.md index 116101b1..0f3b4675 100644 --- a/contents/post/OpenPrinting-News-February-2024.md +++ b/contents/post/OpenPrinting-News-February-2024.md @@ -124,7 +124,7 @@ I will perhaps submit another one with an OpenPrinting subject. ## Open Source Summit and Plumbers in Vienna -If you have a look into my news posts of the 2 post-pandemic years 2022 and 2023 you see that I have been on many conferences, so I had a lot of trips, sometimes also long ones, to another continent, as for [GUADEC 2022](/OpenPrinting-News-August-2022/#guadec-2022), [Opportunity Open Source](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india)/[DebConf 2023](/OpenPrinting-News-September-2023/#debconf-2023-in-kochi-india) and the [GSoC Mentor Summit 2023](/OpenPrinting-News-October-2023/#google-summer-of-code-2023), but I also had a short 2-hour train trip to Brno for the [Linux App Summit 2023](/OpenPrinting-News-May-2023/#linux-app-summit-2023). +If you have a look into my news posts of the 2 post-pandemic years 2022 and 2023 you see that I have been on many conferences, so I had a lot of trips, sometimes also long ones, to another continent, as for [GUADEC 2022](/OpenPrinting-News-August-2022#guadec-2022), [Opportunity Open Source](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india)/[DebConf 2023](/OpenPrinting-News-September-2023#debconf-2023-in-kochi-india) and the [GSoC Mentor Summit 2023](/OpenPrinting-News-October-2023#google-summer-of-code-2023), but I also had a short 2-hour train trip to Brno for the [Linux App Summit 2023](/OpenPrinting-News-May-2023#linux-app-summit-2023). Yes, that conference was really close by, compared to all the others, but it was not really that close, as for this year's Open Source Summit Europe and Linux Plumbers it gets even closer. @@ -143,21 +143,21 @@ The Linux Foundation got accepted as mentoring organization in the 20th GSoC! So Our selection process has already started some months ago and we already got some promising candidates. If you want to participate, too, have a look at our [project ideas list](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2024-openprinting-projects). Please contact us as soon as possible and not only when Google's application time window opens (March 18 - April 2). -Please send us your resume/CV and tell us what you like to work on, either on one of the project ideas or you can also provide your own project idea. Also have a look what we are doing via the [introduction](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2024-openprinting-projects#introduction) on the project ideas list page (there are also a lot of [videos](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2024-openprinting-projects#videospodcasts)) and the links on our [About Us](/about-us/) and [News and Events](/news/) pages. +Please send us your resume/CV and tell us what you like to work on, either on one of the project ideas or you can also provide your own project idea. Also have a look what we are doing via the [introduction](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2024-openprinting-projects#introduction) on the project ideas list page (there are also a lot of [videos](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2024-openprinting-projects#videospodcasts)) and the links on our [About Us](/about-us) and [News and Events](/news) pages. A nice side effect of having the contributors working on assignments we give them is that we get several bugs fixed and smaller features implemented. -This year, the candidate **Rudra Pratap Singh** even landed an **improvement on an external project**. As I told [already last month here](/OpenPrinting-News-January-2024/#snap-automation) I gave him the assignment of applying [Snap update automation](https://ubuntu.com/blog/improving-snap-maintenance-with-automation) on the CUPS Snap and on the Printer Application Snaps. He ran into some problems with the [GitHub action provided for that by Ubuntu](https://github.com/ubuntu/desktop-snaps/) and did some improvements on it. He also made the Snap versioniung automation which I had implemented in a scriptlet in the CUPS Snap available for everyone by adding it to Ubuntu's GitHub action. **All his pull requests got accepted now!** +This year, the candidate **Rudra Pratap Singh** even landed an **improvement on an external project**. As I told [already last month here](/OpenPrinting-News-January-2024#snap-automation) I gave him the assignment of applying [Snap update automation](https://ubuntu.com/blog/improving-snap-maintenance-with-automation) on the CUPS Snap and on the Printer Application Snaps. He ran into some problems with the [GitHub action provided for that by Ubuntu](https://github.com/ubuntu/desktop-snaps/) and did some improvements on it. He also made the Snap versioniung automation which I had implemented in a scriptlet in the CUPS Snap available for everyone by adding it to Ubuntu's GitHub action. **All his pull requests got accepted now!** -**Biswadeep Purkayastha** applied as contributor already last year on CI testing for OpenPrinting but we did not get enough slots from Google to accommodate his project. So he picked up some tasks at OpenPrinting voluntarily. He attended my [Snap workshop](/OpenPrinting-News-November-2023/#snap-workshops) on the [Opportunity Open Source](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india) in Mandi, India, and I asked him, already back in October, to **snap the [CPDB backend for CUPS](https://github.com/OpenPrinting/cpdb-backend-cups/)** (see [October 2023](/OpenPrinting-News-October-2023/#cpdb-cups-backend-snap)), and he worked on that. We ran into some problems, have discussed them on [snapcraft.io](https://forum.snapcraft.io/t/snapping-cpdb-cups-backend-a-user-daemon-using-d-bus/), and he is currently working on the snappability of the code of the CPDB backend. +**Biswadeep Purkayastha** applied as contributor already last year on CI testing for OpenPrinting but we did not get enough slots from Google to accommodate his project. So he picked up some tasks at OpenPrinting voluntarily. He attended my [Snap workshop](/OpenPrinting-News-November-2023#snap-workshops) on the [Opportunity Open Source](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india) in Mandi, India, and I asked him, already back in October, to **snap the [CPDB backend for CUPS](https://github.com/OpenPrinting/cpdb-backend-cups/)** (see [October 2023](/OpenPrinting-News-October-2023#cpdb-cups-backend-snap)), and he worked on that. We ran into some problems, have discussed them on [snapcraft.io](https://forum.snapcraft.io/t/snapping-cpdb-cups-backend-a-user-daemon-using-d-bus/), and he is currently working on the snappability of the code of the CPDB backend. -When he got stuck inbetween, he also **added support for CUPS 3.x's libcups3 to libcupsfilters, libppd, and pappl-retrofit** (see also [October 2023](/OpenPrinting-News-October-2023/#libcups3-support)). +When he got stuck inbetween, he also **added support for CUPS 3.x's libcups3 to libcupsfilters, libppd, and pappl-retrofit** (see also [October 2023](/OpenPrinting-News-October-2023#libcups3-support)). **Akarshan Kapoor** did great work on **[scanning support in PAPPL](https://dev.to/kappuccino111/sandboxing-scanners-a-leap-into-the-driverless-realm-gsoc-23-report-3eci)** and he wants to continue working on it in this year's GSoC. So we have already 3 great candidates, but we need more. Unfortunately, many of those to whom we have given GitHub issues as assignments did not report back and seem to have given up. -Since [last month](/OpenPrinting-News-January-2024/#google-summer-of-code-2024) I have also **added 2 new project ideas**: +Since [last month](/OpenPrinting-News-January-2024#google-summer-of-code-2024) I have also **added 2 new project ideas**: - [Integrating C-based OpenPrinting projects in OSS-Fuzz testing](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2024-openprinting-projects#integrating_c-based_openprinting_projects_in_oss-fuzz_testing) - [Official OCI containers (Docker, ROCKs, podman, ...) of CUPS and Printer Applications](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2024-openprinting-projects#official_oci_containers_docker_rocks_podman__of_cups_and_printer_applications) @@ -168,18 +168,18 @@ Please [contact us](https://wiki.linuxfoundation.org/gsoc/google-summer-code-202 ## Printer Applications - New releases Michael Sweet has issued new feature releases of his 2 Printer Applications, the [HP Printer Application](https://github.com/michaelrsweet/hp-printer-app/) and [LPrint](https://github.com/michaelrsweet/lprint/). -[**HP Printer Application 1.3.0**](/hp-printer-app-1.3.0/) +[**HP Printer Application 1.3.0**](/hp-printer-app-1.3.0) > Adds support for snap server configuration settings and updates the builds. -[**LPrint 1.3.0**](/lprint-1.3.0/) +[**LPrint 1.3.0**](/lprint-1.3.0) > Adds a new dithering algorithm, support for new printers, support for configuration files, and fixes a number of bugs. -[**LPrint 1.3.1**](/lprint-1.3.1/) +[**LPrint 1.3.1**](/lprint-1.3.1) > Bug fix release. -Also [PAPPL](https://github.com/michaelrsweet/pappl/) got new releases, [1.4.5](/pappl-1.4.5/) and [1.4.6](/pappl-1.4.6/), both bug fix releases. +Also [PAPPL](https://github.com/michaelrsweet/pappl/) got new releases, [1.4.5](/pappl-1.4.5) and [1.4.6](/pappl-1.4.6), both bug fix releases. These releases especially remind me to update our retro-fitting Printer Applications to support the newest features of PAPPL 1.4.x, especially support for server configuration settings and configuration files. diff --git a/contents/post/OpenPrinting-News-Flash-Michael-Sweet-is-Google-Open-Source-Peer-Bonus-winner-for-CUPS.md b/contents/post/OpenPrinting-News-Flash-Michael-Sweet-is-Google-Open-Source-Peer-Bonus-winner-for-CUPS.md index 7eeb0ff9..d601b060 100644 --- a/contents/post/OpenPrinting-News-Flash-Michael-Sweet-is-Google-Open-Source-Peer-Bonus-winner-for-CUPS.md +++ b/contents/post/OpenPrinting-News-Flash-Michael-Sweet-is-Google-Open-Source-Peer-Bonus-winner-for-CUPS.md @@ -13,6 +13,6 @@ Yesterday Google has announced the winners of their and under them is **Michael Sweet** for his exceptional work with his **[CUPS](/cups/)** project. -CUPS solved a lot of problems of the former LPD/LPRng printing platforms and [quickly turned the standard](/history/) for easy printing with Linux, MacOS, and many other Posix-style operating systems. +CUPS solved a lot of problems of the former LPD/LPRng printing platforms and [quickly turned the standard](/history) for easy printing with Linux, MacOS, and many other Posix-style operating systems. Congratulations, Mike!! diff --git a/contents/post/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022.md b/contents/post/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022.md index 09cb5477..b4e47247 100644 --- a/contents/post/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022.md +++ b/contents/post/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022.md @@ -31,7 +31,7 @@ And for everyone who will actually be in Rovereto this weekend we will have a ** There I will give a [talk](https://conf.linuxappsummit.org/event/4/contributions/106/) about the **New Architecture of printing and scanning and what is important for developers of desktop applications**. -I will give a summary of the changes and tell what needs to be changed in the desktop world, the [new printer setup tool](/OpenPrinting-News-February-2022/#gui-printer-setup-tool-and-print-dialog---essential-for-user-experience), [print dialog requirements](/OpenPrinting-News-February-2022/#the-print-dialogs) and [CPDB](https://nilanjanalodh.github.io/common-print-dialog-gsoc17/), sandboxed/distribution-independent packaging, like [Snap](/OpenPrinting-News-March-2022/#how-to-snap-an-application), [Flatpak](/OpenPrinting-News-March-2022/#flatpak-and-printing), ... +I will give a summary of the changes and tell what needs to be changed in the desktop world, the [new printer setup tool](/OpenPrinting-News-February-2022#gui-printer-setup-tool-and-print-dialog---essential-for-user-experience), [print dialog requirements](/OpenPrinting-News-February-2022#the-print-dialogs) and [CPDB](https://nilanjanalodh.github.io/common-print-dialog-gsoc17/), sandboxed/distribution-independent packaging, like [Snap](/OpenPrinting-News-March-2022#how-to-snap-an-application), [Flatpak](/OpenPrinting-News-March-2022#flatpak-and-printing), ... This should help application and GUI/desktop developers to get print and scan functionality of their software just work. diff --git a/contents/post/OpenPrinting-News-Flash-Ubuntu-Indaba-and-Ghostscript-Printer-Application.md b/contents/post/OpenPrinting-News-Flash-Ubuntu-Indaba-and-Ghostscript-Printer-Application.md index b78d5213..e7defb88 100644 --- a/contents/post/OpenPrinting-News-Flash-Ubuntu-Indaba-and-Ghostscript-Printer-Application.md +++ b/contents/post/OpenPrinting-News-Flash-Ubuntu-Indaba-and-Ghostscript-Printer-Application.md @@ -14,7 +14,7 @@ A lot of new things to talk about, so I do not want tolet you wait until the Sep ## The Ubuntu Desktop Indabas and OpenPrinting - The Recording -Today's episode of the monthly Ubuntu Indabas was all about printing, with Michael Sweet (author of CUPS an PAPPL, one of the founders of IPP) and me as speakers, as announced 2 weeks ago [here in the August news](/OpenPrinting-News-August-2021/) and on the [Ubuntu Discourse](https://discourse.ubuntu.com/t/ubuntu-desktop-team-indaba-ama-august-27-2021-5pm-utc/). +Today's episode of the monthly Ubuntu Indabas was all about printing, with Michael Sweet (author of CUPS an PAPPL, one of the founders of IPP) and me as speakers, as announced 2 weeks ago [here in the August news](/OpenPrinting-News-August-2021) and on the [Ubuntu Discourse](https://discourse.ubuntu.com/t/ubuntu-desktop-team-indaba-ama-august-27-2021-5pm-utc/). The Ubuntu Indabas are live events to present features of Ubuntu Linux to the users and give them the possibilty to ask questions to the developers. diff --git a/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started.md b/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started.md index 8c7481d8..3a5eef90 100644 --- a/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started.md +++ b/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started.md @@ -11,7 +11,7 @@ excerpt: >- of print filter output, Rust support, and more ... date: '2025-06-26' --- -A lot of things happened since [my last post about this year's GSoC](/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization/). We got a lot of applications and had to make a way to find the best candidates, we needed to line up a vast amount of mentors, we needed to rank our projects mixed with other projects of the Linux Foundation to not step on anybody's toes, we needed to get around with the actual contributor slot count we got, we needed to agree on an individual coding period with each contributors and set final submission deadlines accordingly, ... A lot of things to do to get the best out of the GSoC ... +A lot of things happened since [my last post about this year's GSoC](/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization). We got a lot of applications and had to make a way to find the best candidates, we needed to line up a vast amount of mentors, we needed to rank our projects mixed with other projects of the Linux Foundation to not step on anybody's toes, we needed to get around with the actual contributor slot count we got, we needed to agree on an individual coding period with each contributors and set final submission deadlines accordingly, ... A lot of things to do to get the best out of the GSoC ... And even that we did not get as many contributor slots as we wanted to get, we are working on a wide variety of subject matters: Desktop integration of CUPS 3.x, modernizing the GTK print dialog, Rust bindings for easy printing from desktop apps written in Rust, more fuzz testing, visual analysis of print filter output for automated functional testing, not only crashes and errors, and a new web site. @@ -27,15 +27,15 @@ Subscribing/Unsubscribing [instructions](https://subspace.kernel.org/subscribing ## The selection process -Already before [the Linux Foundation got selected as a mentoring organization](/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization/) we have started to look for contributors for this year. The first candidates appeared already in 2024, and also some contributors of last year decided to do a project with OpenPrinting this year again. +Already before [the Linux Foundation got selected as a mentoring organization](/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization) we have started to look for contributors for this year. The first candidates appeared already in 2024, and also some contributors of last year decided to do a project with OpenPrinting this year again. -In total, we got a lot of people interested in being a GSoC contributor approaching us. Many had attended one of our [Opportunity Open Source](https://www.linkedin.com/company/opportunity-open-source/posts/) conferences, [2024 in the IIT Kanpur in India](/OpenPrinting-News-August-2024/#opportunity-open-source-in-iit-kanpur) and [2023 in the IIT Mandi in India](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india) and got motivated by that. +In total, we got a lot of people interested in being a GSoC contributor approaching us. Many had attended one of our [Opportunity Open Source](https://www.linkedin.com/company/opportunity-open-source/posts/) conferences, [2024 in the IIT Kanpur in India](/OpenPrinting-News-August-2024#opportunity-open-source-in-iit-kanpur) and [2023 in the IIT Mandi in India](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india) and got motivated by that. We had originally posted 16 project ideas and got more than 50 candidates, with some of them also bringing their own project ideas. By average, we had 2-3 candidates per project idea, a completely new situation for us. Before, we found more or less 1 good candidate for each posted project idea and so we assigned the ideas to the candidates and had the line-up. Now we had to select from competing candidates for the projects, especially for the fuzz-testing-related ones, the OpenPrinting port to Zephyr, the GTK print dialog modernization, and the visual analysis of print filter output. Here my special thanks to the mentors, Jiongchi Yu (TTfish) and George-Andrei Iosif for fuzz testing, Iuliana Prodan for Zephyr, Alexander Pevzner for visual analysis, and Michael Weghorn, Gaurav Guleria, Kushagra Sharma, and Mohit Verma for the GTK print dialog modernization for giving additional, subject-specific assignments and doing interviews. -Generally, we have let all new candidates read and watch videos about OpenPrinting and then let them build CUPS and do a modification in it so that it adds additional log lines to the log file. Passed that, we have assigned issue reports from our GitHub repos to them, or given them other coding-related tasks. We made exceptions on people we already knew, if they did GSoC with us already in a previous year or if they contributed to us another way, like voluntary work or participating in other mentorship programs with us, as in the [Winter of Code](/OpenPrinting-News-The-Winter-of-Code-4.0/). +Generally, we have let all new candidates read and watch videos about OpenPrinting and then let them build CUPS and do a modification in it so that it adds additional log lines to the log file. Passed that, we have assigned issue reports from our GitHub repos to them, or given them other coding-related tasks. We made exceptions on people we already knew, if they did GSoC with us already in a previous year or if they contributed to us another way, like voluntary work or participating in other mentorship programs with us, as in the [Winter of Code](/OpenPrinting-News-The-Winter-of-Code-4.0). In order to assign contributor slots to each mentoring organization, Google wants the organizations to list all worthwhile proposals and rank them: 1st place, 2nd place, ... Also each ranked proposal needs to have at least 1 mentor assigned to it. And Google also asks for having a total of 2*n mentors when ranking n contributors, but does not enforce that. Google assigns a certain number of slots to each organization, but usually less than the number of proposals they lined up. The proposals then getting accepted are the ones ranked highest. @@ -63,7 +63,7 @@ Mentors: **Mike Noe**, **Till Kamppeter**, Nicolas Fella, Zdenek Dohnal Description from proposal: > The KDE Print Manager, a critical component of the KDE desktop environment, requires updates to support the advancements introduced in CUPS 3.x. This project aims to modernize the Print Manager by enabling compatibility with CUPS 3.x while maintaining backward compatibility with CUPS 2.x. The focus will be on incorporating support for IPP (Internet Printing Protocol) print destinations, which allow users to print to driverless network printers, IPP-over-USB printers, and Printer Applications without the need for traditional CUPS queues or PPD files. -[Tarun had already volunteered](/OpenPrinting-News-June-2024/#kde-print-manager) for [this project](/OpenPrinting-News-April-2024/#kde-print-manager) for some time and is now finishing it as a GSoC project. +[Tarun had already volunteered](/OpenPrinting-News-June-2024#kde-print-manager) for [this project](/OpenPrinting-News-April-2024#kde-print-manager) for some time and is now finishing it as a GSoC project. ### Porting pyCUPS to CUPS 3.x API and implementing it in system config printer, by Soumyadeep Ghosh @@ -72,7 +72,7 @@ Mentors: **Bhavanishankar Ravindra**, **Callahan Kovacs**, Till Kamppeter, Zdene Description from proposal: > Currently, PyCups supports up to libcups 2.4.x. PyCups being written using the C extensions for Python, is very tough to maintain, and to implement new features in. Also, there is a very small scope of implementing automation for creating the python bindings of libcups. After PyCups is ported to libcups 3.x, I'll implement the same API for system-config-printer. So, that distros still shipping old libcups 2.4.x can slowly stop shipping the library. And libcups 2.4.x can be deprecated. Immensely helping the printing APIs and libraries. -[Soumyadeep](/OpenPrinting-News-August-2024/#soumyadeep-ghosh) has started his work ~2 weeks ago. He did first bindings for [libcups3](https://github.com/OpenPrinting/libcups), mentored by Bhavanishankar Ravindra (Bhavi) and Callahan Kovacs. His work you find in the "libcups3" branch of [his copy of the pycups repository](https://github.com/soumyaDghosh/pycups). +[Soumyadeep](/OpenPrinting-News-August-2024#soumyadeep-ghosh) has started his work ~2 weeks ago. He did first bindings for [libcups3](https://github.com/OpenPrinting/libcups), mentored by Bhavanishankar Ravindra (Bhavi) and Callahan Kovacs. His work you find in the "libcups3" branch of [his copy of the pycups repository](https://github.com/soumyaDghosh/pycups). ### GNOME Control Center: Finalizing the New Printing Architecture for GNOME, by Kaushik Vishwakarma @@ -103,7 +103,7 @@ Mentors: **Till Kamppeter**, Zdenek Dohnal, Pratyush Ranjan, Mohit Verma, Bhavan Description from proposal: > Currently, OpenPrinting's testing only looks for errors or crashes; it does not automatically verify the content of print or scan output. This project uses OpenCV to create an automated tool that fills this gap. By analyzing controlled test images, the tool will verify key output characteristics essential for print quality: page completeness and order, correct orientation and scaling, expected color properties, and appropriate density/sharpness. Deliverables include the verification tool designed for integration into OpenPrinting's CI pipeline, a methodology for defining suitable test images, and comprehensive documentation. This project will significantly enhance the reliability and quality assurance of open-source printing solutions. -Inspired by an [openQA BoF on the GUADEC 2024 in Denver](/OpenPrinting-News-July-2024/#guadec-2024-in-denver), where I learned how the GNOMies are testing the correct behavior of GUI applications in automated (CI, ...) tests, I came to the idea of doing the same with print filter output for automated testing of the print job processing. +Inspired by an [openQA BoF on the GUADEC 2024 in Denver](/OpenPrinting-News-July-2024#guadec-2024-in-denver), where I learned how the GNOMies are testing the correct behavior of GUI applications in automated (CI, ...) tests, I came to the idea of doing the same with print filter output for automated testing of the print job processing. Alexander Pevzner, author of [ipp-usb](https://github.com/OpenPrinting/ipp-usb) and [sane-airscan](https://github.com/alexpevzner/sane-airscan), is also working on a [behavior-accurate simulator of an IPP multi-function printer](https://github.com/OpenPrinting/go-mfp) for testing print workflows and here he also suggests visual analysis of the simulator's print output, which matched my original idea somehow and so we joined our thoughts and posted this project. diff --git a/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-Our-most-successful-one.md b/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-Our-most-successful-one.md index fce09dad..60b101ab 100644 --- a/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-Our-most-successful-one.md +++ b/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-Our-most-successful-one.md @@ -9,22 +9,22 @@ date: '2025-11-20' --- The [Google Summer of Code 2025](https://summerofcode.withgoogle.com/programs/2025/organizations/the-linux-foundation) has come to its end! And since we started participating back in 2008 this edition was the best one for us, with 11 contributors having delivered amazing work, nobody has failed this time. -What especially helped us were the Opportunity Open Source conferences (OOSC) which we are organizing in India since 2023 ([IIT Mandi](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india)) and especially [last year's one in the IIT Kanpur](/OpenPrinting-News-August-2024/#opportunity-open-source-in-iit-kanpur). Mandi helped us already to get 11 contributors for OpenPrinting last year, but last year's OOSC caused even more momentum. We got ~60 inquiries of interested candidates, let 40 write a proposal after passing our selection and onboarding process, and we finally selected 19 proposals to rank and ask slots for from the GSoC organizers. +What especially helped us were the Opportunity Open Source conferences (OOSC) which we are organizing in India since 2023 ([IIT Mandi](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india)) and especially [last year's one in the IIT Kanpur](/OpenPrinting-News-August-2024#opportunity-open-source-in-iit-kanpur). Mandi helped us already to get 11 contributors for OpenPrinting last year, but last year's OOSC caused even more momentum. We got ~60 inquiries of interested candidates, let 40 write a proposal after passing our selection and onboarding process, and we finally selected 19 proposals to rank and ask slots for from the GSoC organizers. Unfortunately, we got only 11 contributor slots, so the 11 highest ranked got our GSoC contributors. This means that after all this effort we did not get more contributors than last year, but we could for the first time select from several candidates for many of our [posted project ideas](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2025-openprinting-projects). And with this we ended up with even more excellent contributors than last year, especially nobody failed in midterm or final evaluations. They all have done all or at least most of their project work and now they are finishing off some parts or working on their code getting merged upstream. -See also the [details about our selection process](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/#the-selection-process). +See also the [details about our selection process](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started#the-selection-process). -This is the fifth post about this year's Google Summer of Code, after the [presentation of our project ideas](/OpenPrinting-News-Google-Summer-of-Code-2025-Project-Ideas-List-posted/), [the Linux Foundation being accepted as mentoring organization](/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization/), and the [first reports from the contributors](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/) and the [second reports of most contributors](/OpenPrinting-News-Google-Summer-of-Code-2025-The-amazing-work-is-going-on/). +This is the fifth post about this year's Google Summer of Code, after the [presentation of our project ideas](/OpenPrinting-News-Google-Summer-of-Code-2025-Project-Ideas-List-posted), [the Linux Foundation being accepted as mentoring organization](/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization), and the [first reports from the contributors](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started) and the [second reports of most contributors](/OpenPrinting-News-Google-Summer-of-Code-2025-The-amazing-work-is-going-on). In this post I will post new write-ups from the GSoC contributors, links to their official final reports and anything else interesting around their work. **Thanks a lot to all the contributors who brought the development of printing with FOSS forward, mentors who stepped up voluntarily for selecting the best contributors for their area, introducing and guiding them through their project work, and to the organizers of the Google Summer of Code at Google, especially Stephanie Taylor, for their tireless work on running the program.** By the way, 17 candidates have already shown their interest to get -a GSoC contributor for OpenPrinting in 2026. We are already doing the onboarding and give them assignments. So it seems that we are getting more known and especially we were also successful with the [OOSC 3.0](/OpenPrinting-News-Opportunity-Open-Source-3.0-in-the-IIT-Kanpur,-India/) this year. +a GSoC contributor for OpenPrinting in 2026. We are already doing the onboarding and give them assignments. So it seems that we are getting more known and especially we were also successful with the [OOSC 3.0](/OpenPrinting-News-Opportunity-Open-Source-3.0-in-the-IIT-Kanpur,-India) this year. **And as usual: Stay updated on Mastodon: [#OpenPrinting](https://ubuntu.social/tags/OpenPrinting) and [@till@ubuntu.social](https://ubuntu.social/@till) and (new) on LinkedIn: [@OpenPrinting](https://www.linkedin.com/company/openprinting/posts/).** @@ -37,7 +37,7 @@ Subscribing/Unsubscribing [instructions](https://subspace.kernel.org/subscribing ## The contributors and their work -And here are the links to their final reports/work products (with links to their code) and the last write-ups about their work after the [first](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/) and [second](/OpenPrinting-News-Google-Summer-of-Code-2025-The-amazing-work-is-going-on/) news post, of all our contributors. +And here are the links to their final reports/work products (with links to their code) and the last write-ups about their work after the [first](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started) and [second](/OpenPrinting-News-Google-Summer-of-Code-2025-The-amazing-work-is-going-on) news post, of all our contributors.
@@ -62,7 +62,7 @@ Tarun's feedback of his final evaluation: > > Since, I will continue to work on this even after GSOC's end. so if the PR not get reviewed before this year's GSOC end, we will still have plenty of time to fix it. -[Tarun had already volunteered](/OpenPrinting-News-June-2024/#kde-print-manager) for [this project](/OpenPrinting-News-April-2024/#kde-print-manager) for some time and is now finishing it as a GSoC project. +[Tarun had already volunteered](/OpenPrinting-News-June-2024#kde-print-manager) for [this project](/OpenPrinting-News-April-2024#kde-print-manager) for some time and is now finishing it as a GSoC project.
@@ -81,7 +81,7 @@ Soumyadeep's feedback of his final evaluation:
-[Soumyadeep](/OpenPrinting-News-August-2024/#soumyadeep-ghosh) has continued presenting his GSoC work in his blog: +[Soumyadeep](/OpenPrinting-News-August-2024#soumyadeep-ghosh) has continued presenting his GSoC work in his blog: - [GSOC: PyCups3 is intelligent?](https://soumyadghosh.github.io/website/interns/gsoc-2025/gsoc-pycups-is-intelligent/) - [GSOC: PyCups3 is Abstracting!](https://soumyadghosh.github.io/website/interns/gsoc-2025/gsoc-pycups-is-abstracting/) @@ -273,9 +273,9 @@ Yash's feedback of his final evaluation:
-If you had read the [last news post about our GSoC progress](/OpenPrinting-News-Google-Summer-of-Code-2025-The-amazing-work-is-going-on/#gtk-print-dialog-modern-dialog-with-built-in-preview-in-main-view-by-yash-kumar-kasaudhan) you are probably wondering that Yash's project has a completely different title now. +If you had read the [last news post about our GSoC progress](/OpenPrinting-News-Google-Summer-of-Code-2025-The-amazing-work-is-going-on#gtk-print-dialog-modern-dialog-with-built-in-preview-in-main-view-by-yash-kumar-kasaudhan) you are probably wondering that Yash's project has a completely different title now. -Yash was originally selected on his proposal to [modernize the UI of GTK's print dialog](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/#gtk-print-dialog-modern-dialog-with-built-in-preview-in-main-view-by-yash-kumar-kasaudhan), especially adding an embedded preview as we already have in the dialogs of +Yash was originally selected on his proposal to [modernize the UI of GTK's print dialog](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started#gtk-print-dialog-modern-dialog-with-built-in-preview-in-main-view-by-yash-kumar-kasaudhan), especially adding an embedded preview as we already have in the dialogs of LibreOffice, Mozilla (Firefox, Thunderbird), and the Chromium Browser. He also interacted with the upstream developers, starting a thread on diff --git a/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization.md b/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization.md index 70aaf6a4..7ef91e3e 100644 --- a/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization.md +++ b/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization.md @@ -13,7 +13,7 @@ Now it is official and we do not need to tell any more to any interested contrib Already near the end of 2024, well before applying as mentoring organization for 2025, even before all of our GSoC 2024 projects have been completed, we have already watched out for contributors for this year, giving them onboarding materials, first assignments, talked about our fields of work with them ... -[A month ago](/OpenPrinting-News-Google-Summer-of-Code-2025-Project-Ideas-List-posted/), before the application window for mentoring organizations opened, we published our [project ideas list](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2025-openprinting-projects). +[A month ago](/OpenPrinting-News-Google-Summer-of-Code-2025-Project-Ideas-List-posted), before the application window for mentoring organizations opened, we published our [project ideas list](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2025-openprinting-projects). This brought in another bunch of people contacting us to express that they want to get a GSoC contributor in our organization, some have even brought their own idea. diff --git a/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-The-amazing-work-is-going-on.md b/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-The-amazing-work-is-going-on.md index a2fd6c9e..1bc9f96f 100644 --- a/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-The-amazing-work-is-going-on.md +++ b/contents/post/OpenPrinting-News-Google-Summer-of-Code-2025-The-amazing-work-is-going-on.md @@ -9,7 +9,7 @@ excerpt: >- taking shape ... And we also have some volunteers! date: '2025-08-21' --- -We are well in the middle of our journey now and everybody is doing great. This is the forth post about this year's Google Summer of Code, after the [presentation of our project ideas](/OpenPrinting-News-Google-Summer-of-Code-2025-Project-Ideas-List-posted/), [the Linux Foundation being accepted as mentoring organization](/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization/), and the [first reports from the contributors](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/) we present now the second reports of most contributors. +We are well in the middle of our journey now and everybody is doing great. This is the forth post about this year's Google Summer of Code, after the [presentation of our project ideas](/OpenPrinting-News-Google-Summer-of-Code-2025-Project-Ideas-List-posted), [the Linux Foundation being accepted as mentoring organization](/OpenPrinting-News-Google-Summer-of-Code-2025-The-Linux-Foundation-is-accepted-as-mentoring-organization), and the [first reports from the contributors](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started) we present now the second reports of most contributors. In this post I will not only post write-ups of the actual GSoC contributors but also mention some valuable work contributed voluntarily. @@ -58,7 +58,7 @@ He writes: **Scanning support in PAPPL/Scanner Applications** -**Akarshan Kapoor** had worked on [scanning support in PAPPL](https://www.youtube.com/watch?v=AAeUseU35Cc) (to get [Scanner Applications](/current/#scanner-applications) for sandboxed packaging of scanner drivers) in GSoC [2023](https://dev.to/kappuccino111/sandboxing-scanners-a-leap-into-the-driverless-realm-gsoc-23-report-3eci) and [2024](https://dev.to/kappuccino111/pappl-scan-api-bridging-gsoc-2024-project-report-2hoc) and as he did already 2 GSoC with that he is not eligible as contributor any more. **Kshiitij Sharma** has stepped up as a volunteer to finish the project together with Akarshan. +**Akarshan Kapoor** had worked on [scanning support in PAPPL](https://www.youtube.com/watch?v=AAeUseU35Cc) (to get [Scanner Applications](/current#scanner-applications) for sandboxed packaging of scanner drivers) in GSoC [2023](https://dev.to/kappuccino111/sandboxing-scanners-a-leap-into-the-driverless-realm-gsoc-23-report-3eci) and [2024](https://dev.to/kappuccino111/pappl-scan-api-bridging-gsoc-2024-project-report-2hoc) and as he did already 2 GSoC with that he is not eligible as contributor any more. **Kshiitij Sharma** has stepped up as a volunteer to finish the project together with Akarshan. **PDF renderer/displayer based on PDFio** @@ -66,7 +66,7 @@ And **Uddhav Phatak**, contributor in the GSoC 2024, on [Replace QPDF by PDFio a ## The contributors and their work -And here is the second round of write-ups from our GSoC contributors. The descriptions of the projects you find in [the first round of contributor reports](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/). +And here is the second round of write-ups from our GSoC contributors. The descriptions of the projects you find in [the first round of contributor reports](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started). ### KDE Print Manager vs. CUPS 3.x, by Tarun Srivastava Mentors: **Mike Noe**, **Till Kamppeter**, Nicolas Fella, Zdenek Dohnal @@ -77,7 +77,7 @@ Mentors: **Mike Noe**, **Till Kamppeter**, Nicolas Fella, Zdenek Dohnal > > Now, we have to add the unit test for all the previous and newer functionality of printer manager for automated testing before moving ahead with CUPS related changes. -[Tarun had already volunteered](/OpenPrinting-News-June-2024/#kde-print-manager) for [this project](/OpenPrinting-News-April-2024/#kde-print-manager) for some time and is now finishing it as a GSoC project. +[Tarun had already volunteered](/OpenPrinting-News-June-2024#kde-print-manager) for [this project](/OpenPrinting-News-April-2024#kde-print-manager) for some time and is now finishing it as a GSoC project. ### Porting pyCUPS to CUPS 3.x API and implementing it in system config printer, by Soumyadeep Ghosh diff --git a/contents/post/OpenPrinting-News-January-2021.md b/contents/post/OpenPrinting-News-January-2021.md index 64c2ac4f..f8e16a2b 100644 --- a/contents/post/OpenPrinting-News-January-2021.md +++ b/contents/post/OpenPrinting-News-January-2021.md @@ -12,7 +12,7 @@ The time window for the mentoring organizations to [apply](https://summerofcode. We are still looking for project ideas to get a good number lined up before applying. -As mentioned [already in October](/OpenPrinting-News-October-2020/#google-summer-of-code-2021) student projects will only be half the time (6 weeks). So this has to be taken into account and larger projects we should consider to run under the Linux Foundation Mentoring Program instead of GSoC. +As mentioned [already in October](/OpenPrinting-News-October-2020#google-summer-of-code-2021) student projects will only be half the time (6 weeks). So this has to be taken into account and larger projects we should consider to run under the Linux Foundation Mentoring Program instead of GSoC. ## Linux Foundation Mentorship Program Our [IPP Scan LFMP project](https://mentorship.lfx.linuxfoundation.org/project/55cdb4a1-76bd-423a-ab48-3bdf1502a171) has ended, with both Abhik Chakraborty and Rishabh Arya having completed their work successfully and preparing their final reports. Their work of adding IPP Scan as a server to PAPPL is currently available in [Abhik's GitHub repository](https://github.com/Abhik1998/pappl) and Rishabh's earlier work on [sane-airscan](https://github.com/alexpevzner/sane-airscan/) in the [IPP Scan repository of sane-airscan](https://github.com/alexpevzner/sane-airscan-ipp/). diff --git a/contents/post/OpenPrinting-News-January-2022.md b/contents/post/OpenPrinting-News-January-2022.md index d9173a61..67b9c921 100644 --- a/contents/post/OpenPrinting-News-January-2022.md +++ b/contents/post/OpenPrinting-News-January-2022.md @@ -32,11 +32,11 @@ Before doing this release, the second generation of cups-filters, I still want t So I am re-posting the text here: -> With the background of [CUPS 3.x, planned to get released 2 years from now](/OpenPrinting-News-October-2021/#cups), not supporting PPD files any more and only considering driverless IPP printers, I have changed the architecture of cups-filters, converting filter executables (CUPS filters) into filter functions (library functions doing a filter's task, with standardized call scheme/interface) so that the code of the filters is preserved but they get more universally usable. +> With the background of [CUPS 3.x, planned to get released 2 years from now](/OpenPrinting-News-October-2021#cups), not supporting PPD files any more and only considering driverless IPP printers, I have changed the architecture of cups-filters, converting filter executables (CUPS filters) into filter functions (library functions doing a filter's task, with standardized call scheme/interface) so that the code of the filters is preserved but they get more universally usable. > > In addition I have created some auxiliary functions (partially filter functions by themselves) to call filter functions in a chain, feed data into a filter function through a pipe, call classic CUPS external filter/backend executable wrapped into a filter function, save data stream between chained filter function calls into a file for debugging, ... > -> Perhaps you have followed all this development [here in the news posts](/news/) or in the [GIT repository of cups-filters](https://github.com/OpenPrinting/cups-filters/commits/master). +> Perhaps you have followed all this development [here in the news posts](/news) or in the [GIT repository of cups-filters](https://github.com/OpenPrinting/cups-filters/commits/master). > > With this I was especially able to create [Printer Applications retro-fitting classic CUPS printer drivers](https://github.com/OpenPrinting/pappl-retrofit) ([Snap Store](https://snapcraft.io/search?q=OpenPrinting)), an important step to be able to switch to a PPD-less and driverless CUPS without dropping support for legacy printers. > @@ -112,7 +112,7 @@ LPrint the Printer Application for label printers, created by Michael Sweet, got So not only it gives you support for many label printer models (if your label printer is not supported, some more are supported by the [Ghostscript Printer Application](https://snapcraft.io/ghostscript-printer-app)), but it also is an example for developers who want to create their own native Printer Application. -Announcement of the [**1.1.0 release**](/lprint-1.1.0/). +Announcement of the [**1.1.0 release**](/lprint-1.1.0). ## PDFio diff --git a/contents/post/OpenPrinting-News-January-2023.md b/contents/post/OpenPrinting-News-January-2023.md index 88215573..c2f507eb 100644 --- a/contents/post/OpenPrinting-News-January-2023.md +++ b/contents/post/OpenPrinting-News-January-2023.md @@ -17,7 +17,7 @@ Is this solution the perfect solution making sure that every new printer from no To avoid such problems, the [PWG](http://www.pwg.org/) (Printer Working Group), [creator of the IPP](https://www.pwg.org/ipp/) (Internet Printing Protocol) has created a [self-certification program](https://www.pwg.org/ippeveselfcert/) for their own flavor of driverless IPP printing, [IPP Everywhere](https://www.pwg.org/ipp/everywhere.html), so that manufacturers can certify their printers, and several did. -So we have a [long list](/printers/) of printers, either listed by Apple as supporting AirPrint or certified to support IPP Everywhere, more than 8000 printers! +So we have a [long list](/printers) of printers, either listed by Apple as supporting AirPrint or certified to support IPP Everywhere, more than 8000 printers! For the printers listed as only supporting AirPrint and not IPP Everywhere we do not exactly know how Apple tests the compatibility and how Apple's operating systems exactly communicate with the printers. This can easily lead to issues like [this one](https://github.com/OpenPrinting/cups-filters/issues/492) where a printer does perfectly do AirPrint with Apple clients but has problems when the client is running Linux. Changing the way how to poll the printer's capabilities via IPP solves the problem. @@ -101,7 +101,7 @@ Thanks a lot for all this great work! ## Linux App Summit 2023 -Probably you remember the great [Linux App Summit 2022 in Rovereto, Italy](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022/). We will this year have a [Linux App Summit](https://linuxappsummit.org/) again, this time in Brno in the Czech Republic. +Probably you remember the great [Linux App Summit 2022 in Rovereto, Italy](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022). We will this year have a [Linux App Summit](https://linuxappsummit.org/) again, this time in Brno in the Czech Republic. Brno is home of a Red Hat office and so many of our free software colleagues are located there, especially those on GNOME. And they will be for sure on the LAS, making this year's edition an awesome conference. @@ -137,7 +137,7 @@ For the new component packages of cups-filters we do only a simplified MIR, as t Here I want to thank Sebastien Bacher for helping me with the preparation of the packages for the MIR requirements, especially the new ones which got introduced after my last MIR several years ago. -Another challenge was that I found an [old package named "libppd"](http://sourceforge.net/project/showfiles.php?group_id=3800&package_id=11729) which was a library providing the PPD support functionality ripped out of libcups to LPD users, via the "gpr" and "ppdfilt" utilities. It stayed unmaintained (and forgotten) for more than 20 years while [all the distros had switched to CUPS](/achievements/#getting-all-linux-distributions-to-use-cups). This package is clashing with the name of the libppd of the new generation of cups-filters. +Another challenge was that I found an [old package named "libppd"](http://sourceforge.net/project/showfiles.php?group_id=3800&package_id=11729) which was a library providing the PPD support functionality ripped out of libcups to LPD users, via the "gpr" and "ppdfilt" utilities. It stayed unmaintained (and forgotten) for more than 20 years while [all the distros had switched to CUPS](/achievements#getting-all-linux-distributions-to-use-cups). This package is clashing with the name of the libppd of the new generation of cups-filters. I discussed its removal/renaming with [Debian folks](https://lists.debian.org/debian-printing/2022/12/msg00023.html) and we settled on renaming this into "libppd-legacy" after the Debian Bookworm release. The renaming has already taken place in Debian Experimental now, where all the packages of the New Architecture will go for now until Bookworm is released. @@ -155,7 +155,7 @@ I need to later on add the separate polling of `all` and `media-col-database` al During packaging of the components in Debian packages I have found and fixed some build system and documentation bugs and also an [API bug](https://github.com/OpenPrinting/libcupsfilters/commit/389d233a) discovered during the CPDB work. -**After that I have [released the second beta](/cups-filters-Second-Generation-Second-Beta-Release/):** +**After that I have [released the second beta](/cups-filters-Second-Generation-Second-Beta-Release):** In addition to documentation and build system fixes discovered during the Debian packaging, the following changes have been done: diff --git a/contents/post/OpenPrinting-News-January-2024.md b/contents/post/OpenPrinting-News-January-2024.md index 4bfc72c2..1214d0e7 100644 --- a/contents/post/OpenPrinting-News-January-2024.md +++ b/contents/post/OpenPrinting-News-January-2024.md @@ -9,9 +9,9 @@ excerpt: >- automation, User mailing list date: '2024-01-24' --- -You probably remember the [October News](/OpenPrinting-News-October-2023/), where, based on experience of some colleagues and also based on discussions on Mastodon, I changed from recommending HP printers to Brother printers. Unfortunately, there are [many more reasons](#hp-madness) to move on from the formerly well-respected printer manufacturer, mainly their agressive enforcement of their razor-and-blades business model. +You probably remember the [October News](/OpenPrinting-News-October-2023), where, based on experience of some colleagues and also based on discussions on Mastodon, I changed from recommending HP printers to Brother printers. Unfortunately, there are [many more reasons](#hp-madness) to move on from the formerly well-respected printer manufacturer, mainly their agressive enforcement of their razor-and-blades business model. -Already before reading about all this, back on the [Ubuntu Summit 2023 in November](/OpenPrinting-News-November-2023/#ubuntu-summit-2023-in-riga) after attending [Daniel Schaefer's great talk about Framework laptops](https://www.youtube.com/watch?v=W8IAszo8SjM) and also getting a hallway demo from him, I came to the idea why Framework could not also make a modular, easily upgradeable and repairable multi-function printer and some weeks ago, [I posted this idea on their community forum](https://community.frame.work/t/framework-could-make-repairable-printers-multi-function-devices/). +Already before reading about all this, back on the [Ubuntu Summit 2023 in November](/OpenPrinting-News-November-2023#ubuntu-summit-2023-in-riga) after attending [Daniel Schaefer's great talk about Framework laptops](https://www.youtube.com/watch?v=W8IAszo8SjM) and also getting a hallway demo from him, I came to the idea why Framework could not also make a modular, easily upgradeable and repairable multi-function printer and some weeks ago, [I posted this idea on their community forum](https://community.frame.work/t/framework-could-make-repairable-printers-multi-function-devices/). I got a lot of likes, and D.H from Framework's Mainboard Developer Program gave a nice answer: @@ -96,7 +96,7 @@ Most of the sessions in the 32 rooms on the 2 days are already scheduled ... Mos **On the [Schedules page](https://fosdem.org/2024/schedule/) follow the links to the schedules of each room, full schedules for each day, in which room is which track, ...** -From [my other 4 proposals](/OpenPrinting-News-November-2023/#fosdem-2024) which I have submitted two talks are accepted and scheduled now, and another talk and a workshop got rejected. +From [my other 4 proposals](/OpenPrinting-News-November-2023#fosdem-2024) which I have submitted two talks are accepted and scheduled now, and another talk and a workshop got rejected. So here are my scheduled talks up to now: @@ -110,9 +110,9 @@ Main Track [Video](https://video.fosdem.org/2024/k1105/fosdem-2024-1930-openprinting-we-make-printing-just-work-.av1.webm), [Slides](https://fosdem.org/2024/events/attachments/fosdem-2024-1930-openprinting-we-make-printing-just-work-/slides/20807/talk-openprinting-2024_1f9Sa4r.pdf) -OpenPrinting: What it is, [how it emerged](/history/), [what we are doing](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2024-openprinting-projects#introduction), what are our challenges, what are we in need of ... +OpenPrinting: What it is, [how it emerged](/history), [what we are doing](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2024-openprinting-projects#introduction), what are our challenges, what are we in need of ... -**(Update)** I will give an overview of our organization and how we make printing just work. I will also give a short overview on the planned development on CUPS and tell about [Windows Protected Print](/OpenPrinting-News-December-2023/#new-architecture-under-windows), the way Microsoft will switch to all-IPP printing in Windows. +**(Update)** I will give an overview of our organization and how we make printing just work. I will also give a short overview on the planned development on CUPS and tell about [Windows Protected Print](/OpenPrinting-News-December-2023#new-architecture-under-windows), the way Microsoft will switch to all-IPP printing in Windows. Zdenek Dohnal, printing maintainer at RedHat, originally wanted to participate, but unfortunately, he got sick and is not able to attend FOSDEM. We all wish him that he will get better soon. diff --git a/contents/post/OpenPrinting-News-July-2021.md b/contents/post/OpenPrinting-News-July-2021.md index b4089fa3..1c2b863a 100644 --- a/contents/post/OpenPrinting-News-July-2021.md +++ b/contents/post/OpenPrinting-News-July-2021.md @@ -154,7 +154,7 @@ Note that the integration of this filter function into the retro-fit Printer App **Capturing of stderr output in the log** -Printer Applications with PAPPL have a nice logging facility and filter functions in cups-filters support this logging facility. Now I have added [capturing of stderr of the called external CUPS filter executable](https://github.com/OpenPrinting/cups-filters/commit/b15c3bf97d718096401622997ea1883c00c8280c) for logging to the [new `filterExternalCUPS()` filter function](https://github.com/OpenPrinting/cups-filters/commit/8ea2006a0) (see [last month's news](/OpenPrinting-News-June-2021/#retro-fitting-of-cups-printer-drivers-into-printer-applications)) and also [capturing of stderr of Ghostscript](https://github.com/OpenPrinting/cups-filters/commit/a52eef169142cba4d5465a08a5181f378a7bd22e) to the `ghostscript()` filter function. This way the stderr output gets correctly into the log file of the Printer Application instead of leaking into the syslog. +Printer Applications with PAPPL have a nice logging facility and filter functions in cups-filters support this logging facility. Now I have added [capturing of stderr of the called external CUPS filter executable](https://github.com/OpenPrinting/cups-filters/commit/b15c3bf97d718096401622997ea1883c00c8280c) for logging to the [new `filterExternalCUPS()` filter function](https://github.com/OpenPrinting/cups-filters/commit/8ea2006a0) (see [last month's news](/OpenPrinting-News-June-2021#retro-fitting-of-cups-printer-drivers-into-printer-applications)) and also [capturing of stderr of Ghostscript](https://github.com/OpenPrinting/cups-filters/commit/a52eef169142cba4d5465a08a5181f378a7bd22e) to the `ghostscript()` filter function. This way the stderr output gets correctly into the log file of the Printer Application instead of leaking into the syslog. ## CUPS diff --git a/contents/post/OpenPrinting-News-July-2022.md b/contents/post/OpenPrinting-News-July-2022.md index 916ecb77..36740759 100644 --- a/contents/post/OpenPrinting-News-July-2022.md +++ b/contents/post/OpenPrinting-News-July-2022.md @@ -12,15 +12,15 @@ At Canonical I got told some weeks ago that someone asked what Canonical is doin This brought us to the idea to soon post a Ubuntu Blog article and to support such an article we need more detailed information about what OpenPrinting is doing, to link it from there and also partially re-post it in the blog. -Therefore I have decided to add three articles to our static web site (not the [News and Events](/news/) blog series here): +Therefore I have decided to add three articles to our static web site (not the [News and Events](/news) blog series here): -- [How did this all begin?](/history/) -- [Our principal achievements](/achievements/) +- [How did this all begin?](/history) +- [Our principal achievements](/achievements) - What we are currently doing -The first is derived from my [blog article about how I got started with OpenPrinting](/How-did-this-all-begin/), the second one is about what we have achieved in all the time, and the third will be about what we are currently doing. The first two are already available (simply follow the links) and the third I will write soon after I an back from [GUADEC](#guadec-2022). +The first is derived from my [blog article about how I got started with OpenPrinting](/How-did-this-all-begin), the second one is about what we have achieved in all the time, and the third will be about what we are currently doing. The first two are already available (simply follow the links) and the third I will write soon after I an back from [GUADEC](#guadec-2022). -The new pages are all linked from our "[About Us](/about-us/)" page. +The new pages are all linked from our "[About Us](/about-us)" page. ## GUADEC 2022 @@ -30,7 +30,7 @@ It is the first time for me to attend a GUADEC and also the first time for me to In my [talk](https://events.gnome.org/event/77/contributions/285/) (July 21, 14:20 - 15:00 local time, Bosch Auditorium) I will spread the news about our [GSoC](#google-summer-of-code-2022) work on the "Printers" module of the GNOME Control Center and on the GTK print dialog and also introduce the GNOME Community into the New Architecture of printing and scanning (**Update:** [slides](https://events.gnome.org/event/77/contributions/285/attachments/88/187/guadec-2022-new-architecture.pdf)). -You will probably often enough find me at the Canonical booth (or better gathering table, see [last month's news](/OpenPrinting-News-June-2022/#guadec-2022)). +You will probably often enough find me at the Canonical booth (or better gathering table, see [last month's news](/OpenPrinting-News-June-2022#guadec-2022)). If you cannot make it to Guadalajara in Mexico but to Berlin, you can get to a satellite event, the [Berlin Mini-GUADEC 2022 in the C-Base](https://wiki.gnome.org/Hackfests/BerlinMiniGUADEC2022) and meet Berlin's/Europe's GNOME community and besides local sessions, hackfests, ... also have a public viewing of the complete GUADEC. And some talks of the GUADEC are even performed in Berlin and transmitted live to Mexico. This is the wonderful world of hybrid (in-person + online) conferences! @@ -105,13 +105,13 @@ Feature requests so far: The [`cups` snapd interface](https://forum.snapcraft.io/t/new-interface-cups-for-all-snaps-which-print/) is now fully working as [documented](https://forum.snapcraft.io/t/the-cups-interface/)! -The bugs we told about [last month](/OpenPrinting-News-June-2022/#cups-snap-and-snapd-printing-interface) are all fixed and appropriate CUPS Snap and snapd versions are released. Also the CUPS Snap is now auto-connecting the system's `cups-control` interface. So snappers only need to follow the instructions in the mentioned documentation to use the `cups` interface in their apps and users of applications plugging the `cups` interface can just print. +The bugs we told about [last month](/OpenPrinting-News-June-2022#cups-snap-and-snapd-printing-interface) are all fixed and appropriate CUPS Snap and snapd versions are released. Also the CUPS Snap is now auto-connecting the system's `cups-control` interface. So snappers only need to follow the instructions in the mentioned documentation to use the `cups` interface in their apps and users of applications plugging the `cups` interface can just print. -Note that there is still no further application using the `cups` interface except the [first two](/OpenPrinting-News-June-2022/#cups-snap-and-snapd-printing-interface), especially Firefox, Chromium, and LibreOffice did not switch over to it yet. +Note that there is still no further application using the `cups` interface except the [first two](/OpenPrinting-News-June-2022#cups-snap-and-snapd-printing-interface), especially Firefox, Chromium, and LibreOffice did not switch over to it yet. ## Approaching cups-filters 2.0 -Continuing the restructuring to have **libppd depend on libcupsfilters** instead of **libcupsfilters depend on libppd**, as [introduced in May](/OpenPrinting-News-May-2022/#approaching-cups-filters-20). Continuing to restructure the code to separate the siamesian twins of the filter functions and PPD file support: +Continuing the restructuring to have **libppd depend on libcupsfilters** instead of **libcupsfilters depend on libppd**, as [introduced in May](/OpenPrinting-News-May-2022#approaching-cups-filters-20). Continuing to restructure the code to separate the siamesian twins of the filter functions and PPD file support: - Made the `cfFilterRasterToPWG()`, `cfFilterPWGToRaster()`, `cfFilterGhostscript()`, `cfFilterImageToRaster()` and `cfFilterImageToPDF()` filter functions **free of PPD file support** and created appropriate `ppdFilter...()` wrapper filter functions in libppd for them. - Also had a look into the `cfFilter...ToPS()` filter functions but they will not get converted but completely moved over to libppd, **considering not only PPD files obsolete but also the PostScript format** (at least when not used in a PostScript printer driver with PPD). diff --git a/contents/post/OpenPrinting-News-July-2023.md b/contents/post/OpenPrinting-News-July-2023.md index 8ecfda28..4316381f 100644 --- a/contents/post/OpenPrinting-News-July-2023.md +++ b/contents/post/OpenPrinting-News-July-2023.md @@ -98,7 +98,7 @@ We will By a **[Call for Proposals](https://events.canonical.com/event/35/abstracts/)** (extended to August 14) we hope to get even more contributions. -And for the attendees getting some real-life experience we are running this year’s OpenPrinting Roadmap Sprint (like our micro-conferences on Linux Plumbers: [2019](/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2019/), [2020](/OpenPrinting-News-September-2020/#openprinting-microconference-on-linux-plumbers-conference-2020), [2021](/OpenPrinting-News-October-2021/#openprinting-micro-conference-on-the-linux-plumbers-2021), [2022](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022)) on the conference and attendees can participate in the discussion and planning of the next 12 months in printing and scanning. +And for the attendees getting some real-life experience we are running this year’s OpenPrinting Roadmap Sprint (like our micro-conferences on Linux Plumbers: [2019](/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2019), [2020](/OpenPrinting-News-September-2020#openprinting-microconference-on-linux-plumbers-conference-2020), [2021](/OpenPrinting-News-October-2021#openprinting-micro-conference-on-the-linux-plumbers-2021), [2022](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022)) on the conference and attendees can participate in the discussion and planning of the next 12 months in printing and scanning. We will also live-stream and record everything and allow remote participation. @@ -175,7 +175,7 @@ First, do not rush out to grab Ubuntu 23.10 (Mantic Minotaur) and install it for I worked together with Sebastien Bacher, leader of the distro squad in the Canonical Desktop Team. He told me what is needed for the installation image inclusion ("seeding") of my Snaps and I told him which Snaps have to get seeded and which Debian packages removed, and finally he switched over and current daily ISOs use the CUPS Snap as their printing system. -The [Snaps](https://snapcraft.io/publisher/openprinting) being all migrated to `core22` (Ubuntu 22.04 LTS) as base distro and all their components updated to the newest upstream versions already [last month](/OpenPrinting-News-June-2023/#snap-updates) I now had to give them version numbers nad release all of them on the "stable" channel in the Snap Store. +The [Snaps](https://snapcraft.io/publisher/openprinting) being all migrated to `core22` (Ubuntu 22.04 LTS) as base distro and all their components updated to the newest upstream versions already [last month](/OpenPrinting-News-June-2023#snap-updates) I now had to give them version numbers nad release all of them on the "stable" channel in the Snap Store. CUPS is already versioned, by CUPS' upstream version number plus a package release number, similar to the (classic) packages of Linux distributions. The upstream version number is taken from the metadata of the GIT snapshot of the CUPS upstream code loaded. The correct GIT snapshot is selected via the release tag (`source-tag:` in `snapcraft.yaml`). This method is already a preparation for future automation of [updating the CUPS Snap triggered by a new upstream release of CUPS via GutHub workflow](https://ubuntu.com/blog/improving-snap-maintenance-with-automation). diff --git a/contents/post/OpenPrinting-News-July-2024.md b/contents/post/OpenPrinting-News-July-2024.md index 1d8c531e..242eab04 100644 --- a/contents/post/OpenPrinting-News-July-2024.md +++ b/contents/post/OpenPrinting-News-July-2024.md @@ -12,7 +12,7 @@ date: '2024-08-03' --- This month I will start with a very important warning: -Some months ago I talked here about [HP's crazinesses to lock their users into expensive original ink](/OpenPrinting-News-January-2024/#hp-madness) and that following reported user experience I [recommended to buy Brother printers](/OpenPrinting-News-October-2023/) instead of HP. +Some months ago I talked here about [HP's crazinesses to lock their users into expensive original ink](/OpenPrinting-News-January-2024#hp-madness) and that following reported user experience I [recommended to buy Brother printers](/OpenPrinting-News-October-2023) instead of HP. I also told that typical modern printers, also cheap ones, are driverless IPP (AirPrint, Mopria, IPP Everywhere, Wi-Fi Direct Print) nowadays. @@ -20,9 +20,9 @@ But unfortunately, there are still exceptions: There is the ultra-cheap USB-only Solomon Peachy (Gutenprint) answers that inside printers the print engine and the networking engine are separate parts and the IPP support comes from the networking engine, and so IPP-over-USB is usually only available in network printers and not in USB-only printers. -**All-in-all one should really check whether a printer supports driverless IPP protocols like AirPrint or Mopria, according to what is written on the box, and [what most printers do](/printers/), fortunately.** +**All-in-all one should really check whether a printer supports driverless IPP protocols like AirPrint or Mopria, according to what is written on the box, and [what most printers do](/printers), fortunately.** -**And to make it even easier we have now a button to get to our [driverless printer list](/printers/) right in the banner of our [home page](/).** +**And to make it even easier we have now a button to get to our [driverless printer list](/printers) right in the banner of our [home page](/).** By the way, **HP has withdrawn from one of their madnesses**. They were selling cheaper versions of several laser printers with an "e" added to the end of the model name and users of those printers were **required** to join HP+ and to keep the printer always connected to the internet. These models [are now discontinued](https://www-druckerchannel-de.translate.goog/artikel.php?ID=5023&t=hp_laserjet_drucker&_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp) and only the somewhat more expensive versions without "e" but full liberty continue to be available. But existing "e" models continue to require HP+. @@ -165,7 +165,7 @@ With the workshop I got featured speaker on the [front page](https://2024.ubucon [Full schedules](https://events.canonical.com/event/47/timetable/#all) -I will also meet Soumyadeep Ghosh from the Snapcrafters and present Snap with him at his booth and also work with him on the plans for the Snapcrafters booth and workshops on the [Ubuntu Summit](/OpenPrinting-News-June-2024/#ubuntu-summit-2024-in-the-hague). +I will also meet Soumyadeep Ghosh from the Snapcrafters and present Snap with him at his booth and also work with him on the plans for the Snapcrafters booth and workshops on the [Ubuntu Summit](/OpenPrinting-News-June-2024#ubuntu-summit-2024-in-the-hague). ## Google Summer of Code 2024 diff --git a/contents/post/OpenPrinting-News-June-2020.md b/contents/post/OpenPrinting-News-June-2020.md index 4377b8c1..55d1af3a 100644 --- a/contents/post/OpenPrinting-News-June-2020.md +++ b/contents/post/OpenPrinting-News-June-2020.md @@ -8,7 +8,7 @@ excerpt: >- date: '2020-06-06' --- ## Google Summer of Code 2020 -On June 1st the coding period of this year's Google Summer of Code has started! All the 7 students (announced here [last month](/OpenPrinting-News-May-2020/)) have prepared themselves and even partially started with the coding (and first code pieces being committed to the project's repositories) and now they will all work on their projects. Some of the students are currently getting printers from us to test their work. +On June 1st the coding period of this year's Google Summer of Code has started! All the 7 students (announced here [last month](/OpenPrinting-News-May-2020)) have prepared themselves and even partially started with the coding (and first code pieces being committed to the project's repositories) and now they will all work on their projects. Some of the students are currently getting printers from us to test their work. Now in the end of each of the three months there will be evaluations which the students have to pass to get the money for the month done and stay in the program to continue their project. diff --git a/contents/post/OpenPrinting-News-June-2022.md b/contents/post/OpenPrinting-News-June-2022.md index 33964737..288c2e36 100644 --- a/contents/post/OpenPrinting-News-June-2022.md +++ b/contents/post/OpenPrinting-News-June-2022.md @@ -18,13 +18,13 @@ The conference also initiated some interesting discussion with Alexander Pevzner ## GUADEC 2022 -As already mentioned here [last month](/OpenPrinting-News-May-2022/#guadec-2022) I will be on the [GUADEC](https://events.gnome.org/event/77/) (GNOME developer conference) this year which will take place on July 20-25 in Guadalajara in Mexico. +As already mentioned here [last month](/OpenPrinting-News-May-2022#guadec-2022) I will be on the [GUADEC](https://events.gnome.org/event/77/) (GNOME developer conference) this year which will take place on July 20-25 in Guadalajara in Mexico. -I will not only give my [talk](https://events.gnome.org/event/77/contributions/285/) about the New Architecture of printing and scanning for GNOME developers (July 21, 14:20 - 15:00 local time, Bosch Auditorium), but also come with my colleagues from Canonical, similar as on the [LAS 2022](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022/) ([video](https://www.youtube.com/watch?v=CBPefa0Ckq8&t=15480s)). +I will not only give my [talk](https://events.gnome.org/event/77/contributions/285/) about the New Architecture of printing and scanning for GNOME developers (July 21, 14:20 - 15:00 local time, Bosch Auditorium), but also come with my colleagues from Canonical, similar as on the [LAS 2022](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022) ([video](https://www.youtube.com/watch?v=CBPefa0Ckq8&t=15480s)). As of now the Canonical Gang will be me, Heather Ellsworth, Britt Yazel, Marco Trevisan, and Nathan Pratta Teodosio. -Heather will give a lightning talk about the Linux Application Summit 2023 showing how to submit a proposal if one wants to host the event. I hope this will help to have another great LAS as we had [this year](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022/). It will take place most probably on July 22, somewhere between 14:25 and 15:05 local time in the Bosch Auditorium. +Heather will give a lightning talk about the Linux Application Summit 2023 showing how to submit a proposal if one wants to host the event. I hope this will help to have another great LAS as we had [this year](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022). It will take place most probably on July 22, somewhere between 14:25 and 15:05 local time in the Bosch Auditorium. We will also have a Canonical booth. But do not think about at the GUADEC booths being these sales/marketing people in neatly tucked-in company polo shirts, no, on GUADEC booths you will encounter developers there, of the different companies and projects participating. The booths are just tables to sit around them and chat. This makes it much easier to find people for fruitful hallway sessions. @@ -74,7 +74,7 @@ The official coding period starts today and it seems also that the end-semester ### GNOME Control Center - The new "Printers" module -I had intense e-mail discussion with the upstream maintainer of the G-C-C "Printers" module, Marek Kasik from Red Hat, and also with Michael Sweet. I got a first answer from Marek Kasik about the original idea of [replacing the module by one for the New Architecture](/OpenPrinting-News-February-2022/#printer-setup-tool). He suggests a different solution, instead of replacing the module adding the functionality needed for the New Architecture to the current module making it supporting both old and new. CUPS 2.x already supports most features of the New Architecture (printers as IPP service, Printer Applications) and with CUPS 3.x old-style items (like PPD/driver-based queues) simply will not show. I agreed with that. +I had intense e-mail discussion with the upstream maintainer of the G-C-C "Printers" module, Marek Kasik from Red Hat, and also with Michael Sweet. I got a first answer from Marek Kasik about the original idea of [replacing the module by one for the New Architecture](/OpenPrinting-News-February-2022#printer-setup-tool). He suggests a different solution, instead of replacing the module adding the functionality needed for the New Architecture to the current module making it supporting both old and new. CUPS 2.x already supports most features of the New Architecture (printers as IPP service, Printer Applications) and with CUPS 3.x old-style items (like PPD/driver-based queues) simply will not show. I agreed with that. I asked Michael Sweet several questions about how to handle managing printers via pure IPP and he helped a lot. Then finally Marek posted 3 feature requests describing the needed work on the upstream GitLab: @@ -94,14 +94,14 @@ On classic queues we will get the same operations as we already have: Set option The "Add Printer" part (to be worked on by Mohit Verma) will also support both the current way and the New Architecture. As long as the underlying CUPS supports it, both classic queues with drivers or Printer Applications can get installed for a discovered printer. As long as classic drivers are still available (CUPS 2.x, not the [CUPS Snap](https://snapcraft.io/cups)) it will be possible to choose. -[Internet search](/OpenPrinting-News-November-2021/#printer-querying-on-the-openprinting-web-server) for OS-distribution-independent packages of Printer Applications will get included as originally planned. Initial tests of installing Printer Application Snaps on the OpenPrinting web server were already performed. Thanks Violet Kurtz from OSUOSL! +[Internet search](/OpenPrinting-News-November-2021#printer-querying-on-the-openprinting-web-server) for OS-distribution-independent packages of Printer Applications will get included as originally planned. Initial tests of installing Printer Application Snaps on the OpenPrinting web server were already performed. Thanks Violet Kurtz from OSUOSL! There will be no "Printers & Scanners" module, due to the very different nature of print, scan, and fax operations for the user we will continue with a "Printers" module. Faxes would be shown on a seperate panel, but the code of the "Printers" module could be shared here. ### Scan support for PAPPL Two GSoC contributors (Rishabh Maheshwari and Deepak Khatri) will continue where [Bhavna Kosta](https://github.com/Bhavna2020/GSoC-2021) has left off in GSoC 2021: They will add scanning support to PAPPL. This will allow complete suppport for multi-function devices (they get really common nowadays, practically the standard form for paper-processing peripherals) and also with Scanner Applications generally a way to provide scanner drivers in OS-distribution-independent packages. -Originally, Rishabh's main part was to make PAPPL accepting and processing eSCL scan jobs and Deepak's main part to do the same for IPP Scan jobs, but it turned out that IPP Scan got a still birth. It is a nicely worked out standard, also IPP as our printing standard, but no one in the hardware industry adopted it, eSCL won as driverless scanning de-facto industry standard, its specs got also [published by Mopria](/OpenPrinting-News-May-2021/#driverless-scanning), it works also under IPP-over-USB (not being IPP though), so we go eSCL-only in PAPPL. +Originally, Rishabh's main part was to make PAPPL accepting and processing eSCL scan jobs and Deepak's main part to do the same for IPP Scan jobs, but it turned out that IPP Scan got a still birth. It is a nicely worked out standard, also IPP as our printing standard, but no one in the hardware industry adopted it, eSCL won as driverless scanning de-facto industry standard, its specs got also [published by Mopria](/OpenPrinting-News-May-2021#driverless-scanning), it works also under IPP-over-USB (not being IPP though), so we go eSCL-only in PAPPL. This means that we are currently re-organizing and re-defining the projects of our two contributors, to get a great eSCL-based driverless scanning support in PAPPL. @@ -140,7 +140,7 @@ To assure that the CUPS Snap works correctly with the current cups-filters 2.x, ## Approaching cups-filters 2.0 -Continuing the restructuring to have **libppd depend on libcupsfilters** instead of **libcupsfilters depend on libppd**, as [introduced last month](/OpenPrinting-News-May-2022/#approaching-cups-filters-20). Continuing to restructure the code to separate the siamesian twins of the filter functions and PPD file support. +Continuing the restructuring to have **libppd depend on libcupsfilters** instead of **libcupsfilters depend on libppd**, as [introduced last month](/OpenPrinting-News-May-2022#approaching-cups-filters-20). Continuing to restructure the code to separate the siamesian twins of the filter functions and PPD file support. After having made the `cfFilterPDFToPDF()` filter function free of PPD file support I have done the same now also for the `cfFilterPDFToRaster()` filter function, the Poppler-based PDF rasterizer. The `ppdFilterPDFToRaster()` wrapper filter function now adds PPD file support to that. @@ -172,7 +172,7 @@ For those who are printing JPEG images shot with digital cameras directly to a P ## ipp-usb: Solution for non-driverless IPP-over-USB-reporting printers -As a follow-up of the discussion about printers with a 7/1/4 USB interface but not doing driverless IPP via IPP-over-USB on this interface (see [last month](/OpenPrinting-News-May-2022/#ipp-usb-printer-does-ipp-over-usb-but-not-driverless-ipp-and-driver-vs-driverless)), Alexander Pevzner has found a solution for ipp-usb not blocking classic access to these printers. He simply lets the ipp-usb daemon disconnect as soon as the access to the device during the preparation of the daemon fails. See [Issue #52](https://github.com/OpenPrinting/ipp-usb/issues/52). Thanks, Alex, for this. +As a follow-up of the discussion about printers with a 7/1/4 USB interface but not doing driverless IPP via IPP-over-USB on this interface (see [last month](/OpenPrinting-News-May-2022#ipp-usb-printer-does-ipp-over-usb-but-not-driverless-ipp-and-driver-vs-driverless)), Alexander Pevzner has found a solution for ipp-usb not blocking classic access to these printers. He simply lets the ipp-usb daemon disconnect as soon as the access to the device during the preparation of the daemon fails. See [Issue #52](https://github.com/OpenPrinting/ipp-usb/issues/52). Thanks, Alex, for this. ## Snap Store Overview diff --git a/contents/post/OpenPrinting-News-June-2023.md b/contents/post/OpenPrinting-News-June-2023.md index 677bf2b0..1c18bbea 100644 --- a/contents/post/OpenPrinting-News-June-2023.md +++ b/contents/post/OpenPrinting-News-June-2023.md @@ -9,7 +9,7 @@ excerpt: >- cups-filters 2.0rc2, Snap updates, Test the CUPS Snap! date: '2023-06-29' --- -Perhaps one or another of you remembers that in [last month's news](/OpenPrinting-News-May-2023/) I have announced that I want to switch Ubuntu 23.10 (Mantic Minotaur) from the CUPS packages in Debian format to the CUPS Snap as its printing environment and correspondingly to Printer Applications instead of classic CUPS printer drivers. +Perhaps one or another of you remembers that in [last month's news](/OpenPrinting-News-May-2023) I have announced that I want to switch Ubuntu 23.10 (Mantic Minotaur) from the CUPS packages in Debian format to the CUPS Snap as its printing environment and correspondingly to Printer Applications instead of classic CUPS printer drivers. And this announcement had a high impact, opened a downright can of worms ... @@ -29,7 +29,7 @@ All files needed for that are available in a [GitHub repository](https://github. We have also progress in many other OpenPrinting projects thanks to our Google Summer of Code contributors, they [tell us what they have done](#google-summer-of-code-2023) since our previous news post. -And Canonical's security team liked my [GitHub security bug tutorial](/OpenPrinting-News-May-2023/#handling-reported-security-bugs-with-github) from last month. It made it into their [Ubuntu Security podcast](https://ubuntusecuritypodcast.org/episode-197/)! But note, the first, near 20 min of the podcast is a, for many people rather boring, list of all security fixes which got done in that week. The part about our tutorial starts at 19:33 min into the podcast. +And Canonical's security team liked my [GitHub security bug tutorial](/OpenPrinting-News-May-2023#handling-reported-security-bugs-with-github) from last month. It made it into their [Ubuntu Security podcast](https://ubuntusecuritypodcast.org/episode-197/)! But note, the first, near 20 min of the podcast is a, for many people rather boring, list of all security fixes which got done in that week. The part about our tutorial starts at 19:33 min into the podcast. ## GUADEC 2023 in Riga @@ -144,7 +144,7 @@ Looong, looong ago ... we had the [release of CUPS 2.4.2](https://github.com/Ope But finally, we have a new release. One? No, even 4 in quick sequence, as probably during the enthusiasm of releasing again, some glitches got overlooked and in addition, another security bug got reported. -So we are at [CUPS 2.4.6](https://github.com/OpenPrinting/cups/releases/tag/v2.4.6) now, providing us with tons of bug fixes and among them also two security fixes, and both handled with [GitHubs security vulnerability report functionality](/OpenPrinting-News-May-2023/#handling-reported-security-bugs-with-github). +So we are at [CUPS 2.4.6](https://github.com/OpenPrinting/cups/releases/tag/v2.4.6) now, providing us with tons of bug fixes and among them also two security fixes, and both handled with [GitHubs security vulnerability report functionality](/OpenPrinting-News-May-2023#handling-reported-security-bugs-with-github). Highlights of release [2.4.3](https://github.com/OpenPrinting/cups/releases/tag/v2.4.3) were my [pull request](https://github.com/OpenPrinting/cups/pull/599) for polling the `media-col-database` IPP attribute separately if needed when doing a `get-printer-attributes` IPP request to get the printer's capabilities, and the fix for security vulnerability [CVE-2023-32324](https://github.com/OpenPrinting/cups/security/advisories/GHSA-cxc6-w2g7-69p7), a possible heap buffer overflow in `_cups_strlcpy()`. @@ -160,19 +160,19 @@ I hope we will be able to return to more healthy bug fix release intervals now. ## Approaching final release of cups-filters 2.0.0 -Good News! All the bugs I mentioned here [last month](/OpenPrinting-News-May-2023/#approaching-final-release-of-cups-filters-200) are fixed now and appropriate Stable Release Updates (SRUs) are released to Ubuntu 23.04 Lunar Lobster. +Good News! All the bugs I mentioned here [last month](/OpenPrinting-News-May-2023#approaching-final-release-of-cups-filters-200) are fixed now and appropriate Stable Release Updates (SRUs) are released to Ubuntu 23.04 Lunar Lobster. -Also a fix resulting from testing the [fully updated CUPS Snap](#snap-updates) are included, and the fix for [our first security vulnerability report](/cups-filters-Second-Generation-Release-Candidate-2/#first-vulnerability-report). +Also a fix resulting from testing the [fully updated CUPS Snap](#snap-updates) are included, and the fix for [our first security vulnerability report](/cups-filters-Second-Generation-Release-Candidate-2#first-vulnerability-report). -But I did not yet do the final release and did a [second release candidate](/cups-filters-Second-Generation-Release-Candidate-2/) first, as I have synced the libppd code with the PPD file support code of current CUPS. The PPD support code of CUPS got spun out for starting libppd three years ago and after that there happened many changes not being synced during all this time, and therefore there should be a little more time for testing. +But I did not yet do the final release and did a [second release candidate](/cups-filters-Second-Generation-Release-Candidate-2) first, as I have synced the libppd code with the PPD file support code of current CUPS. The PPD support code of CUPS got spun out for starting libppd three years ago and after that there happened many changes not being synced during all this time, and therefore there should be a little more time for testing. -Here are some highlights of the work on our [second release candidate](/cups-filters-Second-Generation-Release-Candidate-2/): +Here are some highlights of the work on our [second release candidate](/cups-filters-Second-Generation-Release-Candidate-2): -- [cups-browsed 100% CPU!](/cups-filters-Second-Generation-Release-Candidate-2/#cups-browsed-100-cpu) -- [The Unsupported Resolution Attack!!](/cups-filters-Second-Generation-Release-Candidate-2/#the-unsupported-resolution-attack) -- [All-Snap Ubuntu Desktop](/cups-filters-Second-Generation-Release-Candidate-2/#all-snap-ubuntu-desktop) -- [libppd sync-up with CUPS](/cups-filters-Second-Generation-Release-Candidate-2/#libppd-sync-up-with-cups) -- [First Vulnerability Report](/cups-filters-Second-Generation-Release-Candidate-2/#first-vulnerability-report) +- [cups-browsed 100% CPU!](/cups-filters-Second-Generation-Release-Candidate-2#cups-browsed-100-cpu) +- [The Unsupported Resolution Attack!!](/cups-filters-Second-Generation-Release-Candidate-2#the-unsupported-resolution-attack) +- [All-Snap Ubuntu Desktop](/cups-filters-Second-Generation-Release-Candidate-2#all-snap-ubuntu-desktop) +- [libppd sync-up with CUPS](/cups-filters-Second-Generation-Release-Candidate-2#libppd-sync-up-with-cups) +- [First Vulnerability Report](/cups-filters-Second-Generation-Release-Candidate-2#first-vulnerability-report) If nothing severe happens, I will release cups-filters 2.0.0 final in a few weeks, so that perhaps we can celebrate it on the [GUADEC](#guadec-2023-in-riga) ... @@ -334,7 +334,7 @@ to see which jobs are currently in the queue. Now you have done basic tests of the CUPS Snap, you can try all of CUPS' command line utilities. If you want to try the utilities which are provided by the Snap, call them via `cups.` followed by the command name, like `cups.lpstat -v`. Use these command line utilities also if the "normal" ones fail in some way. -Next step is the desktop. Follow my first call for testing, for the desktop libraries and applications which are already updated for the New Architecture, from my PPA. Simply go to [my call for testing for the GUI changes in the May News](/OpenPrinting-News-May-2023/#test-the-gui-changes-for-the-new-architecture) and follow the instructions there, but do it on your system where you are using the CUPS Snap instead of the standard Debian/Ubuntu CUPS packages. +Next step is the desktop. Follow my first call for testing, for the desktop libraries and applications which are already updated for the New Architecture, from my PPA. Simply go to [my call for testing for the GUI changes in the May News](/OpenPrinting-News-May-2023#test-the-gui-changes-for-the-new-architecture) and follow the instructions there, but do it on your system where you are using the CUPS Snap instead of the standard Debian/Ubuntu CUPS packages. ### Ubuntu Core (immutable) Another test case is [Ubuntu Core](https://ubuntu.com/core), an immutable distribution for IoT and servers. This one is Snap-only. Any change or application installation can only be done by means of Snaps. diff --git a/contents/post/OpenPrinting-News-June-2024.md b/contents/post/OpenPrinting-News-June-2024.md index 22e327f2..9ebfa48f 100644 --- a/contents/post/OpenPrinting-News-June-2024.md +++ b/contents/post/OpenPrinting-News-June-2024.md @@ -48,7 +48,7 @@ Subscribing/Unsubscribing [instructions](https://subspace.kernel.org/subscribing ## Most hated gets loved under Linux -Remember when I wrote earlier here about [**HP's madnesses**](/OpenPrinting-News-January-2024/#hp-madness) related to there razor-and-blades business model and how they try to enforce it? +Remember when I wrote earlier here about [**HP's madnesses**](/OpenPrinting-News-January-2024#hp-madness) related to there razor-and-blades business model and how they try to enforce it? I got hold on one of these cheapo inkjets from HP now, the **HP Envy 6000**. I did not buy it, I would never do, I got it as a gift from a person who is moving to overseas. It is one of the **Wi-Fi-only species** with a sticker put over its USB port, saying Wi-Fi-only. They want the user to install their software to set it up for the user's Wi-Fi SSID and password (it has also no front panel menus and no WPS support). And this software is pitching the ink subscriptions and trying to update the firmware so that the printer rejects 3rd-party cartridges. @@ -66,7 +66,7 @@ But under Linux, in free software, hardware drivers are conserved for many years This idea was presented on [Hackaday](https://hackaday.com/2024/06/13/raspberry-pi-saves-printer-from-junk-pile/): A Canon PIXMA MP250 (released 2009) got the death sentence for Windows 11 by Microsoft or Canon but can be used under Linux with the Gutenprint driver. So a Raspberry Pi was used to run CUPS with Gutenprint and the printer shared to the network, appearing as modern, driverless IPP printer under Windows ... The original author wrote a [HOWTO](https://ounapuu.ee/posts/2024/06/12/save-old-printer/). -But we have already shown here that this also works without any additional print server hardware, at least for Windows 10 and newer, just running Linux under WSL. And also, with or without extra hardware, one does not even need CUPS but can simply use Printer Applications instead, as shown in our [HOWTO](/wsl-printer-app/), and also on the [Ubuntu Summit 2022](/OpenPrinting-News-November-2022/#and-the-conference-finally-started-), which got [well accepted](/OpenPrinting-News-December-2022/#blogs-and-articles). +But we have already shown here that this also works without any additional print server hardware, at least for Windows 10 and newer, just running Linux under WSL. And also, with or without extra hardware, one does not even need CUPS but can simply use Printer Applications instead, as shown in our [HOWTO](/wsl-printer-app), and also on the [Ubuntu Summit 2022](/OpenPrinting-News-November-2022#and-the-conference-finally-started-), which got [well accepted](/OpenPrinting-News-December-2022#blogs-and-articles). There is a long list of comments on Hackaday and [I have commented, too](https://hackaday.com/2024/06/13/raspberry-pi-saves-printer-from-junk-pile/#comment-6767443), telling about the WSL-based solution and also that a Pi cannot only mimick a driverless network printer but also a driverless USB (USB-over-IPP), thanks to PAPPL. @@ -78,7 +78,7 @@ I have posted the link to our HOWTO for saving old printers with the help of WSL ## Opportunity Open Source in IIT Kanpur Now we have confirmed it! **The [second Opportunity Open Source](https://events.canonical.com/event/89/) will be held in the Indian Institute of Technology Kanpur, on August 24-26**, the weekend before [UbuCon Asia in Jaipur](https://2024.ubucon.asia/)! We already had some contributors from there, like Shivam Mishra, Mohit Mohan, Pratyush Ranjan, Vikrant Malik, Tanmay Anand, ... -We also got a lot of support. Shivam Mishra, former GSoC contributor for us, made the suggestion to do it in Kanpur and already told us that IIT Kanpur is larger than Mandi and has more ease to travel to from other cities, like Delhi, as alredy told here [earlier](/OpenPrinting-News-March-2024/#opportunity-open-source---2nd-edition). And as we started working it out, Pratham Sahu has taken the lead in the on-location organization and built up a nice volunteer team. He even interviewed several candidates to fill volunteer roles. +We also got a lot of support. Shivam Mishra, former GSoC contributor for us, made the suggestion to do it in Kanpur and already told us that IIT Kanpur is larger than Mandi and has more ease to travel to from other cities, like Delhi, as alredy told here [earlier](/OpenPrinting-News-March-2024#opportunity-open-source---2nd-edition). And as we started working it out, Pratham Sahu has taken the lead in the on-location organization and built up a nice volunteer team. He even interviewed several candidates to fill volunteer roles. In contrary to Mandi, the local organizers are also looking for (local) sponsors, to support us financially for things like speaker accommodation and meals, banners, backdrops, conference-specific swag, ... We also do not need to worry about A/V, as this will all get managed for us by the local organizers. @@ -98,7 +98,7 @@ Jiongchi Yu, GSoC contributor for OSS Fuzz testing of OpenPrinting components, a ## UbuCon Asia 2024 in India -As I already told [last month](/OpenPrinting-News-May-2024/#ubucon-asia-2024-in-india) I will be in [Jaipur](https://2024.ubucon.asia/) the weekend after the Opportunity Open Source, Aug 31 - Sep 2 (Sat - Mon), and give a talk and a workshop about Snap. +As I already told [last month](/OpenPrinting-News-May-2024#ubucon-asia-2024-in-india) I will be in [Jaipur](https://2024.ubucon.asia/) the weekend after the Opportunity Open Source, Aug 31 - Sep 2 (Sat - Mon), and give a talk and a workshop about Snap. On the [front page of the event](https://2024.ubucon.asia/) there are 6 featured speakers, the keynote speakers Bhavanishankar Ravindra, Khairul Aizat Kamarudzzaman, and Varshi Gupta, and also Rudra Saraswat (Ubuntu Unity, blendOS, Iona), Buo-Ren Lin (Snap, L10n), and ... @@ -106,7 +106,7 @@ On the [front page of the event](https://2024.ubucon.asia/) there are 6 featured ## Open Source Summit in Vienna -As I already mentioned here in [February](/OpenPrinting-News-February-2024/#open-source-summit-and-plumbers-in-vienna) this year's [Open Source Summit Europe](https://events.linuxfoundation.org/open-source-summit-europe/) will take place in Vienna (on Sep 16-18). +As I already mentioned here in [February](/OpenPrinting-News-February-2024#open-source-summit-and-plumbers-in-vienna) this year's [Open Source Summit Europe](https://events.linuxfoundation.org/open-source-summit-europe/) will take place in Vienna (on Sep 16-18). And I will not just attend because it is around the corner for me, I will also give a talk: @@ -122,7 +122,7 @@ There will also be a Canonical/Ubuntu booth with several people from Canonical, ## Ubuntu Summit 2024 in The Hague -After 2 amazing Ubuntu Summit events in [2022](/OpenPrinting-News-November-2022/#the-first-ubuntu-summit-was-a-success) and [2023](/OpenPrinting-News-November-2023/#ubuntu-summit-2023-in-riga), there is only one solution: +After 2 amazing Ubuntu Summit events in [2022](/OpenPrinting-News-November-2022#the-first-ubuntu-summit-was-a-success) and [2023](/OpenPrinting-News-November-2023#ubuntu-summit-2023-in-riga), there is only one solution: **Celebrate a third one.** @@ -234,7 +234,7 @@ Here is [Uddhav's work on GitHub](https://github.com/uddhavphatak/libcupsfilters ## KDE Print Manager Good News! We found a volunteer who will work on the CUPS 3.x support in the KDE Print Manager together with KDE developer Mike Noe! -As [I told in April](/OpenPrinting-News-April-2024/#kde-print-manager) Mike Noe from KDE is working on CUPS 3.x support for KDE's printer setup tool. +As [I told in April](/OpenPrinting-News-April-2024#kde-print-manager) Mike Noe from KDE is working on CUPS 3.x support for KDE's printer setup tool. Now, well after the contributor application deadline for this year's GSoC, Tarun Srivastava, student at the Indian institute of Technology Mandi in India, showed interest in participating in OpenPrinting. He started working on a [CUPS issue](https://github.com/OpenPrinting/cups/issues/135) and after some conversation with Michael Sweet, the problem got solved. @@ -242,7 +242,7 @@ He showed more interest in OpenPrinting, reached out also to me, and then I offe Now Tarun is enthsiastically on it, talking with Mike Noe by e-mail and also discussing on our Telegram channel for the CUPS 3.x support in the GNOME Control Center, as he will have to resemble this functionality in KDE. -So seems that the first [Opportunity Open Source](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india) in Mandi was really successful ... +So seems that the first [Opportunity Open Source](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india) in Mandi was really successful ... ## Quo vadis, Gutenprint? @@ -612,7 +612,7 @@ Solomon: ## CPDB 2.0b6 -After 10 months, and working currently on [snapping the CPDB backend for CUPS](/OpenPrinting-News-May-2024/#cpdb-cups-backend-snap), we are [now releasing](/Common-Print-Dialog-Backends-Second-Generation-Sixth-Beta-Release/) the sixth beta of the second generation of the Common Print Dialog Backends (CPDB). +After 10 months, and working currently on [snapping the CPDB backend for CUPS](/OpenPrinting-News-May-2024#cpdb-cups-backend-snap), we are [now releasing](/Common-Print-Dialog-Backends-Second-Generation-Sixth-Beta-Release) the sixth beta of the second generation of the Common Print Dialog Backends (CPDB). **Changes on the CPDB libraries** @@ -626,7 +626,7 @@ Changes are - Discontinued the [`FILE` backend](https://github.com/OpenPrinting/cpdb-backend-file) - Bug fixes -This caused some API and D-Bus communication protocol changes. See the [announcement post](/Common-Print-Dialog-Backends-Second-Generation-Sixth-Beta-Release/). +This caused some API and D-Bus communication protocol changes. See the [announcement post](/Common-Print-Dialog-Backends-Second-Generation-Sixth-Beta-Release). **Changes on the CUPS Backend** diff --git a/contents/post/OpenPrinting-News-March-2021.md b/contents/post/OpenPrinting-News-March-2021.md index 3bc27ffc..45c2b52d 100644 --- a/contents/post/OpenPrinting-News-March-2021.md +++ b/contents/post/OpenPrinting-News-March-2021.md @@ -8,7 +8,7 @@ excerpt: >- date: '2021-03-05' --- ## CUPS has new home at OpenPrinting! -Due to the fact that CUPS development at Apple has stopped since the beginning of 2020 we had [forked CUPS some months ago](/OpenPrinting-News-September-2020/#cups) to incorporate patches and fixes from the distributions. As Apple did not resume the upstream work on CUPS, we have made OpenPrinting now the official upstream home for CUPS. +Due to the fact that CUPS development at Apple has stopped since the beginning of 2020 we had [forked CUPS some months ago](/OpenPrinting-News-September-2020#cups) to incorporate patches and fixes from the distributions. As Apple did not resume the upstream work on CUPS, we have made OpenPrinting now the official upstream home for CUPS. This especially means that we can now continue developing CUPS, independent of Apple. So we can add features and lead CUPS into the new architecture without PPD files and with Printer Applications. @@ -21,7 +21,7 @@ First feature additions have already happened, all Snap support which the [CUPS We have applied again for the Linux Foundation as mentoring organization, as in the previous years, for the [Google Summer of Code](https://summerofcode.withgoogle.com/). The accepted organizations will be announced by Google on Tue, March 9, 2021 ([Timeline](https://developers.google.com/open-source/gsoc/timeline)). -OpenPrinting's project ideas are [posted](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021-openprinting-projects), but further ideas are still welcome. Note that the projects are half-length this year, 175 hours instead of 350 hours (see our [October news](/OpenPrinting-News-October-2020/#google-summer-of-code-2021)). Larger projects we should run in the Linux Foundation Mentoring Program instead of in the GSoC. +OpenPrinting's project ideas are [posted](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021-openprinting-projects), but further ideas are still welcome. Note that the projects are half-length this year, 175 hours instead of 350 hours (see our [October news](/OpenPrinting-News-October-2020#google-summer-of-code-2021)). Larger projects we should run in the Linux Foundation Mentoring Program instead of in the GSoC. ## CUPS Snap **The [CUPS Snap](https://github.com/OpenPrinting/cups-snap) is in the [Snap Store](https://snapcraft.io/cups) now!** @@ -121,7 +121,7 @@ Also, having [hardware-signature-based Snap Store search](https://forum.snapcraf ## CUPS Currently released is [2.3.3op2](https://github.com/OpenPrinting/cups/releases/tag/v2.3.3op2). -[2.3.3op2](/cups-2.3.3op2/) is the last release of the 2.3.x series. To mark that CUPS upstream development is now under OpenPrinting, we start 2.4.x. +[2.3.3op2](/cups-2.3.3op2) is the last release of the 2.3.x series. To mark that CUPS upstream development is now under OpenPrinting, we start 2.4.x. Ubuntu Hirsute Hippo (21.04) will ship with CUPS 2.3.3op2, also the CUPS Snap currently uses this version. diff --git a/contents/post/OpenPrinting-News-March-2022.md b/contents/post/OpenPrinting-News-March-2022.md index 99e0ef35..41a3fabb 100644 --- a/contents/post/OpenPrinting-News-March-2022.md +++ b/contents/post/OpenPrinting-News-March-2022.md @@ -28,7 +28,7 @@ And we already have one extra project idea since last month: ## OpenPrinting web site First, we are working on a prominent note that most modern printers are driverless on our front page and an (automated?) list of available driverless IPP printers. See the discussion in [this issue report](https://github.com/OpenPrinting/openprinting.github.io/issues/138). -**Update: Michael Sweet has updated the [front page](/) now, adding a prominent hint that most modern printers are driverless and also linked a [list of driverless printers](/printers/) right from the front page. Thanks a lot, Michael.** +**Update: Michael Sweet has updated the [front page](/) now, adding a prominent hint that most modern printers are driverless and also linked a [list of driverless printers](/printers) right from the front page. Thanks a lot, Michael.** The part of the web site for looking up (legacy, non-driverless) printers and drivers (the [OpenPrinting database web app](https://github.com/OpenPrinting/foomatic-db-webapp/) has moved to a new server at Oregon State University Open Source Lab ([OSUOSL](https://osuosl.org)). As the old server did not receive a system upgrade for many years there were a lot of problems with the compatibility of the code (SQL and PHP) with the new, modern server. @@ -38,7 +38,7 @@ The UI of the web app did not change, but there are changes in the internal func Also the `query.php` script for machine queries got fixed and is fully working again. -This is especially important as we soon want to add a [query service for printer setup tools](/OpenPrinting-News-November-2021/#printer-querying-on-the-openprinting-web-server) to find the correct Printer Application(s) for a printer based on its device ID. +This is especially important as we soon want to add a [query service for printer setup tools](/OpenPrinting-News-November-2021#printer-querying-on-the-openprinting-web-server) to find the correct Printer Application(s) for a printer based on its device ID. Note that the UI still needs some updating, especially removing obsolete links. diff --git a/contents/post/OpenPrinting-News-March-2023.md b/contents/post/OpenPrinting-News-March-2023.md index 7a49fe04..58120ae6 100644 --- a/contents/post/OpenPrinting-News-March-2023.md +++ b/contents/post/OpenPrinting-News-March-2023.md @@ -29,7 +29,7 @@ But it is not such a big problem of the BoF not being accepted, we will have our ## GUADEC 2023 -After a great [first GUADEC for me in Mexico last year](/OpenPrinting-News-August-2022/#guadec-2022) I will continue attending GUADECs. This year I do not need to cross the ocean, [GUADEC](https://events.gnome.org/event/101/overview) takes place in [Riga, in Latvia](https://events.gnome.org/event/101/page/168-the-city) on July 26-31, as last year 3 days of talks, 2 days of BoFs and workshops, and 1 day of touristing. +After a great [first GUADEC for me in Mexico last year](/OpenPrinting-News-August-2022#guadec-2022) I will continue attending GUADECs. This year I do not need to cross the ocean, [GUADEC](https://events.gnome.org/event/101/overview) takes place in [Riga, in Latvia](https://events.gnome.org/event/101/page/168-the-city) on July 26-31, as last year 3 days of talks, 2 days of BoFs and workshops, and 1 day of touristing. Yesterday the Call for Proposals had its original deadline, but as there were not enough proposals to comfortably fill all the time slots the [**submissions got re-opened**](https://events.gnome.org/event/101/abstracts/), this time without showing any deadline, but [their Tweet](https://twitter.com/guadec/status/1640654976086323200) reveals that the extension is for a week, meaning that the deadline is April 4 now. @@ -47,7 +47,7 @@ Now all our candidates have decided on the project they want to do and are famil The most enthusiastic of them have already started on their projects weeks ago and worked with me and other mentors, often contributors of the previous years, on investigating of what has to be done and planning how to do it. -Especially Akarshan Kapoor who is doing the scanning support in PAPPL has started off very well with his mentors Rishabh Maheshwari ([Last year's contributor on eSCL support](/OpenPrinting-News-November-2022/#google-summer-of-code-2022)), Deepak Patankar (Mentor on PAPPL scanning also last year), and me. +Especially Akarshan Kapoor who is doing the scanning support in PAPPL has started off very well with his mentors Rishabh Maheshwari ([Last year's contributor on eSCL support](/OpenPrinting-News-November-2022#google-summer-of-code-2022)), Deepak Patankar (Mentor on PAPPL scanning also last year), and me. First, he [updated PAPPL's documentation](https://github.com/Kappuccino111/pappl/blob/53708f82a31db2a0be4f9e9a31707b141f8f727c/doc/pappl.html) with the scanning API Bhavna Kosta had added in [GSoC 2021](https://github.com/Bhavna2020/GSoC-2021). @@ -61,7 +61,7 @@ For this news post he writes: ## cups-filters 2.0b4 in Ubuntu 23.04 -As [reported last month](/OpenPrinting-News-February-2023/#the-new-architecture-is-going-into-ubuntu-and-red-hat) all new packeges which are put into the Canonical-supported core part of Ubuntu ("Main") need a build test and an autopkgtest which are run on 6 architectures everytime when a new release of the package itself or any package depending on it gets uploaded. +As [reported last month](/OpenPrinting-News-February-2023#the-new-architecture-is-going-into-ubuntu-and-red-hat) all new packeges which are put into the Canonical-supported core part of Ubuntu ("Main") need a build test and an autopkgtest which are run on 6 architectures everytime when a new release of the package itself or any package depending on it gets uploaded. **cups-browsed** was still lacking both tests and the **Common Print Dialog Backends (CPDB)** packages were missing a build test. So I have created appropriate scripts and added them to [cups-browsed](#cups-browsed) and to the three [CPDB](#common-print-dialog-backends) packages. All these tests are run by `make check` called after building the repective package. @@ -85,7 +85,7 @@ The packages for the Common Print dialog Backends, [cpdb-libs](https://bugs.laun ## libcupsfilters and libcups 3.x -With [libcups 3.0b1](/libcups-3.0b1/) available I have investigated on how well the code of libcupsfilters 2.x is prepared for the new CUPS library, and it seems that we are in a good shape ... +With [libcups 3.0b1](/libcups-3.0b1) available I have investigated on how well the code of libcupsfilters 2.x is prepared for the new CUPS library, and it seems that we are in a good shape ... First, Michael Sweet has prepared the migration to the new library very well, by his always excellent documentation, here the [`MIGRATING.md`](https://github.com/OpenPrinting/libcups/blob/master/MIGRATING.md) file in the new library's source package. The file describes everything what changed, which functions and data types got renamed, which got removed, also what the new names are. @@ -137,7 +137,7 @@ With all this libcupsfilters should work perfectly well in the new CUPS 3.x worl ## cups-browsed -cups-browsed got a [forth beta release](/cups-browsed-Second-Generation-Forth-Beta-Release/) centered in getting test scripts. +cups-browsed got a [forth beta release](/cups-browsed-Second-Generation-Forth-Beta-Release) centered in getting test scripts. Here I have created a script which serves both as build test (`make check`) to be run as non-root, with its own CUPS instance, and as CI or autopkgtest running as root with installed packages. It runs emulations of IPP printers to be picked up by cups-browsed to auto-create CUPS queues on them. On these queues a test job is printed and cups-browsed has to dispatch the job to the printer. @@ -159,7 +159,7 @@ There are more issues resulting from a Coverity run by Canonical's security team ## Common Print Dialog Backends -The [4th beta release towards 2.0.0](/Common-Print-Dialog-Backends-Second-Generation-Forth-Beta-Release/) was all about getting build tests (`make check`) added to fulfill the requirements for getting into Ubuntu Main. The tests of the backends start the backend and also the text-based sample frontend of cpdb-libs to check whether printers appear in the frontend's list and whether one can print on them. The test of the CUPS backend even runs its own instance of cupsd (like the tests of CUPS and cups-browsed also do) to let the backend discover the CUPS queues. +The [4th beta release towards 2.0.0](/Common-Print-Dialog-Backends-Second-Generation-Forth-Beta-Release) was all about getting build tests (`make check`) added to fulfill the requirements for getting into Ubuntu Main. The tests of the backends start the backend and also the text-based sample frontend of cpdb-libs to check whether printers appear in the frontend's list and whether one can print on them. The test of the CUPS backend even runs its own instance of cupsd (like the tests of CUPS and cups-browsed also do) to let the backend discover the CUPS queues. In addition, cpdb-libs facilitates creating test scripts by installing its text-based demo frontend as a developer utility, with the name `cpdb-text-frontend` and by allowing to search for backends in an aleternative directory, specified by an environment variable. diff --git a/contents/post/OpenPrinting-News-March-2024.md b/contents/post/OpenPrinting-News-March-2024.md index 3c8f32ad..128a1fb3 100644 --- a/contents/post/OpenPrinting-News-March-2024.md +++ b/contents/post/OpenPrinting-News-March-2024.md @@ -53,7 +53,7 @@ The submission window for contributor proposals has closed yesterday and many pr At OpenPrinting we had a good amount of candidates this year. ~15 have communicated with us in the weeks before the submission window and received assignments, building and modifying CUPS, issues, ..., some have even contributed valuable voluntary work starting last year. -Here are especially to mention **Rudra Pratap Singh** who went above and beyond on Snap update and versioning automation, **Biswadeep Purkayastha** who made our libraries ready for libcups3 and currently makes CPDB backends snappable, **Ankit Pal Singh** who volunteered on preset support in Printer Applications and contributed comment preservation in `cupsd.conf` when it is modified by `cupsctl`. Rudra's and Biswadeep's work we have covered in more detail [last month](/OpenPrinting-News-February-2024/#google-summer-of-code-2024) here. +Here are especially to mention **Rudra Pratap Singh** who went above and beyond on Snap update and versioning automation, **Biswadeep Purkayastha** who made our libraries ready for libcups3 and currently makes CPDB backends snappable, **Ankit Pal Singh** who volunteered on preset support in Printer Applications and contributed comment preservation in `cupsd.conf` when it is modified by `cupsctl`. Rudra's and Biswadeep's work we have covered in more detail [last month](/OpenPrinting-News-February-2024#google-summer-of-code-2024) here. We have also **Akarshan Kapoor** and **Kushagra Sharma** returning to participate this year to continue their great work on scanning support for PAPPL and on CPDB support for print dialogs. @@ -69,7 +69,7 @@ Thanks in advance to make this GSoC amazing! ## Opportunity Open Source - 2nd edition! -Many of you remember the [Opportunity Open Source](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india) conference in the IIT Mandi in India which was grown out of the idea that Aveek Basu and me wanted to meet our GSoC contributors and motivate more people to join the free software community and GSoC. +Many of you remember the [Opportunity Open Source](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india) conference in the IIT Mandi in India which was grown out of the idea that Aveek Basu and me wanted to meet our GSoC contributors and motivate more people to join the free software community and GSoC. It was a great success and therefore we want to make it annual, meaning that we are now aiming for its second edition. @@ -87,7 +87,7 @@ So these are our ideas for now. We appreciate a lot any suggestion or help. If y ## CPDB CUPS backend Snap -End of last year I have investigated how to make a Snap of the backends of CPDB (Common Print Dialog Backends), especially [the one for CUPS](https://github.com/OpenPrinting/cpdb-backend-cups) and ran into several problems, especially as we have to do with user daemons now and the frontend browses available D-Bus services to find all installed backends. So I started a [discussion on the snapcraft.io forum](https://forum.snapcraft.io/t/snapping-cpdb-cups-backend-a-user-daemon-using-d-bus/) and found out that several things need to be changed on CPDB. Biswadeep Purkayastha who was already volunteering for doing the Snap started doing these changes. We covered this here in the [October News](/OpenPrinting-News-October-2023/#cpdb-cups-backend-snap) and in the [November News](/OpenPrinting-News-November-2023/#cpdb-cups-backend-snap). +End of last year I have investigated how to make a Snap of the backends of CPDB (Common Print Dialog Backends), especially [the one for CUPS](https://github.com/OpenPrinting/cpdb-backend-cups) and ran into several problems, especially as we have to do with user daemons now and the frontend browses available D-Bus services to find all installed backends. So I started a [discussion on the snapcraft.io forum](https://forum.snapcraft.io/t/snapping-cpdb-cups-backend-a-user-daemon-using-d-bus/) and found out that several things need to be changed on CPDB. Biswadeep Purkayastha who was already volunteering for doing the Snap started doing these changes. We covered this here in the [October News](/OpenPrinting-News-October-2023#cpdb-cups-backend-snap) and in the [November News](/OpenPrinting-News-November-2023#cpdb-cups-backend-snap). Biswadeep made good progress: @@ -136,7 +136,7 @@ Currently he works on the [implementation of the scanning API functions in PAPPL ## Snap automation working well -Thanks to the awesome work of Rudra Pratap Singh on the [Ubuntu Snap automation GitHub action](https://github.com/ubuntu/desktop-snaps/) and naturally also on the Snaps themselves we have now deployed [Snap update automation](https://ubuntu.com/blog/improving-snap-maintenance-with-automation) and Snap versioning automation on OpenPrinting's Snaps. See our detailed coverage in the [January News](/OpenPrinting-News-January-2024/#snap-automation). +Thanks to the awesome work of Rudra Pratap Singh on the [Ubuntu Snap automation GitHub action](https://github.com/ubuntu/desktop-snaps/) and naturally also on the Snaps themselves we have now deployed [Snap update automation](https://ubuntu.com/blog/improving-snap-maintenance-with-automation) and Snap versioning automation on OpenPrinting's Snaps. See our detailed coverage in the [January News](/OpenPrinting-News-January-2024#snap-automation). What is still missing, is to devide up our Snap GitHub repositories into 2 branches, a development one and a stable one and to have the automation running on the stable branch and the resulting packages uploaded to the "candidate" channel of the Snap Store, controlled by a Launchpad setup, as described in the second part of my [Snap update automation workshop](https://events.canonical.com/event/31/contributions/217/attachments/126/198/Workshop%20Automating%20Snap%20updates%20on%20new%20upstream%20releases.pdf). @@ -148,9 +148,9 @@ But this is good enough to observe whether the automation works correctly, and i ## SpliX 2.0.1 -I know, classic CUPS drivers are deprecated, but there are still enough people with legacy printers needing them. And this driver will live on as part of the [Ghostscript Printer Application](https://snapcraft.io/ghostscript-printer-app/), so that Linux and [Windows](/wsl-printer-app/) users will be able to continue to use their printers. +I know, classic CUPS drivers are deprecated, but there are still enough people with legacy printers needing them. And this driver will live on as part of the [Ghostscript Printer Application](https://snapcraft.io/ghostscript-printer-app/), so that Linux and [Windows](/wsl-printer-app) users will be able to continue to use their printers. -[SpliX](/splix/) is a CUPS driver for Samsung SPL2 printers and rebranded models from Xerox, Dell, Lexmark, and Toshiba. It was created back in 2006 by Aurelien Croc based on reverse-engineering the protocol. He worked on it continuously improving and updating it, especially also to support new printer models, until mid-2009, shortly after the 2.0.0 release. After that I continued maintaining it, just applying contributed patches for fixing bugs and adding some new printer models, no actual development. I did this until mid-2013. +[SpliX](/splix) is a CUPS driver for Samsung SPL2 printers and rebranded models from Xerox, Dell, Lexmark, and Toshiba. It was created back in 2006 by Aurelien Croc based on reverse-engineering the protocol. He worked on it continuously improving and updating it, especially also to support new printer models, until mid-2009, shortly after the 2.0.0 release. After that I continued maintaining it, just applying contributed patches for fixing bugs and adding some new printer models, no actual development. I did this until mid-2013. After that, nothing changed on SpliX, and distros simply included the latest revision, r315, of the [Subversion repository](https://sourceforge.net/p/splix/code/HEAD/tree/) at SourceForge, where SpliX was hosted. diff --git a/contents/post/OpenPrinting-News-May-2021.md b/contents/post/OpenPrinting-News-May-2021.md index efafc07e..b234a9bb 100644 --- a/contents/post/OpenPrinting-News-May-2021.md +++ b/contents/post/OpenPrinting-News-May-2021.md @@ -44,7 +44,7 @@ With our application for this year’s [Google Season of Docs](https://developer ## CUPS Snap **[CUPS Snap](https://github.com/OpenPrinting/cups-snap) in the [Snap Store](https://snapcraft.io/cups), Call for testing on the [snapcraft.io forum](https://forum.snapcraft.io/t/call-for-testing-openprintings-cups-snap/) and on the [Ubuntu Discourse](https://discourse.ubuntu.com/t/cups-snap-call-for-testing/)** -As [reported in the April news](/OpenPrinting-News-April-2021/#cups-snap) I have worked out a security concept with the snapd developers to print from user application Snaps without allowing administrative access to CUPS. With this we can let developers upload applications to the Snap Store which automatically connect to the `cups` interface for printing, without the risk that such applications mess with CUPS. +As [reported in the April news](/OpenPrinting-News-April-2021#cups-snap) I have worked out a security concept with the snapd developers to print from user application Snaps without allowing administrative access to CUPS. With this we can let developers upload applications to the Snap Store which automatically connect to the `cups` interface for printing, without the risk that such applications mess with CUPS. We have discussed the concept further on the [snapcraft.io forum](https://forum.snapcraft.io/t/handling-of-the-cups-plug-by-snapd-especially-auto-connection/23419/39?u=till.kamppeter) (this post and the following) to work out the details. Now only the finalization in snapd is needed. The final concept is [here](https://forum.snapcraft.io/t/handling-of-the-cups-plug-by-snapd-especially-auto-connection/23419/43?u=till.kamppeter), only the paths for the CUPS socket needed to get adjusted. diff --git a/contents/post/OpenPrinting-News-May-2022.md b/contents/post/OpenPrinting-News-May-2022.md index 2f6449b9..25bed98e 100644 --- a/contents/post/OpenPrinting-News-May-2022.md +++ b/contents/post/OpenPrinting-News-May-2022.md @@ -24,7 +24,7 @@ Such conversations are not recorded, unfortunately, but all the talks on the mai The descriptions of the two videos on YouTube contain a list of links to the beginnings of each of the talks. The links below are also links to the beginning of the talk in the two day's videos. -Please see also our [News Flash](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022/) for more info about our talks. +Please see also our [News Flash](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022) for more info about our talks. **Links to the recordings** @@ -91,7 +91,7 @@ I have also posted a proposal for addition of how to use the `cups` interface to ## Official Docker image of CUPS and Printer Applications On the Linux Application Summit 2022 in Rovereto, Italy, I have, inspired by the critique on slow start-up of desktop application Snaps (Firefox and Chrome in Ubuntu 22.04 especially) and on the fact that there is only one Snap Store, discussed the methods of distribution-independent/sandboxed packaging, mainly with Heather Ellsworth and Robert McQueen. -Especially knowing that from Snap, Flatpak, and AppImage (see also [March](/OpenPrinting-News-March-2022/#flatpak-and-printing) and [April](/OpenPrinting-News-April-2022/#appimage-and-printing) News Posts) only Snap supports packaging system daemons, like CUPS, ipp-usb, and the Printer Applications. +Especially knowing that from Snap, Flatpak, and AppImage (see also [March](/OpenPrinting-News-March-2022#flatpak-and-printing) and [April](/OpenPrinting-News-April-2022#appimage-and-printing) News Posts) only Snap supports packaging system daemons, like CUPS, ipp-usb, and the Printer Applications. On systems (and for users/admins) who accept Snaps one can easily get the full printing system right from upstream, OpenPrinting, updated independently of the OS distribution, also after its release, and get support for new printers (and in the future also scanners) in a timely manner. diff --git a/contents/post/OpenPrinting-News-May-2023.md b/contents/post/OpenPrinting-News-May-2023.md index 355f9c65..77c2373b 100644 --- a/contents/post/OpenPrinting-News-May-2023.md +++ b/contents/post/OpenPrinting-News-May-2023.md @@ -10,11 +10,11 @@ excerpt: >- testing, CPDB in print dialogs, security bugs date: '2023-05-24' --- -**Update: [Michael Sweet wins Google Open Source Peer Bonus for his CUPS project](/OpenPrinting-News-Flash-Michael-Sweet-is-Google-Open-Source-Peer-Bonus-winner-for-CUPS/)! Congratulations to him!!** +**Update: [Michael Sweet wins Google Open Source Peer Bonus for his CUPS project](/OpenPrinting-News-Flash-Michael-Sweet-is-Google-Open-Source-Peer-Bonus-winner-for-CUPS)! Congratulations to him!!** Lots of conferences during the last 4 weeks: the [Linux App Summit 2023](#linux-app-summit-2023) in Brno, then home for a week and after that back to the Czech Republic for a week in Prague for Canonical's Engineering Sprint, another conference-free week again and this week we had our annual [OpenPrinting Summit](#openprinting-summitpwg-meeting) together with the Printer Working Group (PWG) again, but completely online, so no third trip within a month. -Hot news from the OpenPrinting Summit, not so nice, by Michael Sweet, author of and maintainer of CUPS: He showed in his [CUPS Plenary](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-2023.pdf) a nice roadmap for the CUPS 2.5.x releases, in contrary to our [last micro-conference](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022) in the end of this year. So I have asked him what about CUPS 3.x and he told that he has [pushed it out by one year](#cups-3x-release-postponed), to end-2024 ... +Hot news from the OpenPrinting Summit, not so nice, by Michael Sweet, author of and maintainer of CUPS: He showed in his [CUPS Plenary](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-2023.pdf) a nice roadmap for the CUPS 2.5.x releases, in contrary to our [last micro-conference](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022) in the end of this year. So I have asked him what about CUPS 3.x and he told that he has [pushed it out by one year](#cups-3x-release-postponed), to end-2024 ... But nevertheless, we will all continue working on the New Architecture, the Printer and Scanner Applications, the Snaps, ... and I will switch Ubuntu 23.10, the Mantic Minotaur, as planned, to use the CUPS Snap as its printing system and the Printer Application Snaps as drivers for non-IPP-driverless printers. @@ -44,7 +44,7 @@ My second [Linux App Summit 2023](https://linuxappsummit.org/) has taken place i **Recordings: [Day 1, room 1](https://www.youtube.com/watch?v=3-_aUNZMvko), [Day 2, room 1](https://www.youtube.com/watch?v=J7-3Qj_oVMM), [Day 2, room 2](https://www.youtube.com/watch?v=jwMEDI4WsAE). Direct links to all sessions are in the comments of the videos (thanks, Ban Jo @Enry211). Unfortunately, there are no recordings of room 2 on day 1.** -**I have also added links to the recordings of all mentioned sessions in the [April News](/OpenPrinting-News-April-2023/#linux-app-summit-2023)** +**I have also added links to the recordings of all mentioned sessions in the [April News](/OpenPrinting-News-April-2023#linux-app-summit-2023)** On Friday morning I went by train from Vienna to Brno, a trip of only 2 hours, and so I already had lunch with my colleagues from Canonical and the Ubuntu community, Heather Ellsworth, Jeremy Bicha, Dennis Loose, Igor Ljubuncic, and Lucy Llewellyn. In the afternoon we also met Michal Kohutek, with whom we picked up the letters for the decoration of the release party (Ubuntu 23.04, Fedora 38, cups-filters 2.0). Then we all got to the pre-registration social event at Harry's Pivovar (brewery), where we met a lot of people, especially we met Jason Evangelho from Thunderbird (one of the sponsors of LAS) who was hanging out with us most of the time from then on and I also met Keywan Tonekaboni from the German c't computer magazine, who was very interested in my OpenPrinting work. @@ -103,7 +103,7 @@ More about Snap: [The Powers](https://www.youtube.com/watch?v=TfB6QwR2GYg), [The And as usual, I come with my colleagues, this time the Canonical Gang consists of Jeremy Bicha, Jesús Soto, Marco Trevisan, Mauro Gaspari, and me. -There will be an orange Ubuntu booth again, as last year, a nice point to find us and to start interesting hallway sessions ([Developers, not marketing people](/OpenPrinting-News-June-2022/#guadec-2022)). +There will be an orange Ubuntu booth again, as last year, a nice point to find us and to start interesting hallway sessions ([Developers, not marketing people](/OpenPrinting-News-June-2022#guadec-2022)). And, in addition to my two sessions mentioned above, you will see my colleagues in these sessions: diff --git a/contents/post/OpenPrinting-News-May-2024.md b/contents/post/OpenPrinting-News-May-2024.md index b1ecdc85..68e8c571 100644 --- a/contents/post/OpenPrinting-News-May-2024.md +++ b/contents/post/OpenPrinting-News-May-2024.md @@ -27,7 +27,7 @@ And ... This month we had our annual [OpenPrinting Summit/PWG Meeting](#openprinting-summitpwg-meeting) again, and, as usual [Michael Sweet was reporting about the state of the art of CUPS](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-2024.pdf), with an updated time line. Unfortunatly, things do not go as fast as thought about and therefore the sharing server, as the last component of **CUPS 3.x** to be released **will only be ready mid-2025**, in 1 year from now. And this is the date which marks when distros can switch over to CUPS 3.x, so that **for Ubuntu the switchover will only happen in 25.10**. -Do you want to learn how to package software in the [Snap](https://snapcraft.io/) package format? Most probably you will not look for resources [here on OpenPrinting](/OpenPrinting-News-November-2023/#snap-workshops) then, but rather at [snapcraft.io](https://snapcraft.io/). I had already talked about this with Graham Morrison, Snap documentation lead at Canonical, on the [Ubuntu Summit last November](/OpenPrinting-News-November-2023/#ubuntu-summit-2023-in-riga) and now, finally, after meeting him again on the Canonical-internal Engineering Sprint this month, I have created a page about the Snap workshops on snapcraft.io: +Do you want to learn how to package software in the [Snap](https://snapcraft.io/) package format? Most probably you will not look for resources [here on OpenPrinting](/OpenPrinting-News-November-2023#snap-workshops) then, but rather at [snapcraft.io](https://snapcraft.io/). I had already talked about this with Graham Morrison, Snap documentation lead at Canonical, on the [Ubuntu Summit last November](/OpenPrinting-News-November-2023#ubuntu-summit-2023-in-riga) and now, finally, after meeting him again on the Canonical-internal Engineering Sprint this month, I have created a page about the Snap workshops on snapcraft.io: **[Learn snapping! - Interactive Snap Workshops](https://forum.snapcraft.io/t/40263)** @@ -54,7 +54,7 @@ The first half of the meeting was dedicated to OpenPrinting, the second half to In the OpenPrinting part there was **no Ghostscript session** again. Since having gotten [acquired by ePapyrus](https://artifex.com/news/artifex-announces-acquisition) Artifex has reduced the development activity on Ghostscript a lot and so there were only bug fixes. We used the time again for other topics, this year especially about [**desktop integration**](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-filters-snap-oci-cpdb-desktop-and-more-2024.pdf) and [**software distribution methods (Snap, OCI)**](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/distribution-methods-roadmap-may-2024.pdf). -Most important session was [**Michael Sweet's CUPS plenary**](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-2024.pdf), where he always gives estimated timelines of the upcomimg releases of CUPS. Unfortuntaly, these do not match the [last ones](https://events.canonical.com/event/35/contributions/285/attachments/66/111/oos-cups-september-2023.pdf), presented on the [Opportunity Open Source in September last year](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india). The final 3.0.0 releases of the components are now estimated as follows: +Most important session was [**Michael Sweet's CUPS plenary**](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-2024.pdf), where he always gives estimated timelines of the upcomimg releases of CUPS. Unfortuntaly, these do not match the [last ones](https://events.canonical.com/event/35/contributions/285/attachments/66/111/oos-cups-september-2023.pdf), presented on the [Opportunity Open Source in September last year](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india). The final 3.0.0 releases of the components are now estimated as follows: - [**libcups3**](https://github.com/OpenPrinting/libcups): August/September 2024 - [**cups-local**](https://github.com/OpenPrinting/cups-local): February/March 2025 - [**cups-sharing**](https://github.com/OpenPrinting/cups-sharing): April/May 2025 @@ -93,7 +93,7 @@ As Ken is also on this conference, he will be most probably with me in the room ## aKademy 2024 -This year will be the first time that I attend the [aKademy](https://akademy.kde.org/2024/), KDE's annual conference! This is to raise awareness of the New Architecture for printing also under the KDE folks. Also they need to update their printing support, both in the printer setup tool and the print dialog, to allow for distros to switch to CUPS 3.x. The dialog got already done by [Gaurav Guleria adding CPDB support](https://github.com/TinyTrebuchet/gsoc22/) and the [KDE developer Mike Noe is on the KDE Print Manager](/OpenPrinting-News-April-2024/#kde-print-manager), but to be sure it is better to let the wider KDE developer community know ... +This year will be the first time that I attend the [aKademy](https://akademy.kde.org/2024/), KDE's annual conference! This is to raise awareness of the New Architecture for printing also under the KDE folks. Also they need to update their printing support, both in the printer setup tool and the print dialog, to allow for distros to switch to CUPS 3.x. The dialog got already done by [Gaurav Guleria adding CPDB support](https://github.com/TinyTrebuchet/gsoc22/) and the [KDE developer Mike Noe is on the KDE Print Manager](/OpenPrinting-News-April-2024#kde-print-manager), but to be sure it is better to let the wider KDE developer community know ... For that I have submitted a talk proposal to tell what the New Architecture is all about, what it requires from the GUIs, and the state-of-the-art of KDE's work on supporting it. @@ -105,7 +105,7 @@ By the way, the [aKademy 2024](https://akademy.kde.org/2024/) takes place on Sep ## UbuCon Asia 2024 in India -As I already [told in March](/OpenPrinting-News-March-2024/#opportunity-open-source---2nd-edition) I am working on a second edition of the Opportunity Open Source in India. Having again another conference in India, this time the [UbuCon Asia in Jaipur](https://2024.ubucon.asia/) on Aug 31 - Sep 2 (Sat - Mon) I am planning to run the Opportunity Open Source on Aug 23 - 25 (Fri - Sun), and most probably in the IIT Kanpur, and this way attend two conferences on one trip. +As I already [told in March](/OpenPrinting-News-March-2024#opportunity-open-source---2nd-edition) I am working on a second edition of the Opportunity Open Source in India. Having again another conference in India, this time the [UbuCon Asia in Jaipur](https://2024.ubucon.asia/) on Aug 31 - Sep 2 (Sat - Mon) I am planning to run the Opportunity Open Source on Aug 23 - 25 (Fri - Sun), and most probably in the IIT Kanpur, and this way attend two conferences on one trip. Therefore I have submitted several talk proposals and got 2 sessions accepted: @@ -223,7 +223,7 @@ Biswadeep provided the changes via the following Pull Requests which got all mer I have [posted the news on the thread in snapcraft.io](https://forum.snapcraft.io/t/snapping-cpdb-cups-backend-a-user-daemon-using-d-bus/37397/16?u=till.kamppeter) and snapd developers Zygmunt Krynicki and James Henstridge are looking into how to proceed with the snapping. -See also our coverage here in the [October News](/OpenPrinting-News-October-2023/#cpdb-cups-backend-snap), the [November News](/OpenPrinting-News-November-2023/#cpdb-cups-backend-snap), and the [March News](/OpenPrinting-News-March-2024/#cpdb-cups-backend-snap). +See also our coverage here in the [October News](/OpenPrinting-News-October-2023#cpdb-cups-backend-snap), the [November News](/OpenPrinting-News-November-2023#cpdb-cups-backend-snap), and the [March News](/OpenPrinting-News-March-2024#cpdb-cups-backend-snap). ## Open Documentation Academy diff --git a/contents/post/OpenPrinting-News-November-2020.md b/contents/post/OpenPrinting-News-November-2020.md index be122a2d..26e67657 100644 --- a/contents/post/OpenPrinting-News-November-2020.md +++ b/contents/post/OpenPrinting-News-November-2020.md @@ -13,12 +13,12 @@ The days (months?, years?) of only HP being present on the PWG's [certified IPP ## Google Summer of Code 2021 We are currently looking for project ideas for next year's Google Summer of Code. -As mentioned [last month](/OpenPrinting-News-October-2020/#google-summer-of-code-2021) student projects will only be half the time (6 weeks). Google tells that this will probably attract more students, but for us it is a much higher workload as we have to find the double amount of students and get the double amount of students introduced and up to speed to get the same work done. +As mentioned [last month](/OpenPrinting-News-October-2020#google-summer-of-code-2021) student projects will only be half the time (6 weeks). Google tells that this will probably attract more students, but for us it is a much higher workload as we have to find the double amount of students and get the double amount of students introduced and up to speed to get the same work done. For larger project we should also consider to run them under the Linux Foundation Mentoring Program instead of GSoC. ## Google Season of Docs 2020 -Our OpenPrinting project is continuing well. Most pages of [Piyush Goyal's project](/documentation/) are already populated, merely only the scanning part is missing as its coding in our LFMP project is not yet completed. +Our OpenPrinting project is continuing well. Most pages of [Piyush Goyal's project](/documentation) are already populated, merely only the scanning part is missing as its coding in our LFMP project is not yet completed. Next steps for the time being until IPP Scan gets far enough for being documented is to check whether everything is correct, recent API changes in PAPPL taken into account, design of existing Printer Applications, like the [HP PCL](https://github.com/michaelrsweet/hp-printer-app/) and the [PostScript](https://github.com/OpenPrinting/ps-printer-app) Printer Applications explained, ... diff --git a/contents/post/OpenPrinting-News-November-2022.md b/contents/post/OpenPrinting-News-November-2022.md index e8162815..0217a610 100644 --- a/contents/post/OpenPrinting-News-November-2022.md +++ b/contents/post/OpenPrinting-News-November-2022.md @@ -64,9 +64,9 @@ All the hard work I had with it, promoting it, participating in its organization ### The making-of Back in March in Frankfurt, one Engineering Sprint earlier (Canonical does it twice a year, once per Ubuntu release), Ken VanDine (head of Canonical's Desktop Team, as long on GNOME as me on printing) gave a 5-min lightning talk announcing that, 10 years after the great era of [Ubuntu Development Summits](https://wiki.ubuntu.com/DeveloperSummit) (UDS) ended, we are returning to have a conference with the community, this time calling it Ubuntu Summit (as there are more than only developers contributing). -In that time the Summit was planned to be held in Vienna, Austria. I was already planning to go to the [Linux Application Summit (LAS) in Rovereto, Italy](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022/) to give a talk about the New Architecture and what needs to be done for it in the desktop environments. And as I am living in Vienna (so it had been a home game for me) I came to the idea to announce it on the LAS (Ken did not go there), the first time on a publicly accessible conference. A few weeks after Frankfurt Canonical's plans changed and Sprint and Summit were moved to Prague, but once formed my idea of the announcement I stayed with it and gave a [10-min lightning talk](https://www.youtube.com/watch?v=Qip0PIcYZjk), an enhanced version of Ken's original one. +In that time the Summit was planned to be held in Vienna, Austria. I was already planning to go to the [Linux Application Summit (LAS) in Rovereto, Italy](/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022) to give a talk about the New Architecture and what needs to be done for it in the desktop environments. And as I am living in Vienna (so it had been a home game for me) I came to the idea to announce it on the LAS (Ken did not go there), the first time on a publicly accessible conference. A few weeks after Frankfurt Canonical's plans changed and Sprint and Summit were moved to Prague, but once formed my idea of the announcement I stayed with it and gave a [10-min lightning talk](https://www.youtube.com/watch?v=Qip0PIcYZjk), an enhanced version of Ken's original one. -Mid-July, 2 weeks before this year's [GUADEC](/OpenPrinting-News-August-2022/#guadec-2022) we formed the organization team for the Summit and had our very first team meeting via Google Meet. Mauro Gaspari from Canonical's Community Team was leading the organization and I was also in the team. Mauro was interested in my OpenPrinting work and conference and community experience with it and also in my UDS experience and asked me for staying in the line after the meeting. This led us to 3:30-hour 1:1 conversation (and for Mauro living in Taiwan it was midnight to 3:30am). I especially liked that the conference got as one of its session formats interactive workshops where the audience does exercises on their own laptops. So I ended up giving the ideas of doing a Snap tutorial workshop series with intro panel session, but also an OpenPrinting Community panel session, and a lightning talk about [saving legacy printers on Windows via WSL](/wsl-printer-app). And all these ideas I turned into reality. +Mid-July, 2 weeks before this year's [GUADEC](/OpenPrinting-News-August-2022#guadec-2022) we formed the organization team for the Summit and had our very first team meeting via Google Meet. Mauro Gaspari from Canonical's Community Team was leading the organization and I was also in the team. Mauro was interested in my OpenPrinting work and conference and community experience with it and also in my UDS experience and asked me for staying in the line after the meeting. This led us to 3:30-hour 1:1 conversation (and for Mauro living in Taiwan it was midnight to 3:30am). I especially liked that the conference got as one of its session formats interactive workshops where the audience does exercises on their own laptops. So I ended up giving the ideas of doing a Snap tutorial workshop series with intro panel session, but also an OpenPrinting Community panel session, and a lightning talk about [saving legacy printers on Windows via WSL](/wsl-printer-app). And all these ideas I turned into reality. So we all started reviewing submissions like hell, and I also started organizing the Snap tutorial workshop series. First I created some nice titles, for the whole thingie "**Your application everywhere, just in a Snap!**", for the [starter tutorial](https://events.canonical.com/event/2/contributions/15/) (given by Heather Ellsworth, nick "hellsworth") "**Snapping like hell(sworth)**", and for [my workshop](https://events.canonical.com/event/2/contributions/42/) "**Daemon Snapper's Workshop**". Then I had to line up teams, once the speakers for the workshops and second, the panelists for the Indaba-like intro, and in the end colleagues got tired of my inquiries on our internal chat channel of the Desktop Team ... And probably the organizers did not originally plan to pro-actively design sessions and sub-conferences and then search for speakers for them ... @@ -87,7 +87,7 @@ And having brought along my tripod and my external webcam for these pre-meetings **Update: Impressions of the event: [The Aftermovie!](https://www.youtube.com/watch?v=8XF6jR7XzXM)** -On the Sunday before the conference, in the morning, Deepak arrived and I had a walk through Prague with him and in the evening then we all met on the pre-conference reception in the rooftop bar of the hotel, finally getting together with all the friends and (former) colleagues from the Linux community, including those I have given a nice review for their submission and those I have lined up for the Snap series. And you remember me writing here [three months ago](/OpenPrinting-News-August-2022/#using-windows-we-can-help-you-too) about Heather Ellsworth introducing me to others back in 2019 ("This is Till, making printing just work, on ...")? Now she introduced me to [Cassidy Blaede](https://events.canonical.com/event/2/contributions/4/): +On the Sunday before the conference, in the morning, Deepak arrived and I had a walk through Prague with him and in the evening then we all met on the pre-conference reception in the rooftop bar of the hotel, finally getting together with all the friends and (former) colleagues from the Linux community, including those I have given a nice review for their submission and those I have lined up for the Snap series. And you remember me writing here [three months ago](/OpenPrinting-News-August-2022#using-windows-we-can-help-you-too) about Heather Ellsworth introducing me to others back in 2019 ("This is Till, making printing just work, on ...")? Now she introduced me to [Cassidy Blaede](https://events.canonical.com/event/2/contributions/4/): > This is Till, he makes printing just work, on any platform. @@ -101,7 +101,7 @@ On Monday, in the opening plenary by Philipp Kewisch and Mark Shuttleworth ([**r **OpenPrinting Community Panel on Ubuntu Summit 2022:** After having a pre-meeting in-person Monday night on the Summit with Zdenek Dohnal from Red Hat and last-minute guest Deepak Patankar the session itself took place on Wednesday, an [Indaba-like panel](https://events.canonical.com/event/2/contributions/115/) ([**recording on YouTube**](https://www.youtube.com/watch?v=RbgXmDjxYa4)) with me as the host and Zdenek Dohnal (Red Hat/OpenPrinting), Johannes Meixner (SUSE), and Deepak Patankar (OpenPrinting) as in-person guests and Aveek Basu (OpenPrinting) as remote guest. Unfortunately, it had only low attendance but people liked it, especially Oliver Smith, Product Manager Ubuntu Desktop, participated well in the discussion and also Liam Proven from [The Register](https://www.theregister.com/Author/Liam-Proven) was there. -**Save Legacy Printers under Windows with WSL and Printer Applications on Ubuntu Summit 2022:** My [lightning talk](https://events.canonical.com/event/2/contributions/43/) ([slides](https://events.canonical.com/event/2/contributions/43/attachments/3/4/Save%20Legacy%20Printers%20under%20Windows%20with%20WSL%20and%20Printer%20Applications.pdf), [**recording on YouTube**](https://youtu.be/y7GIiLPjdTk?t=624)) about Carlos Nihelton's [OpenPrinting HOWTO to save legacy printers](/wsl-printer-app/) was perhaps the greatest success of all my 4 sessions. Many people came up to me praising this idea and it also got an [**article in The Register**](https://www.theregister.com/2022/11/10/openprinting_keeps_old_printers_working/) by Liam Proven! Also **Craig Loewen from Microsoft** attended it and liked the idea a lot! At the end of the talk I called Carlos Nihelton and Dani Llewellyn onto the stage to express my special thanks to them. **Yes, we are sustainable!** +**Save Legacy Printers under Windows with WSL and Printer Applications on Ubuntu Summit 2022:** My [lightning talk](https://events.canonical.com/event/2/contributions/43/) ([slides](https://events.canonical.com/event/2/contributions/43/attachments/3/4/Save%20Legacy%20Printers%20under%20Windows%20with%20WSL%20and%20Printer%20Applications.pdf), [**recording on YouTube**](https://youtu.be/y7GIiLPjdTk?t=624)) about Carlos Nihelton's [OpenPrinting HOWTO to save legacy printers](/wsl-printer-app) was perhaps the greatest success of all my 4 sessions. Many people came up to me praising this idea and it also got an [**article in The Register**](https://www.theregister.com/2022/11/10/openprinting_keeps_old_printers_working/) by Liam Proven! Also **Craig Loewen from Microsoft** attended it and liked the idea a lot! At the end of the talk I called Carlos Nihelton and Dani Llewellyn onto the stage to express my special thanks to them. **Yes, we are sustainable!** I also met a lot of people from the community, often old friends and colleagues, attended many great sessions, by Oliver Grawert about [Ubuntu Core and Snap](https://events.canonical.com/event/2/contributions/61/) ([**recording on YouTube**](https://www.youtube.com/watch?v=TfB6QwR2GYg)), by Craig Loewen from Microsoft about [WSL](https://events.canonical.com/event/2/contributions/24/) ([**recording on YouTube**](https://www.youtube.com/watch?v=-tAelKpya4g)), the [production of a podcast](https://events.canonical.com/event/2/contributions/18/) ([**recording on YouTube**](https://www.youtube.com/watch?v=vLRvKyEpUSs), [**the published podcast**](https://linuxlads.com/episodes/season-7-episode-18/)) by the [Linux Lads](https://linuxlads.com/) (**they took my e-mail address for a possible OpenPrinting episode**), playing with [Mini Pupper](https://events.canonical.com/event/2/contributions/5/), the little four-legged robot, [building a pen plotter](https://events.canonical.com/event/2/contributions/82/) (see above) ... @@ -134,7 +134,7 @@ Also thanks to everyone participating in any form on the Summit and making it an ## OpenPrinting Micro-Conference on Linux Plumbers 2022 - The recordings The [videos of the sessions on the Linux Plumbers Conference 2022 in Dublin](https://www.youtube.com/@LinuxPlumbersConference/videos) are edited and ready for watching! -Especially the recordings of the [OpenPrinting micro-conference](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022) are available now: +Especially the recordings of the [OpenPrinting micro-conference](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022) are available now: - [CUPS 2.5 and 3.0 Development](https://www.youtube.com/watch?v=KtJy72nPss4) - [Testing and CI for OpenPrinting projects](https://www.youtube.com/watch?v=c--Uki7cvGE) @@ -144,11 +144,11 @@ Especially the recordings of the [OpenPrinting micro-conference](/OpenPrinting-N Note that the documentation session finished early and we already started on containerization in the documentation time slot, so therefore some of the containerization talk and discussion is in the video of the documentation session. -I have also updated the [summary of the outcome of our Micro-conference](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022) in our September News Post with the links. +I have also updated the [summary of the outcome of our Micro-conference](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022) in our September News Post with the links. ## Google Summer of Code 2023 -The program will take place again [next year](https://opensource.googleblog.com/2022/11/get-ready-for-google-summer-of-code-2023.html)! Also the [timeline](https://developers.google.com/open-source/gsoc/timeline) is already published. And I will participate again with the Linux Foundation and OpenPrinting, there is enough on [our roadmap](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022). Also we started already with the selection and onboarding of the first contributor candidates. +The program will take place again [next year](https://opensource.googleblog.com/2022/11/get-ready-for-google-summer-of-code-2023.html)! Also the [timeline](https://developers.google.com/open-source/gsoc/timeline) is already published. And I will participate again with the Linux Foundation and OpenPrinting, there is enough on [our roadmap](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022). Also we started already with the selection and onboarding of the first contributor candidates. Potential project ideas are: @@ -269,7 +269,7 @@ I did the separation thoroughly, one part at a time, with a lot of testing wheth ## Getting Cute - New UI for the Qt print dialog -In a hallway session on the Ubuntu Summit I talked with Harald Sitter from KDE about my GUI GSoC work for OpenPrinting, especially of [Gaurav Guleria's project](https://github.com/TinyTrebuchet/gsoc22/) of switching both GNOME/GTK and KDE/Qt print dialogs to the [Common Print Dialog Backends](/achievements/#common-print-dialog-backends) and also about that this does not change the GUI of the dialogs and the GUI of the Qt dialog is still of the early 2000s when the [switchover to CUPS](/achievements/#getting-all-linux-distributions-to-use-cups) happened. Harald told that he wants to improve/modify the GUI and we agreed on getting at least a design similar to the GTK dialog. After being back from the Summit I sent him my OpenPrinting onboarding materials. +In a hallway session on the Ubuntu Summit I talked with Harald Sitter from KDE about my GUI GSoC work for OpenPrinting, especially of [Gaurav Guleria's project](https://github.com/TinyTrebuchet/gsoc22/) of switching both GNOME/GTK and KDE/Qt print dialogs to the [Common Print Dialog Backends](/achievements#common-print-dialog-backends) and also about that this does not change the GUI of the dialogs and the GUI of the Qt dialog is still of the early 2000s when the [switchover to CUPS](/achievements#getting-all-linux-distributions-to-use-cups) happened. Harald told that he wants to improve/modify the GUI and we agreed on getting at least a design similar to the GTK dialog. After being back from the Summit I sent him my OpenPrinting onboarding materials. ## Snap Store Overview @@ -300,7 +300,7 @@ The CUPS Snap in the stable channel is version 2.4.2. ## cups-filters -Currently released is [2.0b1](/cups-filters-Second-Generation-First-Beta-Release/). +Currently released is [2.0b1](/cups-filters-Second-Generation-First-Beta-Release). The first beta (2.0b1) of the second generation of cups-filters is now released. cups-filters is now split into 5 separate packages. See above for more details. diff --git a/contents/post/OpenPrinting-News-November-2023.md b/contents/post/OpenPrinting-News-November-2023.md index 21fd4e2f..5f4adfc6 100644 --- a/contents/post/OpenPrinting-News-November-2023.md +++ b/contents/post/OpenPrinting-News-November-2023.md @@ -52,7 +52,7 @@ Two and a half days of [amazing sessions](https://events.canonical.com/event/31/ **Sessions** -Still making well use of the hallway track I succeeded to attend many sessions, most of those I originally planned to attend and [listed last month here](/OpenPrinting-News-October-2023/#ubuntu-summit-2023-in-riga): +Still making well use of the hallway track I succeeded to attend many sessions, most of those I originally planned to attend and [listed last month here](/OpenPrinting-News-October-2023#ubuntu-summit-2023-in-riga): - [**Welcome to the Ubuntu Summit**](https://events.canonical.com/event/31/contributions/247/), Philipp Kewisch (Head of Community Team, Canonical), Mark Shuttleworth (Founder and CEO, Canonical), Nathan Haines (Ubuntu Community Council), Fri 11/3, 14:00 EET ([video](https://www.youtube.com/watch?v=NAyvd1o3ono)) - [**From origins to open source: The journey of DreamWorks Animation's production path tracer, MoonRay**](https://events.canonical.com/event/31/contributions/218/), Randy Packer (DreamWorks Animation), Fri 11/3, 15:00 EET ([video](https://www.youtube.com/watch?v=MariNCKIXCs)): Amazing presentation, with sample movie in the following break. - [**Introducing Ubuntu Core Desktop**](https://events.canonical.com/event/31/contributions/246/), Ken Vandine (Core Desktop development lead, Canonical), Oliver Smith (Product Manager Desktop, Canonical), Fri 11/3, 16:30 EET ([video](https://www.youtube.com/watch?v=ahWrhnjjYDk)): Nice overview of the state of the art of the development of Ubuntu Core Desktop, and [Ken shouted me out](https://www.youtube.com/watch?v=ahWrhnjjYDk&t=681s) when it came to the printing part, I got up and the audience applauded ... I have also answered the first user comment on the YouTube video of the recording. @@ -121,7 +121,7 @@ Probably this list will get longer next month. ## FOSDEM 2024 -After many, many years I will attend [FOSDEM](https://fosdem.org/2024/) again! The last time I attended it was in the early 2000s [when I worked at MandrakeSoft in Paris](/history/), having only 90 min by train to get there. From Vienna I will have to take a 2-hour flight. +After many, many years I will attend [FOSDEM](https://fosdem.org/2024/) again! The last time I attended it was in the early 2000s [when I worked at MandrakeSoft in Paris](/history), having only 90 min by train to get there. From Vienna I will have to take a 2-hour flight. FOSDEM (Free and Open Source DEveloper's Meeting) is a large conference. It is registration-free, anyone can just walk in and attend all the talks. There are more than 8000 visitors to enjoy more than 600 sessions in [36 rooms](https://fosdem.org/2024/schedule/rooms/) in parallel and [~60 non-commercial exhibition booths](https://fosdem.org/2024/news/2023-11-20-accepted-stands-fosdem-2024/). @@ -129,11 +129,11 @@ There are a few rooms for plenary sessions, main track, and lightning talks with I have done 6 submissions, all for sessions which I have already given in similar form on other conferences, but I will naturally update them where needed. This is what I have submitted (with links to my most recent versions of these sessions): - **Desktop Linux, as easy as a smartphone! Just in a Snap!** - Talk telling what Snap and Ubuntu Core Desktop are and how they work - + 55-min talk in Distributions devroom (already given on [Opportunity Open Source](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india), [video](https://www.youtube.com/watch?v=Iw4JA3m92Q8&t=15854s), [slides](https://events.canonical.com/event/35/contributions/292/attachments/61/104/talk-snap-2023.pdf)). + + 55-min talk in Distributions devroom (already given on [Opportunity Open Source](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india), [video](https://www.youtube.com/watch?v=Iw4JA3m92Q8&t=15854s), [slides](https://events.canonical.com/event/35/contributions/292/attachments/61/104/talk-snap-2023.pdf)). - **Your app everywhere - Just in a Snap! - Interactive Workshop** - Attendees learn packaging applications as Snaps, with exercises on their own laptops - + 55-min workshop in Distributions devroom (already given on [Opportunity Open Source](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india) and Canonical-internal Sprint, [video](https://www.youtube.com/watch?v=jNG8m9hesEU), [slides](https://events.canonical.com/event/35/contributions/291/attachments/60/101/Workshop%20Your%20app%20everywhere,%20just%20in%20a%20Snap!.pdf)). + + 55-min workshop in Distributions devroom (already given on [Opportunity Open Source](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india) and Canonical-internal Sprint, [video](https://www.youtube.com/watch?v=jNG8m9hesEU), [slides](https://events.canonical.com/event/35/contributions/291/attachments/60/101/Workshop%20Your%20app%20everywhere,%20just%20in%20a%20Snap!.pdf)). - **OpenPrinting - We make printing just work!** - How it all started, what we have achieved, and what we are currently doing - + 50-min talk in Main Track (already given on [Opportunity Open Source](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india), [video](https://www.youtube.com/watch?v=2xY95cIFJxg&t=3120s), [slides](https://events.canonical.com/event/35/contributions/289/attachments/58/94/talk-openprinting-intro.pdf)) + + 50-min talk in Main Track (already given on [Opportunity Open Source](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india), [video](https://www.youtube.com/watch?v=2xY95cIFJxg&t=3120s), [slides](https://events.canonical.com/event/35/contributions/289/attachments/58/94/talk-openprinting-intro.pdf)) - **Save Legacy Printers under Windows with WSL and Printer Applications** - Installing Printer Applications under WSL to support printers where Microsoft or the printer manufacturer do not supply drivers any more + 15-min Lightning Talk (already given on [Ubuntu Summit 2022 in Prague](https://youtu.be/ZtY7_fv0vwo?t=1141), [video](https://youtu.be/y7GIiLPjdTk?t=624), [slides](https://events.canonical.com/event/2/contributions/43/attachments/3/4/Save%20Legacy%20Printers%20under%20Windows%20with%20WSL%20and%20Printer%20Applications.pdf)) - **Opportunity Open Source conference in the IIT Mandi, India: Motivating people to be a part of us!** - About the conference I have organized in India to motivate people to join free software @@ -250,15 +250,15 @@ Links to the exercises and examples are on the slides. You need to have `snapcra **How I got into giving Snap workshops** -Back in mid-2022 when I joined the organization team of the Ubuntu Summit 2022 in Prague, I had a 3.5-hour 1:1 video call with the leader of the organization team, [Mauro Gaspari](https://discourse.ubuntu.com/t/mauro-gaspari-membership-application/), exchanging ideas of what we can do in this first Ubuntu Summit. And as he brought in that we could do 2-hour interactive workshops where attendees can try out the subject matter on their own laptops, I was immediately sold on that and formed the idea to do a **workshop series on how to package applications as Snaps**. Mauro liked this idea and [I started to work on making it reality](/OpenPrinting-News-November-2022/#the-making-of). +Back in mid-2022 when I joined the organization team of the Ubuntu Summit 2022 in Prague, I had a 3.5-hour 1:1 video call with the leader of the organization team, [Mauro Gaspari](https://discourse.ubuntu.com/t/mauro-gaspari-membership-application/), exchanging ideas of what we can do in this first Ubuntu Summit. And as he brought in that we could do 2-hour interactive workshops where attendees can try out the subject matter on their own laptops, I was immediately sold on that and formed the idea to do a **workshop series on how to package applications as Snaps**. Mauro liked this idea and [I started to work on making it reality](/OpenPrinting-News-November-2022#the-making-of). -And on the Ubuntu Summit 2022 in Prague, one year ago, [it actually has taken place](/OpenPrinting-News-November-2022/#and-the-conference-finally-started-): One [introduction panel](https://www.youtube.com/watch?v=ido6kGmSHWI) and 5 workshops. All the speakers, including me, have put a lot of effort in designing the workshops and especially also the accompanying examples/exercises. Too much for presenting this only one single time ... +And on the Ubuntu Summit 2022 in Prague, one year ago, [it actually has taken place](/OpenPrinting-News-November-2022#and-the-conference-finally-started-): One [introduction panel](https://www.youtube.com/watch?v=ido6kGmSHWI) and 5 workshops. All the speakers, including me, have put a lot of effort in designing the workshops and especially also the accompanying examples/exercises. Too much for presenting this only one single time ... The first workshop, the one to learn the basics, “[Snapping like hell(sworth)](https://events.canonical.com/event/2/contributions/15/)”, originally given by Heather Ellsworth and Lucy Llewellyn, got already re-enacted as "[Snapping with Lucy](https://www.dorscluc.org/sessions/snapping-with-lucy/)" soon after, only by Lucy on the [DORS/CLUC](https://www.dorscluc.org/dors-2023/) in May 2023, in Zagrep, Croatia. -Not actually knowing about Lucy's edition I also formed the idea to give Snap workshops. So I submitted "Snapping like hell(sworth)", renamed to "Your app everywhere, just in a Snap!" (the original name of the whole workshop series) on the [Linux App Summit 2023](/OpenPrinting-News-May-2023/#linux-app-summit-2023) in Brno, the [GUADEC 2023](/OpenPrinting-News-July-2023/) in Riga, and the [Ubuntu Summit 2023](#ubuntu-summit-2023-in-riga) in Riga, the latter 2 together with Heather. Only [on the GUADEC it got accepted](https://events.gnome.org/event/101/contributions/460/), but due to lack of audience I could not actually give it. +Not actually knowing about Lucy's edition I also formed the idea to give Snap workshops. So I submitted "Snapping like hell(sworth)", renamed to "Your app everywhere, just in a Snap!" (the original name of the whole workshop series) on the [Linux App Summit 2023](/OpenPrinting-News-May-2023#linux-app-summit-2023) in Brno, the [GUADEC 2023](/OpenPrinting-News-July-2023) in Riga, and the [Ubuntu Summit 2023](#ubuntu-summit-2023-in-riga) in Riga, the latter 2 together with Heather. Only [on the GUADEC it got accepted](https://events.gnome.org/event/101/contributions/460/), but due to lack of audience I could not actually give it. -But I have also organized my own conference this year, the [Opportunity Open Source](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india) in the Indian Institute of Technology (IIT) Mandi in northern India. And there, after having done a quick pre-check, finding out that the 3 other employees of Canonical who also attended are interested and so I had an assured base audience, I actually [gave it](https://events.canonical.com/event/35/contributions/291/), but only the first half, as time restrictions only gave me a 60-min slot. I got a total audience of 12, what was very good, probably several got motivated by my [talk introducing into Snap](https://events.canonical.com/event/35/contributions/292/) ([video](https://www.youtube.com/watch?v=Iw4JA3m92Q8&t=15854s), [slides](https://events.canonical.com/event/35/contributions/292/attachments/61/104/talk-snap-2023.pdf)). +But I have also organized my own conference this year, the [Opportunity Open Source](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india) in the Indian Institute of Technology (IIT) Mandi in northern India. And there, after having done a quick pre-check, finding out that the 3 other employees of Canonical who also attended are interested and so I had an assured base audience, I actually [gave it](https://events.canonical.com/event/35/contributions/291/), but only the first half, as time restrictions only gave me a 60-min slot. I got a total audience of 12, what was very good, probably several got motivated by my [talk introducing into Snap](https://events.canonical.com/event/35/contributions/292/) ([video](https://www.youtube.com/watch?v=Iw4JA3m92Q8&t=15854s), [slides](https://events.canonical.com/event/35/contributions/292/attachments/61/104/talk-snap-2023.pdf)). And finally I got the opportunity to give the workshop ([video](https://www.youtube.com/watch?v=jNG8m9hesEU), [slides](https://events.canonical.com/event/35/contributions/291/attachments/60/101/Workshop%20Your%20app%20everywhere,%20just%20in%20a%20Snap!.pdf)) in its entirety on Canonical's internal Engineering Sprint, which happened in the week after the Ubuntu Summit 2023, also in Riga. Having ~700 engineers from Canonical on the event it was easy to get a significant audience, actually around 25 to 30 people showed up to get great snappers. And as there are only Canonical people, everyone had a suitable Ubuntu version on their laptop where they could install snapcraft and do the exercises. Nobody needed the [virtual machine (~6 GB)](https://drive.google.com/file/d/1kkxZ8GE3_UtG7orl5v2d4x_T4FhMUcbb/view?usp=sharing) which I have prepared already before the GUADEC. And so I found out how long the complete workshop actually takes. I made it in 2:10 hours. @@ -282,7 +282,7 @@ And this will not only help to learn snapping, also everyone who likes to give a ## CPDB CUPS backend Snap -On the [snapcraft.io forum thread](https://forum.snapcraft.io/t/snapping-cpdb-cups-backend-a-user-daemon-using-d-bus/) where I asked for help with the [problems I talked about here last month](/OpenPrinting-News-October-2023/#cpdb-cups-backend-snap) a conversation with James Henstridge from Canonical's Desktop Team started. +On the [snapcraft.io forum thread](https://forum.snapcraft.io/t/snapping-cpdb-cups-backend-a-user-daemon-using-d-bus/) where I asked for help with the [problems I talked about here last month](/OpenPrinting-News-October-2023#cpdb-cups-backend-snap) a conversation with James Henstridge from Canonical's Desktop Team started. I have explained how CPDB exactly works, how it finds the available backends and how it communicates with them during the print dialog session in order to actually print a job. He also brought up some security concerns and I told him how we address them. diff --git a/contents/post/OpenPrinting-News-October-2020.md b/contents/post/OpenPrinting-News-October-2020.md index 7952291f..53e64a67 100644 --- a/contents/post/OpenPrinting-News-October-2020.md +++ b/contents/post/OpenPrinting-News-October-2020.md @@ -9,9 +9,9 @@ date: '2020-10-26' --- ## First year of monthly news posts completed! -It was exactly one year ago, October 2019, when I posted my [first monthly OpenPrinting news](/OpenPrinting-News-October-2019/) here on [our web site](/news/)! +It was exactly one year ago, October 2019, when I posted my [first monthly OpenPrinting news](/OpenPrinting-News-October-2019) here on [our web site](/news)! -Some will tell me now that I already started in September 2019, but the [September 2019 news post](/OpenPrinting-News-September-2019/) was only a test for the new platform and it was already October when I wrote it as an exact copy of the [original mailing list news post](https://lists.linuxfoundation.org/pipermail/printing-architecture/2019/003733.html). +Some will tell me now that I already started in September 2019, but the [September 2019 news post](/OpenPrinting-News-September-2019) was only a test for the new platform and it was already October when I wrote it as an exact copy of the [original mailing list news post](https://lists.linuxfoundation.org/pipermail/printing-architecture/2019/003733.html). ## Google Summer of Code 2020 Mentor Summit @@ -32,7 +32,7 @@ Our OpenPrinting project is going well. Piyush Goyal has already written a lot and will continue until December 5. -He regularly posts Pull Requests on [our web site GitHub](https://github.com/OpenPrinting/openprinting.github.io) and we have merged them. See his work on [our web site](/documentation/). +He regularly posts Pull Requests on [our web site GitHub](https://github.com/OpenPrinting/openprinting.github.io) and we have merged them. See his work on [our web site](/documentation). He gets currently a lot of input, from me with my [PostScript Printer Application](https://github.com/OpenPrinting/ps-printer-app) as example for a non-Raster and CUPS-driver-retro-fit Printer Application and from Michael Sweet by adding documentation to his [PAPPL project](https://github.com/michaelrsweet/pappl). @@ -48,7 +48,7 @@ We only will move the assignment of the remaining work somewhat. Alexander will ## CUPS Snap The [CUPS Snap](https://github.com/OpenPrinting/cups-snap) project is currently still waiting for the [snapd project to add the needed API extensions](https://trello.com/c/9IJToylf/1215-snapd-api-for-checking-client-snaps-whether-they-plug-a-given-interface). -After the [Pull Request](https://github.com/snapcore/snapd/pull/8920) for the implementation of the [interfaces](/OpenPrinting-News-August-2020/#cups-snap) got merged we are still waiting for the completion of the [pull request](https://github.com/snapcore/snapd/pull/9132) for adding the API functionality so that a Snap can check whether a client Snap plugs the needed interfaces is still in the works. +After the [Pull Request](https://github.com/snapcore/snapd/pull/8920) for the implementation of the [interfaces](/OpenPrinting-News-August-2020#cups-snap) got merged we are still waiting for the completion of the [pull request](https://github.com/snapcore/snapd/pull/9132) for adding the API functionality so that a Snap can check whether a client Snap plugs the needed interfaces is still in the works. ## PostScript Printer Application After having all needed filter functions and PPD file collection handling implemented in cups-filters and having the [HP PCL Printer Application](https://github.com/michaelrsweet/hp-printer-app) as example I have created a **Printer Application for PostScript printers**. diff --git a/contents/post/OpenPrinting-News-October-2021.md b/contents/post/OpenPrinting-News-October-2021.md index e0fd9ecf..af2c8706 100644 --- a/contents/post/OpenPrinting-News-October-2021.md +++ b/contents/post/OpenPrinting-News-October-2021.md @@ -58,7 +58,7 @@ Presenter: Aveek Basu
## The Summer of Printers in the Ubuntu Office Hours -On last week's episode of the Ubuntu Office Hours we have talked about our success with the Google Summer of Code (see also the announcement here [last month](/OpenPrinting-News-September-2021/#the-summer-of-printers-in-the-ubuntu-office-hours)). Not only me and Aveek Basu have been in the virtual studio but also two of our GSoC 2021 students, Divyasheel ([Printer management GUI](https://github.com/divyashk/GSOC21_summary)) and Pranshu Kharkwal ([Universal CUPS filter](https://gist.github.com/pranshukharkwal/9413499a6744049ef549159948392023)). +On last week's episode of the Ubuntu Office Hours we have talked about our success with the Google Summer of Code (see also the announcement here [last month](/OpenPrinting-News-September-2021#the-summer-of-printers-in-the-ubuntu-office-hours)). Not only me and Aveek Basu have been in the virtual studio but also two of our GSoC 2021 students, Divyasheel ([Printer management GUI](https://github.com/divyashk/GSOC21_summary)) and Pranshu Kharkwal ([Universal CUPS filter](https://gist.github.com/pranshukharkwal/9413499a6744049ef549159948392023)). Our conversation with host Monica Ayhens-Madon why and how we are doing GSoC, finding students, introducing them to our projects, getting them as developer community members, ... The students also told about their experience with us, we all have also given some tips to everyone who wants to participate in the GSoC, as student, mentor, or organization, and in the end we answered some spectator's questions from the Live Chat. @@ -69,7 +69,7 @@ Thanks a lot to Monica Ayhens-Madon for inviting us! ## Print Management GUI in Flutter -As Michael Sweet and me talked about the New Architecture (Driverless IPP, Printer Applications, R. I. P. PPD files, ...) in the [Ubuntu Indaba in August](/OpenPrinting-News-Flash-Ubuntu-Indaba-and-Ghostscript-Printer-Application/#the-ubuntu-desktop-indabas-and-openprinting---the-recording) and I also mentioned that the printer setup tools need to change for this, the host, Heather Ellsworth from Canonical, brought me together with Frederik Feichtmeier, who is writing a replacement for the GNOME Control Center completely in the Dart programming language with the Flutter GUI toolkit ([the GitHub](https://github.com/Feichtmeier/settings)). +As Michael Sweet and me talked about the New Architecture (Driverless IPP, Printer Applications, R. I. P. PPD files, ...) in the [Ubuntu Indaba in August](/OpenPrinting-News-Flash-Ubuntu-Indaba-and-Ghostscript-Printer-Application#the-ubuntu-desktop-indabas-and-openprinting---the-recording) and I also mentioned that the printer setup tools need to change for this, the host, Heather Ellsworth from Canonical, brought me together with Frederik Feichtmeier, who is writing a replacement for the GNOME Control Center completely in the Dart programming language with the Flutter GUI toolkit ([the GitHub](https://github.com/Feichtmeier/settings)). He showed much interest in making the printing part of his tool to work with the New Architecture. I introduced him into everything, giving him links to my news posts, our GutHub, the slides (especially [these ones](https://linuxplumbersconf.org/event/11/contributions/1027/attachments/774/1460/Print-Management-GUI.pdf)) and video of the Linux Plumbers conferences, the Indaba, the Office Hours, ... diff --git a/contents/post/OpenPrinting-News-October-2022.md b/contents/post/OpenPrinting-News-October-2022.md index 5c2f0862..5757c28e 100644 --- a/contents/post/OpenPrinting-News-October-2022.md +++ b/contents/post/OpenPrinting-News-October-2022.md @@ -35,7 +35,7 @@ And if you really cannot make it to this exciting event, there is some limited r **OpenPrinting is in Prague, too** -Yes, we are always in need to extend our developer, designer, document writer, ... community and the Ubuntu Summit is all about that kind of community. Therefore we will present our [activity](/current/), our [plans](/OpenPrinting-News-September-2022/#openprinting-micro-conference-on-the-linux-plumbers-2022), and our needs in the session +Yes, we are always in need to extend our developer, designer, document writer, ... community and the Ubuntu Summit is all about that kind of community. Therefore we will present our [activity](/current), our [plans](/OpenPrinting-News-September-2022#openprinting-micro-conference-on-the-linux-plumbers-2022), and our needs in the session > OpenPrinting - Join the team to make printing just work! @@ -43,7 +43,7 @@ Yes, we are always in need to extend our developer, designer, document writer, . There I will be accompanied by Zdenek Dohnal from Red Hat, Johannes Meixner from SUSE, and Deepak Patankar, former GSoC contributor and now mentor, presenting about their contributions and their integration in OpenPrinting. And after our presentations, we have an extended questions and discussion part. Depending on the room where this session will take place, we can also connect Aveek Basu from OpenPrinting and one or another (former) GSoC contributor. And if there is more discussion time needed, we can create spontaneous BoFs to continue the discussion. Unfortunately, I was not able to get BoFs pre-scheduled. -We also will help all these attendees who have relatives or friends who are still stuck in Windows (and also WSL developers who need to boot into Windows for testing), to make their old printers working again. I will show in a 10-min lightning talk that one can easily run our Printer Application Snaps in WSL under Windows, as described in our [HOWTO](/wsl-printer-app/). So do not miss +We also will help all these attendees who have relatives or friends who are still stuck in Windows (and also WSL developers who need to boot into Windows for testing), to make their old printers working again. I will show in a 10-min lightning talk that one can easily run our Printer Application Snaps in WSL under Windows, as described in our [HOWTO](/wsl-printer-app). So do not miss > Save Legacy Printers under Windows with WSL and Printer Applications @@ -214,7 +214,7 @@ Feature requests so far: ## Common Print Dialog Backends 2.0 -While our GSoC contributor Gaurav Guleria is working on [adding CPDB support to the print dialogs](/current/#the-print-dialogs) (see [above](#google-summer-of-code-2022)) he has continued to do fixes and improvements on the [CPDB framework](/achievements/#common-print-dialog-backends) itself: +While our GSoC contributor Gaurav Guleria is working on [adding CPDB support to the print dialogs](/current#the-print-dialogs) (see [above](#google-summer-of-code-2022)) he has continued to do fixes and improvements on the [CPDB framework](/achievements#common-print-dialog-backends) itself: - Fix for new requirement of glib that the glib headers should no longer be included inside `extern "C" { ... }` blocks ([PR #11](https://github.com/OpenPrinting/cpdb-libs/pull/11)) - Fixes for code reliability, like crash guards, function reporting success/failure, ... ([PR #12](https://github.com/OpenPrinting/cpdb-libs/pull/12)) @@ -231,13 +231,13 @@ Also this functionality to provide human-readable strings and their translations ## CUPS Snap and snapd printing interface **[CUPS Snap](https://github.com/OpenPrinting/cups-snap) in the [Snap Store](https://snapcraft.io/cups)** -[Last month](/OpenPrinting-News-September-2022/#cups-snap-and-snapd-printing-interface) we told here that there is a bug in snapd due to which seeded Snaps (being part of the standard installation/ISO image of the OS) cannot use the `cups` interface (and have to stay with `cups-control` for now. There will be no rush to fix this bug. Instead, we have planned to let snapd handle the dependency of the `cups` interface on the CUPS Snap internally to not need the pseudo-content interface any more and that to be implemented within the Ubuntu 23.04 development cycle (before Feature Freeze mid-February 2023). This also does not only work around the bug but pone also needs to only plug `cups` in `snapcraft.yaml`, no additional section for the dependency on CUPS is needed. +[Last month](/OpenPrinting-News-September-2022#cups-snap-and-snapd-printing-interface) we told here that there is a bug in snapd due to which seeded Snaps (being part of the standard installation/ISO image of the OS) cannot use the `cups` interface (and have to stay with `cups-control` for now. There will be no rush to fix this bug. Instead, we have planned to let snapd handle the dependency of the `cups` interface on the CUPS Snap internally to not need the pseudo-content interface any more and that to be implemented within the Ubuntu 23.04 development cycle (before Feature Freeze mid-February 2023). This also does not only work around the bug but pone also needs to only plug `cups` in `snapcraft.yaml`, no additional section for the dependency on CUPS is needed. -But note that the bug really only concerns the Snaps contained in the standard installation of Ubuntu, if you Snap your application, you can use the [`cups` interface](/achievements/#the-cups-snap) for printing without any problems. +But note that the bug really only concerns the Snaps contained in the standard installation of Ubuntu, if you Snap your application, you can use the [`cups` interface](/achievements#the-cups-snap) for printing without any problems. ## Approaching cups-filters 2.0 -We get even closer now. I have done most of the cleaning up of all the code to get a unique coding style and to make it more readable, as described [last month](/OpenPrinting-News-September-2022/#approaching-cups-filters-20). This has now be done for the complete libcupsfilters, libppd, and for `foomatic-rip`. +We get even closer now. I have done most of the cleaning up of all the code to get a unique coding style and to make it more readable, as described [last month](/OpenPrinting-News-September-2022#approaching-cups-filters-20). This has now be done for the complete libcupsfilters, libppd, and for `foomatic-rip`. When the complete code is cleaned, the current cups-filters project will be split into several parts, similar to CUPS on its transition to the 3.x series. There will be the following parts: diff --git a/contents/post/OpenPrinting-News-October-2023.md b/contents/post/OpenPrinting-News-October-2023.md index 2d14386d..6aae2f1f 100644 --- a/contents/post/OpenPrinting-News-October-2023.md +++ b/contents/post/OpenPrinting-News-October-2023.md @@ -11,11 +11,11 @@ date: '2023-10-31' --- Probably many of you are using a modern driverless multi-function printer and scanner device, and it does not only print but also scan perfectly on your Linux system, or you have your driverless printer connected via USB and it also just works without any device-model-specific driver. -This works especially thanks to **Alexander Pevzner's** excellent voluntary work of creating the IPP-over-USB daemon [ipp-usb](/achievements/#driverless-printers-on-usb---ipp-over-usb) and the SANE backend [sane-airscan](/achievements/#sane-backends-for-driverless-scanning---escl-and-wsd-airscan) for driverless scanning with both the eSCL and the WSD standards. +This works especially thanks to **Alexander Pevzner's** excellent voluntary work of creating the IPP-over-USB daemon [ipp-usb](/achievements#driverless-printers-on-usb---ipp-over-usb) and the SANE backend [sane-airscan](/achievements#sane-backends-for-driverless-scanning---escl-and-wsd-airscan) for driverless scanning with both the eSCL and the WSD standards. For a longer time he has been very busy with other things and so he was keeping his OpenPrinting work in "maintenance mode", but now he showed up again and worked on some issues in CUPS and cups-filters. -And he has also written an **amazing article** ([Original](https://habr.com/en/articles/751214/), [Google-translated to English](https://habr-com.translate.goog/en/articles/751214/?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp&_x_tr_hist=true)) about his work, how he got into it, and especially praising me for my cooperation with him. And thanks a lot to Anton Gladky, without his hint on the [DebConf2023](/OpenPrinting-News-September-2023/#debconf-2023-in-kochi-india) I had never got note of it. +And he has also written an **amazing article** ([Original](https://habr.com/en/articles/751214/), [Google-translated to English](https://habr-com.translate.goog/en/articles/751214/?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp&_x_tr_hist=true)) about his work, how he got into it, and especially praising me for my cooperation with him. And thanks a lot to Anton Gladky, without his hint on the [DebConf2023](/OpenPrinting-News-September-2023#debconf-2023-in-kochi-india) I had never got note of it. Some days ago, Alan Pope ("[Popey](https://ubuntu.social/@popey)"), a former colleague of mine at Canonical, and owner of the [ubuntu.social](https://ubuntu.social/) instance of Mastodon, posted on Mastodon [asking for help which printer to buy](https://ubuntu.social/@popey/111319371893037213). I read the busy thread and answered several times, telling about OpenPrinting's list of driverless printers, confirming that the Xerox somebody else suggested is actually on the list, warning about (mainly HP and Canon) printers which stop scanning when they run out of ink/toner, ... @@ -33,7 +33,7 @@ So let us now start with what we did at OpenPrinting in October ... ## Ubuntu Summit 2023 in Riga The [Summit](https://events.canonical.com/event/31/) is coming close, I am already in Riga since yesterday and today at 2pm EET (CET) it will actually start. A lot of [exciting stuff](https://events.canonical.com/event/31/ngtimetable/) is waiting there in 5 rooms for 2.5 days. And there will be also a surprise! -The best of all is that one will meet each other again, like [last year on the Ubuntu Summit 2022 in Prague](/OpenPrinting-News-December-2022/#ubuntu-summit---videos-pictures-blogs-podcasts-) in these 3.5 days (many arrived early, to enjoy Riga, get rid of jet lag, have a margin for flight delays, attending the Canonical-internal Sprint before the Summit ...). +The best of all is that one will meet each other again, like [last year on the Ubuntu Summit 2022 in Prague](/OpenPrinting-News-December-2022#ubuntu-summit---videos-pictures-blogs-podcasts-) in these 3.5 days (many arrived early, to enjoy Riga, get rid of jet lag, have a margin for flight delays, attending the Canonical-internal Sprint before the Summit ...). And on the conference itself I will give my third Snap workshop! It is @@ -128,7 +128,7 @@ Next month I will post an overview with links to all the final reports. And I was in Sunnyvale at Google on the [Mentor Summit](https://sites.google.com/view/gsoc2023mentorsummit/) meeting my fellow mentors again, especially also Deepak Patankar, who was lucky to get a spot through the waitlist. The event was smaller than the 2018 edition which has taken place in the same location, as each mentoring organization got only one guaranteed delegate spot and not two. But nevertheless it was still fun. -Especially I have given a 3-min (!) lightning talk about the participation of the Linux Foundation and the [Opportunity Open Source in the IIT Mandi](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india). It was in [one of two sessions](shttps://sites.google.com/view/gsoc2023mentorsummit/schedule/lightning-talks-speaker-order) where every mentoring organization could give a brief presentation about something interesting or important, usually success stories about exceptional contributors. So mine was somehow different, but in some form also a success story of a contributor, of Akarshan doing the excellent local part of the organization of the event ... +Especially I have given a 3-min (!) lightning talk about the participation of the Linux Foundation and the [Opportunity Open Source in the IIT Mandi](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india). It was in [one of two sessions](shttps://sites.google.com/view/gsoc2023mentorsummit/schedule/lightning-talks-speaker-order) where every mentoring organization could give a brief presentation about something interesting or important, usually success stories about exceptional contributors. So mine was somehow different, but in some form also a success story of a contributor, of Akarshan doing the excellent local part of the organization of the event ... And even quicker was the self-presentation of each of the 175 attendees. We only could use 4 words! I used OpenPrinting - Snap - Ubuntu - Community. @@ -138,7 +138,7 @@ In addition, I departed to the US two days earlier, to not miss the event if fli ## CPDB CUPS backend Snap -To complete the printing stack in the all-Snap experience of [Ubuntu Core Desktop](https://discourse.ubuntu.com/t/ubuntu-core-desktop-deep-dive/) we still need one more Snap, the one of the [CUPS backend](https://github.com/OpenPrinting/cpdb-backend-cups/) for the [Common Print Dialog Backends (CPDB)](/achievements/#common-print-dialog-backends). +To complete the printing stack in the all-Snap experience of [Ubuntu Core Desktop](https://discourse.ubuntu.com/t/ubuntu-core-desktop-deep-dive/) we still need one more Snap, the one of the [CUPS backend](https://github.com/OpenPrinting/cpdb-backend-cups/) for the [Common Print Dialog Backends (CPDB)](/achievements#common-print-dialog-backends). This is needed as all the application's print dialogs also need to get switched over to the New Architecture of not having PPD files any more, but instead, IPP print destinations. And exactly this we have implemented in the CPDB backend for CUPS, and now making the dialogs using CPDB we will make them not only working with the upcoming CUPS 3.x and with the CUPS Snap, but also assure that they stay working with further changes in CUPS and also being open for new print services, like for example cloud services. @@ -157,7 +157,7 @@ Thanks a lot, Biswadeep, for all your great work on this! ## libcups3 support Michael Sweet is not only deep into the development of [libcups3](https://github.com/OpenPrinting/libcups), the CUPS library of the new CUPS 3.x, but he is also already switching PAPPL to it. The current stable release 1.4.2 can be built with either libcups2 or libcups3, the library being autodetected by the `./configure` script, and the master branch in the GIT repository which is approaching version 2.0 is even libcups3-only. -So Michael seems to be eager to switch us into the [New Generation](/current/#the-new-architecture-for-printing-and-scanning) of all-IPP, PPD-less printing as soon as possible and probably also considers Printer Applications as a thing of the New Generation CUPS 3.x world. +So Michael seems to be eager to switch us into the [New Generation](/current#the-new-architecture-for-printing-and-scanning) of all-IPP, PPD-less printing as soon as possible and probably also considers Printer Applications as a thing of the New Generation CUPS 3.x world. Akarshan Kapoor has [added scanning support to PAPPL](https://dev.to/kappuccino111/sandboxing-scanners-a-leap-into-the-driverless-realm-gsoc-23-report-3eci) during this year's GSoC and posted a [Pull Request](https://github.com/michaelrsweet/pappl/pull/249) for its inclusion. As it is a significant new feature it will most probably not be accepted into the 1.4.x series but only into 2.x which would require that PAPPL-based Scanner Applications will háve to use libcups3. diff --git a/contents/post/OpenPrinting-News-October-2024.md b/contents/post/OpenPrinting-News-October-2024.md index 2874516a..f952dcc8 100644 --- a/contents/post/OpenPrinting-News-October-2024.md +++ b/contents/post/OpenPrinting-News-October-2024.md @@ -24,9 +24,9 @@ On the Festa do Software Livre we recorded 2 episodes of the Podcast Ubuntu Port The [GSoC](#google-summer-of-code-2024) has ended and our 11 contributors have all done amazing work to put together our most successful GSoC year. We had never that many contributors and all have actually done code which we can merge upstream. -And there were also several [new releases](#new-releases) at OpenPrinting, starting with the 2.1.0 releases of libcupsfilters, libppd, and cups-browsed to include the fixes for the [recent vulnerabilities](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability/) and updates of libcups3 and PAPPL. +And there were also several [new releases](#new-releases) at OpenPrinting, starting with the 2.1.0 releases of libcupsfilters, libppd, and cups-browsed to include the fixes for the [recent vulnerabilities](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability) and updates of libcups3 and PAPPL. -Videos of the talks on the [UbuCon Asia 2024](https://www.youtube.com/playlist?list=PLr8g8zdbZAgH7pLbMXfwdEI-c9Ck-gcHI) and on the [Open Source Summit Europe 2024](https://www.youtube.com/playlist?list=PLbzoR-pLrL6rC7SpO7MJCZm22Qp5ns3p-) are available now. See links to the recordings of my talks in the appropriate sections in the [August News](/OpenPrinting-News-August-2024/). +Videos of the talks on the [UbuCon Asia 2024](https://www.youtube.com/playlist?list=PLr8g8zdbZAgH7pLbMXfwdEI-c9Ck-gcHI) and on the [Open Source Summit Europe 2024](https://www.youtube.com/playlist?list=PLbzoR-pLrL6rC7SpO7MJCZm22Qp5ns3p-) are available now. See links to the recordings of my talks in the appropriate sections in the [August News](/OpenPrinting-News-August-2024). So let us see what happened at OpenPrinting in October ... @@ -42,7 +42,7 @@ Subscribing/Unsubscribing [instructions](https://subspace.kernel.org/subscribing ## Festa do Software Livre/UbuCon Portugal 2024 -After 20 years I was again on a a conference held in Portuguese laguage, this time on the [Festa do Software Livre](https://festa2024.softwarelivre.eu/) in Aveiro, Portugal, a 2-day conference with a main track and several sub-conferences co-located by different open-source organizations: Drupal, Flutter, WikiMedia Portugal, Inêrcia, and the [UbuCon Portugal](https://ubuconpt2024.ubuntu-pt.org). I followed the [invitation of Diogo Constantino](/OpenPrinting-News-September-2024/#festa-do-software-livreubucon-portugal-2024). +After 20 years I was again on a a conference held in Portuguese laguage, this time on the [Festa do Software Livre](https://festa2024.softwarelivre.eu/) in Aveiro, Portugal, a 2-day conference with a main track and several sub-conferences co-located by different open-source organizations: Drupal, Flutter, WikiMedia Portugal, Inêrcia, and the [UbuCon Portugal](https://ubuconpt2024.ubuntu-pt.org). I followed the [invitation of Diogo Constantino](/OpenPrinting-News-September-2024#festa-do-software-livreubucon-portugal-2024). I was departing early in the morning, on the day before the conference started, and when telling to my colleagues in Canonical's Desktop Team, that I am heading to Aveiro, Ana Sereijo, UX designer, spoke up telling me that she came from there. So, as I was arriving in Aveiro at lunch time, I asked her for restaurant recommendations and this way got to an excellent, delicious place for classic Portuguese food. I ate grilled sardines and it reminded me to when I lived in Portugal for a year back in 2007. @@ -52,7 +52,7 @@ The conference has taken place in the Departamento de Eletrónica, Telecomunica Here are the schedules: [Festa do Software Livre](https://festa2024.softwarelivre.eu/pt-pt/agenda/), [UbuCon Portugal](https://ubuconpt2024.ubuntu-pt.org/sessions/) -I have given 3 sessions, all in Portuguese, as announced [last month](/OpenPrinting-News-September-2024/#festa-do-software-livreubucon-portugal-2024). +I have given 3 sessions, all in Portuguese, as announced [last month](/OpenPrinting-News-September-2024#festa-do-software-livreubucon-portugal-2024). On the first day, Friday, I gave my talk about the history and the current work of OpenPrinting, but in Portuguese: @@ -60,9 +60,9 @@ On the first day, Friday, I gave my talk about the history and the current work [Video](https://www.youtube.com/live/UaKzri016Zc?t=11250s) -I have given it in the main track. I ended up talking about how I got into free software, the history of OpenPrinting, our current work on CUPS 3.x including its integration in the desktop, [Windows Protected Print](/OpenPrinting-News-December-2023/#new-architecture-under-windows), ... for 70 minutes and afterwards did a 14 min [Q&A session](https://www.youtube.com/live/UaKzri016Zc?t=15505s). I also got some printing-related questions during the coffee breaks on both days. +I have given it in the main track. I ended up talking about how I got into free software, the history of OpenPrinting, our current work on CUPS 3.x including its integration in the desktop, [Windows Protected Print](/OpenPrinting-News-December-2023#new-architecture-under-windows), ... for 70 minutes and afterwards did a 14 min [Q&A session](https://www.youtube.com/live/UaKzri016Zc?t=15505s). I also got some printing-related questions during the coffee breaks on both days. -And I did not talk about the [recent vulnerabilities](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability/) and nobody asked me about them during the Q&A (if you want to hear me talking in Portuguese about that, see my [Podcast Ubuntu Portugal participation](#4-times-in-podcast-ubuntu-portugal), episodes [E321](https://podcastubuntuportugal.org/e321/) and [E322](https://podcastubuntuportugal.org/e322/)). +And I did not talk about the [recent vulnerabilities](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability) and nobody asked me about them during the Q&A (if you want to hear me talking in Portuguese about that, see my [Podcast Ubuntu Portugal participation](#4-times-in-podcast-ubuntu-portugal), episodes [E321](https://podcastubuntuportugal.org/e321/) and [E322](https://podcastubuntuportugal.org/e322/)). On the second day, we had the UbuCon Portugal, where the morning part was all about Snap. First, I gave a Portuguese version of my talk in which I explain what Snap is, how it works and how it is motivated, and about the Snap-only operating systems Ubuntu Core and Ubuntu Core Desktop: @@ -88,7 +88,7 @@ Each night we have produced an episode of the [Podcast Ubuntu Portugal](https:// At the second day's dinner we had also a post-conference meeting talking about what went well and what not so well at the conference and what one can improve in the next edition. -And before the dinner Diogo and me exchanged our experience in recording and live-streaming the Festa do Software Livre and the [Opportunity Open Source](/OpenPrinting-News-August-2024/#opportunity-open-source-in-iit-kanpur) resp. Diogo fell in love with the wireless clip-on mic kits (from Tonor) which I brought (and used several times on the conference) and bought such a kit right when he got home. And we concluded that we need to develop a better method for live-streaming/recording/remote speaking and document it somewhere. +And before the dinner Diogo and me exchanged our experience in recording and live-streaming the Festa do Software Livre and the [Opportunity Open Source](/OpenPrinting-News-August-2024#opportunity-open-source-in-iit-kanpur) resp. Diogo fell in love with the wireless clip-on mic kits (from Tonor) which I brought (and used several times on the conference) and bought such a kit right when he got home. And we concluded that we need to develop a better method for live-streaming/recording/remote speaking and document it somewhere. ## Ubuntu Summit 2024 in the Hague @@ -128,7 +128,7 @@ It was originally planned to open the exhibition only after the opening plenary, **Snapcrafters Booth and Workshops** -I was participating in the [Snapcrafters booth](https://events.canonical.com/event/51/contributions/524/), together with Soumyadeep Ghosh, Merlijn Sebrechts, Lucy Llewellyn and so we were also setting up our booth. As I have [already run a Snapcrafters booth with Soumyadeep on the UbuCon Asia](/OpenPrinting-News-August-2024/#soumyadeep-ghosh) Soumyadeep had already a slide show for the booth screen where he only needed to update the workshop announcements. Our booth tables were full of Snapcrafters stickers and Origami Snapcraft birds. +I was participating in the [Snapcrafters booth](https://events.canonical.com/event/51/contributions/524/), together with Soumyadeep Ghosh, Merlijn Sebrechts, Lucy Llewellyn and so we were also setting up our booth. As I have [already run a Snapcrafters booth with Soumyadeep on the UbuCon Asia](/OpenPrinting-News-August-2024#soumyadeep-ghosh) Soumyadeep had already a slide show for the booth screen where he only needed to update the workshop announcements. Our booth tables were full of Snapcrafters stickers and Origami Snapcraft birds. With the same people I was also participating in the organization of the two Snap workshops: @@ -138,7 +138,7 @@ and "**[How to build and test your snaps automatically using GitHub actions](https://events.canonical.com/event/51/contributions/587/)**" ([Slides](https://events.canonical.com/event/51/contributions/587/attachments/285/528/CI%20Workshop.pdf), [Exercises](https://github.com/snapcrafters/discord), [Video](https://www.youtube.com/watch?v=Rmcj-Zjiaoo)) -I did not do the presentations themselves, this was done my Soumyadeep Ghosh and Merlijn Sebrechts, but I have given a [short introduction](https://www.youtube.com/watch?v=XJXMQYfkubg&t=0s) telling how the Snap workshops had their roots in my [Snap workshop series on the Ubuntu Summit 2022](/OpenPrinting-News-November-2022/#the-first-ubuntu-summit-was-a-success) and the first one being based on Heathers's original workshop ["Snapping like Hell(sworth)"](https://events.canonical.com/event/2/contributions/15/) which was afterwards given on many other conferences, [mainly by me](https://forum.snapcraft.io/t/40263) but also by [Lucy](https://www.dorscluc.org/dors-2023/) and by [Soumyadeep](/OpenPrinting-News-August-2024/#soumyadeep-ghosh). In the second workshop, in the end of the presentation part, I have also [told about our plans to merge](https://www.youtube.com/watch?v=Rmcj-Zjiaoo&t=1390s) the [Snapcrafter's GitHub action](https://github.com/snapcrafters/ci) with the [Canonical Desktop Team's GitHub Action](https://github.com/ubuntu/desktop-snaps). I (and several other Snap experts) have also been in the room to help on the exercises, as these workshops were, in contrary to several others, really interactive. +I did not do the presentations themselves, this was done my Soumyadeep Ghosh and Merlijn Sebrechts, but I have given a [short introduction](https://www.youtube.com/watch?v=XJXMQYfkubg&t=0s) telling how the Snap workshops had their roots in my [Snap workshop series on the Ubuntu Summit 2022](/OpenPrinting-News-November-2022#the-first-ubuntu-summit-was-a-success) and the first one being based on Heathers's original workshop ["Snapping like Hell(sworth)"](https://events.canonical.com/event/2/contributions/15/) which was afterwards given on many other conferences, [mainly by me](https://forum.snapcraft.io/t/40263) but also by [Lucy](https://www.dorscluc.org/dors-2023/) and by [Soumyadeep](/OpenPrinting-News-August-2024#soumyadeep-ghosh). In the second workshop, in the end of the presentation part, I have also [told about our plans to merge](https://www.youtube.com/watch?v=Rmcj-Zjiaoo&t=1390s) the [Snapcrafter's GitHub action](https://github.com/snapcrafters/ci) with the [Canonical Desktop Team's GitHub Action](https://github.com/ubuntu/desktop-snaps). I (and several other Snap experts) have also been in the room to help on the exercises, as these workshops were, in contrary to several others, really interactive. **Talks and Workshops** @@ -152,7 +152,7 @@ The session was announced as a workshop and had taken place in the workshop room "**[Live build your submarine step-by-step](https://events.canonical.com/event/51/contributions/541/)**" by Juanmi Taboada ([Video](https://www.youtube.com/watch?v=30IoA-m4JuA)) -Here I was in the good hope to put my hands on some hardware, but, as the Inkscape "workshop" this was also only a demo. Juanmi, who brought his remote-operated and free-software-controlled submersible already to [last year's Summit](/OpenPrinting-News-November-2023/#ubuntu-summit-2023-in-riga) explained the free-software-driven hardware-components, showed them and put them together, but there were no extra copies for the audience to try it by themselves. +Here I was in the good hope to put my hands on some hardware, but, as the Inkscape "workshop" this was also only a demo. Juanmi, who brought his remote-operated and free-software-controlled submersible already to [last year's Summit](/OpenPrinting-News-November-2023#ubuntu-summit-2023-in-riga) explained the free-software-driven hardware-components, showed them and put them together, but there were no extra copies for the audience to try it by themselves. "**[Fuzzing in the open: Integrate your project in OSS-Fuzz for continuous fuzzing](https://events.canonical.com/event/51/contributions/540/)**" by Dongge Liu, George-Andrei Iosif, Jiongchi Yu ([Slides](https://events.canonical.com/event/51/contributions/540/attachments/230/529/Presentation.pdf), [Exercises](https://github.com/iosifache/fuzzingintheopen), [Video](https://www.youtube.com/watch?v=S0IyScIRzb8)) @@ -182,7 +182,7 @@ Our [GSoC](#google-summer-of-code-2024) contributor Akarshan Kapoor was on the U > This is AK, who will revolutionize my personal live. Because train travel in Germany really is not, what you want it to be, and if it is really not what you want it to be, you at least want to have the toilets working ... -And Akarshan, when he introduced himself in the beginning, he told that he was already speaking on the [Summit last year](/OpenPrinting-News-November-2023/#ubuntu-summit-2023-in-riga), about his [Scanner Application work for OpenPrinting](https://dev.to/kappuccino111/pappl-scan-api-bridging-gsoc-2024-project-report-2hoc), and [he shouted me out](https://www.youtube.com/watch?v=kWMt8PLVEE0&t=82s)! +And Akarshan, when he introduced himself in the beginning, he told that he was already speaking on the [Summit last year](/OpenPrinting-News-November-2023#ubuntu-summit-2023-in-riga), about his [Scanner Application work for OpenPrinting](https://dev.to/kappuccino111/pappl-scan-api-bridging-gsoc-2024-project-report-2hoc), and [he shouted me out](https://www.youtube.com/watch?v=kWMt8PLVEE0&t=82s)! **Lightning Talks** @@ -209,7 +209,7 @@ Yuning has also given the talk about RISC-V, together with Gordan Markus from Ca **[Framework](https://events.canonical.com/event/51/contributions/562/)**: Right nect to the Deep Computing booth was the Framework booth where you could see and try out their laptops and their laptop's modularity. Naturally, they also had Deep Computings RISC-V board on their booth. Nirav Patel, their CEO, has done the lightning demo of changing the motherboard in five minutes (see above). -**[UBPorts](https://events.canonical.com/event/51/contributions/561/)**: This was the place where you could find **Diogo Constantino** (of the LoCo Portugal) most easily, as participant of this booth and Ubuntu Touch enthusiast who even uses this system as daily driver. Also **Alfred Neumayer**, [master of Snap on Ubuntu Touch](/OpenPrinting-News-February-2024/#cups-snap-on-ubuntu-touch) was participating (and giving a [talk](https://events.canonical.com/event/51/contributions/513/), [Slides](https://events.canonical.com/event/51/contributions/513/attachments/301/441/SnapsOnUbuntuTouchLibreoffice.pdf), [Video](https://www.youtube.com/watch?v=osQSYJttoco)). +**[UBPorts](https://events.canonical.com/event/51/contributions/561/)**: This was the place where you could find **Diogo Constantino** (of the LoCo Portugal) most easily, as participant of this booth and Ubuntu Touch enthusiast who even uses this system as daily driver. Also **Alfred Neumayer**, [master of Snap on Ubuntu Touch](/OpenPrinting-News-February-2024#cups-snap-on-ubuntu-touch) was participating (and giving a [talk](https://events.canonical.com/event/51/contributions/513/), [Slides](https://events.canonical.com/event/51/contributions/513/attachments/301/441/SnapsOnUbuntuTouchLibreoffice.pdf), [Video](https://www.youtube.com/watch?v=osQSYJttoco)). **[Back to the Future of Open Source 3D Printing Hardware](https://events.canonical.com/event/51/contributions/517/)**: Here I met Yatin Khurana, from [Boltz R&D](https://boltzrnd.com/) in India, developing truly Open-Source hardware for 3D printers, in contrary to most manufacturers going more and more closed-source. I am looking into getting him onto the next Opportunity Open Source conference. Yatin has also given a lightning talk (see above). @@ -219,7 +219,7 @@ Yuning has also given the talk about RISC-V, together with Gordan Markus from Ca When **Diogo Constantino** showed up at our Snapcrafters booth I started chatting with him, in Portuguese, and not taking it actually seriously, telling him that we should record an episode for [Podcast Ubuntu Portugal](https://podcastubuntuportugal.org/) on the Summit, and he found that a good idea, and then he asked the organizers for a room and we started gathering people who speak Portuguese end ended up to produce [episode E322](https://podcastubuntuportugal.org/e322/) with Diogo, **Cristovão Cordeiro** (Canonical Containerization/Rockcraft), **Carlos Nihelton** (Canonical Desktop Team/WSL), **Diogo Sousa** (Canonical Security Engineering), and me. This was the [4th time of me being in the Podcast Ubuntu Portugal](#4-times-in-podcast-ubuntu-portugal). -On the UbuCon Asia in Jaipur, where I met **Soumyadeep Ghosh** for the first time and [I was talking with him about a lot of my free software activity and experience](/OpenPrinting-News-August-2024/#soumyadeep-ghosh), he came to the idea to create a monthly Ubuntu podcast, probably because I told him also about Heather's famous Indabas. +On the UbuCon Asia in Jaipur, where I met **Soumyadeep Ghosh** for the first time and [I was talking with him about a lot of my free software activity and experience](/OpenPrinting-News-August-2024#soumyadeep-ghosh), he came to the idea to create a monthly Ubuntu podcast, probably because I told him also about Heather's famous Indabas. On the Summit he was then looking for help on how to do the logistics of a podcast, and it was great that Diogo as experienced podcaster was there and he explained everything to Soumyadeep and we created a room on Matrix for further planning. @@ -231,7 +231,7 @@ On the evening of the 26th, right after the talks, meeting rooms were set up for The groups who got a room were Ubuntu Flavours, Governance & Autoinstall, Open Source Security, Linux Gaming, Juju & Friends, and the Open Documentation Academy. -As OpenPrinting is [participating as organization](/OpenPrinting-News-May-2024/#open-documentation-academy) in the [Open Documentation Academy (ODA)](https://discourse.ubuntu.com/t/39615), I have participated in their room. Our activity was running an episode of the weekly [Open Documentation Hour](https://discourse.ubuntu.com/t/42771) live session (Episode 35, [Video](https://www.youtube.com/watch?v=J5GEAzAZOS0)). **Graham Morrison**, at Canonical responsible for the Snap documentation and also project lead of the ODA (at the very right in the frame, but not visible in the first few minutes), is hosting the session. +As OpenPrinting is [participating as organization](/OpenPrinting-News-May-2024#open-documentation-academy) in the [Open Documentation Academy (ODA)](https://discourse.ubuntu.com/t/39615), I have participated in their room. Our activity was running an episode of the weekly [Open Documentation Hour](https://discourse.ubuntu.com/t/42771) live session (Episode 35, [Video](https://www.youtube.com/watch?v=J5GEAzAZOS0)). **Graham Morrison**, at Canonical responsible for the Snap documentation and also project lead of the ODA (at the very right in the frame, but not visible in the first few minutes), is hosting the session. At [2:00 min](https://www.youtube.com/watch?v=J5GEAzAZOS0&t=120s) we discussed the use of GIT to manage the documentation and I (second to the right in the frame, in the beginning at the very right) am telling that I use it for all content on OpenPrinting without problems. Right after ([3:18 min](https://www.youtube.com/watch?v=J5GEAzAZOS0&t=198s)) Graham is introducing me as responsible for OpenPrinting and then I tell what OpenPrinting is, about CUPS, Michael Sweet, and our need of documentation and that therefore I joined the ODA as the first non-Canonical organization. I also tell that Michael Sweet is an excellent example of a programmer who is also doing all the documentation for his work. Graham tells that Thunderbird is also joining, as the second non-Canonical organization. My part ends at 10:23 min. @@ -242,7 +242,7 @@ Here are some blogs, articles, videos, and podcasts about the event (taken from - **[The Source - Canonical on LinkedIn](https://www.linkedin.com/newsletters/the-source-7108409718422839296/)** - [Thank YOU for open source](https://www.linkedin.com/pulse/thank-you-open-source-canonical-eyroe/): Canonical's official report of the Summit on LinkedIn, featuring [Ngazetungue Muheue’s talk on open source in Africa](https://youtu.be/mPP7amqTGFA), the work of the Hack Club, creating free software with high school teenagers, including the [talk about the Boreal Express](https://youtu.be/AdgU-_1vDco), by Zach Latta, founder of the organization, [Akarshan's talk about the free software use in train toilet monitoring](https://www.youtube.com/watch?v=kWMt8PLVEE0) (see above), Juanmi Taboada's [submersible workshop](https://www.youtube.com/watch?v=30IoA-m4JuA), and as the higlight at the end, the [Framework lightning demo](https://www.youtube.com/watch?v=l6khGznGeyY) (see above). - **[Soumyadeep Ghosh on GitHub](https://soumyadghosh.github.io/website/)** - - [Ubuntu Summit 2024: A joyful experience filled with sorrow](https://soumyadghosh.github.io/website/blog/ubuntu-summit-2024/): Soumyadeep's second conference in his life (The first was the [UbuCon Asia 2024](/OpenPrinting-News-August-2024/#soumyadeep-ghosh)) and his first international trip, was the Ubuntu Summit. He tells about his arrival, the people he met, the Snapcrafters booth, the Snap workshops, the sessions he attended, with many photos of the people ... But he also tells that his grandpa passed away while he was on the Summit. R. I. P. + - [Ubuntu Summit 2024: A joyful experience filled with sorrow](https://soumyadghosh.github.io/website/blog/ubuntu-summit-2024/): Soumyadeep's second conference in his life (The first was the [UbuCon Asia 2024](/OpenPrinting-News-August-2024#soumyadeep-ghosh)) and his first international trip, was the Ubuntu Summit. He tells about his arrival, the people he met, the Snapcrafters booth, the Snap workshops, the sessions he attended, with many photos of the people ... But he also tells that his grandpa passed away while he was on the Summit. R. I. P. - **[Akarshan Kapoor on LinkedIn](https://www.linkedin.com/in/akarshan111/)** - [That’s what happens when you combine a love for OpenSourcery with the celebration of 20 years of Ubuntu](https://www.linkedin.com/posts/akarshan111_opensourcery-ubuntu-ubuntusummit2024-activity-7268895366660390912-hnOv): Akarshan giving a nice short summary of the people he met on the Summit by doing one-line-shoutouts of each of them. And I got shouted out near the top of the long list! - **[The Register](https://www.theregister.com/)** @@ -264,7 +264,7 @@ Here are some blogs, articles, videos, and podcasts about the event (taken from ## 4 times in Podcast Ubuntu Portugal -As [reported in July](/OpenPrinting-News-July-2024/), **Diogo Constantino**, leader of the Ubuntu local community (LoCo) Portugal, had [interviewed me](https://podcastubuntuportugal.org/e310/) in the [Podcast Ubuntu Portugal](https://podcastubuntuportugal.org/), a podcast in Portuguese language about Linux and especially Ubuntu. +As [reported in July](/OpenPrinting-News-July-2024), **Diogo Constantino**, leader of the Ubuntu local community (LoCo) Portugal, had [interviewed me](https://podcastubuntuportugal.org/e310/) in the [Podcast Ubuntu Portugal](https://podcastubuntuportugal.org/), a podcast in Portuguese language about Linux and especially Ubuntu. In the end of the interview Diogo invited me to the [Festa do Software Livre/UbuCon Portugal](#festa-do-software-livreubucon-portugal-2024) in Aveiro in Portugal, where on both conference days I had dinner with Diogo and the organizers of the event and some others, and after each of the two dinners we recorded an episode of the podcast. @@ -279,7 +279,7 @@ So this way I made it into the Podcast Ubuntu Portugal 4 times: If you feel more comfortable to listen to people speaking Portuguese and not English, together with the recordings of my talks on the Festa do Software Livre, there are a lot of opportunities to listen to me now. -Also if you feel more comfortable to get the [recent vulnerabilities](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability/) explained in Portuguese, I did so in [E321](https://podcastubuntuportugal.org/e321/) and [E322](https://podcastubuntuportugal.org/e322/). +Also if you feel more comfortable to get the [recent vulnerabilities](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability) explained in Portuguese, I did so in [E321](https://podcastubuntuportugal.org/e321/) and [E322](https://podcastubuntuportugal.org/e322/). ## Google Summer of Code 2024 @@ -516,9 +516,9 @@ Contributor: Uddhav Phatak ## New Releases Since the last OpenPrinting News we had again several releases: -[**libcupsfilters, libppd, cups-browsed 2.1.0**](/libcupsfilters,-libppd,-cups-filters-2.1.0-Releases-including-vulnerability-fix/) +[**libcupsfilters, libppd, cups-browsed 2.1.0**](/libcupsfilters,-libppd,-cups-filters-2.1.0-Releases-including-vulnerability-fix) -First of all, we have done upstream releases of the packages which got fixed because of the [recently reported remote code execution and DDoS vulnerabilities](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability/). +First of all, we have done upstream releases of the packages which got fixed because of the [recently reported remote code execution and DDoS vulnerabilities](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability). We have especially removed support for legacy CUPS browsing and for LDAP from **cups-browsed** to eliminate the entrance point for the attacks, the acceptance of UDP packages from arbitrary sources on port 631. In addition we validate and sanitize incoming IPP responses and PPD file entries in both **libcupsfilters** and **libppd**. @@ -526,7 +526,7 @@ After the 2.0.0 release we had also added some new features during all the month **libcupsfilters** received a facility for **CI/build/unit testing of filter functions** using an easily-editable table describing the test cases. This was Pratyush Ranjan's [GSoC 2023 project](https://github.com/pranjanpr/GSoC-23) at OpenPrinting. -**libcups [3.0rc1](/libcups-3.0rc1/), [3.0rc2](/libcups-3.0rc2/), and [3.0rc3](/libcups-3.0rc3/)** +**libcups [3.0rc1](/libcups-3.0rc1), [3.0rc2](/libcups-3.0rc2), and [3.0rc3](/libcups-3.0rc3)** The development of libcups3 has reached release candidate (RC) state. Then usually all planned features should be included band final testing and bug fixing will happen. So it now will not take long any more until the first stable release of a CUPS-3.x component. @@ -552,6 +552,6 @@ The last feature additions are here: In addition. many bugs got fixed. -**PAPPL [1.4.7](/pappl-1.4.7/) and [1.4.8](/pappl-1.4.8/)** +**PAPPL [1.4.7](/pappl-1.4.7) and [1.4.8](/pappl-1.4.8)** These releases fix several bugs, including a [security issue](https://github.com/michaelrsweet/pappl/issues/373): If a password is set for the web admin interface, it got ingnored when logging in and so anybody could log in. diff --git a/contents/post/OpenPrinting-News-Opportunity-Open-Source-3.0-in-the-IIT-Kanpur,-India.md b/contents/post/OpenPrinting-News-Opportunity-Open-Source-3.0-in-the-IIT-Kanpur,-India.md index 0ef6e501..267b0bec 100644 --- a/contents/post/OpenPrinting-News-Opportunity-Open-Source-3.0-in-the-IIT-Kanpur,-India.md +++ b/contents/post/OpenPrinting-News-Opportunity-Open-Source-3.0-in-the-IIT-Kanpur,-India.md @@ -8,9 +8,9 @@ excerpt: For our third edition we returned to Kanpur date: '2025-10-15' --- ## From Nepal to India ... -As reported in my [previous blog](/OpenPrinting-News-UbuCon-Asia-2025-in-Kathmandu-Nepal/) I had also attended the [UbuCon Asia](https://2025.ubucon.asia/) in Kathmandu, in Nepal, on August 30-31. We have set the date for the Opportunity Open Source on the following weekend, September 5-7, to give the possibility to attend both doing one single round trip, which had especially made sense if we had co-hosted [UbuCon India](https://events.canonical.com/event/136/overview). +As reported in my [previous blog](/OpenPrinting-News-UbuCon-Asia-2025-in-Kathmandu-Nepal) I had also attended the [UbuCon Asia](https://2025.ubucon.asia/) in Kathmandu, in Nepal, on August 30-31. We have set the date for the Opportunity Open Source on the following weekend, September 5-7, to give the possibility to attend both doing one single round trip, which had especially made sense if we had co-hosted [UbuCon India](https://events.canonical.com/event/136/overview). -So at least I have made said round trip and traveled from Kathmandu in Nepal directly to Lucknow in India, on September 2, the day after the day trip of the UbuCon in Nepal. Then I have stayed in Lucknow for tourism for 2 nights and the traveled with Aveek Basu with a hired driver to Kanpur. There we met the local organizers **Sanskar Yaduka** (does also [GSoC for OpenPrinting](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/#openprinting-image-output-verification-framework-by-sanskar-yaduka)) and **Shreya Shree**, and also **Akarshan Kapoor**. +So at least I have made said round trip and traveled from Kathmandu in Nepal directly to Lucknow in India, on September 2, the day after the day trip of the UbuCon in Nepal. Then I have stayed in Lucknow for tourism for 2 nights and the traveled with Aveek Basu with a hired driver to Kanpur. There we met the local organizers **Sanskar Yaduka** (does also [GSoC for OpenPrinting](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started#openprinting-image-output-verification-framework-by-sanskar-yaduka)) and **Shreya Shree**, and also **Akarshan Kapoor**. We originally wanted to do the final testing of A/V for the live streaming and remote speaking, but we ended up fixing the schedules. @@ -44,7 +44,7 @@ As this conference is primarily to introduce students into FOSS and how to contr Aveek and me have naturally have made **OpenPrinting** one of the central parts of the conference: -- To start, I introduced into OpenPrinting by telling about how it all started, what we are doing currently, the New Architecture with CUPS 3.x doing away with PPDs and classic drivers and Microsoft's Windows Protected Print with which they do away with classic drivers, PAPPL not only for Printer Applications but also as base for the CUPS 3.x daemons, OSS-Fuzz, rust and Python bindings, ... and how to contribute. All this in my talk "[OpenPrinting - We make printing just work! - 25 years of printing for FOSS](https://events.canonical.com/event/134/contributions/751/)" ([Slides](https://events.canonical.com/event/134/contributions/751/attachments/411/661/talk-openprinting-2025.pdf), [Blog](/OpenPrinting-News-25-years-of-working-full-time-for-printing-with-free-open-source-software/)). +- To start, I introduced into OpenPrinting by telling about how it all started, what we are doing currently, the New Architecture with CUPS 3.x doing away with PPDs and classic drivers and Microsoft's Windows Protected Print with which they do away with classic drivers, PAPPL not only for Printer Applications but also as base for the CUPS 3.x daemons, OSS-Fuzz, rust and Python bindings, ... and how to contribute. All this in my talk "[OpenPrinting - We make printing just work! - 25 years of printing for FOSS](https://events.canonical.com/event/134/contributions/751/)" ([Slides](https://events.canonical.com/event/134/contributions/751/attachments/411/661/talk-openprinting-2025.pdf), [Blog](/OpenPrinting-News-25-years-of-working-full-time-for-printing-with-free-open-source-software)). - **Akarshan Kapoor** has presented his OpenPrinting work of the last 2 GSoCs, "[Scaniverse Universal Scanner Drivers: One Solution for Every Distro](https://events.canonical.com/event/134/contributions/748/)" ([Report 2023](https://dev.to/kappuccino111/sandboxing-scanners-a-leap-into-the-driverless-realm-gsoc-23-report-3eci), [Report 2024](https://dev.to/kappuccino111/pappl-scan-api-bridging-gsoc-2024-project-report-2hoc)), showing how the driverless scanning protocol eSCL can be used to create Scanner Applications, sandboxable scanner drivers. diff --git a/contents/post/OpenPrinting-News-Opportunity-Open-Source-3.0.md b/contents/post/OpenPrinting-News-Opportunity-Open-Source-3.0.md index 34c25096..b54abb42 100644 --- a/contents/post/OpenPrinting-News-Opportunity-Open-Source-3.0.md +++ b/contents/post/OpenPrinting-News-Opportunity-Open-Source-3.0.md @@ -16,15 +16,15 @@ After two great Opportunity Open Source conferences we go into the third round! ## IIT Kanpur -With the success we had [last year in the IIT Kanpur](/OpenPrinting-News-August-2024/#opportunity-open-source-in-iit-kanpur), especially also because of the great on-location organization team of the IIT Kanpur (thanks again), and them having offered to us to organize the conference again, we have decided to [do it in Kanpur a second time](https://oosc3ubucon.netlify.app/). Sanskar Yaduka and Shreya Shree, students at the IIT Kanpur are leading the on-location organization, setting up a team of volunteers and looking for local sponsors. +With the success we had [last year in the IIT Kanpur](/OpenPrinting-News-August-2024#opportunity-open-source-in-iit-kanpur), especially also because of the great on-location organization team of the IIT Kanpur (thanks again), and them having offered to us to organize the conference again, we have decided to [do it in Kanpur a second time](https://oosc3ubucon.netlify.app/). Sanskar Yaduka and Shreya Shree, students at the IIT Kanpur are leading the on-location organization, setting up a team of volunteers and looking for local sponsors. As in the other years we want to motivate students (and also professors and researchers) to learn about free and open-source software and to join the community of developers and contributors. Not only coding and debugging can be contributed, but also designers, technical authors, evangelists, ... are highly welcome. ## Ubuntu meets Opportunity Open Source -Last year, we had the Opportunity Open Source one week before the [UbuCon Asia 2024](/OpenPrinting-News-August-2024/#ubucon-asia-2024-in-india) which had taken place in Jaipur, also in India. Having people of the Indian Ubuntu community organizing the event and also others attending it, they decided to reactivate the [Ubuntu Local Community (LoCo) India](https://discourse.ubuntu.com/c/170). Bhavanishankar Ravindra ("Bhavi") and [Soumyadeep Ghosh](/OpenPrinting-News-August-2024/#soumyadeep-ghosh) are currently leading these efforts. +Last year, we had the Opportunity Open Source one week before the [UbuCon Asia 2024](/OpenPrinting-News-August-2024#ubucon-asia-2024-in-india) which had taken place in Jaipur, also in India. Having people of the Indian Ubuntu community organizing the event and also others attending it, they decided to reactivate the [Ubuntu Local Community (LoCo) India](https://discourse.ubuntu.com/c/170). Bhavanishankar Ravindra ("Bhavi") and [Soumyadeep Ghosh](/OpenPrinting-News-August-2024#soumyadeep-ghosh) are currently leading these efforts. -They also want to have an [UbuCon](https://ubucon.org/) India conference and I suggested to co-locate it with the upcoming Opportunity Open Source, as many UbuCons are co-located ([UbuCon North America on SCaLE](https://ubucon.org/scale), [UbuCon Portugal on Festa do Software Livre](/OpenPrinting-News-October-2024/#festa-do-software-livreubucon-portugal-2024), [UbuCon Europe on OpenSouthCode](https://discourse.ubuntu.com/t/57060), ...), they accepted my suggestion, and we started planning ... +They also want to have an [UbuCon](https://ubucon.org/) India conference and I suggested to co-locate it with the upcoming Opportunity Open Source, as many UbuCons are co-located ([UbuCon North America on SCaLE](https://ubucon.org/scale), [UbuCon Portugal on Festa do Software Livre](/OpenPrinting-News-October-2024#festa-do-software-livreubucon-portugal-2024), [UbuCon Europe on OpenSouthCode](https://discourse.ubuntu.com/t/57060), ...), they accepted my suggestion, and we started planning ... Canonical also offered to sponsor a conference in India, Opportunity Open Source or UbuCon India, and now with the co-location both. diff --git a/contents/post/OpenPrinting-News-Opportunity-Open-Source-4.0-Call-for-Locations.md b/contents/post/OpenPrinting-News-Opportunity-Open-Source-4.0-Call-for-Locations.md index f3f35523..846865b1 100644 --- a/contents/post/OpenPrinting-News-Opportunity-Open-Source-4.0-Call-for-Locations.md +++ b/contents/post/OpenPrinting-News-Opportunity-Open-Source-4.0-Call-for-Locations.md @@ -11,7 +11,7 @@ readTime: '9 minute read' The Opportunity Open Source conferences which take place every year in a university/college/IIT/… in India are for showcasing free and open source software (FOSS) and for motivating students, professors, and researchers to participate in its development, by contributing code, design, documentation, … With talks and hands-on workshops a wide range of FOSS topics is covered, and often also a hackathon (coding competition) day is added. In the last year we got around 300 attendees, and many of them showed interest and started to get involved. -And so after 3 successful editions of the [Opportunity Open Source conferences](https://www.linkedin.com/company/opportunityopensource/) in India ([1.0 in Mandi](/OpenPrinting-News-September-2023/#opportunitiy-open-source-in-the-iit-mandi-india), [2.0 in Kanpur](/OpenPrinting-News-August-2024/#opportunity-open-source-in-iit-kanpur), [3.0 in Kanpur](/OpenPrinting-News-Opportunity-Open-Source-3.0-in-the-IIT-Kanpur,-India/)) we want to celebrate the fourth one. For that we need a place to do so. It should be somewhere in India and to give people all over India this opportunity of experiencing open source, we want to run each edition at a different place and therefore we are looking for a new location for this year's edition. +And so after 3 successful editions of the [Opportunity Open Source conferences](https://www.linkedin.com/company/opportunityopensource/) in India ([1.0 in Mandi](/OpenPrinting-News-September-2023#opportunitiy-open-source-in-the-iit-mandi-india), [2.0 in Kanpur](/OpenPrinting-News-August-2024#opportunity-open-source-in-iit-kanpur), [3.0 in Kanpur](/OpenPrinting-News-Opportunity-Open-Source-3.0-in-the-IIT-Kanpur,-India)) we want to celebrate the fourth one. For that we need a place to do so. It should be somewhere in India and to give people all over India this opportunity of experiencing open source, we want to run each edition at a different place and therefore we are looking for a new location for this year's edition. If you are interested, we want to hear from you. First just tell us that you are interested and then we will ask you, and also guide you, for your detailed bid. We will close the call for locations on diff --git a/contents/post/OpenPrinting-News-Opportunity-Open-Source-4.0.md b/contents/post/OpenPrinting-News-Opportunity-Open-Source-4.0.md index fa25affe..5a3ad259 100644 --- a/contents/post/OpenPrinting-News-Opportunity-Open-Source-4.0.md +++ b/contents/post/OpenPrinting-News-Opportunity-Open-Source-4.0.md @@ -16,7 +16,7 @@ After three great Opportunity Open Source conferences we will celebrate the fort *Photos and description of the location contributed by Sudhanshu Sah* -Our [Call for Locations](/OpenPrinting-News-Opportunity-Open-Source-4.0-Call-for-Locations/) showed a lot of interest. Several groups from different places in India have answered (mainly on [LinkedIn](https://www.linkedin.com/pulse/opportunity-open-source-40-call-locations-till-kamppeter-ktr2f/)). Some only told in a short answer that they are interested but did not follow up, and 4 groups gave more detailed information and had a video meeting with us. In the end, the most convincing bid came from the Google Developer Group (GDG) IIIT Allahabad and we settled with them. +Our [Call for Locations](/OpenPrinting-News-Opportunity-Open-Source-4.0-Call-for-Locations) showed a lot of interest. Several groups from different places in India have answered (mainly on [LinkedIn](https://www.linkedin.com/pulse/opportunity-open-source-40-call-locations-till-kamppeter-ktr2f/)). Some only told in a short answer that they are interested but did not follow up, and 4 groups gave more detailed information and had a video meeting with us. In the end, the most convincing bid came from the Google Developer Group (GDG) IIIT Allahabad and we settled with them. **IIIT Allahabad** stands among **India’s premier technology institutes**, located in the historic and intellectually vibrant city of **Prayagraj**, in the state **Uttar Pradesh** in India. Renowned for its rich cultural legacy, academic excellence, and deep-rooted scholarly atmosphere, Prayagraj has long been a meeting point of ideas, innovation, and learning. diff --git a/contents/post/OpenPrinting-News-September-2020.md b/contents/post/OpenPrinting-News-September-2020.md index 328c66d4..903e4691 100644 --- a/contents/post/OpenPrinting-News-September-2020.md +++ b/contents/post/OpenPrinting-News-September-2020.md @@ -144,7 +144,7 @@ Abhik will get primarily mentored by Michael Sweet and Rishabh by Alexander Pevz ## CUPS Snap The [CUPS Snap](https://github.com/OpenPrinting/cups-snap) project is currently waiting for the [snapd project to add the needed API extensions](https://trello.com/c/9IJToylf/1215-snapd-api-for-checking-client-snaps-whether-they-plug-a-given-interface). -The [Pull Request](https://github.com/snapcore/snapd/pull/8920) for the implementation of the [new "cups" and "cups-control" interfaces](/OpenPrinting-News-August-2020/#cups-snap) got merged into snapd. +The [Pull Request](https://github.com/snapcore/snapd/pull/8920) for the implementation of the [new "cups" and "cups-control" interfaces](/OpenPrinting-News-August-2020#cups-snap) got merged into snapd. The [pull request](https://github.com/snapcore/snapd/pull/9132) for adding the API functionality so that a Snap can check whether a client Snap plugs the needed interfaces is still in the works. diff --git a/contents/post/OpenPrinting-News-September-2021.md b/contents/post/OpenPrinting-News-September-2021.md index 5696f32b..38fb767d 100644 --- a/contents/post/OpenPrinting-News-September-2021.md +++ b/contents/post/OpenPrinting-News-September-2021.md @@ -63,7 +63,7 @@ Please mark in your calendars: It will take place on [YouTube](https://www.youtube.com/watch?v=diB3wm4HB1Y) and everyone can participate, without registration and free of charge. Everyone can post questions on the YouTube Live Chat. -For everyone who wants to get some technical background, Michael Sweet and me have talked about the ongoing changes in the architecture of printing with free software three weeks ago in the [Ubuntu Indaba](/OpenPrinting-News-Flash-Ubuntu-Indaba-and-Ghostscript-Printer-Application/#the-ubuntu-desktop-indabas-and-openprinting---the-recording) (recording on [YouTube](https://www.youtube.com/watch?v=P22DOu_ahBo)). +For everyone who wants to get some technical background, Michael Sweet and me have talked about the ongoing changes in the architecture of printing with free software three weeks ago in the [Ubuntu Indaba](/OpenPrinting-News-Flash-Ubuntu-Indaba-and-Ghostscript-Printer-Application#the-ubuntu-desktop-indabas-and-openprinting---the-recording) (recording on [YouTube](https://www.youtube.com/watch?v=P22DOu_ahBo)). See you there! @@ -112,7 +112,7 @@ PASSED ## pappl-retrofit - The CUPS Driver Retro-Fit Library -Printer Applications retro-fitting classic CUPS printer drivers consisting of PPD files, CUPS filters, and CUPS backends, like currently the [PostScript](https://github.com/OpenPrinting/ps-printer-app/), [Ghostscript](https://github.com/OpenPrinting/ghostscript-printer-app/), and [HPLIP](https://github.com/OpenPrinting/hplip-printer-app/) Printer Applications, have a lot in common and share most of their code. Therefore I have continued the development of the code of the PostScript Printer Application by generalizing it for any type of classic CUPS printer driver (see previous [News posts](/news/) and the [sneak previews](https://github.com/OpenPrinting/ps-printer-app/discussions/8) of my work during the last months) and put it up on the OpenPrinting GitHub as the [PAPPL Retro-Fit Library](https://github.com/OpenPrinting/pappl-retrofit). +Printer Applications retro-fitting classic CUPS printer drivers consisting of PPD files, CUPS filters, and CUPS backends, like currently the [PostScript](https://github.com/OpenPrinting/ps-printer-app/), [Ghostscript](https://github.com/OpenPrinting/ghostscript-printer-app/), and [HPLIP](https://github.com/OpenPrinting/hplip-printer-app/) Printer Applications, have a lot in common and share most of their code. Therefore I have continued the development of the code of the PostScript Printer Application by generalizing it for any type of classic CUPS printer driver (see previous [News posts](/news) and the [sneak previews](https://github.com/OpenPrinting/ps-printer-app/discussions/8) of my work during the last months) and put it up on the OpenPrinting GitHub as the [PAPPL Retro-Fit Library](https://github.com/OpenPrinting/pappl-retrofit). This library will also be the start of several other CUPS driver retro-fits making all the drivers from the last (even more than) 21 years available for the new all-IPP, PPD-less printing architecture. 21 years ago I migrated all printer drivers into CUPS, now I am migrating them into the next architecture. diff --git a/contents/post/OpenPrinting-News-September-2022.md b/contents/post/OpenPrinting-News-September-2022.md index 0663c0ef..1ee0da01 100644 --- a/contents/post/OpenPrinting-News-September-2022.md +++ b/contents/post/OpenPrinting-News-September-2022.md @@ -16,7 +16,7 @@ So let us start ... I am back from Dublin, Ireland, now, having attended two conferences, the Linux Plumbers conference and the Open Source Summit (OSS) 2022. Conferences have often nice social events in the evenings after each day of talks and hallway sessions. This time the OSS had their main social event in the Storehouse of Guinness, the place where it is shown how this famous beer is made. And there I have seen something very special ... -You perhaps have read or heard about [how I got to do OpenPrinting](/history/). I did a PhD in physics, was system administrator for the department's network, discovered and deployed CUPS back in 2000, got discovered by MandrakeSoft, and finally switched the subject I was working on to +You perhaps have read or heard about [how I got to do OpenPrinting](/history). I did a PhD in physics, was system administrator for the department's network, discovered and deployed CUPS back in 2000, got discovered by MandrakeSoft, and finally switched the subject I was working on to > Structured Deposition of Ink and Toner Particles on Paper Substrates @@ -50,15 +50,15 @@ Cheers!! ## Saving old printers under Windows is getting easier -You remember my announcement of the HOWTO about running Printer Applications under Windows via WSL to save legacy printers in the [August News](/OpenPrinting-News-August-2022/#using-windows-we-can-help-you-too)? +You remember my announcement of the HOWTO about running Printer Applications under Windows via WSL to save legacy printers in the [August News](/OpenPrinting-News-August-2022#using-windows-we-can-help-you-too)? You were perhaps thinking about the poor Windows users whose printers stopped working now having to compile a hell lot of libraries from our site to get their old treasure working again. That is not needed any more. The new version of WSL supports systemd and with this also snapd and with this Snaps, including all the [Printer Application Snaps](https://snapcraft.io/search?q=OpenPrinting). And systemd enables more Linux workflows you are used to in WSL, like auto-starting the daemons (also of the Printer Applications). No compiling, auto-starting daemons, Avahi advertising your printer to the hosting Windows (no manual input of the URI) ... Here is the [first announcement from Microsoft](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/) and the first [Ubuntu blog](https://ubuntu.com/blog/ubuntu-wsl-enable-systemd) from Oliver Smith, Product Manager Enterprise Desktop at Canonical. -**Update: Our [HOWTO](/wsl-printer-app/) is now updated.** +**Update: Our [HOWTO](/wsl-printer-app) is now updated.** -So follow our new version of the [HOWTO](/wsl-printer-app/). +So follow our new version of the [HOWTO](/wsl-printer-app). And here is quick overview of the changed steps (details in the HOWTO): @@ -239,7 +239,7 @@ Feature requests so far: ## Common Print Dialog Backends 2.0 -While our GSoC contributor Gaurav Guleria is working on [adding CPDB support to the print dialogs](/current/#the-print-dialogs) (see [above](#google-summer-of-code-2022)) he has continued to do fixes and improvements on the [CPDB framework](/achievements/#common-print-dialog-backends) itself: +While our GSoC contributor Gaurav Guleria is working on [adding CPDB support to the print dialogs](/current#the-print-dialogs) (see [above](#google-summer-of-code-2022)) he has continued to do fixes and improvements on the [CPDB framework](/achievements#common-print-dialog-backends) itself: - Support for each media having multiple sets of margins - Support for overall default printers @@ -253,7 +253,7 @@ For the release itself I will still wait a little bit, as Gaurav could find othe ## CUPS Snap and snapd printing interface **[CUPS Snap](https://github.com/OpenPrinting/cups-snap) in the [Snap Store](https://snapcraft.io/cups)** -Now with the [`cups` snapd interface in place](/achievements/#the-cups-snap) Snap package maintainers are starting to use it. +Now with the [`cups` snapd interface in place](/achievements#the-cups-snap) Snap package maintainers are starting to use it. Unfortunately, we have hit a bug in snapd with the new `cups` interface. The automatic dependency installation of the CUPS Snap via the pseudo content interface with `default-provider: cups` interferes badly if the Snap using the `cups` interface for printing is seeded (being in the list of default packages used in the OS distribution), even if the CUPS Snap is also seeded ([bug report on snapd](https://github.com/canonical/workshops/issues/32)). @@ -303,7 +303,7 @@ Now it seems to be all working as intended. ## OpenPrinting web server: Printer Application look-up service is now live -We have finally deployed the [Printer Application look-up service](/current/#printer-application-look-up-via-the-openprinting-web-site) for printer setup tools on the [OpenPrinting web server for printer/driver look-ups](https://openprinting.org/printers)! +We have finally deployed the [Printer Application look-up service](/current#printer-application-look-up-via-the-openprinting-web-site) for printer setup tools on the [OpenPrinting web server for printer/driver look-ups](https://openprinting.org/printers)! I did some tests and everything works as expected. Printer Application Snaps installed on the server find the correct drivers for the given printer device ID and the user (or better the printer setup tool) gets as answer a hierarchy list of what are the best Printer Applications which support their printer and with which internal driver. diff --git a/contents/post/OpenPrinting-News-September-2023.md b/contents/post/OpenPrinting-News-September-2023.md index e1c78466..06adc81f 100644 --- a/contents/post/OpenPrinting-News-September-2023.md +++ b/contents/post/OpenPrinting-News-September-2023.md @@ -18,7 +18,7 @@ And what made Richard coming to this idea is the same as what made me promoting [Richard´s problem](https://amogh.medium.com/the-story-of-open-source-so-far-bfcb685d85a4) was that back in 1980 at the MIT Artificial Intelligence Laboratory, where he was working, they got a shiny new Xerox 9700 and Xerox denied him access to the source code of the printer's software, for him to make the users get informed about finished jobs, paper jams, ... (note that CUPS came well later) Exactly this he did with the software of the previous printer. See the whole story in ["Free as in Freedom", by Sam Williams, chapter 1](https://www.oreilly.com/openbook/freedom/ch01.html). -[My problem](/history/) was that back in 1998 in the Theoretical Physics department of the University of Bayreuth in Germany, where I did my PhD, they got a shiny new Tektronix Phaser color laser printer and it only came with proprietary software for commercial Unixes and not for Linux. Only by deploying CUPS with its perfect PostScript printer support I solved the problem. +[My problem](/history) was that back in 1998 in the Theoretical Physics department of the University of Bayreuth in Germany, where I did my PhD, they got a shiny new Tektronix Phaser color laser printer and it only came with proprietary software for commercial Unixes and not for Linux. Only by deploying CUPS with its perfect PostScript printer support I solved the problem. But my problem had never showed when there had not been Richard's ... @@ -50,7 +50,7 @@ But no worries, [she is at **Thunderbird** now](https://ubuntu.social/@killyourf Also Monica Ayhens-Madon, especially known as host of the [Ubuntu Community Office Hours](https://www.youtube.com/watch?v=diB3wm4HB1Y) back in 2021, who left Canonical already last year, [is now at Thunderbird](https://ubuntu.social/@communiteatime@fosstodon.org/111144927870000249), at least part-time. -And by the way, I have shown here already, [exactly a year ago](/OpenPrinting-News-September-2022/), a printer which prints on beer foam, in the Guinness Storehouse in Dublin, Ireland, and I have [seen it again in Vienna](https://ubuntu.social/@till/111137094247325237), where I live. It's a [Ripple Maker](https://www.drinkripples.com/), controlled by its touch screen and a web app, most probably not a driverless IPP printer. +And by the way, I have shown here already, [exactly a year ago](/OpenPrinting-News-September-2022), a printer which prints on beer foam, in the Guinness Storehouse in Dublin, Ireland, and I have [seen it again in Vienna](https://ubuntu.social/@till/111137094247325237), where I live. It's a [Ripple Maker](https://www.drinkripples.com/), controlled by its touch screen and a web app, most probably not a driverless IPP printer. **Special tip:** You are on **NixOS**? Printing is not enabled by default there. Please follow [these instructions](https://nixos.wiki/wiki/Printing) (Thanks, [Linux Matters](https://linuxmatters.sh/) team for the hint in [episode #13](https://linuxmatters.sh/13/)). @@ -205,7 +205,7 @@ I plan to give a lightning talk about the Opportunity Open Source in Mandi. ## cups-filters Second Generation - Final 2.0.0 Release! -Now, in the last 3 months, we got only few bug reports, and a security vulnerability in CUPS, in code which got overtaken into libppd, and therefore the vulnerability is also there. To get the security fix into a release and 3 months being a long time after RC2 I am [finally releasing 2.0.0](/cups-filters-Second-Generation-Final-2.0.0-Release/) right now. +Now, in the last 3 months, we got only few bug reports, and a security vulnerability in CUPS, in code which got overtaken into libppd, and therefore the vulnerability is also there. To get the security fix into a release and 3 months being a long time after RC2 I am [finally releasing 2.0.0](/cups-filters-Second-Generation-Final-2.0.0-Release) right now. Ubuntu 23.10 will ship with this release. @@ -219,11 +219,11 @@ This is fixed by adding the missing NULL check when, after a backslash was read, **Miscellaneous fixes** -A few other bugs got reported and fixed since RC2. These fixes are also included. See the lists in the [original announcement](/cups-filters-Second-Generation-Final-2.0.0-Release/). +A few other bugs got reported and fixed since RC2. These fixes are also included. See the lists in the [original announcement](/cups-filters-Second-Generation-Final-2.0.0-Release). ## PAPPL 1.4.0 -Michael Sweet has released [PAPPL v1.4.0](/pappl-1.4.0/) which is a new feature release. +Michael Sweet has released [PAPPL v1.4.0](/pappl-1.4.0) which is a new feature release. Especially it adds the new create-printers operation, as API function and IPP request, to let the Printer Application automatically add queeus for any local printers which are supported by it. This function will also be called automatically the first time the Printer Application is run after its installation, so that just installing a Printer Application is usually all what needs to be done to set up a non-driverless printer. diff --git a/contents/post/OpenPrinting-News-September-2024.md b/contents/post/OpenPrinting-News-September-2024.md index 94c3c035..afb6887e 100644 --- a/contents/post/OpenPrinting-News-September-2024.md +++ b/contents/post/OpenPrinting-News-September-2024.md @@ -11,7 +11,7 @@ date: '2024-10-07' --- Most impactful in September were the [security advisories reported for cups-browsed](#cups-browsed-remote-command-execution-vulnerability-overhyped), starting with the report of a remote command execution vulnerability discovered by security researcher Simone Margaritelli and his post about it on X (formerly Twitter) before the official disclosure made it overhyped and main subject of bloggers, podcasters, and YouTubers. In the end it turned out to be much less harmful than was the initial impression suggested. -I have been on the Open Source Summit Europe this year (see [last month's news](/OpenPrinting-News-August-2024/#open-source-summit-europe-in-vienna)), as it was taking place in my city, in Vienna. I also have given a [talk about OpenPrinting](https://sched.co/1ej79) there, but recordings are not yet released. +I have been on the Open Source Summit Europe this year (see [last month's news](/OpenPrinting-News-August-2024#open-source-summit-europe-in-vienna)), as it was taking place in my city, in Vienna. I also have given a [talk about OpenPrinting](https://sched.co/1ej79) there, but recordings are not yet released. And now I am also approaching the next events. At first I am following an invitation from Diogo Constantino from the Portuguese Ubuntu Local Community, giving talks on the [Festa do Software Livre in Aveiro, Portugal](#festa-do-software-livreubucon-portugal-2024) which hosts the UbuCon Portugal 2024 as one of its tracks, a conference held primarily in Portuguese language. @@ -60,7 +60,7 @@ Fixes are already available in the appropriate upstream repositories: cups-brows We did not yet add any protection against PPD files defining malicious filter command lines for foomatic-rip. A possible solution we are discussing is providing a hash database for all command lines in the existing PPD files but also isolation/encapsulation/containerization of Foomatic-based filtering. -**See more info and a list of all CVEs and patches in our [separate News Flash](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability/).** +**See more info and a list of all CVEs and patches in our [separate News Flash](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability).** ## Festa do Software Livre/UbuCon Portugal 2024 @@ -76,17 +76,17 @@ I will give 3 sessions during the event, all in Portuguese: Fri, October 11, 14:00 - 15:00 WEST, Anfiteatro IV (Main Track) -I will give an overview of our work. Going through [OpenPrinting’s history](/history/) the components of the printing infrastructure of modern Linux (and other Posix-style) operating systems will get shown. +I will give an overview of our work. Going through [OpenPrinting’s history](/history) the components of the printing infrastructure of modern Linux (and other Posix-style) operating systems will get shown. - How did the Internet Printing Protocol (IPP) with the printing system [CUPS](/cups/) being an implementation of it simplify printing a lot? - The printer driver challenge, good and bad cooperation with manufacturers, packaging and distributing ... - Desktop integration, GUI toolkits, print dialogs, setup tools, portals, ... -Especially also the [New Architecture](/current/#the-new-architecture-for-printing-and-scanning) of all-IPP printing and scanning and also the integration in [immutable OS distributions](https://ubuntu.com/blog/ubuntu-core-an-immutable-linux-desktop) will be treated ... +Especially also the [New Architecture](/current#the-new-architecture-for-printing-and-scanning) of all-IPP printing and scanning and also the integration in [immutable OS distributions](https://ubuntu.com/blog/ubuntu-core-an-immutable-linux-desktop) will be treated ... -And in the end I will also quickly tell about [Microsoft going all-IPP in Windows](/OpenPrinting-News-December-2023/#new-architecture-under-windows) ... +And in the end I will also quickly tell about [Microsoft going all-IPP in Windows](/OpenPrinting-News-December-2023#new-architecture-under-windows) ... -This is the same talk as I had given on the [FOSDEM](/OpenPrinting-News-February-2024/#fosdem-2024), on the [Opportunity Open Source](/OpenPrinting-News-August-2024/#opportunity-open-source-in-iit-kanpur), and on the [Open Source Summit Europe](/OpenPrinting-News-June-2024/#open-source-summit-in-vienna), but in Portuguese language. And I got a generous time slot of 60 min, meaning that we have a lot of time for questions, answers, and discussion. +This is the same talk as I had given on the [FOSDEM](/OpenPrinting-News-February-2024#fosdem-2024), on the [Opportunity Open Source](/OpenPrinting-News-August-2024#opportunity-open-source-in-iit-kanpur), and on the [Open Source Summit Europe](/OpenPrinting-News-June-2024#open-source-summit-in-vienna), but in Portuguese language. And I got a generous time slot of 60 min, meaning that we have a lot of time for questions, answers, and discussion. **[Linux para desktop, fácil como um smartphone! Graças ao Snap!](https://ubuconpt2024.ubuntu-pt.org/sessions/sessao1/)** @@ -94,7 +94,7 @@ Sat, October 12, 09:30 - 10:30 WEST, room 4.1.02 (UbuCon PT) The motivation, advantages, and concept of the sandboxed, immutable Snap packaging format is shown and how it is used to make up immutable all-Snap OS distros, the IoT distro Snap was originally designed for, Ubuntu Core, and the easily usable and maintainable Ubuntu Core Desktop. -This is the same talk as I had given on the [FOSDEM](/OpenPrinting-News-February-2024/#fosdem-2024), on the [GUADEC](/OpenPrinting-News-July-2024/#guadec-2024-in-denver), and on the [Opportunity Open Source](/OpenPrinting-News-August-2024/#opportunity-open-source-in-iit-kanpur), but in Portuguese language. And here I also got a generous time slot of 60 min, meaning that we have again a lot of time for questions, answers, and discussion. +This is the same talk as I had given on the [FOSDEM](/OpenPrinting-News-February-2024#fosdem-2024), on the [GUADEC](/OpenPrinting-News-July-2024#guadec-2024-in-denver), and on the [Opportunity Open Source](/OpenPrinting-News-August-2024#opportunity-open-source-in-iit-kanpur), but in Portuguese language. And here I also got a generous time slot of 60 min, meaning that we have again a lot of time for questions, answers, and discussion. **[O seu aplicativo para todo mundo! Graças ao Snap! - Oficina interativa](https://ubuconpt2024.ubuntu-pt.org/sessions/sessao2/)** diff --git a/contents/post/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting.md b/contents/post/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting.md index accc2d11..de3fb9a7 100644 --- a/contents/post/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting.md +++ b/contents/post/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting.md @@ -12,7 +12,7 @@ date: '2025-11-04' ## I was working at Canonical for a long time ... -Mid-May, on the last Engineering Sprint of Canonical I got the notice that I got laid off by Canonical, after having been with them for near 20 years. The contract ended 4 weeks after that, mid-June and I got 3 months of my monthly payment as indemnity. See also [my earlier post](/OpenPrinting-News-25-years-of-working-full-time-for-printing-with-free-open-source-software/). +Mid-May, on the last Engineering Sprint of Canonical I got the notice that I got laid off by Canonical, after having been with them for near 20 years. The contract ended 4 weeks after that, mid-June and I got 3 months of my monthly payment as indemnity. See also [my earlier post](/OpenPrinting-News-25-years-of-working-full-time-for-printing-with-free-open-source-software). ## ... looking for a new solution ... diff --git a/contents/post/OpenPrinting-News-Tech-over-Tea-299-Brodie-interviews-Till-Kamppeter.md b/contents/post/OpenPrinting-News-Tech-over-Tea-299-Brodie-interviews-Till-Kamppeter.md index 01131ebe..a76a7ad9 100644 --- a/contents/post/OpenPrinting-News-Tech-over-Tea-299-Brodie-interviews-Till-Kamppeter.md +++ b/contents/post/OpenPrinting-News-Tech-over-Tea-299-Brodie-interviews-Till-Kamppeter.md @@ -21,7 +21,7 @@ Back in April this year, Brodie had [posted on Mastodon](https://mstdn.social/@B He liked the idea and accepted my offer and we aimed for producing and publishing the show before the northern-hemisphere summer holidays. Unfortunately, in May, the [incident with Canonical](#why-did-canonical-part-with-the-leader-of-linux-printing) happened and I did not know how things with me and with OpenPrinting will go on in the future, and in this situation I did not want to give the interview, so I asked for postponing the production until the issue gets sorted out ... -... when I got the [investment of the Sovereign Tech Agency](/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting/) and so being mostly recovered, I mailed to Brodie again and told him that I am now ready for producing the video, aiming for publication well before the end-of-year holidays. So we did it and it came out great! +... when I got the [investment of the Sovereign Tech Agency](/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting) and so being mostly recovered, I mailed to Brodie again and told him that I am now ready for producing the video, aiming for publication well before the end-of-year holidays. So we did it and it came out great! I got many likes and some questions on the social media where I linked the videos and on the videos themselves on YouTube. I answered all the questions, liked many a and disliked a few comments, and I also got a lot of likes for that, also from Brodie. @@ -46,7 +46,7 @@ Subscribing/Unsubscribing [instructions](https://subspace.kernel.org/subscribing Brodie's announcement on [Mastodon](https://mstdn.social/@BrodieOnLinux/115590329229450474): > Today we have the legendary @till (Till Kamppeter) on the show, the man keeping printers working on Linux to talk about his decades of experience in this space -This is the full interview, in 2 hours I am telling what we are doing at OpenPrinting, how it all began 25 years ago, and also about my layoff from Canonical and how I am recovering (a big thanks again to the [Sovereign Tech Agency](/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting/)!) +This is the full interview, in 2 hours I am telling what we are doing at OpenPrinting, how it all began 25 years ago, and also about my layoff from Canonical and how I am recovering (a big thanks again to the [Sovereign Tech Agency](/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting)!) Currently 29 comments on YouTube, including all answers @@ -61,7 +61,7 @@ Do not run for a coffee now to keep yourself awake for the 2 hours, but just wat ### Why Did Canonical Part With The Leader Of Linux Printing -The first of them is about the incident with Canonical and how I am recovering, and fairly well (thanks again, [Sovereign Tech Agency](/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting/)) as I am covered until end-2026 now! +The first of them is about the incident with Canonical and how I am recovering, and fairly well (thanks again, [Sovereign Tech Agency](/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting)) as I am covered until end-2026 now! 1 comment on YouTube diff --git a/contents/post/OpenPrinting-News-UbuCon-Asia-2025-in-Kathmandu-Nepal.md b/contents/post/OpenPrinting-News-UbuCon-Asia-2025-in-Kathmandu-Nepal.md index 3040d1be..9c67a905 100644 --- a/contents/post/OpenPrinting-News-UbuCon-Asia-2025-in-Kathmandu-Nepal.md +++ b/contents/post/OpenPrinting-News-UbuCon-Asia-2025-in-Kathmandu-Nepal.md @@ -20,7 +20,7 @@ After landing and going through immigration (was quick as I already applied for The hotel was in the Thamel district. There are many streets with small stores selling handcrafts and souvenirs and there I bought some stuff for my wife. -In the evening I met [**Soumyadeep Ghosh**](/OpenPrinting-News-August-2024/#soumyadeep-ghosh) ([Snapcrafters](http://snapcrafters.org/)) and talked with him about [his GSoC project](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started/#porting-pycups-to-cups-3x-api-and-implementing-it-in-system-config-printer-by-soumyadeep-ghosh) ([Blog](https://soumyadghosh.github.io/website/)) of Python bindings for [libcups3](https://github.com/OpenPrinting/libcups) and he brought in the idea of creating programming-language-independent APIs for printing and also of oxidizing (converting to Rust) libcups and CUPS as future work at OpenPrinting. I told him that for oxidizing on one side we will have a lot of work and the risk to introduce new bugs but on the other side we have rather low coverage with fuzz-testing the C code, so replacing it my memory-safe Rust could be the better solution. +In the evening I met [**Soumyadeep Ghosh**](/OpenPrinting-News-August-2024#soumyadeep-ghosh) ([Snapcrafters](http://snapcrafters.org/)) and talked with him about [his GSoC project](/OpenPrinting-News-Google-Summer-of-Code-2025-Contributors-selected-and-projects-started#porting-pycups-to-cups-3x-api-and-implementing-it-in-system-config-printer-by-soumyadeep-ghosh) ([Blog](https://soumyadghosh.github.io/website/)) of Python bindings for [libcups3](https://github.com/OpenPrinting/libcups) and he brought in the idea of creating programming-language-independent APIs for printing and also of oxidizing (converting to Rust) libcups and CUPS as future work at OpenPrinting. I told him that for oxidizing on one side we will have a lot of work and the risk to introduce new bugs but on the other side we have rather low coverage with fuzz-testing the C code, so replacing it my memory-safe Rust could be the better solution. ## Day 1 @@ -28,7 +28,7 @@ On Saturday, August 30, the UbuCon started. Arriving at the venue one saw a long After the introduction from the organizers the first session was the keynote presentation by **Dimple Kuriakose**, ["Confidential Computing Demystified: An in-depth look into CVMs"](https://events.canonical.com/event/127/contributions/649/) ([Slides](https://events.canonical.com/event/127/contributions/649/attachments/416/670/Confidential%20Computing%20Demystified%2006.pdf)), explaining all the measures in the Ubuntu operating system to keep the system secure and protect the data and privacy of the users. -And since the [Ubuntu Summit 2022](/OpenPrinting-News-November-2022/#the-first-ubuntu-summit-was-a-success) there is practically no conference any more without workshops, and the first workshop this time was ["Crafting snaps quickstart guide 101"](https://events.canonical.com/event/127/contributions/650/) ([Slides](https://events.canonical.com/event/127/contributions/650/attachments/399/643/Snap%20quickstart%20workshop.pdf), [Exercises](https://github.com/snapcrafters/snap-quickstart-workshop?tab=readme-ov-file#snap-quickstart-workshop)), by **Soumyadeep Ghosh** and me. The room was nearly full, showing that there are many people interested in packaging applications in the Snap format. In total there were 6 workshops throughout the 2 days: Snap, LXD, AppArmor, Local AI/LLMs, Documentation on GIT, and air-gapped Ubuntu. +And since the [Ubuntu Summit 2022](/OpenPrinting-News-November-2022#the-first-ubuntu-summit-was-a-success) there is practically no conference any more without workshops, and the first workshop this time was ["Crafting snaps quickstart guide 101"](https://events.canonical.com/event/127/contributions/650/) ([Slides](https://events.canonical.com/event/127/contributions/650/attachments/399/643/Snap%20quickstart%20workshop.pdf), [Exercises](https://github.com/snapcrafters/snap-quickstart-workshop?tab=readme-ov-file#snap-quickstart-workshop)), by **Soumyadeep Ghosh** and me. The room was nearly full, showing that there are many people interested in packaging applications in the Snap format. In total there were 6 workshops throughout the 2 days: Snap, LXD, AppArmor, Local AI/LLMs, Documentation on GIT, and air-gapped Ubuntu. There was lunch in the cafeteria of the college, free of charge for speakers and included in the conference fee for general attendees. Organizers redirected speakers to early and late hours during the lunch break for them to avoid long waiting lines. @@ -48,7 +48,7 @@ In the afternoon I attended **Graham Morrison**'s workshop ["Open Documentation The last talk I attended on this UbuCon was ["How to build a sustainable Open Source company"](https://events.canonical.com/event/127/contributions/678/) by **Frank Karlitschek**, creator and founder of [NextCloud](https://nextcloud.com/). This was interesting for me and OpenPrinting for two reasons, once, for the economical aspect how Nextcloud earns money, and second because of Nextcloud itself, as I am also thinking about having it on a server of OpenPrinting, for collaborative office document work, video meetings, conference streaming, download management, ... -What I missed during the day was a printing incident in the exhibition space. **Yeonguk Choo** from the Ubuntu Korea LoCo (Local Community) has, inspired by a photo booth on the [Ubuntu Summit 2023 in Riga](/OpenPrinting-News-November-2023/#ubuntu-summit-2023-in-riga), created his own photo booth based on Ubuntu and free software, Ubu4Cut and deployed it for the first time on the UbuCon Korea. Then he [brought it to this year's UbuCon Asia](https://discourse.ubuntu.com/t/66806). +What I missed during the day was a printing incident in the exhibition space. **Yeonguk Choo** from the Ubuntu Korea LoCo (Local Community) has, inspired by a photo booth on the [Ubuntu Summit 2023 in Riga](/OpenPrinting-News-November-2023#ubuntu-summit-2023-in-riga), created his own photo booth based on Ubuntu and free software, Ubu4Cut and deployed it for the first time on the UbuCon Korea. Then he [brought it to this year's UbuCon Asia](https://discourse.ubuntu.com/t/66806). On the first day Ubu4Cut behaved well and many attendees lined up for taking photos to take home as souvenir, but on the second day, at some hour in the morning, the photo printer (some Canon Selphy device) stopped working. **Youngbin Han**, lead of the global organization of the UbuCon Asia conferences and lead of the Ubuntu Korea LoCo, was there and directly messaged me on both Matrix and Telegram, but I must have been busy with something and so I did not see the messages, sorry. But, fortunately, I have built a nice team at OpenPrinting, with the help of the Google Summer of Code, and so **Akarshan Kapoor**, one of our most amazing team members, who was at the booth at that time, solved the problem. **Thanks a lot, Akarshan, for helping to make printing just work everywhere!** diff --git a/contents/post/OpenPrinting-News-We-got-a-Framework-RISC-V-board-from-DeepComputing.md b/contents/post/OpenPrinting-News-We-got-a-Framework-RISC-V-board-from-DeepComputing.md index 5bd8ae53..4e6d3bbd 100644 --- a/contents/post/OpenPrinting-News-We-got-a-Framework-RISC-V-board-from-DeepComputing.md +++ b/contents/post/OpenPrinting-News-We-got-a-Framework-RISC-V-board-from-DeepComputing.md @@ -10,7 +10,7 @@ excerpt: >- date: '2025-03-02' --- ## From a RISC-V SBC to a shiny RISC-V Framework motherboard -On the [Ubuntu Summit 2024 in the Hague](/OpenPrinting-News-October-2024/#ubuntu-summit-2024-in-the-hague) end-October 2024 there was a booth of [DeepComputing](https://deepcomputing.io/), manufacturer of RISC-V-based laptops and consumer electronics, right next to the booth of [Framework](https://frame.work/), manufacturer of the famous modular, easiliy repairable and upgradeable laptops. At the DeepComputing booth I met DeepComputing's founder Yuning Liang (his Ubuntu Summit [talk](https://events.canonical.com/event/51/contributions/518/), [slides](https://docs.google.com/presentation/d/1Z3_dOIojdL3FHTfyEGkcFXrI0KNTyWMC/edit), [video](https://www.youtube.com/watch?v=RFQ_TvCYBYM)) and told him of OpenPrinting and **he gave me a RISC-V-based SBC for testing OpenPrinting's software on this platform**. +On the [Ubuntu Summit 2024 in the Hague](/OpenPrinting-News-October-2024#ubuntu-summit-2024-in-the-hague) end-October 2024 there was a booth of [DeepComputing](https://deepcomputing.io/), manufacturer of RISC-V-based laptops and consumer electronics, right next to the booth of [Framework](https://frame.work/), manufacturer of the famous modular, easiliy repairable and upgradeable laptops. At the DeepComputing booth I met DeepComputing's founder Yuning Liang (his Ubuntu Summit [talk](https://events.canonical.com/event/51/contributions/518/), [slides](https://docs.google.com/presentation/d/1Z3_dOIojdL3FHTfyEGkcFXrI0KNTyWMC/edit), [video](https://www.youtube.com/watch?v=RFQ_TvCYBYM)) and told him of OpenPrinting and **he gave me a RISC-V-based SBC for testing OpenPrinting's software on this platform**. He also put me in contact with people who could help me to get an operating system onto the SBC and I was in good hope to get able to install Ubuntu on it. diff --git a/contents/post/OpenPrinting-News-Windows-Protected-Print-vs.-Scanning-under-Windows.md b/contents/post/OpenPrinting-News-Windows-Protected-Print-vs.-Scanning-under-Windows.md index 8fef90c1..59972940 100644 --- a/contents/post/OpenPrinting-News-Windows-Protected-Print-vs.-Scanning-under-Windows.md +++ b/contents/post/OpenPrinting-News-Windows-Protected-Print-vs.-Scanning-under-Windows.md @@ -7,7 +7,7 @@ author: Till excerpt: Windows Protected Print protects you from scanning date: '2025-01-20' --- -Around a year ago [I reported here](/OpenPrinting-News-December-2023/#new-architecture-under-windows) about Microsoft's plans to make printing under Windows more secure, going the same way as we are going with the [New Architecture in CUPS 3.x](/current/#the-new-architecture-for-printing-and-scanning), an all-IPP print environment without printer drivers, only supporting modern, driverless IPP printers. In Windows it is especially important to get rid of printer drivers, as they are closed-source code pieces running in system or even kernel level. For Windows Protected Print (WPP) Windows does not use CUPS, but Mopria instead, and they do not have a concept for non-driverless legacy printers, whereas we have the [Printer Applications](/current/#printer-applications) ([which can also be used under Windows](/wsl-printer-app/)). +Around a year ago [I reported here](/OpenPrinting-News-December-2023#new-architecture-under-windows) about Microsoft's plans to make printing under Windows more secure, going the same way as we are going with the [New Architecture in CUPS 3.x](/current#the-new-architecture-for-printing-and-scanning), an all-IPP print environment without printer drivers, only supporting modern, driverless IPP printers. In Windows it is especially important to get rid of printer drivers, as they are closed-source code pieces running in system or even kernel level. For Windows Protected Print (WPP) Windows does not use CUPS, but Mopria instead, and they do not have a concept for non-driverless legacy printers, whereas we have the [Printer Applications](/current#printer-applications) ([which can also be used under Windows](/wsl-printer-app)). Microsoft's plans were reported about in a [blog on Microsoft's community forum](https://techcommunity.microsoft.com/blog/MicrosoftSecurityandCompliance/a-new-modern-and-secure-print-experience-from-windows/4002645), where I also left some comments. @@ -17,7 +17,7 @@ Also [on The Register got reported](https://www.theregister.com/2025/01/02/scann Microsoft promised to fix the bug by end-January, but they already left their users without scanning working for many weeks. -But for the seasoned WSL tinkerer (**Warning: Command line use required!**) it should be solvable. Proceed as [described here for legacy printers](/wsl-printer-app/), but instead of (or in addition to) installing a Printer Application, install [SANE](http://www.sane-project.org/) (Scanner Access Now Easy): +But for the seasoned WSL tinkerer (**Warning: Command line use required!**) it should be solvable. Proceed as [described here for legacy printers](/wsl-printer-app), but instead of (or in addition to) installing a Printer Application, install [SANE](http://www.sane-project.org/) (Scanner Access Now Easy): ``` sudo apt install sane-backends sane-airscan sane-utils ``` @@ -25,7 +25,7 @@ and then use the `scanimage` command. Enter `man scanimage` for how to use it. I hope this makes Windows 11 SANE for the time being. -We will soon have [Scanner Applications](/current/#scanner-applications) which emulate driverless scanners (eSCL, WSD), but note that current Windows has especially problems with those. +We will soon have [Scanner Applications](/current#scanner-applications) which emulate driverless scanners (eSCL, WSD), but note that current Windows has especially problems with those. **And as usual: Stay updated on Mastodon: [#OpenPrinting](https://ubuntu.social/tags/OpenPrinting) and [@till@ubuntu.social](https://ubuntu.social/@till).** diff --git a/contents/post/cups-browsed-Second-Generation-Forth-Beta-Release.md b/contents/post/cups-browsed-Second-Generation-Forth-Beta-Release.md index b32ce1a3..1c2e9228 100644 --- a/contents/post/cups-browsed-Second-Generation-Forth-Beta-Release.md +++ b/contents/post/cups-browsed-Second-Generation-Forth-Beta-Release.md @@ -7,7 +7,7 @@ date: '2023-03-16' --- In this forth beta we have added a test script, to give `make check` functionality but also for using it in the autopkgtests of debian/Ubuntu and for general CI. We also found and fixed many bugs in cups-browsed itself during the development of the script. -The splitting of cups-filters into separate packages for the second generation has put the code of cups-filters into packages which are "new" for Ubuntu. Therefore they have to pass the process of [being included in the "Main" part of the distro](/OpenPrinting-News-February-2023/#the-new-architecture-is-going-into-ubuntu-and-red-hat), especially as at the time when cups-filters was originally created there was not such a Main Inclusion process. +The splitting of cups-filters into separate packages for the second generation has put the code of cups-filters into packages which are "new" for Ubuntu. Therefore they have to pass the process of [being included in the "Main" part of the distro](/OpenPrinting-News-February-2023#the-new-architecture-is-going-into-ubuntu-and-red-hat), especially as at the time when cups-filters was originally created there was not such a Main Inclusion process. One requirement are the automatic tests, a build test (`make check`) performed right after compiling the code by the build process of the DEB package, and an autopkgtest, performed when the package is uploaded or when a new version of another package where our package depends on is uploaded (for example upload of CUPS triggers also the autopkgtest of cups-browsed). diff --git a/contents/post/cups-filters-Second-Generation-Release-Candidate-2.md b/contents/post/cups-filters-Second-Generation-Release-Candidate-2.md index 4c5187b9..25fafcf4 100644 --- a/contents/post/cups-filters-Second-Generation-Release-Candidate-2.md +++ b/contents/post/cups-filters-Second-Generation-Release-Candidate-2.md @@ -7,7 +7,7 @@ excerpt: >- all, beh vulnerability, cups-browsed 100% CPU, libppd vs. CUPS sync date: '2023-06-20' --- -After the [cups-filters 2.x release party in Brno](/OpenPrinting-News-May-2023/#linux-app-summit-2023) (Ubuntu 23.04 and Fedora 38 with 2.0rc1) there also came the first bug reports from users. And together with other fixes a lot of stuff came together, so I decided to issue a second release candidate before actually landing the final. +After the [cups-filters 2.x release party in Brno](/OpenPrinting-News-May-2023#linux-app-summit-2023) (Ubuntu 23.04 and Fedora 38 with 2.0rc1) there also came the first bug reports from users. And together with other fixes a lot of stuff came together, so I decided to issue a second release candidate before actually landing the final. ### cups-browsed 100% CPU! @@ -25,7 +25,7 @@ What actually happened on the Engineering Sprint was that I have a lot of shared There were also some Ubuntu and Fedora users reporting bugs on printing, starting from uglinesses like all jobs coming out [mirrored](https://bugs.launchpad.net/bugs/2018538), or, the more ecological way, [nothing coming out at all](https://github.com/OpenPrinting/libppd/issues/20), up to [unsupported resolution attacks](https://github.com/OpenPrinting/libcupsfilters/issues/29). -The unsupported resolution attack was performed by the [Chromium Browser](https://bugs.chromium.org/p/chromium/issues/detail?id=1448735), sending jobs with `resolution=96dpi` option and these getting printed as garbage by CUPS. It was not intended to save ink by printing less pixels, but simply a bad choice for a default resolution when no resolution info is provided by the PPD and also missing support for PPD files with only `*DefaultResolution=...` but no "Resolution" option. The Chromium developers have fixed that on the Chromium side, but the final solution is [on the way](/OpenPrinting-News-May-2023/#google-summer-of-code-2023). +The unsupported resolution attack was performed by the [Chromium Browser](https://bugs.chromium.org/p/chromium/issues/detail?id=1448735), sending jobs with `resolution=96dpi` option and these getting printed as garbage by CUPS. It was not intended to save ink by printing less pixels, but simply a bad choice for a default resolution when no resolution info is provided by the PPD and also missing support for PPD files with only `*DefaultResolution=...` but no "Resolution" option. The Chromium developers have fixed that on the Chromium side, but the final solution is [on the way](/OpenPrinting-News-May-2023#google-summer-of-code-2023). The reporter of the bug also reported the problem [to us](https://github.com/OpenPrinting/libcupsfilters/issues/29) and made us aware that we do not ignore unsupported resolutions and simply rasterized in them, instead of, as with other job attributes/options, to ignore unsupported values. Now this is fixed to defend our users against such attacks from applications. And, once investigating our resolution handling, I have fixed also some other resolution-related bugs to get more consistent behavior and especially resolution settings in the pseudo-PostScript code of non-"Resolution" options of the PPDs (like "cupsPrintQuality") being respected. @@ -35,11 +35,11 @@ During the development work on the [all-Snap Ubuntu Desktop](https://ubuntu.com/ ### libppd sync-up with CUPS -The development of libppd, a library which conserves all of CUPS' PPD file support for retro-fitting Printer Applications before it gets removed from CUPS in the 3.x generation, [started nearly exactly 3 years ago](/OpenPrinting-News-July-2020/#cups-filters). Now in these 3 years after grabbing CUPS' PPD supporting code for libppd a lot has happened with CUPS and also this code received several bug fixes (including some memory leaks) and also even small feature additions by adding extra attributes to generated PPDs so that CUPS can better support all IPP functionality of all driverless printers. I have [overtaken these changes](https://github.com/OpenPrinting/libppd/commit/3e332f051da) now to be in sync with CUPS. Especially retro-fitting Printer Applications now always list all media types of the PPD file! +The development of libppd, a library which conserves all of CUPS' PPD file support for retro-fitting Printer Applications before it gets removed from CUPS in the 3.x generation, [started nearly exactly 3 years ago](/OpenPrinting-News-July-2020#cups-filters). Now in these 3 years after grabbing CUPS' PPD supporting code for libppd a lot has happened with CUPS and also this code received several bug fixes (including some memory leaks) and also even small feature additions by adding extra attributes to generated PPDs so that CUPS can better support all IPP functionality of all driverless printers. I have [overtaken these changes](https://github.com/OpenPrinting/libppd/commit/3e332f051da) now to be in sync with CUPS. Especially retro-fitting Printer Applications now always list all media types of the PPD file! ### First Vulnerability Report -And last, but not least, our second release candidate contains the [fix](https://github.com/OpenPrinting/cups-filters/commit/8f274035756) for our [first security vulnerability reported via GitHub](https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-gpxc-v2m8-fr3x). It was the `beh` CUPS backend (Backend Error Handler) allowing to execute arbitrary commands by supplying jobs with forged job titles. The backend is not that often used, but this was also a nice case to find out how to handle any reported vulnerability (which made me writing a [tutorial](/OpenPrinting-News-May-2023/#handling-reported-security-bugs-with-github)). +And last, but not least, our second release candidate contains the [fix](https://github.com/OpenPrinting/cups-filters/commit/8f274035756) for our [first security vulnerability reported via GitHub](https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-gpxc-v2m8-fr3x). It was the `beh` CUPS backend (Backend Error Handler) allowing to execute arbitrary commands by supplying jobs with forged job titles. The backend is not that often used, but this was also a nice case to find out how to handle any reported vulnerability (which made me writing a [tutorial](/OpenPrinting-News-May-2023#handling-reported-security-bugs-with-github)). And here are the lists of all the changes in detail: diff --git a/contents/post/cups-filters-Second-Generation-Second-Beta-Release.md b/contents/post/cups-filters-Second-Generation-Second-Beta-Release.md index 712d1bfd..3d7e3796 100644 --- a/contents/post/cups-filters-Second-Generation-Second-Beta-Release.md +++ b/contents/post/cups-filters-Second-Generation-Second-Beta-Release.md @@ -7,7 +7,7 @@ excerpt: >- systems, source code documentation date: '2023-01-08' --- -During creation of the Debian/Ubuntu packages for the components of the 2nd-generation cups-filters and also during the further development of the [Common Print Dialog Backends (CPDB)](/achievements/#common-print-dialog-backends) some bugs were discovered which are fixed now. +During creation of the Debian/Ubuntu packages for the components of the 2nd-generation cups-filters and also during the further development of the [Common Print Dialog Backends (CPDB)](/achievements#common-print-dialog-backends) some bugs were discovered which are fixed now. Also the adaptation of the source code documentation files to the individual components was not yet complete. diff --git a/contents/post/libcupsfilters,-libppd,-cups-filters-2.1.0-Releases-including-vulnerability-fix.md b/contents/post/libcupsfilters,-libppd,-cups-filters-2.1.0-Releases-including-vulnerability-fix.md index a5648997..10f5df8b 100644 --- a/contents/post/libcupsfilters,-libppd,-cups-filters-2.1.0-Releases-including-vulnerability-fix.md +++ b/contents/post/libcupsfilters,-libppd,-cups-filters-2.1.0-Releases-including-vulnerability-fix.md @@ -9,7 +9,7 @@ excerpt: >- libcups3 support and filter workflow testing. date: '2024-10-19' --- -These releases, skipping the beta phases, are quick releases after having fixed most of the security bugs making up a Remote Code Execution (RCE) vulnerability reported some weeks ago and a DoS vulnerability reported somewhat later. I had posted [in detail here](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability/). +These releases, skipping the beta phases, are quick releases after having fixed most of the security bugs making up a Remote Code Execution (RCE) vulnerability reported some weeks ago and a DoS vulnerability reported somewhat later. I had posted [in detail here](/OpenPrinting-News-Flash-cups-browsed-Remote-Code-Execution-vulnerability). The fixes provided by these releases are sufficient to prevent the described exploits, but there is still the bug of arbitrary command lines being allowed to be used by foomatic-rip, [CVE-2024-47177](https://www.cve.org/CVERecord?id=CVE-2024-47177), which will get fixed in both the 1.x and 2.x branches of cups-filters in the next days. cups-filters 1.29.0 and 2.1.0 will get released once this fix is in place. diff --git a/contents/projects/02-foomatic.md b/contents/projects/02-foomatic.md index 3e75e8a2..a26cf534 100644 --- a/contents/projects/02-foomatic.md +++ b/contents/projects/02-foomatic.md @@ -18,7 +18,7 @@ Foomatic consists of three packages: Foomatic database extension consisting of manufacturer-supplied PPD files released under non-free licenses which restricts them in how they can get redistributed. ### Project Links -* +* Downloads diff --git a/lib/legacy-redirects.ts b/lib/legacy-redirects.ts index 66a26a9b..069a776e 100644 --- a/lib/legacy-redirects.ts +++ b/lib/legacy-redirects.ts @@ -42,13 +42,13 @@ export const LEGACY_REDIRECTS: Record = { "/gsoc2021": "/gsoc/2021", "/gsoc-2020-students": "/gsoc/2020", "/gsoc-2021-students": "/gsoc/2021", - "/driverless/00-introduction": "/driverless/#introduction", - "/driverless/01-standards-and-their-pdls": "/driverless/#standards", - "/driverless/02-workflow": "/driverless/#workflow", + "/driverless/00-introduction": "/driverless#introduction", + "/driverless/01-standards-and-their-pdls": "/driverless#standards", + "/driverless/02-workflow": "/driverless#workflow", "/lfmp-2020-students": "/lfmp", - "/lfmp2020/01-Wrapping-proprietary-printer-drivers-into-a-Printer-Application": "/lfmp2020/#wrapping-proprietary-printer-drivers-into-a-printer-application", - "/lfmp2020/02-Support-IPP-Fax-Out": "/lfmp2020/#support-for-ipp-fax-out", - "/lfmp2020/03-ipp-scan-application": "/lfmp2020/#ipp-scan-or-virtual-mf-device-server-scanner-application" + "/lfmp2020/01-Wrapping-proprietary-printer-drivers-into-a-Printer-Application": "/lfmp2020#wrapping-proprietary-printer-drivers-into-a-printer-application", + "/lfmp2020/02-Support-IPP-Fax-Out": "/lfmp2020#support-for-ipp-fax-out", + "/lfmp2020/03-ipp-scan-application": "/lfmp2020#ipp-scan-or-virtual-mf-device-server-scanner-application" }; export function getLegacyRedirect(pathOrSlug: string): string | undefined { diff --git a/lib/site.ts b/lib/site.ts index 2328de4c..9a0c8b8a 100644 --- a/lib/site.ts +++ b/lib/site.ts @@ -5,7 +5,20 @@ function normalizePath(path: string): string { return "/"; } - return path.startsWith("/") ? path : `/${path}`; + const absolute = path.startsWith("/") ? path : `/${path}`; + + // Canonical URLs carry no trailing slash, so callers may pass either form + // (#207). The site root itself stays "/". + const [pathname, suffix = ""] = splitSuffix(absolute); + const trimmed = pathname.replace(/\/+$/, ""); + + return `${trimmed === "" ? "/" : trimmed}${suffix}`; +} + +// Keeps any query and fragment out of the trailing-slash normalization. +function splitSuffix(url: string): [string, string] { + const index = url.search(/[?#]/); + return index === -1 ? [url, ""] : [url.slice(0, index), url.slice(index)]; } export function getBasePath(): string { diff --git a/next.config.ts b/next.config.ts index fe92162d..8d6122d4 100644 --- a/next.config.ts +++ b/next.config.ts @@ -8,7 +8,9 @@ const nextConfig: NextConfig = { output: "export", basePath: siteConfig.urls.basePath, assetPrefix: siteConfig.urls.basePath ? `${siteConfig.urls.basePath}/` : "", - trailingSlash: true, + // Canonical URLs carry no trailing slash; `/some-page/` stays reachable + // through scripts/generate-trailing-slash-aliases.ts (#207). + trailingSlash: false, images: { unoptimized: true }, env: { NEXT_PUBLIC_BASE_PATH: siteConfig.urls.basePath, diff --git a/package.json b/package.json index aed9ddeb..b124cf10 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "scripts": { "dev": "next dev --turbopack", "generate": "tsx scripts/foomatic/data-generate.ts && tsx scripts/foomatic/generate-query-api.ts && tsx scripts/search/build-index.ts && tsx scripts/search/build-foomatic-index.ts && tsx scripts/generate-rss.ts", - "build": "yarn generate && next build && tsx scripts/foomatic/generate-legacy-redirects.ts", + "build": "yarn generate && next build && tsx scripts/foomatic/generate-legacy-redirects.ts && tsx scripts/generate-trailing-slash-aliases.ts", + "verify:urls": "tsx scripts/verify-urls.ts", "start": "next start", "lint": "next lint" }, diff --git a/scripts/foomatic/generate-legacy-redirects.ts b/scripts/foomatic/generate-legacy-redirects.ts index 59b567fa..5c36e03c 100644 --- a/scripts/foomatic/generate-legacy-redirects.ts +++ b/scripts/foomatic/generate-legacy-redirects.ts @@ -57,7 +57,7 @@ function main() { for (const printer of readMap("printersMap.json", "printers")) { const id = printer.id.replace(/^printer\//, ""); const make = printerMakeSegment(id, printer.manufacturer ?? ""); - const target = `${BASE_PATH}/foomatic/printer/${make}/${id}/`; + const target = `${BASE_PATH}/foomatic/printer/${make}/${id}`; writeStub(path.join("printer", make, id), target); writeStub(path.join("printer", "show", id), target); if (printer.manufacturer) manufacturers.add(printer.manufacturer); @@ -66,7 +66,7 @@ function main() { let manufacturerCount = 0; for (const manufacturer of manufacturers) { - const target = `${BASE_PATH}/foomatic/printers/?manufacturer=${encodeURIComponent(manufacturer)}`; + const target = `${BASE_PATH}/foomatic/printers?manufacturer=${encodeURIComponent(manufacturer)}`; writeStub(path.join("printers", "manufacturer", manufacturer), target); manufacturerCount += 1; } @@ -74,9 +74,9 @@ function main() { let driverCount = 0; for (const driver of readMap("driversMap.json", "drivers")) { const id = driver.id.replace(/^driver\//, ""); - const target = `${BASE_PATH}/foomatic/driver/${id}/`; + const target = `${BASE_PATH}/foomatic/driver/${id}`; writeStub(path.join("driver", id), target); - writeStub(path.join("driver", id, "license"), `${BASE_PATH}/foomatic/driver/${id}/#license`); + writeStub(path.join("driver", id, "license"), `${BASE_PATH}/foomatic/driver/${id}#license`); driverCount += 1; } diff --git a/scripts/generate-rss.ts b/scripts/generate-rss.ts index c219502c..d3a4a08f 100644 --- a/scripts/generate-rss.ts +++ b/scripts/generate-rss.ts @@ -64,12 +64,18 @@ async function generateRss() { const items = posts .slice(0, MAX_ITEMS) .map((post) => { - const url = `${SITE_URL}/${post.slug}/`; + // Aggregators consume verbatim, so it must be the canonical + // slashless URL (#207). + const url = `${SITE_URL}/${post.slug}`; + // is the item's identity: it keeps the historical trailing-slash + // URL readers already stored, or they re-announce old articles as new. + // The alias stubs keep that URL resolvable, so isPermaLink stays true. + const guid = `${SITE_URL}/${post.slug}/`; const lines = [ ` `, ` ${escapeXml(post.title)}`, ` ${url}`, - ` ${url}`, + ` ${guid}`, ]; if (post.date) lines.push(` ${toRfc822(post.date)}`); if (post.author) lines.push(` ${escapeXml(post.author)}`); diff --git a/scripts/generate-trailing-slash-aliases.ts b/scripts/generate-trailing-slash-aliases.ts new file mode 100644 index 00000000..dfb18506 --- /dev/null +++ b/scripts/generate-trailing-slash-aliases.ts @@ -0,0 +1,116 @@ +// Post-export step for #207: makes `/foo/` resolve while `/foo` stays canonical. +// +// The export writes `foo.html`, which Pages serves for `/foo`. Nothing answers +// `/foo/`, and that 404 broke old inbound links and RSS URLs, so for each +// `foo.html` this writes a `foo/index.html` stub redirecting to `/foo`. +// +// `/foo` keeps being served directly, without a redirect hop, only because +// Pages prefers `foo.html` over redirecting to the `foo/` directory. That +// precedence is verified against live GitHub Pages but undocumented by GitHub, +// so both forms are worth re-checking after a deploy. + +import fs from "fs"; +import path from "path"; +import { fileURLToPath } from "url"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const ROOT_DIR = path.join(__dirname, ".."); + +const OUT_DIR = path.join(ROOT_DIR, "out"); +const BASE_PATH = process.env.NEXT_PUBLIC_BASE_PATH ?? ""; + +// `404.html` is Pages' error document; `index.html` is already a directory index. +const SKIP_FILES = new Set(["404.html", "index.html"]); + +function escapeHtml(value: string): string { + return value + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """); +} + +function escapeJs(value: string): string { + return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"'); +} + +function redirectHtml(target: string): string { + const htmlTarget = escapeHtml(target); + const jsTarget = escapeJs(target); + + return ` + + + + + + + + Redirecting… + + + +

This page lives at ${htmlTarget}.

+ + +`; +} + +function routeUrl(relativeHtmlPath: string): string { + const withoutExtension = relativeHtmlPath.slice(0, -".html".length); + const segments = withoutExtension.split(path.sep); + return `${BASE_PATH}/${segments.join("/")}`; +} + +function walk(dir: string, files: string[] = []): string[] { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) { + // Nothing under `_next/` is a routable page. + if (path.relative(OUT_DIR, full) === "_next") continue; + walk(full, files); + } else if (entry.isFile() && entry.name.endsWith(".html")) { + files.push(full); + } + } + return files; +} + +function main() { + if (!fs.existsSync(OUT_DIR)) { + console.warn( + `Export directory ${OUT_DIR} not found; skipping trailing-slash aliases.`, + ); + return; + } + + let written = 0; + let skipped = 0; + + for (const file of walk(OUT_DIR)) { + if (SKIP_FILES.has(path.basename(file))) continue; + + const relative = path.relative(OUT_DIR, file); + const aliasDir = path.join(OUT_DIR, relative.slice(0, -".html".length)); + const aliasFile = path.join(aliasDir, "index.html"); + + // Never overwrite a directory index owned by a real page or by the + // Foomatic legacy stubs, which run before this script. + if (fs.existsSync(aliasFile)) { + skipped += 1; + continue; + } + + fs.mkdirSync(aliasDir, { recursive: true }); + fs.writeFileSync(aliasFile, redirectHtml(routeUrl(relative)), "utf8"); + written += 1; + } + + console.log( + `Wrote ${written} trailing-slash alias stubs ` + + `(// -> /); ${skipped} routes already had a directory index.`, + ); +} + +main(); diff --git a/scripts/verify-urls.ts b/scripts/verify-urls.ts new file mode 100644 index 00000000..6ec383e3 --- /dev/null +++ b/scripts/verify-urls.ts @@ -0,0 +1,227 @@ +// Guards the URL conventions from #207: internal links and advertised URLs +// carry no trailing slash, and every exported route answers in both forms. +// +// The source scan always runs; the checks against `out/` are skipped with a +// notice when the site has not been exported yet. + +import fs from "fs"; +import path from "path"; +import { fileURLToPath } from "url"; +import { siteConfig } from "../config/site.config.ts"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const ROOT_DIR = path.join(__dirname, ".."); +const OUT_DIR = path.join(ROOT_DIR, "out"); + +// `/cups/` is the separate CUPS Pages site on the same domain, not part of +// this export, and it requires its trailing slash. +const ALLOWED_TRAILING_SLASH_PATHS = ["/cups/"]; + +const SOURCE_DIRS = ["app", "components", "lib", "config", "contents", "data"]; +const SOURCE_EXTENSIONS = new Set([".ts", ".tsx", ".md", ".mdx"]); + +// Matches href="/foo/" and getSiteUrl("/foo/") in code, ](/foo/) in Markdown. +const CODE_LINK = /(?:href=|getSiteUrl\(|push\(|redirect\()\s*[{("`]+(\/[^"'`)\s]*\/)["'`)]/g; +const MARKDOWN_LINK = /]\((\/[^)\s]*\/)\)/g; + +interface Failure { + file: string; + detail: string; +} + +const failures: Failure[] = []; +const notices: string[] = []; + +function fail(file: string, detail: string) { + failures.push({ file, detail }); +} + +function isAllowed(link: string): boolean { + return ALLOWED_TRAILING_SLASH_PATHS.some((allowed) => link === allowed); +} + +function walk(dir: string, filter: (file: string) => boolean): string[] { + const found: string[] = []; + if (!fs.existsSync(dir)) return found; + + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) { + found.push(...walk(full, filter)); + } else if (entry.isFile() && filter(full)) { + found.push(full); + } + } + return found; +} + +function checkSourceLinks() { + for (const dir of SOURCE_DIRS) { + const files = walk(path.join(ROOT_DIR, dir), (file) => + SOURCE_EXTENSIONS.has(path.extname(file)), + ); + + for (const file of files) { + const contents = fs.readFileSync(file, "utf8"); + const relative = path.relative(ROOT_DIR, file); + + for (const pattern of [CODE_LINK, MARKDOWN_LINK]) { + pattern.lastIndex = 0; + let match: RegExpExecArray | null; + while ((match = pattern.exec(contents)) !== null) { + const link = match[1]; + if (link === "/" || isAllowed(link)) continue; + fail(relative, `internal link ends with a slash: ${link}`); + } + } + } + } +} + +function checkGeneratedUrls(file: string, label: string) { + const full = path.join(OUT_DIR, file); + if (!fs.existsSync(full)) { + notices.push(`${label} not found at ${path.relative(ROOT_DIR, full)}`); + return; + } + + const origin = siteConfig.urls.canonicalOrigin; + const contents = fs.readFileSync(full, "utf8"); + // Ignore XML namespace URLs and outbound links. + const urls = (contents.match(/https?:\/\/[^<\s"]+/g) ?? []).filter((url) => + url.startsWith(`${origin}/`), + ); + + for (const url of urls) { + if (!url.endsWith("/")) continue; + // The bare origin (".../") is the site root and stays as it is. + if (url === `${origin}/`) continue; + if (isAllowed(url.slice(origin.length))) continue; + fail(file, `${label} advertises a trailing-slash URL: ${url}`); + } + + if (urls.length === 0) { + fail(file, `${label} contains no ${origin} URLs`); + } +} + +function checkBothUrlFormsResolve() { + const pages = walk( + OUT_DIR, + (file) => + file.endsWith(".html") && + path.basename(file) !== "index.html" && + path.basename(file) !== "404.html" && + !path.relative(OUT_DIR, file).startsWith(`_next${path.sep}`), + ); + + let missing = 0; + for (const page of pages) { + const alias = path.join(page.slice(0, -".html".length), "index.html"); + if (!fs.existsSync(alias)) { + missing += 1; + if (missing <= 10) { + fail( + path.relative(OUT_DIR, page), + "no trailing-slash alias (expected " + + `${path.relative(OUT_DIR, alias)})`, + ); + } + } + } + + if (missing > 10) { + fail("out/", `${missing - 10} further routes without a trailing-slash alias`); + } + + console.log( + `Checked ${pages.length} exported routes for both URL forms ` + + `(${pages.length - missing} complete).`, + ); +} + +function resolves(pathname: string): { page: boolean; alias: boolean } { + const decoded = decodeURIComponent(pathname.replace(/^\//, "").replace(/\/$/, "")); + return { + page: fs.existsSync(path.join(OUT_DIR, `${decoded}.html`)), + alias: fs.existsSync(path.join(OUT_DIR, decoded, "index.html")), + }; +} + +// must be canonical and slashless -- that is what aggregators publish. +// is the item's identity and keeps its historical trailing-slash form, +// so it is exempt from the slash rule but must still resolve. +function checkFeed() { + const feed = path.join(OUT_DIR, "feed.xml"); + if (!fs.existsSync(feed)) { + notices.push("RSS feed not found at out/feed.xml"); + return; + } + + const origin = siteConfig.urls.canonicalOrigin; + const contents = fs.readFileSync(feed, "utf8"); + const links = [...contents.matchAll(/([^<]+)<\/link>/g)].map((m) => m[1]); + const guids = [...contents.matchAll(/]*>([^<]+)<\/guid>/g)].map( + (m) => m[1], + ); + + const channelLink = links[0]; + if (channelLink !== `${origin}/`) { + fail("feed.xml", `channel should be ${origin}/ but is ${channelLink}`); + } + + for (const link of links.slice(1)) { + if (link.endsWith("/")) { + fail("feed.xml", `item ends with a slash: ${link}`); + } + const { page } = resolves(new URL(link).pathname); + if (!page) fail("feed.xml", `no exported page for item ${link}`); + } + + for (const guid of guids) { + const { page, alias } = resolves(new URL(guid).pathname); + if (!page || !alias) { + fail("feed.xml", ` ${guid} does not resolve in the export`); + } + } + + if (links.length < 2 || guids.length === 0) { + fail("feed.xml", "feed contains no items"); + } + + console.log( + `Checked ${links.length - 1} RSS item links and ${guids.length} guids ` + + `against the export.`, + ); +} + +function main() { + checkSourceLinks(); + + if (fs.existsSync(OUT_DIR)) { + checkGeneratedUrls("sitemap.xml", "Sitemap"); + checkBothUrlFormsResolve(); + checkFeed(); + } else { + notices.push( + "out/ not found: run `yarn build` first to verify the exported routes.", + ); + } + + for (const notice of notices) { + console.warn(`notice: ${notice}`); + } + + if (failures.length > 0) { + console.error(`\n${failures.length} URL convention problem(s):`); + for (const failure of failures) { + console.error(` ${failure.file}: ${failure.detail}`); + } + process.exit(1); + } + + console.log("URL conventions OK: no trailing-slash internal links."); +} + +main();