“But, I’m Not Dead Yet”
I keep getting reports that TurboGears seems to be stagnant, and from the inside that just does not make sense: We’ve had 202 checkins in the the last 30 days. Which, by way of reference, is a tiny bit more than Django’s 183.
So, that seems to indicate that we’re definitely not quite dead yet. But, even that’s only half the story.
If you pull in checkins to a few components that are external to TG, but internal to Rails and Django (template language, ORM, forms + form validation, etc) that number grows significantly:
- 58 — SQLAlchemy — ORM
- 38 — Genshi — Template Language
- 113 — ToscaWidgets and tw.forms — Widgets, and Widget based Forms
Thats 353. Now if you pull in the changes to Pylons, related middleware and helpers, there’s another big jump:
- 56 — Pylons
- 106 — Paste
- 55— WebHelpers
- 36 — Routes
- 6 — Beaker
Now, of course there are other components which are actively contributing to the development of stuff that TurboGears users get as part of the package. But even ignoring all of that we’re looking at over 600 commits in the last month.
TurboGears ecosystem growth:
There’s also a growing ecosystem of turbogears stuff, and it’s all moving forward very quickly too.
Here’s a quick sample of projects I’m watching:
- 26 — TGTools
- 33 — tw.openlayers
- 31 — tw.dynforms
- 4— dbsprockets
- 7 — tw.dojo
- 16 — tw.jquery
There’s a new TG2 based CMS in the works too (http://code.google.com/p/lymon/). And there are a couple more very interesting projects that have not yet gone public.
Splitting our attention:
One thing that’s worth mentioning about all of this is that we’ve intentionally split our efforts over two areas:
- Evolutionary improvements to TG 1.x
- A new core in TG2.x
And that slows us down a bit. But it’s important because we want to take care of our installed userbase, and to try to grow into new areas at the same time. Doing one or the other would be way easier, but ignoring either one would be a huge mistake.
If it wasn’t for all the amazing stuff going on in the WSGi component world, TG2 would not be possible.
But because the wider python web community is developing new ways to work together around the WSGI model, tg2 development has been moving forward very well. And that’s one of the reasons why I’m so sold on the “component” model of framework development. Sure, it would be nice to have everything under one roof, and to have a stronger guiding hand on the whole process. But it’s not worth giving up all the innovation that happens “at the edges.”
TurboGears 1.x progress
On the evolutionary improvement front we’ve done lots to support SQLAlchemy, Genshi, ToscaWigets, DBSprockets, improve Json support, and created a brand new testing infrastructure, improved out authorization system, and otherwise made lots of positive changes. We’ve also had a half dozen new releases, with feature enhancements, averaging about a release a month.
TurboGears 2 progress
TG2 constitutes our revolutionary front, we’ve added many, many new features, and tools, and have maintained very significant API backwards compatibility, improved performance, and entirely redesigned the core of TurboGears. And we’re approaching our first alpha release in the next few days, so I don’t want to belabor the new stuff here.
What we need to do better:
I understand that not all of this work has been very visible, and that’s our fault, for not engaging the wider python community better, and it’s my fault in particular for not getting the TurboGears 2 work out into the wider world more quickly. Which is something I definitely intend to change in the very near future!
So, if you’re a part of the TG community, and you’re site/project needs to be better known, let me known, let me know. We need to raise the profile of some of the very interesting stuff that’s being done in the community, because outsiders seem to think that we’re not moving very fast, while insiders talk to me about the “blistering pace” of development.