What does HackerNews think of tauthon?

Fork of Python 2.7 with new syntax, builtins, and libraries backported from Python 3.

Language: Python

WinAmp 2 (1998) was widely liked. WinAmp 3 (2002) was considered bloated, and flopped.

So Nullsoft followed it up with WinAmp 5 – because 2+3=5 – in 2003, which was very broadly the codebase of WinAmp 2 (small and lean) plus the skin support from WinAmp 3 (the only part people liked).

This won people back, and WinAmp is still around and got an update this year, 20 years on.

I think it's too late for there to be a Python 5, but I did read a blog post long ago – which I can't find again, or I'd link to it – which proposed a similar compromise fix to Python, in considerable technical detail.

I am with @blagie on this: the Python world handled the 2→3 transition spectacularly badly. V3 didn't deliver enough, and strong-arming people by just end-of-lifing Python 2 and expecting the world to move on was foolhardy and short-sighted.

(And I don't even use the language myself. I'm just observing.)

It's a real shame Tauthon didn't get more traction and support.

https://github.com/naftaliharris/tauthon

If it had got enough support and continued, maybe the Python maintainers would have learned something, but I've not seen any sign that they have.

This is nothing new. For comparison, Perl 6 went so badly that Perl 5 now looks likely to continue as Perl 7:

https://www.perl.com/article/announcing-perl-7/

And PHP 6 didn't really happen -- AFAICT as a total outsider, Unicode support proved too hard and it was never released; the community backported the important bits to PHP 5, and then a new PHP 7, more modest in scope, developed from PHP 5.

The Python world could have done the same, and Tauthon was an effort in that direction.

It's too late now. I suspect that, just as Perl has lost a massive amount of interest and use, partly from the nearly-two-decade-long effort to release Perl 5, Python has done the same -- sabotaged its own community with this high-handed "your leaders know best" approach.

If you want forks there are forks. Off the top of my head, Redhat is supporting Python 2 for several more years and there's a project called Tauthon [1] that is "Python 2.8" in spirit. I'm sure there's more efforts I'm not aware of.

[1] https://github.com/naftaliharris/tauthon

I came across Tauthon [0] a while back, it seems quite active. I have a codebase that has proven difficult to port, so this is the backup plan.. "Tauthon is a backwards-compatible fork of the Python 2.7.18 interpreter with new syntax, builtins, and libraries backported from Python 3.x. [...]"

[0] https://github.com/naftaliharris/tauthon

There is Tauthon[0] that (they said) also backported several features in non-backwards compatibility breaking ways, but the last commit to the repo was from December. Perhaps after running it for 3-4 years (and faced hostility from some Python devs - i remember at some point being downvoted just for mentioning it on Reddit), the maintainer got tired of it?

[0] https://github.com/naftaliharris/tauthon

https://github.com/naftaliharris/tauthon is one candidate. PSF controls the Python trademark, so forks can't actually call themselves Python 2.8.
Perhaps, but only because the PSF wields the Python trademark to prevent people who want to continue releasing the Python 2 language from doing so:

https://github.com/naftaliharris/tauthon

There are a couple of projects focusing on continuing development of python 2, and possibly backporting python 3 feature where it makes sense. https://github.com/naftaliharris/tauthon seems to be the one with the most support.

The other problem is that it's not only your python version that won't see official upgrades, but most of the libraries you use won't either. But I guess if you're OK with Python 2 you're probably also OK with out of date versions of django and numpy or whatever else you use.

But basically, anybody who hasn't at least started their python 3 port by now have probably already weighed the pros and cons and decided that they're never going to do it, and yelling at them isn't doing anybody any good

There's a project for keeping Python 2 alive: https://github.com/naftaliharris/tauthon

It's particularly uncool that Guido brought up the prospect of lawyers (https://github.com/naftaliharris/tauthon/issues/47#issuecomm...) to force it not to be called Python and opposed to letting people who care about keeping Python 2 alive evolve it as "Python 2". (I know he has the legal right to insist on the name change. Still uncool.)

I'm not sure why python is called out as being better here. The PSF came calling for a rename pretty quickly when tauthon (https://github.com/naftaliharris/tauthon) was launched as it was initially describing itself as python 2.8
Python 3 is a disaster for many other reasons, UTF-8 bugs is just one of them. So far I'm sticking with Tauthon[1] which seems to be the best of both worlds.

1.: https://github.com/naftaliharris/tauthon

> If someone wanted other than the core Python team wants to step up and maintain Python 2, they are free to do so, it's open source.

Only if they name it something completely different from python or py-anything. Guido refuses to allow anyone to just step in to maintain py2.

Tauthon is a project that aims to keep compatability with py2 while adding whatever features of py3 that won't break py2 and to have a maintained py2.

https://github.com/naftaliharris/tauthon

Sad to see them forging ahead on their plans to drop Python 2, and it would have been nice of them to point out that other volunteers will provide security fixes for Python 2 compatible runtimes.

I've switched to Tauthon [1] for over a year now and have been quite pleased. Consider the switch yourself rather than rewriting your code.

[1] https://github.com/naftaliharris/tauthon

There is Tauthon[1] which backports Python 3 features to 2 and seems to do the "actual work". It has been around a while.

It was also posted in this thread below by the current maintainer of the project but for some reason that comment was downvoted to [dead].

By reading a bit around about it, i do get the impression that the Tauthon developers face a bit of hostility from the Python community, so i'm not sure how viable it'll be in the long term. I suppose it depends on how stubborn the Tauthon developers are :-P

[1] https://github.com/naftaliharris/tauthon

We are volunteers who make and take care of a Python2 fork with backwards-compatible Python3 features. That means we will keep on improving it without breaking your code base or forcing you to hire the language creator and spend more than 3 years porting your code to Python3, with no actual business benefits.

https://github.com/naftaliharris/tauthon/

>> What’s to stop someone else from backporting security fixes as needed ad infinitum?

>Who? I haven’t heard anyone express a willingness to take up that mantle.

Tauthon [0] kind of fits the bill here. It's a fork of 2.7 with some backported features from the 3 branch, so they're in a position to backport security fixes as well. How well that arrangement holds up once the PSF officially drops 2 remains to be seen, but if anybody is in a position to keep providing support it's probably them.

[0] https://github.com/naftaliharris/tauthon

I do not understand the ramifications, but how come nobody ever answers "Tauthon" to this discussions?

https://github.com/naftaliharris/tauthon

Background: https://www.naftaliharris.com/blog/why-making-python-2.8/

This is already true -- tauthon is a updated, patched Python 2 fork. https://github.com/naftaliharris/tauthon
Projects that need to continue using 2.7 can use a fork that promises to preserve backwards compatibility like Tauthon:

https://github.com/naftaliharris/tauthon

> This feels kind of entitled, to be honest.

Entitled to the name perhaps, but _not_ entitled to indefinite support by the core devs.

> The core devs don't owe you indefinite support for your chosen version. Absolutely they get to decide when they want to stop supporting it (and they already gave it a ridiculously extended support lifetime!).

I agree! I said the users of Python 2 should be able to pool effort to continue to support Python 2.

Yet, there is a lot of sentiment in this thread that whether Python 2 should continue to be used should be tied to whether the Python core devs are still supporting it. Similarly, there is widespread sentiment that e.g. Linux distros should drop Python 2 and packaging Tauthon in its place doesn't even make it to the agenda.

> The PSF also owns the "Python" trademark and the whole purpose of trademarks is to prevent confusion about who made something, i.e. exactly the kind of confusion a Python 2.8 that isn't made by the same people who made Python 2.7 would have caused.

I'm well aware that the PSF is legally entitled to exclude Tauthon from being called Python 2.8. It's still not particularly nice towards the users of the language who bet on Python 2 and who'd benefit from easy discovery of Tauthon.

Imagine if Stroustrup had gone on to develop the language that's in reality called D but insisted that it be called C++ and the language everyone else knows as C++ be renamed if developed further in a backward-compatible way.

Once there is no longer a Python 2.x by the Python core devs to confuse Tauthon with, it's arguably more confusing for Python 2 and Python 3 to share a name but Python 2.x and Tauthon not to. (For clarity, the previous sentence is not a legal argument. I'm well aware that the public who could be confused about names doesn't have standing under trademark law.)

> The new name, for what it's worth, is Tauthon: https://github.com/naftaliharris/tauthon

Thanks.