Moved silc_client_ch[u]mode[_char] to client library from silc/.
[silc.git] / public_html / history.html
1 <html>
2 <style TYPE="text/css"><!-- A:link {text-decoration: none}A:visited{text-decoration:none}A:active{text-decoration:none}--></style>
3 <body bgcolor="#ffffff">
4 <p><br>
5 <a href="index.html"><img src="silc2.jpg" border=0></a>
6 <table width="70%" border="0" cellspacing="0" cellpadding="1"
7 align=center>
8 <tr>
9 <td>
10 <p>
11 <font size=4>
12 <h1>History</h1>
13 <p>
14 Even though SILC were just released to the public the idea and the protocol
15 itself is quite old.  I got the idea about SILC in its current form in
16 the year 1996 and first lines of codes were written in early 1997.  This
17 release is now third rewrite of the SILC.  The very first version were
18 written in 1997 and it included SILC client and very very preliminary
19 SILC server.  The server actually weren't usable but the client looked
20 pretty much the same as it does now.  At that time the SILC also included
21 RSA implementation and 3DES implementation.  The random number generator
22 that exists in this current release is actually based on the RNG written
23 in 1997.  The RNG written in 1997, on the other hand, were based on
24 the SSH's random number generator.  The RNG has been rewritten twice
25 since the first version.
26 <p>
27 I stopped writing the SILC later in 1997 when I got busy at school and
28 in work.  The pause lasted several months.  The development resumed in
29 1998 when my friend (Juha Räsänen) and I implemented ElGamal algorithm.
30 I rewrote some other parts as well.  However, for the same reasons as
31 previously the development stopped again.  I resumed the development
32 later in 1998 by doing rewrite of the SILC in C++.  This was obviously 
33 a mistake but at that time it seemed like a good idea.  Again, in the 
34 winter 1999 I got very busy writing my thesis and was forced to stop the 
35 development again.  I also, started a new job in the spring.
36 <p>
37 Later, in 1999, I decided that this time I'm going to make it the right
38 way.  C++ was obviously a bad choice so I decided to fall back to plain
39 C language.  I also decided to do complete rewrite and started doing
40 more thorough planning of what the SILC actually should include.  I also
41 decided that this time it is going to kill me before I stop the 
42 development.  I started writing SILC in the weekends and actually 
43 everytime I had some spare time.  I also started a new job but I didn't
44 let that get to my way.  The result of this development effort is the
45 release now in public.
46 <p>
47 I've learned a lot by doing the SILC.  I guess, when I started it I wasn't
48 that good of a C programmer.  That alone was a reason why SILC hasn't
49 seen the day of light before now.  My programming style has also changed 
50 dramatically during these years.  Actually, it has changed couple times 
51 since this last rewrite as well.  However, the code style of current SILC 
52 release is quite consistent (actually the coding style SILC has been 
53 written now I've learned in my current job).
54 <p>
55 There is probably over 85% of new code in this third rewrite.  Rest has 
56 just been copied from the old versions and only minor changes has been
57 made (like changed function names and overall coding style).  I've 
58 preserved the dates of the old files (dating back to 1997) that has 
59 existed in some forms in the old versions.  There is a lot of new code but
60 already I see a lot that needs rewriting.  The development continues.
61 <p>
62 </td>
63 </tr>
64 </table>
65 </body>
66 </html>
67