Home
News
Documentation
Download
Examples
Mailing List
Alternatives
Links

PyKota vs PrintBill vs Printquota

This information is provided for people who want a quick features comparison of these three software.

It is written with "being fair to both" in mind, and was doubled checked by Jerome Alet, author of PyKota, Daniel Franklin, author of PrintBill , and Ahmet Ozturk, author of Printquota.

It is believed to be correct based on available versions of these software on May 15th 2003.

Functionnality PyKota PrintBill Printquota
License GNU GPL GNU GPL, Perl modules are dual-licensed (Artistic+GPL) GNU GPL
Commercial Support Yes Yes Yes
Proprietary packages No No No
Maturity Young Maturing Young
Programming language Python Perl + C C
Resources usage Light May be heavy if ink accounting is used Light
Internationalization Yes : English and French, more translations are planned Yes : English and French, more translations are planned No
Web interface Quota reports only, administrative web interface is planned Yes, including graphical reports Not yet. CGI interface is prepared.
Centralized Storage Yes No Yes
Dependencies
  • Python (required)
  • mxDateTime Python module (required)
  • PostgreSQL (required)
  • PyGreSQL Python module (required)
  • Common UNIX Printing System or LPRng (required)
  • Ghostscript (recommended)
  • Net-SNMP (recommended)
  • netatalk (recommended)
  • Apache (recommended)
  • Perl (required)
  • File::Temp Perl module
  • Ghostscript (required)
  • LPRng (required)
  • Apache (recommended)
  • Magicfilter (recommended)
  • Samba (recommended)
  • Libpng (required)
  • Ghostscript fonts (required)
  • GnuPlot (recommended)
  • LPRng (required)
  • libpopt (required)
  • Ghostscript (required)
  • PostgreSQL or MySQL (recommended)
Printing systems supported
  • CUPS
  • LPRng
  • LPRng
  • CUPS (start)
  • LPRng
Works with Windows clients Yes. Tested successfully with W2K clients printing directly to the Samba+Print server via IPP, and native Windows HP printer drivers. Printing through Samba was not yet tested, but should work. Yes. Yes. Tested with Windows+Samba and direct Windows TCP printing.
Mailing list Yes : pykota@librelogiciel.com Yes : printbill@ieee.uow.edu.au Yes : printquota-users@lists.sourceforge.net
Documentation Yes, still in the works, in DocBook format Yes, FAQ, Howto, in plain text format Yes. Installation and post-installation instructions in plain text format.
Accounting methods supported
  • Printer internal page counter querying
  • Delegation of job's size computation to any external command of your choice
  • Very stupid and unreliable scan of print jobs
  • Computation of ink coverage
  • Quick scan of print jobs
  • Getting pagecount of job with Ghostscript
Account only mode (no quota enforcement) Yes Yes No
User quotas, per printer Yes Yes Yes
Group quotas, per printer Yes No (in TODO list) No
Printing policies wrt unknown users/groups Defineable No No
Printing quotes No Yes No
Money charging Yes Yes Yes
Page accounting Yes Yes Yes
Ink accounting No Yes No
Immediate configuration change Yes No, must restart daemon Yes
Works with network printers Yes Yes Yes
Works with local printers Untested, should work provided a page counter querying script is available or an "external" accounting method is used. Yes Yes
Works with dumb printers Not with the CUPS backend. Maybe with the LPRng backend. Yes Yes
DataBase type
  • PostgreSQL
  • LDAP is in the works
  • Flat files
  • SQL is in TODO list
  • LDAP is in TODO list
  • PostgreSQL
  • MySQL
  • Flat files
Easily extensible Yes, external page counter requesters, pluggable accounting methods. Can be adapted to other printing systems easily. No
Debian packages No, planned. Some scripts allow easier integration on a Debian system though. Yes No, planned.
RPM packages Yes, for a fee No, a .spec file is included, however. No
Tarballs Yes, for a fee Yes Yes
CVS access Yes No Yes
Accuracy With its default accounting method, PyKota keeps page accounting by directly querying the printers, so it is accurate wrt the paper really consumed. PyKota is always one print job late in this case, however. In case of paper jams or similar problems, users are accurately charged. Also some printers don't have a page counter stored in NVRAM, or don't update it in real time (Hewlett-Packard), so this counter is sometimes incorrect when you switch the printer on, PyKota tries its best to workaround this printer limitation. With external accounting methods, PyKota is as accurate as you want it to be, because you directly specify the command to use to compute the job size. However you may suffer from the same problems PrintBill has wrt paper jams, depending on how your command computes the job's size. Since no ink accounting is done in any case, PyKota is however unfair for people who print "mostly white" pages because people who print "mostly black or mostly colored" pages are not charged more than them. PrintBill keeps page and ink accounting by asking ghostscript and/or computing ink coverage, which may be very highly resource intensive. It is accurate in its computations and fair, at least in theory. In case of paper jams or similar problems, users are however inaccurately charged. Printbill can also quickly scan print jobs to only count their number of pages, so it is not resource intensive in this case, however the "pagecount" colorspace can be exploited by knowledgeable users. Printquota is designed for paper accounting. It counts pages and if user has enough quota (of pages) allows printing. printquota is also unfair for people who print "mostly white pages".

© 1995-2003 Daniel Franklin
Telecommunications and Information Technology Research Institute
University of Wollongong, Northfields Ave, NSW 2522, AUSTRALIA
Phone: +61 2 4221 4442
Fax: +61 2 4221 3236
Email:d.franklin@ieee.org