On 10/09/12 00:51, Brian Crowell wrote:
Yes, that seems to me to be the main trouble. Anything done to the
Python source will break compatibility with code before 2.6. I'm sure
that's why it looks like PIL has been ported to Python 3 several
times, but none of them stuck.

How do other developers feel about that? Maybe letting old PIL 1.1.7
take care of anyone using 2.5/2.6 or older, and focusing on 2.6/2.7
and up? Or perhaps maintaining a separate branch with Python 3 code?



I don't think support for older versions is necessarily that important.

One thing I do here is support Python software for the Hubble Space Telescope.  
It means I get a lot of support tickets from astronomers at other institutions. 
 These are people who are not interested in programming, except for the minimum 
they need to get their job done.  They want to use whatever python they have, 
and if I tell them to upgrade 20 different things they are not happy.

I haven't seen a support ticket from any python 2.5 users for a long time now.  There are 
still some linux distributions that use python 2.6.  I don't think those distributions 
are looking for a replacement for PIL.  So, I think python 2.6 is relatively unimportant 
and python 2.5 support is a serious "don't care" at this point.

If you were to support python 3 only, you would not make any difference to 
python 2 users.  They would continue to use the latest PIL that was released 
about 3 years ago.  There would just be a python 3 version available.  Python 3 
has two major problems:  1) it is incompatible with python 2, and 2) too many 
packaged don't exist for that.  If you make a contribution to solving #2, that 
is a net improvement.

The question, then is python 2.7.


The problem you have is not technical.  It is marketing.  Do you propose to try 
to replace PIL with your derivative package?  If so, you have to get people to 
know about it.  For example, Pillow (a fork of PIL) is almost 2 years old, but 
I just found out about it a few months ago.

So, how do you get people to know about and use your package?

- promote it - I can't use it if I don't know about it. (b.t.w. One way to promote your 
package:  If you fix problems that people frequently have with PIL, then you can announce 
it on mailing lists, forums, stackoverflow, etc.  It is not spam if you are saying 
"I know a package that fixes your problem".)

- include support for python 2.7 (and maybe 2.6 if it is easy).  If I can use it in my 
python 2.7 environment, then it is not "just some thing that I don't care about 
because I don't use python 3".  Make your package attractive, and I can have just 
one package for both my existing python 2.7 environment and my prototype python 3 
environment.  Someday, when I might want python 3, I will remember your package.

- add new capabilities and fix old bugs, so that I have some reason to switch 
to your package even though I already have PIL installed.  For example, I did 
not find gamma correction in the latest PIL; if you have one, maybe your 
package is more interesting to me.

- but remain plug-compatible with the old PIL, so everything just works

- be willing to support the package in the long term; if you make a python 3 
port and then abandon it, it is just another of thousands of abandoned packages.

Maybe you can make an alliance with all those other people who tried python 3 ports.  
They've done at least some of the work, and you could work together to promote whatever 
you collectively come up with.  But don't let forming the alliance be an obstacle to 
doing anything.  If you spend all your time arguing, you gain nothing.  Also, if you 
spend all your time saying "I don't know - what do YOU think?" you also don't 
get anywhere.

Mark S.

_______________________________________________
Image-SIG maillist  -  Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig

Reply via email to