BSD-licensed publish and subscribe messaging for the Web, and related tools. A copy of the old mod_pubsub SourceForge repository. Originally KnowNow's product.
C++ C JavaScript Python Java Perl Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


About This Distribution

This distribution contains a set of files that add publish and
subscribe to the Web for users of Perl, Python, PHP, JavaScript,
C, COM/ActiveX/.NET, Java, and Ruby.

This distribution includes the PubSub Server as a Perl Apache module
(using mod_perl), a reference standalone Python PubSub Server that
uses the same PubSub Protocol, a push_manager that helps with
additional connection pooling, and many sample apps.

(The Perl and Python Servers work, push_manager needs a lot of work,
and the apps are all in varying states of usability and needing work.)

Please have peruse the file INSTALL for installation instructions
for the current Apache-based Perl PubSub Server and standalone
Python PubSub Server.

Plans are in the TODO file.

See also the index.html files in the mod_pubsub directory and the
mod_pubsub/kn_apps directory for an index of goodies included in
this distribution.  If you have questions not covered in these files,
please send inquiries to the mailing list

KnowNow makes this code freely available, to encourage adoption and
unfettered experimentation.  Our BSD-style license is available in the
LICENSE file; its purpose is to indemnify KnowNow of legal liability
while promoting free use of this set of code, tools, and documentation.

  -- Adam Rifkin
     $Id: README,v 1.10 2003/05/31 04:42:29 ifindkarma Exp $


We thank Joyce Park and Robert Leftwich for their recent changes and
additions to the code in this distribution.  Furthermore...

A hearty thank-you goes out to all KnowNow employees and contractors
who wrote the code and documentation that has been included in this

In the kn_apps directory, jscomponents is version 1.5.10 of KnowNow's
JavaScript Components libraries, released in January 2002.  We found
these on and since they use the KnowNow
license we're including them with this distribution.

kn_apps/soapstock uses an SOAP service from .
Thanks, xmethods!

We thank IRT and Keith Drakard ( for the Connect Four and
Reversi games available in kn_apps/connect4 and kn_apps/reversi .
These programs are distributed under the terms of the WebGames License
at .

In the python_pubsub directory, the following files are distributed
under the same license as Python:,,,, . Refer to the file LICENSE in the Python source
distribution ( for details.  Note that we made
some minor modifications to these files to support .  It is
our goal to get working out-of-the-box with a Python release
without using the modified versions of these files.

Regarding that python_pubsub directory, we thank the many authors who
have contributed to the files included in that distribution, including
but not limited to Sam Rushing, Ka-Ping Yee, Guido van Rossum,
Michael McLay, Steve Majewski, Andreas Paepcke, Timothy O'Malley,
Greg Burd, Phil Harris, Andrew Athan, and Kragen Sitaker.

Also in the python_pubsub directory, we use an asynchronous HTTP/1.1
client library called .  We thank Downright Software
<> and Doug Fort <> for
this library, which we found at .

In the java_pubsub directory, we use HTTPClient from Ronald Tschalar
<>.  The .jar is included
in the lib subdirectory.

Jef Poskanzer's excellent thttpd is used for the push_manager; these
parts are copyright <A9> 1995,1998,1999,2000 by Jef Poskanzer
<>, distributed under a separate license.  See the file
LICENSE in the push_manager directory for full details.

Michael Houghton's nice 'xml for <SCRIPT>' JavaScript XML parser in
kn_apps/KN/xmljs is distributed under a separate license.  See the
file LICENSE in that directory for full details.

We also thank Dieter Bungers for the table widget we use in the
kn_apps/rsstable application.

Kudos to Scott Thomason for the we use in our RSS sensor
in the kn_sense/rss directory.

Many thanks go to Dave Winer who showed us many of the RSS feeds we
use in the kn_sense/rss directory.

If this distribution gets far, it is because we are standing on the
shoulders of the giants who came before us.  Thank you all.