Release Early, Release Often, Adopt Slowly
Things move pretty fast in the open source development world. A new kernel release comes out around every three months. Projects like GNOME, KDE, and PostgreSQL pop out releases every six months, as well as some major Linux distros. Open source development moves at a rapid and relentless pace. It's refreshing, then, to see an open source developer reminding people to have a little patience.
Peter Eisentraut, a software engineer at F-Secure who also works on PostgreSQL and is a Debian Developer, has some good advice for people concerned about the adoption rate of Python 3. Did you follow all that? Because the connections are important: Adoption of Python 3 is directly related to its connections to other projects like PostgreSQL and Debian. Eisentraut explains:
The next Debian release (squeeze+1), which will presumably include PostgreSQL 8.5 or later and a solid Python 3.x environment, will then not be released before January 2012, if we believe the current 18-months-plus-slip cycle of Debian. So it will be mid-2012 until significant numbers have upgraded Debian and PostgreSQL to the then-current versions. If you are sticking to a stable and supported operating system environment, this is the earliest time you actually have the option to migrate to the Python 3 variant of PL/Python across the board for your applications. Of course in practice this is not going to be the first thing you are going to do, so by the time you actually port everything, it might be late 2012 or even 2013.
Of course Python 3 and PostgreSQL 8.5 will pop up in other distros before the Debian release in 2012, but it illustrates something that open source users and developers should be thinking about. It takes a long time for complex combinations of software to make their way from the steaming hot bits in a CVS to the stable and supported bits (one might even say calcified) in production environments.
Even though it's possible to slap together a production system from the very latest releases, in practice most projects and organizations don't do this.
It's also important not to look at short-term adoption and trends to draw long term conclusions. Just because the world isn't running on Python 3, doesn't mean that Python 3 is "doomed."
The Mozilla folks can push people to upgrade to the next release Firefox in droves because it's relatively easy to upgrade to the latest Firefox, and they have mechanisms in place to make that easy. But one shouldn't expect that all technology adoption is going to happen at the same clip. Moving to a new OS or a new version of PostgreSQL or Python requires a lot of moving bits to be aligned correctly.
Eisentraut has some great advice. "So, to all users and developers: patience."
Joe 'Zonker' Brockmeier is a longtime FOSS advocate, and currently works for Novell as the community manager for openSUSE. Prior to joining Novell, Brockmeier worked as a technology journalist covering the open source beat for a number of publications, including Linux Magazine, Linux Weekly News, Linux.com, UnixReview.com, IBM developerWorks, and many others.