Right now I have copies of WordPress, Movable Type, Serendipity, and TextPattern living at my hosting account. I’ve set them all up, and have found it pretty straightfoward in every case. Unpack them, make sure the permissions are correct, and point them at your MySQL database where they can create a bunch of tables. Not much more to it than that.
The only product that I’ve really delved into customizing so far has been WordPress, so I don’t have much to comment on in that regard. One thing I have done is to start digging into the source code for these products. I’m a bit surprised that nobody codes to the PEAR Coding Standard, which is a decent enough standard for PHP coding. If you’re starting an open source project written in PHP, you may as well go with the PEAR standard. Not only does it give you a coding standard that somebody else already wrote so that you don’t have to think about it, but if you do want to contribute libraries to PEAR or integrate PEAR code into your application, you’re off to a good head start.
I give Movable Type the award for most interesting code organization. They basically put each library function in an individual file. It looks very clean, but I wonder what the overall strategy is there. Without giving it too close a look, Serendipity, WordPress, and TextPattern all seem to be a morass of equal proportions. (I haven’t looked at Movable Type beyond noticing the highly organized code.)