Re: Python2 demotion (moving from main to universe) in progress

2017-12-08 Thread Ralf Mardorf
On Fri, 8 Dec 2017 23:24:52 +, Colin Watson wrote:
>In any case, there is really very little point in tilting at this
>windmill now

Don Quixote doesn't need to worry about thinking about something
idiotic, since actually it's Sancho Panza who has to face the music.
However, the analogy fits perfect in this case.

In Germany we tend to self-flagellation, so instead of an "alter ego"
named "Don Quixote" who lets suffer somebody else for his failure, our
"alter egos" are usually "Michael Kohlhaas", who does face the music
himself.

https://en.wikipedia.org/wiki/Michael_Kohlhaas

-- 
Ubuntu-devel-discuss mailing list
Ubuntu-devel-discuss@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss


Re: Python2 demotion (moving from main to universe) in progress

2017-12-08 Thread Colin Watson
On Fri, Dec 08, 2017 at 09:51:00PM +0100, Xen wrote:
> It was pushed upon an unwilling community

Oh, please.  I don't think anyone's going to argue that it's been the
best-managed transition in the history of ever: it's true that it
effectively split the community for a while, a lot of work has had to be
put into porting work that might otherwise have been spent on other
things, and we're still in a situation where many newer facilities have
remained inaccessible to developers of older projects for longer than
they ordinarily would have done.  None of these things is anything like
ideal.  But framing it as a dichotomy between those nasty developers and
an unwilling community of consumers is facile; it is by no means that
simple.  Plenty of folks in the Python community have recognised that,
even if it isn't an ideal situation, there are good reasons behind many
of the changes in Python 3 and they've put lots of energy into helping
out.

In any case, there is really very little point in tilting at this
windmill now, unless your goal is to expend further energy.

> But I was going to say 2 years might seem like a lot, or 3 years, but it is
> nothing.

It's been obvious for nearly ten years now that Python 2 was going to
reach the end of the road eventually; once the incompatible changes to
the language landed, it was naïve to expect that Python 2 would continue
to be maintained indefinitely.  Anybody who's only suddenly noticing it
really hasn't been paying attention at all.

> Meanwhile we can still run C programs from 1980, basically.
> 
> Or whereabouts, at least.

Interesting you should say that, because (just to take one example) the
attitude to undefined behaviour in compilers has changed a great deal
since 1980.  Your C program written back then may still manage to
compile with sufficient "please run in ancient mode" compiler options,
but will it behave as expected if nobody has maintained it in nearly 40
years?  Who can say, but probably only if it's very simple and you're
quite lucky.  And in fact unless it's the simplest possible kind of
program with almost no system dependencies, you'll probably have to
spend at least some effort bringing it up to date with post-Neolithic
header names and function signatures.

Admittedly I only have experience of maintaining moderate-sized C
programs that hailed from the 1990s rather than the 1980s, but in my
experience the work involved in keeping that sort of thing up to date
isn't significantly different from the work involved in doing the same
for similarly-sized Python projects.  (That is, if it's more than a
couple of thousand lines or so then somebody probably needs to be
actively maintaining the thing even if its basic functionality is
static, and you're going to have to occasionally deal with changes in
the language or its runtime facilities, changes in your dependencies,
and stuff you just missed.)

> I think you can definitely find a way to compile most programs from 1990...

Similarly, I'm sure it will remain possible to dig up Python 2 and
continue to use it for many years to come, even after it's no longer
supported upstream and no longer in Ubuntu.

Whether that's a good idea after nobody is taking responsibility for
security updates to the core language or the standard library, and after
the libraries you depend on have dropped Python 2 support so you're
stuck on older versions, is up to you to decide.  If it's at all
network-facing, then anyone with a reasonable sense of responsibility
realised some time ago that they need to keep their dependencies up to
date.  If it's entirely self-contained, then maybe it's fine; to save on
maintaining your own Python build, you could perhaps run it in a
container running an older version of the OS.  Or if the program is
simple you may well just be able to run 2to3 over it and at least get
most of the way there.

But unless it's really enormous, it's probably not all that hard to port
anyway.  Putting a clear bytes/text distinction in place if you didn't
have one already can be tedious, sure, but it generally makes things
better; most of the rest is easy by comparison; and nowadays there are
several good libraries and strategies to help.

Lest anyone think I'm casually underestimating the work involved, I'm
speaking here as a Launchpad developer: three-quarters of a million
lines of Python code, and a couple of hundred dependencies.  Sure, we're
still on Python 2, which is a problem: other projects have generally
taken precedence and porting has been a back-burner task.  But a large
part of the work we need to do is work we'd have needed to do anyway,
such as bringing many of those dependencies up to date or finding
better-maintained versions of some of them, and we have at least the
skeleton of a plan.  I feel quite safe in saying that for most Python
programs it would be a great deal easier than this.

-- 
Colin Watson   [cjwat...@ubuntu.com]

-- 
Ubuntu-devel-discuss mail

Re: Python2 demotion (moving from main to universe) in progress

2017-12-08 Thread Robie Basak
On Fri, Dec 08, 2017 at 09:51:00PM +0100, Xen wrote:
> Personally I don't know *why* this needed to happen. Also from the
> perspective of the python devs, I mean.

Because Python 2 will be unsupported upstream and we don't have an
unlimited amount of resources to maintain it in Ubuntu without upstream.
The more time we spend on maintaining duplicate stuff in the archive,
the less time we have to spend on other things that users want to see.

> Except to force more people onto Python 3.

Nobody is being forced to do anything. Assuming we do ship Python 2 in
main in 18.04, which seems likely, you will be able to use Python 2 in
18.04 until 2023. After that, you'll still be able to use Python 2 in
18.04 but will need to make arrangements to maintain the release for
security rather than have it done for free for you.

As for what upstream should or shouldn't do, I don't see how that's on
topic for this list.


signature.asc
Description: PGP signature
-- 
Ubuntu-devel-discuss mailing list
Ubuntu-devel-discuss@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss


Re: Python2 demotion (moving from main to universe) in progress

2017-12-08 Thread Xen

Python upstream announced the EOL of Python2 for 2020

  https://pythonclock.org/

It is unlikely that the demotion of Python2 will be possible for the 
18.04 LTS
release, but please work on the issues so that we are ready for the 
demotion

once OpenStack is using Python3.


Personally I don't know *why* this needed to happen. Also from the 
perspective of the python devs, I mean.


It was pushed upon an unwilling community and the python people have 
really been pulling the cart with great force against wheels unwilling 
to leave the tracks.


Which should be indication enough that it's still needed.

There are so many older systems and older packages and at some point it 
will simply be impossible to run these programs and there was never a 
great necessity to see Python 2 go.


Except to force more people onto Python 3.

Alternatives kinda ...blow... in that sense.

You don't want people to have choice if they keep making the wrong ones 
right.


But I was going to say 2 years might seem like a lot, or 3 years, but it 
is nothing.


Meanwhile we can still run C programs from 1980, basically.

Or whereabouts, at least.

I think you can definitely find a way to compile most programs from 
1990...


The discontinuation of PHP 5 also seems to have been unnecessary and 
puts many many people into a tough spot.


Preventing people from upgrading their distributions etc.

I mean I understand Ubuntu is a 'consumer' here and not a 'producer' (or 
follower and not leader) but sometimes...


The ones who follow seem more eager than the ones who lead.

Meanwhile there is not really any good reasons for the discontinuation.

It's just done because people want it to be done but there aren't really 
any good reasons for it.


And before anyone says anything: electrical screwdrivers are very handy, 
but we can still buy ordinary ones.


--
Highly Evolved Beings do not consider it “profitable” if they benefit at 
the expense of another.


--
Ubuntu-devel-discuss mailing list
Ubuntu-devel-discuss@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss