We've been asked what the future holds for TurboGears. Specifically, we've
seen people wondering what happens when the current maintenance releases are
done. The super short answer is that we keep on developing, adding new
options, finding and fixing problems, and generally making web development
as easy and productive as possible. The longer answer? Well, that's what
this email is for. The one thing I don't want to see in response is somebody
saying "TL;DR", okay? :)

First, version 2.2: We're working towards that release right now. We need to
revamp our documentation into a full book structure. That's in progress, but
it's going to take some time. I believe I might also look for an editor, and
that's going to cost some money (unless we have an editor on the list
willing to lend their time to making this better). It's worth it to me to do
so, though.

In addition, we need to complete our testing coverage, and close out as many
bugs and feature requests on our tracker as possible. With each release,
we're re-evaluating every single open ticket. We're looking to find out if
we've already fixed it, or if we're pushing this particular one to the next
release.

We've also initiated a monthly release process. The release will occur each
month on the first Wednesday on or after the 15th of the month.

Basically, the plan is to make 2.2 into a platform so solid that it can
easily be used and relied upon for a long time to come. We are also taking
special care to avoid introducing incompatibilities or even deprecations.
Without a solid reason, the code written for 2.0 will be able to moved to
2.2 with great ease and confidence in the results.

Next, version 2.3: This release is focused on optimization. We are going to
establish baselines for performance (basically, how well we're doing at
2.2), establish performance targets, and then optimize the hell out of the
code. 2.0 was acceptable speeds. 2.1 was noticeably better. 2.1.1 feels
noticeably (subjectively) better still. 2.2 Should be at least that good,
and 2.3 is going to produce unquestionably better speed results.

We don't have those numbers yet, and we don't have our targets yet. I can
only say that we are going to turn up the speed for 2.3.

Version 2.4: This release can be summarized as "extensions extensions
extensions". We're going to get several common components made available by
default. Right now, if a developer wants to make a site with a blog or two,
a CMS, a shopping cart, and then layer his application on top of this, all
of those component pieces must be developed first.

For version 2.4, we're going to have those (and some others, too, we don't
have a comprehensive list as yet) where we standardize on them and
incorporate them into our standard release process. A developer will be able
to build a feature rich website in very short order. With those extensions,
we're going to pull TG out of being just a framework, and closer to being a
platform usable for building anything.

Between now and 2.4, we are going to work to make TurboGears into a proper
abstraction layer. This means making sure that the lower level tools we use
don't bleed through. For instance, right now you might find a need to
reference something directly from Pylons (response headers, or the current
route, or anything else). We are looking to abstract away the details so
that our development community will be able to focus on working with
TurboGears, instead of needing to know Pylons, or Pyramid, or whatever else
may come up even further down the road.

Beyond that, we're getting into the very murky future. Pylons has been
deprecated, so new releases of it will be very hard to make happen. At some
point, we will need to either adopt Pylons ourselves, or migrate to Pyramid
as our base, or even something else (we're not sure what that will be). We
need to consider adding Python 3 support. We need to evaluate dropping
Python 2.4 at some point (some of the packages in our private eggbasket are
behind the times because of needing to support Python 2.4, and the new
versions of those packages don't do it). We don't have a timeline for any of
that, not yet. We know it needs to happen, we just don't have a version or
date in mind for it.

While we can't say what our plans are after TurboGears 2.4 (because we don't
know what they are), we can make a couple of commitments: Between now and
then, we're going to work more closely with the Pyramid team: they do
excellent work, and it would be foolish to ignore what they offer. We're
going to make regular releases a priority. We're going to continue to
support our older releases (the TG1.5 line is getting ready for a release in
the near future). We're going to produce an ever improving platform for the
Python web development community to use.

And, personally,  I'm in this for the long haul. I'm seeking new work, and I
might very well have killed a good chance at a job because of my desire to
keep working on TurboGears. I'm okay with that. I want TurboGears to
succeed, and I'm willing to make that kind of sacrifice if it will help.

I don't ask others to do the same. I do ask that you offer up what you can.
Even if all you can offer is questions, that's still enough. It gives me
hope that, together, we *can* make TurboGears succeed in the long term. And
that's what I want most.

-- 
Michael J. Pedersen
My IM IDs: Jabber/[email protected], AIM/pedermj022171
          Yahoo/pedermj2002, MSN/[email protected]
My LinkedIn Profile: http://www.linkedin.com/in/michaeljpedersen
Twitter: pedersentg

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears Trunk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/turbogears-trunk?hl=en.

Reply via email to