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!