Merge commit 'origin/silc.1.1.branch'
[silc.git] / README
diff --git a/README b/README
index b4ed9738a79100f62a1cba15e3130d5806a105ef..4ed2fba46b2cbae88c5fb6a5382ed14b85d04192 100644 (file)
--- a/README
+++ b/README
 SILC - Secure Internet Live Conferencing
 ========================================
 
-[NOTE: SILC is still in middle of development and this package is known
-as Developer's Version which means that the package is in no means stable
-or ready to be in production use.  This package is for those who wants
-to test SILC, find bugs and maybe contribute some time and code for the
-SILC project.  There is no guarantees that this package even compiles and
-even if it compiles there is no guarantees that it would work, and even
-if it works there is no guarantees that it would work correctly, and even
-if it seems to work correctly it may be just plain luck.]
-
-
-Description
-===========
-
 SILC (Secure Internet Live Conferencing) is a protocol which provides
-secure conferencing services in the Internet over insecure channel.
-SILC is IRC like softwarre although internally they are very different.
-Biggest similiarity between SILC and IRC is that they both provide
-conferencing services and that SILC has almost same commands as IRC.  Other
-than that they are nothing alike.  Biggest differences are that SILC is 
-secure what IRC is not in any way.  The network model is also entirely
+secure conferencing services on the Internet over insecure channel.
+SILC is IRC-like software although internally they are very different.
+The biggest similarity between SILC and IRC is that they both provide
+conferencing services and that SILC has almost the same commands as IRC.  
+Other than that they are nothing alike.  Major differences are that SILC 
+is secure what IRC is not in any way.  The network model is also entirely
 different compared to IRC.
 
 
 Running SILC
 ============
 
-The development version is still preliminary version and requires some
-work to get it working.  You should, first of all, check the example
-configuration files in ./doc/ directory.  Change them according to your
-needs.
-
-To run SILC client:
-
-       cd silc
-       ./silc -f <config file>
-
-To run SILC server
-
-       cd silcd
-       ./silcd -f <config file>
-
-
-Working Commands
-================
-
-Following commands has been, at least partly, implemented:
-
-
-       /SERVER [<server>[:<port>]]
-
-               Connects to remote SILC server.
-
-       /NICK   [<nickname>]
-
-               Changes/sets nickname.  Note that in SILC there can be
-               multiple same nicknames.  However, the logic on working
-               with multiple nicknams on user interface is pretty much
-               still missing.  Also note that nicknames in SILC are
-               case-sensitive.
-
-       /JOIN   <channel>
-
-               Joins to a channel.  Channel names start with `#'
-               character.
-
-       /LEAVE  <channel>
-
-               Leaves the channel.  If /leave * is given the client
-               leaves the current channel.
-
-       /MSG    <nickname> <message>
-
-               Sends private message to remote client.  Support for
-               handling multiple same nicknames with /MSG command is
-               still missing.
-
-       /WHOIS  <nickname>[@<server>] [<count>]
-
-               Gives a little information about a client.  Support for
-               handling multiple same nicknames with this command is
-               still missing.
-
-       /PING   [<server>]
+After installing the SILC to the system the SILC client is started by
+giving command:
 
-               Pings server.  Only locally connected server may be 
-               pinged.
+       silc
 
-       /QUIT
+If you want to run with specific configuration file give -f option.
 
-               Quits session.  Connection to remote server is closed.
+To run the server you should configure the server first.  To run the
+server give the command:
 
-       /CLEAR
+       silcd
 
-               Clears current screen.
+This will launch the server on to the background.
 
 
 Features
@@ -144,63 +76,44 @@ TODO file for more information.]
 History
 =======
 
-Even though SILC were just released to the public the idea and the protocol
-itself is quite old.  I got the idea about SILC in its current form in
-the year 1996 and first lines of codes were written in early 1997.  This
-release is now third rewrite of the SILC.  The very first version were
-written in 1997 and it included SILC client and very very preliminary
-SILC server.  The server actually weren't usable but the client looked
-pretty much the same as it does now.  At that time the SILC also included
-RSA implementation and 3DES implementation.  The random number generator
-that exists in this current release is actually based on the RNG written
-in 1997.  The RNG written in 1997, on the other hand, were based on
-the SSH's random number generator.  The RNG has been rewritten twice
-since the first version.
-
-I stopped writing the SILC later in 1997 when I got busy at school and
-in work.  The pause lasted several months.  The development resumed in
-1998 when my friend (Juha Räsänen) and I implemented ElGamal algorithm.
-I rewrote some other parts as well.  However, for the same reasons as
-previously the development stopped again.  I resumed the development
-later in 1998 by doing rewrite of the SILC in C++.  This was obviously 
-a mistake but at that time it seemed like a good idea.  Again, in the 
-winter 1999 I got very busy writing my thesis and was forced to stop the 
-development again.  I also, started a new job in the spring.
-
-Later, in 1999, I decided that this time I'm going to make it the right
-way.  C++ was obviously a bad choice so I decided to fall back to plain
-C language.  I also decided to do complete rewrite and started doing
-more thorough planning of what the SILC actually should include.  I also
-decided that this time it is going to kill me before I stop the 
-development.  I started writing SILC in the weekends and actually 
-everytime I had some spare time.  I also started a new job but I didn't
-let that get to my way.  The result of this development effort is the
-release now in public.
-
-I've learned a lot by doing the SILC.  I guess, when I started it I wasn't
-that good of a C programmer.  That alone was a reason why SILC hasn't
-seen the day of light before now.  My programming style has also changed 
-dramatically during these years.  Actually, it has changed couple times 
-since this last rewrite as well.  However, the code style of current SILC 
-release is quite consistent (actually the coding style SILC has been 
-written now I've learned in my current job).
-
-There is probably over 85% of new code in this third rewrite.  Rest has 
-just been copied from the old versions and only minor changes has been
-made (like changed function names and overall coding style).  I've 
-preserved the dates of the old files (dating back to 1997) that has 
-existed in some forms in the old versions.  There is a lot of new code but
-already I see a lot that needs rewriting.  The development continues.
+SILC was released in the summer 2000 to the public, but the idea and the
+protocol itself is quite old. The SILC was designed by Pekka Riikonen in
+the year 1996 and first lines of codes were written in the early 1997. The
+SILC has been rewritten three times since its very first version in 1997.
+The first version included SILC client, very preliminary SILC server, RSA
+implementation and 3DES implementation. The server actually was not usable
+but the client looked pretty much the same as the first client released in
+the summer 2000. The first version had also random number generator which
+were based on the SSH's random number generator. The current RNG is based
+on the first RNG but has been rewritten twice since the first version. 
+
+The development of SILC was suspended in 1997 when Pekka got busy at
+school and in work. The pause laster several months. The development
+resumed in 1998 when Juha Räsänen and Pekka implemented the ElGamal
+algorithm. However, for the same reasons as previously the development
+stopped again, and was resumed again later in 1998 by doing rewrite of
+ther SILC in C++. This was obviously a mistake but at that time it seemed
+like a good idea. Again, in the winter 1999 the development suspended when
+Pekka got busy writing his thesis and was forced to stop the development. 
+
+Later, in 1999, it was decided that this time SILC will be rewritten from
+scratch in the right way. C++ was obviously a bad choice so plain C 
+language was selected again. The protocol itself faced some rework by
+redesigning some core parts of the protocol. The protocol was also fully
+documented and the protocol specifications were submitted to the IETF. The
+result of this development effort is the release now in public. Since the
+release in the summer 2000 several other people have contributed to the
+project as well. And, the development continues. 
 
 
 Contact
 =======
 
-Feedback and comments are welcome.  You can reach me in the following
-Address. 
+Feedback and comments are welcome.  Bug reports should be sent to the
+development mailing list.
 
-[Note that generally bug reports should not be sent just yet as the 
-Developer's Version is full of them and the bug hunt has not even started 
-yet.]
+Official SILC project web site      : http://silcnet.org/
+FTP archive for SILC project        : ftp://ftp.silcnet.org/
+Development mailing list address    : silc-devel@lists.silcnet.org
+SILC Server                         : /server silc.silcnet.org
 
-                               Pekka Riikonen <priikone@poseidon.pspt.fi>