Our cross-platform code base allows hackers just like you to do
pretty amazing things in the xp/ parts of the tree and have the
changes affect all platforms simultaneously. For instance, fixing
a layout bug or adding a file filter (import or export).
Most of our code is pretty vanilla ANSI C++; the front ends are
tied more closely to the toolkit they're using (Win32 API on
Win32, GTK on Unix, BeOS API on BeOS, etc.).
> Anyway, I may just begin by looking for optimization and debugging
> opertunities. What do you guys recommend for people jumping in when the
> code becomes... large. I have never worked on a large group project
> before (I have written somewhat large projects before on my own ---
> nothing this big though).
Take a walk through the tree... a good excercise, as Bob recommended,
would be to pick a bug that looks easy and tackle it. Tree navigation
is probably the first obstacle; we've got a very layered project tree
which lets us keep our classes in order for cross application frame-
work code, WP (word processor) application code, and platforms at
each level (xp == cross platform, unix, beos, win32, mac). Swinging
through the tree takes some time but soon you should be able to get
around to the layer you need.
Something we also value very much, and might be a more narrowly
targetted introduction, would be a new file importer and/or exporter.
Work done on these is most often just ANSI C I/O (fopen, fread, etc.),
no platform specifics, but lots of investigative work on a file
format. We have examples in abi/src/wp/impexp/xp for native AbiWord
XML, HTML, RTF, plan text, Microsoft Word 97, and some generic
graphics filters. If you'd like to work on one of these, give us
a ring and we'll see if someone else has already donated some time
to that format. You could also browse through the list archives at:
... to see if anyone else shares an interest in a filter.
-- Shaw Terwilliger