comparison man/internals/internals.texi @ 2715:980ce20b8504

[xemacs-hg @ 2005-04-06 20:12:46 by ben] Fix up internals authorship section internals/internals.texi: Copy authorship section from FAQ and comment out old info, which is quite out of date and full of typos.
author ben
date Wed, 06 Apr 2005 20:12:55 +0000
parents bac3173b2665
children 40dc584fce16
comparison
equal deleted inserted replaced
2714:2eed1f34d39d 2715:980ce20b8504
812 812
813 @node Authorship of XEmacs, A History of Emacs, Introduction, Top 813 @node Authorship of XEmacs, A History of Emacs, Introduction, Top
814 @chapter Authorship of XEmacs 814 @chapter Authorship of XEmacs
815 @cindex authorship, XEmacs 815 @cindex authorship, XEmacs
816 816
817 General authorship in chronological order: 817 XEmacs is the result of the time and effort of many people, and the
818 active developers have changed over time. There are two major
819 components of the XEmacs effort -- writing the code itself and providing
820 all the support work (testing the code, releasing beta and final
821 versions, handling patches, reading bug reports, maintaining the web
822 site, managing the mailing lists, etc. etc.). Neither component would
823 work without the other.
824
825 @subheading CODING
826
827 The primary code contributor over the years has been Ben Wing (active
828 since late 1992). Between 1991 and 1995, large amounts of coding was
829 contributed by Jamie Zawinski and Chuck Thompson. Many other people
830 have authored major subsystems or otherwise contributed large amounts of
831 code, including Andy Piper, Hrvoje Niksic, Jerry James, Jonathan Harris,
832 Kyle Jones, Martin Buchholz, Michael Sperber, Olivier Galibert, Richard
833 Mlynarik, Stig, William Perry and plenty of others.
834
835 Primary XEmacs-specific subsystems and their authors:
836
837 @table @asis
838 @item Objects
839 @itemize @minus
840 @item
841 Conversion from 26-bit to 28-bit pointers and integers, lrecords, lcrecords: Richard Mlynarik, 1994
842 @item
843 Conversion to 32-bit pointers and 31-bit integers: Kyle Jones, Martin Buchholz
844 @item
845 Portable dumper, object descriptions: Olivier Galibert
846 @item
847 KKCC (new garbage collector), ephemerons, weak boxes: Michael Sperber and students
848 @item
849 Random object work (object equal and hash methods, weak lists, lcrecord lists, bit vectors, dynarr, blocktype, opaque, string resizing): Ben Wing
850 @item
851 Profiling: Ben Wing
852 @item
853 Some byte-compilation and hash-table improvements: Martin Buchholz
854 @item
855 Bignum: Jerry James
856 @end itemize
857
858 @item Internationalization/Mule
859 @itemize @minus
860 @item
861 mostly Ben Wing; many ideas for future work, Stephen Turnbull
862 @end itemize
863
864 @item I/O
865 @itemize @minus
866 @item
867 Basic event/event-stream implementation: Jamie Zawinski
868 @item
869 Most event work since 1994: Ben Wing
870 @item
871 Asynchronous stuff (async timeouts, signals, quit-checking): Ben Wing
872 @item
873 Process method abstraction, Windows process work: Kirill Katsnelson
874 @item
875 Misc-user events, async timeouts, most quit-checking and signal code, most other work since 1994: Ben Wing
876 @item
877 Lstreams: Ben Wing
878 @end itemize
879
880 @item Display
881 @itemize @minus
882 @item
883 Redisplay mechanism: implementation, Chuck Thompson; additional work, lots of people
884 @item
885 Glyphs: mostly Ben Wing
886 @item
887 Specifiers: Ben Wing
888 @item
889 Extents: initial implementation, someone at Lucid; rewrite, 1994, Ben Wing
890 @item
891 Widgets: Andy Piper
892 @item
893 JPEG/PNG/TIFF image converters: Ben Wing, William Perry, Jareth Hein, others (see comment in @file{glyphs-eimage.c})
894 @item
895 Menus: Jamie Zawinski, someone at Lucid (Lucid menus)
896 @item
897 Scrollbars: Chuck Thompson, ??? (Lucid scrollbar)
898 @item
899 Multi-device/device-independence work (console/device/etc methods): Ben Wing, prototype by chuck thompson
900 @item
901 Faces: first implementation, Jamie Zawinski; second, chuck; third, Ben Wing
902 @item
903 Fonts/colors: first implementation, Jamie Zawinski; further work, Ben Wing
904 @item
905 Toolbars: implementation, chuck, much interface work, Ben Wing
906 @item
907 Gutters, tabs: andy piper
908 @end itemize
909
910 @item Device subsystems
911 @itemize @minus
912 @item
913 X Windows: Jamie Zawinksi, Ben Wing, others
914 @item
915 GTK: William Perry, Malcolm Purvis
916 @item
917 MS Windows: initial implementation, Jonathan Harris; some more work, Andy Piper, Ben Wing
918 @item
919 TTY: Chuck Thompson, Ben Wing
920 @item
921 Cygwin: Andy Piper
922 @end itemize
923
924 @item Misc
925 @itemize @minus
926 @item
927 Configure: initial porting from fsf, Chuck Thompson; conversion to autoconf 2, much rewriting, Martin Buchholz
928 @item
929 Most initialization-related code: Ben Wing
930 @item
931 Internals manual, much of Lisp manual: Ben Wing
932 @item
933 FSF synching: initial sync with FSF 19, Richard Mlynarik, further work, Ben Wing
934 @end itemize
935 @end table
936
937 @subheading SUPPORT
938
939 Currently, support duties are handled by many different people.
940
941 Release managers have been
942
943 @itemize @minus
944 @item
945 Stephen Turnbull (April 2001 - January 2003, March 2004 - present, 21.2.47 - 21.4.12, 21.5.2 - 21.5.7, 21.5.17 - present)
946 @item
947 Vin Shelton (May 2003 - present, 21.4.13 - present)
948 @item
949 Steve Youngs (July 2002 - September 2003, 21.5.8 - 21.5.16)
950 @item
951 Martin Buchholz (December 1998, November 1999 - May 2001, 21.2.7 - 21.2.8, 21.2.21 - 21.2.46, 21.5.0 - 21.5.1)
952 @item
953 Steve Baur (early 1997 - December 1998, February 1999 - November 1999, 19.15 - 21.2.5, 21.2.9 - 21.2.20)
954 @item
955 Andy Piper (December 1998, 21.2.6)
956 @item
957 Chuck Thompson (June 1994 - September 1996, 19.11 - 19.14)
958 @item
959 Jamie Zawinski (April 1991 - June 1994, 19.0 - 19.10)
960 @end itemize
961
962 The recent overlapping dates are intentional, since two or three trees
963 are maintained simultaneously at any point.
964
965 Other major support work:
966
967 @itemize @minus
968 @item
969 Adrian Aichner wrote and maintains the web site.
970 @item
971 Stephen Turnbull has produced many of the beta and semi-stable releases
972 and has attempted to be the "face" of XEmacs on the newsgroups and
973 mailing lists.
974 @item
975 Steve Youngs, Ville Skytta, and now Norbert Koch have taken turns
976 maintaining the packages.
977 @item
978 Vin Shelton maintains the stable releases.
979 @item
980 Testing - #### Norbert, Adrian, ???
981 @end itemize
982
983 @ignore
984 @c fix this!
818 985
819 @table @asis 986 @table @asis
820 987
821 @item Jamie Zawinski, Eric Benson, Matthieu Devin, Harlan Sexton 988 @item Jamie Zawinski, Eric Benson, Matthieu Devin, Harlan Sexton
822 These were the early creators of Lucid Emacs, the predecessor of Xemacs. 989 These were the early creators of Lucid Emacs, the predecessor of Xemacs.
823 Jamie Zawinski was the primary maintainer and coder for Lucid Emacs— 990 Jamie Zawinski was the primary maintainer and coder for Lucid Emacs,
824 active between early 1991 and June 1994. He presided over versions 19.0 991 active between early 1991 and June 1994. He presided over versions 19.0
825 through 19.10, and then abruptly left for Netscape. He wrote the 992 through 19.10, and then abruptly left for Netscape. He wrote the
826 advanced stream code, the Xt interface code, the byte compiler, the 993 event stream code, the Xt interface code, the byte compiler, the
827 original version of the X selection code, the first, second and third 994 original version of the X selection code, the first, second and third
828 versions of the face code which appeared in 19.0, 19.6 and 19.9 995 versions of the face code which appeared in 19.0, 19.6 and 19.9
829 respectively. Part of the keymap code separated the Lisp directories 996 respectively. Part of the keymap code separated the Lisp directories
830 into many subdirectories and many smaller changes. Matthieu Devin wrote 997 into many subdirectories and many smaller changes. Matthieu Devin wrote
831 the original version of the Extents code. Someone else at Lucid wrote 998 the original version of the extents code. Someone else at Lucid wrote
832 the Lucid widget library (LWLIB), with the exception of the scrollbar 999 the Lucid widget library (LWLIB), with the exception of the scrollbar
833 code, which was added later. 1000 code, which was added later.
834 1001
835 @item Richard Mlynarik 1002 @item Richard Mlynarik
836 Active 1991 to 1993, author of much of the current Lisp object scheme, 1003 Active 1991 to 1993, author of much of the current Lisp object scheme,
852 the Xemacs development process, for example, creation of the review 1019 the Xemacs development process, for example, creation of the review
853 board and arranging for Xemacs to be placed under CVS. Author of the 1020 board and arranging for Xemacs to be placed under CVS. Author of the
854 package code. 1021 package code.
855 1022
856 @item Chuck Thompson 1023 @item Chuck Thompson
857 Active January 1993 to June of 1996, author of the current and previous 1024 Active January 1993 to June 1996, author of the current and previous
858 ve3rsions of the redisplay code and maintainer of Xemacs from mid-1994 1025 versions of the redisplay code and maintainer of Xemacs from mid-1994
859 to mid-1996. Creator of XEMacs.org. Also wrote the scrollbar code, the 1026 to mid-1996. Creator of XEMacs.org. Also wrote the scrollbar code, the
860 original configure support, and prototype versions of the toolbar and 1027 original configure support, and prototype versions of the toolbar and
861 device code. 1028 device code.
862 1029
863 @item Ben Wing 1030 @item Ben Wing
892 1059
893 @item Jonathan Harris 1060 @item Jonathan Harris
894 Author of much of the Microsoft Windows support. 1061 Author of much of the Microsoft Windows support.
895 @end table 1062 @end table
896 1063
1064 @c fix this!
897 Authorship of some of the modules: 1065 Authorship of some of the modules:
898 1066
899 @table @file 1067 @table @file
900 @item alloc.c 1068 @item alloc.c
901 Inherited 1991 from a prototype of GNU Emacs 19. Around mid-1993 1069 Inherited 1991 from a prototype of GNU Emacs 19. Around mid-1993
947 1115
948 @item alloca.s 1116 @item alloca.s
949 Inherited almost unchanged from FSF kept in sync up through 19.30 1117 Inherited almost unchanged from FSF kept in sync up through 19.30
950 basically no changes for Xemacs. 1118 basically no changes for Xemacs.
951 @end table 1119 @end table
1120 @end ignore
952 1121
953 @node A History of Emacs, The XEmacs Split, Authorship of XEmacs, Top 1122 @node A History of Emacs, The XEmacs Split, Authorship of XEmacs, Top
954 @chapter A History of Emacs 1123 @chapter A History of Emacs
955 @cindex history of Emacs, a 1124 @cindex history of Emacs, a
956 @cindex Emacs, a history of 1125 @cindex Emacs, a history of