Libre Software Meeting
Bordeaux July 6 - 10 2004
 

Basic Idea of the workshop

May 11th, 2004

With this meeting we want to get the key developers of the printing-related projects together so that they ...

  • ... can coordinate and discuss the work on their projects,
  • ... get important things done for which one always didn’t find the time,
  • ... integrate the projects with each other and share, re-use and design common code,
  • ... can meet personally (and not only via internet)
  • and so on.

We propose this workshop as a hacker’s meeting: The participants are together with PCs and laptops (connected in a LAN and to the internet) and work on their projects.

The meeting should be held during the whole Libre Software Meeting 2004 in a "Hacker’s Room". Near the end of the Libre Software Meeting there will be a printing track in the conference where the printing-related projects and their results of the hacking session are presented to the visitors. In the "Hacker’s Room" their will be no scheduled talks. Perhaps everyone could introduce himself and his project shortly on the first half day, then people can hack, discuss, or whatever helps for the project.

Possible development steps which could be taken on the Workshop

These steps are subject to change, as some steps can already be done and new ideas could appear until July when the workshop actually takes place.

These are my ideas for now, as soon as this proposal is distributed to the participants, their ideas will be collected and added. I will send updated proposals as soon as they are available.

Foomatic (3.1.x, 3.2)

  • Make adding printer drivers and adding data to the Foomatic database as easy as possible, to get more printer entries from contributors and especially printer drivers/database entries from manufacturers.
  • Move Bi-Di support from ifhp (LPRng) into Foomatic, let Bi-Di features of the printers being described in the Foomatic database (to have all printer property info on one central place serving for all spoolers).
  • Support new features of CUPS 1.2 (as Bi-Di) with Foomatic
  • Draft a Foomatic file structure layout to be integrated into the "Linux Standard Base"
  • Prepare Foomatic/linuxprinting.org to be mirrored to other servers, for higher availability/security

GhostScript

  • Continue the different flavors (AFPL, GNU, ESP) or do some merging?
  • Work on colour management features
  • Drivers

    • Tune Gimp-Print to become a photo-quality driver for even more printer models (specifically Canon printers and more dye sublimation models are "next on the list")
    • GUI concepts for advanced options (like colour curves) in GIMP-Print
    • Develop some more generic printer drivers (or special Foomatic data):
      • Generic text printer (in case of PostScript input text is extracted)
      • Generic HPGL printer (to print on plotters)
      • Generic TIFF printer (some printers/plotters print TIFF files directly)
      • Generic DPOF printer (Digital Print Order Format, this is a special way to arrange a print job consisting of image files and a job ticket on a flash memory card. It is used by digital cameras to make it possible to select photos to be printed on the camera’s screen and then put the memory card into an appropriate printer and print the photos by pressing one button. Alternatively, the card can be inserted into a terminal in a photo store to let the photos be developed by a photo lab. Such an arrangement of files on a flash card could also be done by a computer, based on a arbitrary print job sent to this "printer". This makes every printer with memory card slots working with free software. Or it makes it easier to get your computer-processed photos printed by a lab).

    FSG OpenPrinting

    • Implement the APIs of OpenPrinting in CUPS, LPRng, Foomatic, drivers, ...

    GUI

    • Support for printer Bi-Di features, complexer GIMP-Print options, and color management in current printing GUIs (KDE Print, foomatic-gui)

    Others

    • Make more printer manufacturers publish free PostScript PPDs and free drivers. Work out concepts for that.
    • Find more developers for the projects, especially for the GUIs (KDE-Print), for Foomatic, and for drivers (especially GIMP-Print drivers for Canon and Lexmark).
    • Colour management in GhostScript and/or CUPS, user interface(s) for colour management
    • Possibility to get PCL input filtered and printed on arbitrary printers for which free drivers exist

    Descriptions of most participating projects

    Foomatic

    Foomatic’s foundation is a database which contains informatation about printer hardware and printer software (spoolers and drivers), and how they interoperate: which driver supports which printer how well and which print options can be controlled with the selected printer/driver combo?

    The system integrates every free software printer driver with every free spooler. It makes all the driver’s options available to the user. It’s main part is an XML database which contains entries for all free software printer drivers and more than 800 printers. It provides all information about the driver’s command lines with all its options. Users can easily configure printer queues under all free printer spoolers with an online-configurator on the linuxprinting.org web site (or, alternatively, from a locally installed copy of the database).

    Foomatic is now an inofficial standard: Mandrake, RedHat, SuSE, Conectiva, Debian, Knoppix, and other distributions are using it.

    GhostScript

    In all Posix-style operating systems, as GNU/Linux, *BSD, Unix, ... applications generate PostScript as device-independent page description format to send the pages to be printed to the printer spooler.

    If the destination printer is not a PostScript printer, the software PostScript interpreter GhostScript is used to translate this PostScript output into the printer’s native language using a printer driver. The current versions of GhostScript are fully compatible with the PostScript Level 3 standard and so they are able to convert or display every PostScript file. The drivers are either compiled into the GhostScript executable, a plug-in to the IJS interface of GhostScript, or a filter which converts generic raster graphics output of GhostScript into the printer’s native language. A special type of filters are the CUPS raster drivers, a special driver concept developed for the CUPS printing system.

    GhostScript development is done in various tracks. The main development happens under the non-free but open-source AFPL license. After an AFPL GhostScript version reaching one year of age it is released under the GPL as GNU GhostScript. ESP GhostScript, whose development is lead by the CUPS project, is derived from GNU GhostScript, but with several bugs fixed and coming out of the box with all compile-in drivers.

    Gimp-Print

    Gimp-Prints main goal is uncompromising quality. For a part of the supported printer models, this has been achieved to such a degree, that many users regard Gimp-Prints output as superior to the native vendor driver’s output in a Windows environment. Gimp-Print, contrary to its legacy name, has long outgrown its origins as a plug-in to the well-known image manipulation program. It has become a general-purpose color image dithering software, which can be compiled to become either a GhostScript printer driver, an IJS plug-in for GhostScript a CUPS printer driver, a Gimp plug-in for printing, or a multi-purpose library to be used by other programs.

    It currently supports around 500 printer models, mainly color inkjets, but also lasers and dye sublimation printers.

    HPIJS

    This is the first free software printer driver project driven by a printer manufacturer. HPIJS provides free software support for nearly all of HP’s inkjet printers and all PCL-5e/5c laser printers. It is regularly updated when new printer models appear. The project works closely together with Foomatic and Foomatic PPDs are shipped with the HPIJS package.

    IBM’s Omni

    Having a big knowledge and code base from the printer drivers of their OS/2 operating system, IBM has developed a highly modular, XML-database-driven printer driver package to make these resources available for free operating systems. The system supports more than 400 printers and it is planned that it can be dynamically expanded to any printer for which there is an UPDF description file.

    HPOJ

    HPOJ is an HP-supported project to make HP’s multi-function devices working to their full extent under free software. Besides printing they can already scan and make photo memory cards available to the PC. In future releases it is planned to also support PC-controlled faxing.

    KDE Print

    Started as graphical administration and printing frontends for the CUPS printer spooler KDEPrint is the most sophisticated free graphical printing environment: It supports the spoolers CUPS, LPD, and LPRng, sets up printers with the help of Foomatic, and even does things as driver export for Windows clients, pre-filtering of jobs with arbitrary commands, accounting, and more.

    FSG OpenPrinting

    The goal of the OpenPrinting WG is to develop and promote a set of standards that will address the needs of desktop to enterprise-ready printing, including management, reliability, security, scalability, printer feature access and network accessibility (Mission statement from OpenPrinting web page).

    Project Sites

    Printable version

    ]
    SIte map Contacts Contributors LSM 2000 LSM 2001 LSM 2002 LSM 2003 top

    LSM/RMLL 2004 ::: ABUL.ORG ::: © 2003-2004 ::: Valid HTML, CSS generated by Spip