
                                C R E D I T S
                                 
This is the file where major donations to the Lenya project are listed and it
should be used to give appropriate visibility to those inviduals, organizations
or companies that donated resources to the effort. This file wants to be one of
the ways the Lenya community pays back.


 Community Credits
 =================
                                   
 Active Committers:
 ------------------

* Michael Wechner (http://www.wyona.com/people/michael-wechner/index.html)
 
Lenya was originally started by Michael in early 1999 to manage the
content of the journal of pattern formation. Michael previously did
basic research in physics by writing computer simulations on dendritic
growth.

In early 2000 Michael co-founded Wyona (www.wyona.com), which
continued to develop Lenya on the basis of the interactive newspaper
edition of Neue Zürcher Zeitung (www.nzz.ch).  The name Lenya is a
combination of the names of his two sons Levi and Vanya.

* Andreas Hartmann
* Christian Egli
* Edith Chevrier
* Felix Mäder
* Giacomo Pati
* Gregor J. Rothfuss
* Jürgen Bigalke
* Marc Liyanage
* Rolf Kulemann

 Inactive Committers:
 --------------------

* Memo Birgi
* Rene Niedermowe
* Thorsten Scherler

 Other Contributors:
 -------------------

* Kars Veiling
* Lon Boonen

Lon is the original creator of Xopus. He helped a lot to integrate Xopus into Lenya.
Recently he rewrote the JavaScript of the Lenya menubar.

* Christian Stocker

Christian is the original creator of the Bitflux Editor. He helped a
lot to integrate Bitflux Editor into Lenya.

* Markus Vaterlaus
* Marc von Wattenwyl
* Margrit John
* Martin Lüthi
* Stephen England

The Lenya logo has been designed by Stephen.

* Thomas Werschlein
* Urs Stöckli
* Martin Hitz



                                                 The Lenya Community
                                                  http://cocoon.apache.org/lenya/
