TurboGears and Pylons are two popular web frameworks; TurboGears hit the scene about a year and a half ago, Pylons started picking up steam maybe six months ago. They are both modern MVC frameworks, targeting a similar style of development. Here's a description of the technical differences:

You'll note there's not a lot of high level philosophical differences. And I don't think I glossed over that -- they just aren't there. The details of their differences are very... detailed. Very technical, very specific, often not particularly intentional. I'd have a hard time describing the technical differences in a meaningful way to someone who didn't already know something about Python web development.

As communities the two frameworks are fairly similar. They both borrow heavily from existing projects, and have spawned projects in their own right. Technically not everything is the same, but the question would be: what are the essential differences, and which differences are just incidental?

For instance, TurboGears is probably easier for a newbie to start with, but it's not because Pylons doesn't want to be easier to start with, there simply hasn't been as much investment in that. And TurboGears has less WSGI support inside the framework, which is not because they don't want to support WSGI in that way, again the investment simply hasn't been made.

Actually "merging" the two is probably unlikely. It's the kind of weird political maneuver that open source projects don't really do, unless they are part of weird "foundations" and have "managers" and stuff like that -- it's too much politics for programmers, and reeks of strategy and plans. You aren't supposed to announce plans for your software, you are supposed to implement your plans and then announce them. If a merge happens, it should be more like a realization than a strategy.

I can also imagine the two bleeding into one another -- where one uses Genshi, the other Mako, one uses object publishing, the other Routes, etc. The differences could become much more shallow. That itself could become difficult -- the differences might be shallow, but the effect on documentation is not much better than if they were two completely different frameworks. And do people float around between communities, or in some middleground, or subscribe to all the lists or... what? Maybe at least by partitioning the communities it can help keep the newbies sufficiently diluted among the experienced users.

Technically the biggest difference is definitely CherryPy vs. Paste. This is something of a sensitive point and has been the source of some discord. The templating language differences are fairly shallow, since both are fairly agnostic anyway. The Javascript differences aren't heavy with intention, they are more coincidental than anything.

So... what should be done? Plans are being made for TurboGears post-1.0 through version 2. The younger Pylons is still a blank slate in many areas. At the moment several people have feet in both communities. Push hard right now, when plans are being made? Let things develop naturally? (Of course, these are people making these decisions, so "natural" should still include discussion -- it's not like we're decided whether to transplant a hydrangea.)

Discuss!