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
|
|
|
|
|
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".
|