[Python-ideas] A python bridge between versions
Stephen J. Turnbull
stephen at xemacs.org
Sun Mar 2 15:37:48 CET 2014
>>>>> Ian O. writes:
> Nick Coghlan writes:
>> Ian, please keep in mind that you are asking people to do extra work
>> for you *for free*, after you have already been benefiting for years
> Why are you so aggressive?
> No one is trying to 'tell' people to do something.
In Nick's defense, (1) he spends a *lot* of his time explaining why
Python development proceeds as it does, (2) "just proposing ideas"
sometimes is indeed a passive-aggressive ploy, (3) your timing is bad
due to the appearance of an occasional poster who does do exactly
that, and (4) Nick's probably harried with a major release in process
and PyCon coming up.
> For commercial purposes you have managed to convince me I should
> cease to lobby for python to be used in the projects where I
> assist.
I think that's *exactly* the wrong lesson to learn, unless your
management doesn't understand that free software is an investment and
requires its users to spend resources to take advantage of it. It's
just that the form of the resources required is often quite different
from those required to use proprietary software. And of course it
differs from product to product even within open source. So all
you've learned from Nick is that Python is unlikely to dramatically
reduce the resources required to migrate from Python 2 to Python 3
using technology like a "bridge". "Everyone would like a pony, but we
don't have everyone's favorite pony."
OTOH, it remains the case that most new applications can be written in
Python 3 because there are good libraries to support them, although
you may have to give up on some frameworks that depend on libraries
that haven't been ported. That may be, but is not necessarily, a
show-stopper.
Now you say "lobbying". "Lobbying" implies effort and marshalling
resources. Even if you strongly favor a particular framework that is
*apparently* blocked by an unported library, it's surely theoretically
possible that the shortest path to serving your company's software
needs is spend company resources to port that library[1] -- as well as
the personal resources to get the necessary support and resources from
management!
In practice, while I can't offhand give a case where a commercial
company has done that port internally, I know at least one
noncommercial project that is considering paying for a port of one of
its Python3 blockers. I'm willing to bet you can find companies that
have done 2to3 ports of libraries considering that to be the "shortest
path to a product release", if you look around a bit.
> Obviously commercial use is clearly not desired by the community,
> that is the first lesson i have learned. As I am not paid to
> champion python in the work environment, having been enlightened
> that python community does not desire commercial usage, I will
> cease.
Are you aware how passive-aggressive your phrasing sounds? I'm sure
you're well aware that not only are many Python developers involved in
commercial development, but all of Python from the license on up is
oriented toward encouragement of commercial use of Python. And it's
been quite successful in commercial use.
It would be nice if the language improvements in Python 3 came at zero
cost. They don't, and we all feel that pinch at one time or another.
But remember, innovations succeed not only by inventing completely new
ideas that nobody ever thought of before, but also by hurdling cost
barriers that others considered so high as to make known "interesting
in theory" ideas "commercially impractical".
I am not going to tell you that your cost barrier is lower than you
think -- you know your situation, I don't. But I assure you that
others, with high but not insuperable cost barriers, have indeed made
that hurdle in porting libraries to Python 3, and I'm sure some are
taking on new challenges today.
Footnotes:
[1] Just as if it were a completely different language ("that Perl
module would be perfect if only it were in Python..." :-).
More information about the Python-ideas
mailing list