initial load of upstream version 1.06.32
[xmlrpc-c] / doc / HISTORY
1 For a release-by-release change history, see
2 <http://xmlrpc-c.sourceforge.net/change.html>.
3
4 XML-RPC For C/C++ was created by Eric Kidd in 2000, when XML-RPC was
5 new and vital.  Its development was funded in significant part by
6 First Peer, Inc.  Eric released the package in January 2001 and set up
7 an extensive project to maintain it.  The project used virtually every
8 feature on Sourceforge, had about 8 official developers, and
9 distributed code in various formats.  There were mailing lists,
10 trackers, CVS branches, RPMs, and a full PHP-based web site, just to
11 name a few features of the project.
12
13 Then everything ground to a halt in June 2001, with the disappearance
14 of Eric.  We don't know what happened to him, but Google searches in
15 late 2004 indicated he dropped off the face of the web at that time.
16 While people continued to use Xmlrpc-c, and some developed fixes and
17 enhancements and posted them to the Sourceforge trackers, the release
18 remained frozen at 0.9.10.  The web site also became frozen in time.
19
20 In the years that followed the great freeze, XML-RPC became
21 marginalized by more sophisticated alternatives such as SOAP.  XML-RPC
22 consequently became rather stable and interest in Xmlrpc-c levelled
23 off.
24
25 This dark age of Xmlrpc-c lasted until November 2004, when Bryan Henderson
26 set out to find an RPC mechanism to use in one of his projects.  Bryan
27 found XML-RPC and then Xmlrpc-c.  He decided that the two were almost right
28 for his needs, but he needed some small extensions.
29
30 On finding out that the project was orphaned, Bryan decided to take it
31 over.  Bryan became the Sourceforge project administrator through
32 Sourceforge's abandonned project process, then gathered the patches
33 that had been submitted over the years and made a come-back release
34 called 1.0.
35
36 Bryan then proceeded to add a lot of features in subsequent releases
37 about every two months.  Most of it was code Bryan wrote himself, but
38 significant parts were contributed by others, as you can see in the
39 detailed history below.  Among the larger enhancements was a new
40 C++ interface; the old one was a fairly weak wrapper around the
41 C interface and required the user to manage memory and access the
42 underlying C structures; the new one used pure C++ principles with
43 automatic memory management.
44
45 Bryan also wrote a complete user's manual.  Surprisingly, in spite of
46 the wide array of features the project had, documentation wasn't one
47 of them.  There was only a smattering of information available on how
48 to use the package.
49
50 One significant change Bryan made to the project was to strip it down
51 considerably.  In order to concentrate the small amount of time Bryan
52 had available for Xmlrpc-c development on actual code and
53 documentation, Bryan had to greatly reduce the amount of bureaucracy
54 involved in administering the project and making releases, and reduce
55 the set of skills required to do it.  Bryan made static make files
56 (for GNU Make) to replace the two extra build stages that originally
57 generated make files.  Bryan moved away from Libtool and toward simple
58 compiling and linking.  Bryan eliminated all pre-built distributions;
59 each of his releases consisted of a single source code tarball, and
60 that tarball was not signed.  Bryan removed some redundant sources of
61 information from the package and the web site.