Re: [Python-Dev] The path module PEP

2006-01-27 Thread Paul Moore
On 1/26/06, Stefan Rank [EMAIL PROTECTED] wrote:
 on 26.01.2006 14:15 Paul Moore said the following:
 [snip]
 
  Also note that my example Path(C:, Windows, System32) above is
  an *absolute* path on Windows. But a relative (albeit stupidly-named
  :-)) path on Unix. How would that be handled?

 wrong, Path(C:, Windows, System32) is a relative path on windows.
 see below.

Hmm, relative to the CWD on C: is a valid concept, and that is a
potential meaning. I hadn't thought of that.

  Not that os.path gets it perfect:
 
  Python 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] on win32
  Type help, copyright, credits or license for more information.
  import os
  os.path.join(C:, Windows, System32)
  'C:Windows\\System32'
  os.path.join(., os.path.join(C:, Windows, System32))
  '.\\C:Windows\\System32'
 

 this is misleading. observe::

   In [1]: import os

   In [2]: os.path.join(., os.path.join(C:, Windows, System32))
   Out[2]: '.\\C:Windows\\System32'

 but::

   In [3]: os.path.join(., os.path.join(C:\\, Windows, System32))
   Out[3]: 'C:\\Windows\\System32'


 The second example uses an absolute path as second argument, and as
 os.path.join should do, the first argument is discarded.

 The first case is arguably a bug, since, on windows, C:Windows\System32
 is a path relative to the *current directory on disk C:*
 If the cwd on C: would be C:\temp then C:Windows\System32 would point to
 C:\temp\Windows\System32

 The problem is that Windows has a cwd per partition...
 (I cannot even guess why ;-)

Thanks for the clarification, you are right in your analysis. However,
it doesn't really affect my main point, which was that there should be
no such thing as a relative Path (please note - I say Path here, to
refer to the new Path object, as opposed to the general concept of an
OS file path).

[...]
  Arguably, Path objects should always maintain an absolute path - there
  should be no such thing as a relative Path. So you would have

 you realise that one might need and/or want to represent a relative path?

Absolutely. But not a Path (see distinction above).

Aaron Bingham's analogy with time/timedelta applies well here.
Relative paths, like relative times, have their own special semantics,
which deserve to be addressed in a separate class.

You argue that time is merely a timedelta with a fixed start point.
I'd disagree - the key point with timedeltas is that they need careful
handling (DST issues, for example) _depending upon precisely what they
are added to_ - these issues are avoided by the time type exactly
because it has a constant base. In exactly the same way, absolute
paths have simpler semantics precisely because they are absolute.

Paul.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] SourceForge Download Page, Subversion Home Page

2006-01-27 Thread Steve Holden
You may be aware that Tim Parkin's work on our next-generation web 
presence has borne fruit in the shape of beta.python.org. While there's 
still a lot to be done Tim has given us a great start by creating a 
framework that makes it rather easier to manage content.

I'm just starting to work on the beta site content, and this is causing 
some examination of the existing web content. Is there any way to affect 
the target of the very prominent Download Python link on 
http://sourceforge.net/projects/python/ ?

I ask because the link currently takes you to a page whose title is 
Exiting with Error and whose content is largely No File Packages. 
While it's not where you arrive from a Google search for python 
download it is nevertheless a legitimate way (just now) to approach the 
project, and should therefore really be live.

Is there any chance some SF admin could point it to

 http://www.python.org/download/

There's the further issue that the entire HTML body of 
http://svn.python.org/ currently reads

!-- not sure what to put here --

It would seem like the logical place to have pointers to Subversion 
software (downloads, documentation, operating instructions) together 
with an *annotated* summary of http://svn.python.org/projects/ and links 
back to the main developer site at the very least. I'm not even sure 
where that web content is under SVN control at the moment.

The web revision is going to lead to several of these kinds of 
discussions. I'll try to only spill on to the python-dev list what 
impinges on developers. Your opinions on these specific issues are 
probably the most significant.

[pydotorgers: let's try not to spam python-dev with any discussions]

regards
  Steve
-- 
Steve Holden   +44 150 684 7255  +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006  www.python.org/pycon/

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] The path module PEP

2006-01-27 Thread Stefan Rank
on 27.01.2006 11:16 Paul Moore said the following:
 [...]
 Arguably, Path objects should always maintain an absolute path - there
 should be no such thing as a relative Path. So you would have
 you realise that one might need and/or want to represent a relative path?
 
 Absolutely. But not a Path (see distinction above).
 
 Aaron Bingham's analogy with time/timedelta applies well here.
 Relative paths, like relative times, have their own special semantics,
 which deserve to be addressed in a separate class.
 
 You argue that time is merely a timedelta with a fixed start point.
 I'd disagree - the key point with timedeltas is that they need careful
 handling (DST issues, for example) _depending upon precisely what they
 are added to_ - these issues are avoided by the time type exactly
 because it has a constant base. In exactly the same way, absolute
 paths have simpler semantics precisely because they are absolute.
 
 Paul.

I see your point.

I guess there are two options:

- `Path` as an enhanced string type that bundles methods related to file 
system addressing

- `Path`s that accurately reflect the possible (abstract) paths. There 
would be a Path and a PathDelta (with appropriate combining semantics), 
and probably a UnixPath, a WindowsPath, an URLPath maybe. And there need 
to be appropriate methods for combining them with/creating them from 
strings.

I actually think the latter would be very neat and somewhere else in 
this thread someone talks about his `Tree` - `Path` - `File` classes 
with specialised subclasses.

The first option, however, has the benefit of simplicity and there is a 
working implementation.

Well - I'm not the one to decide. And I think anything that bundles path 
related stuff (using a little object-orientation) and cleans up the 
standard library is a step forward.

cheers,
s

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] stabilizing builds

2006-01-27 Thread Thomas Wouters
On Thu, Jan 26, 2006 at 09:41:53PM -0500, Tim Peters wrote:
 [Thomas Wouters]
  ...
  I'd need developer access back to check it in, though.

 AFAICT, twouters has developer access to the Python project --
 although maybe someone else re-enabled that w/o mentioning it here.

I meant svn-checkin-access (it got disabled for disuse a while back.) If I
weren't schizofrenic in sysadmin jobs I could add it myself, but I can't do
that. Can I? I guess I can't. Who am I again?

Someone-else'ly y'rs,
-- 
Thomas Wouters [EMAIL PROTECTED]

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Doc-SIG] that library reference, again

2006-01-27 Thread Edward Loper
Robey Pointer wrote:
On 30 Dec 2005, at 18:29, Christopher Armstrong wrote:
 [epydoc] is not really even good enough for a lot of my usage without some
 seriously evil hacks. The fundamental design decision of epydoc to
 import code, plus some other design decisions on the way it figures
 types and identity seriously hinder its utility. [...]

As a side note, I've done a significant amount of work on a newer 
version of epydoc that supports both inspection  source-code parsing 
(and can merge the info from both sources, if they're available). 
Hopefully this new version will address some of these concerns (and some 
other issues I've heard raised).  But I haven't had time to work on it 
in a while -- I need to concentrate on getting my phd thesis done.  If 
anyone is interested in working on this new version, just let me know. :)

-Edward

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] SourceForge Download Page, Subversion Home Page

2006-01-27 Thread Tim Peters
[Steve Holden]
 Is there any way to affect the target of the very prominent Download
 Python link on
 http://sourceforge.net/projects/python/ ?

 I ask because the link currently takes you to a page whose title is
 Exiting with Error and whose content is largely No File Packages.
 While it's not where you arrive from a Google search for python
 download it is nevertheless a legitimate way (just now) to approach the
 project, and should therefore really be live.

 Is there any chance some SF admin could point it to

  http://www.python.org/download/

Sorry, looks like SF auto-creates the download button, hardwired to
the project's SF Files section.  The Python project doesn't have any
files on SF anymore.

If you go to

http://sourceforge.net/projects/zodb/

you'll see the equally prominent Download ZODB and ZEO button,
pointing to that project's equally ZODB-free Files area.  But, in that
case, you'll see that there _is_ a package, named README, with a
release named How to get the source.  If you click on that and
fight your way through the download process, you eventually end up
with file zodb.txt, which contains a real download URL for ZODB
wink/sigh.

Overall I'm not sure that's an improvement, but it was the best I
could come up with 2 years ago when ZODB stopped using SF for
downloads.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] SourceForge Download Page, Subversion Home Page

2006-01-27 Thread Thomas Wouters
On Fri, Jan 27, 2006 at 10:49:59AM -0500, Tim Peters wrote:

 If you go to
 
 http://sourceforge.net/projects/zodb/
 
 you'll see the equally prominent Download ZODB and ZEO button,
 pointing to that project's equally ZODB-free Files area.  But, in that
 case, you'll see that there _is_ a package, named README, with a
 release named How to get the source.  If you click on that and
 fight your way through the download process, you eventually end up
 with file zodb.txt, which contains a real download URL for ZODB
 wink/sigh.
 
 Overall I'm not sure that's an improvement, but it was the best I
 could come up with 2 years ago when ZODB stopped using SF for
 downloads.

What if the package wasn't named README, but rather
'www.python.org' with a release named visit www.python.org/download
instead? I'm not sure if that package/release name is allowed ;P

-- 
Thomas Wouters [EMAIL PROTECTED]

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] stabilizing builds

2006-01-27 Thread Tim Peters
[Thomas]
 I'd need developer access back to check it in, though.

[Tim]
 AFAICT, twouters has developer access to the Python project --
 although maybe someone else re-enabled that w/o mentioning it here.

[Thomas]
 I meant svn-checkin-access (it got disabled for disuse a while back.)

I know.  AFAICT, you (twouters) already have it.  There's a Yes in
the twouters row under the CVS Access column on the Python project's
Members admin page.  Have you tried checking in?  What happens when
you do?  If it doesn't work, one possibility is that you did a
read-only SVN _checkout_, and it's actually SVN griping at you.

 If I weren't schizofrenic in sysadmin jobs I could add it myself, but I can't 
 do
 that. Can I? I guess I can't.

You shouldn't be able to add yourself -- you're not listed as a godly
Python project admin, just as a mortal Python developer.  Many people
who do checkins routinely (like Neal Norwitz) are in the same boat wrt
that.

 Who am I again?

Thomas Wouters ;-)  Your SourceForge name in the Python project is twouters.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] stabilizing builds

2006-01-27 Thread Tim Peters
I suppose another possibility for why twouters couldn't check in is
because someone added him to the project's cvs_acls script. If so, I
don't know anything about how to get that changed.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] stabilizing builds

2006-01-27 Thread Tim Peters
[Tim]
...
 AFAICT, you (twouters) already have it.  There's a Yes in
 the twouters row under the CVS Access column on the Python project's
 Members admin page.  Have you tried checking in?  What happens when
 you do? ...

LOL -- what a bubblehead I am!  Whether you can check in has nothing
to do with SourceForge CVS access anymore -- never mind, and sorry.  I
don't have the power to admin svn.python.org either.  Martin?
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] DRAFT: python-dev Summary for 2006-01-01 through 2006-01-15

2006-01-27 Thread Thomas Heller
John J Lee [EMAIL PROTECTED] writes:

 On Thu, 26 Jan 2006, Thomas Heller wrote:
 [...]
 As I said in the other thread  (where the discussion should probably be
 continued anyway):
 
 http://mail.python.org/pipermail/python-dev/2006-January/060113.html
 
 only aclocal.m4 isn't clear to me about the license.  Anyway, it could
 be that this file isn't needed after all - I don't know enough about the
 GNU toolchain to be sure.  Can anyone comment on this?

From 'info autoconf':

 |   The Autoconf macros are defined in several files.  Some of the files
 | are distributed with Autoconf; `autoconf' reads them first.  Then it
 | looks for the optional file `acsite.m4' in the directory that contains
 | the distributed Autoconf macro files, and for the optional file
 | `aclocal.m4' in the current directory.  Those files can contain your
 | site's or the package's own Autoconf macro definitions (*note Writing
 [...]

 So, I assume aclocal.m4 is under the same license as the rest of the
 libffi you're using.

I cannot uinderstand your reasoning.  How can 'info autoconf' incluence
the license of the aclocal.m4 file?  Or do I misunderstand something?

Given that all kind of *nix experts are here on this list - can someone
tell if aclocal.m4 is needed for building libffi at all or not?

Thomas

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] (libffi) Re: Copyright issue

2006-01-27 Thread Thomas Heller
[I've added python-dev to cc:]

Anthony Green [EMAIL PROTECTED] writes:

 On Fri, 2006-01-27 at 17:08 +0100, Thomas Heller wrote:
 Anyway, another question is: Is aclocal.m4 needed at all for building
 (or maybe for regenerating the configure scripts), or is it optional?

 aclocal.m4 is required, but is only used as a build-time tool.  The fact
 that aclocal.m4 is distributed under the GPL should have no impact on
 the licensing terms used for software built using aclocal.m4.

If I understand correctly this means that the Python source distribution
would have to be GPL licensed, while the built programs would be able to
use another license.

I'm pretty sure this kills the whole idea (to include libffi in python).

Thanks, Thomas


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] DRAFT: python-dev Summary for 2006-01-01 through 2006-01-15

2006-01-27 Thread Ronald Oussoren


On 27-jan-2006, at 17:14, Thomas Heller wrote:


John J Lee [EMAIL PROTECTED] writes:


On Thu, 26 Jan 2006, Thomas Heller wrote:
[...]
As I said in the other thread  (where the discussion should  
probably be

continued anyway):

http://mail.python.org/pipermail/python-dev/2006-January/060113.html

only aclocal.m4 isn't clear to me about the license.  Anyway, it  
could
be that this file isn't needed after all - I don't know enough  
about the

GNU toolchain to be sure.  Can anyone comment on this?



From 'info autoconf':


|   The Autoconf macros are defined in several files.  Some of the  
files
| are distributed with Autoconf; `autoconf' reads them first.   
Then it
| looks for the optional file `acsite.m4' in the directory that  
contains

| the distributed Autoconf macro files, and for the optional file
| `aclocal.m4' in the current directory.  Those files can contain  
your
| site's or the package's own Autoconf macro definitions (*note  
Writing

[...]

So, I assume aclocal.m4 is under the same license as the rest of the
libffi you're using.


I cannot uinderstand your reasoning.  How can 'info autoconf'  
incluence

the license of the aclocal.m4 file?  Or do I misunderstand something?

Given that all kind of *nix experts are here on this list - can  
someone

tell if aclocal.m4 is needed for building libffi at all or not?


aclocal.m4 is needed to build configure, it's a library of configure  
fragments.


I try to stay away from configure as far as possible so cannot say if  
those

fragments are  really needed.

Ronald



smime.p7s
Description: S/MIME cryptographic signature
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] (libffi) Re: Copyright issue

2006-01-27 Thread Thomas Heller
Anthony Green [EMAIL PROTECTED] writes:

 On Fri, 2006-01-27 at 18:03 +0100, Thomas Heller wrote:
 [I've added python-dev to cc:]
 
 Anthony Green [EMAIL PROTECTED] writes:
 
  On Fri, 2006-01-27 at 17:08 +0100, Thomas Heller wrote:
  Anyway, another question is: Is aclocal.m4 needed at all for building
  (or maybe for regenerating the configure scripts), or is it optional?
 
  aclocal.m4 is required, but is only used as a build-time tool.  The fact
  that aclocal.m4 is distributed under the GPL should have no impact on
  the licensing terms used for software built using aclocal.m4.
 
 If I understand correctly this means that the Python source distribution
 would have to be GPL licensed, while the built programs would be able to
 use another license.
 
 I'm pretty sure this kills the whole idea (to include libffi in python).

 I guess I wasn't clear.  aclocal.m4 is just a tool used to build libffi.
 Like your C compiler.  Bundling it with the Python source distribution
 should have no impact on the licensing of Python itself, since it isn't
 really part of the resulting Python binary - just like your C compiler
 isn't.

I guess I understood this already.  The difference to the C compiler is
that the compiler is not 'bundled' with Python, it is installed
separately.

Can anyone of the python-dev core team comment: can we live with the GPL
licensed aclocal.m4 file, in the source distribution and in SVN?

Thomas


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] (libffi) Re: Copyright issue

2006-01-27 Thread Giovanni Bajo
Thomas Heller [EMAIL PROTECTED] wrote:

 On Fri, 2006-01-27 at 17:08 +0100, Thomas Heller wrote:
 Anyway, another question is: Is aclocal.m4 needed at all for building
 (or maybe for regenerating the configure scripts), or is it optional?

 aclocal.m4 is required, but is only used as a build-time tool.  The
fact
 that aclocal.m4 is distributed under the GPL should have no impact on
 the licensing terms used for software built using aclocal.m4.

 If I understand correctly this means that the Python source distribution
 would have to be GPL licensed, while the built programs would be able to
 use another license.

 I'm pretty sure this kills the whole idea (to include libffi in python).

 I guess I wasn't clear.  aclocal.m4 is just a tool used to build libffi.
 Like your C compiler.  Bundling it with the Python source distribution
 should have no impact on the licensing of Python itself, since it isn't
 really part of the resulting Python binary - just like your C compiler
 isn't.

 I guess I understood this already.  The difference to the C compiler is
 that the compiler is not 'bundled' with Python, it is installed
 separately.

That's no different. If you burn a CD containing a copy of the GCC and a
copy of a commercial software you are not violating any license. If you
distribute an .ISO file containing a copy of the GCC and a copy of a
commercial software, you are not violating any license. If you distribute a
.zip file containing a copy of GCC and a copy of a commercial software, you
are not violating any license.

There is an important difference between aggreggation of different programs,
and static/dynamic linking of parts. Autoconf is a build tool, and it does
not impose any license on the software you use it with. Plus some files have
the special exception from GPL so that even the files *generated* by
autoconf (and partly made of pieces of autoconf) do not require to be GPL.
This is exactly like GCC's runtime library (libgcc, and also libstdc++)
which are GPL with the special exception, and you can use them also for
commercial products.

Also, do not understimate previous history. There are zillions of programs
out there using Autconf and *not* being GPL.
-- 
Giovanni Bajo

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] DRAFT: python-dev Summary for 2006-01-01 through 2006-01-15

2006-01-27 Thread John J Lee
On Fri, 27 Jan 2006, Thomas Heller wrote:
 John J Lee [EMAIL PROTECTED] writes:
 
  On Thu, 26 Jan 2006, Thomas Heller wrote:
  only aclocal.m4 isn't clear to me about the license.  Anyway, it could
  be that this file isn't needed after all - I don't know enough about the
  GNU toolchain to be sure.  Can anyone comment on this?
 
 From 'info autoconf':
 
  |   The Autoconf macros are defined in several files.  Some of the files
  | are distributed with Autoconf; `autoconf' reads them first.  Then it
  | looks for the optional file `acsite.m4' in the directory that contains
  | the distributed Autoconf macro files, and for the optional file
  | `aclocal.m4' in the current directory.  Those files can contain your
  | site's or the package's own Autoconf macro definitions (*note Writing
  [...]
 
  So, I assume aclocal.m4 is under the same license as the rest of the
  libffi you're using.
 
 I cannot uinderstand your reasoning.  How can 'info autoconf' incluence
 the license of the aclocal.m4 file?  Or do I misunderstand something?

OK.  I now notice I was confused as to why the license issue arose in the
first place, but FWIW: My point was just that the autoconf info pages
explain (if I read them right) that one keeps one's project-specific
autoconf m4 macros in a file named 'aclocal.m4'.  It's not a file
distributed with autoconf, it's just a file naming convention, so I made
the assumption that since libffi is apparently OK to include in Python, so
must be its aclocal.m4 (even if some of the macros in the libffi
aclocal.m4 originally derived from some other project).

But I'm afraid this would fail with an AssertionError if it weren't
pseudocode:

import legally_compatible as compat
from autoconf import acfiles
from ctypes import libffi

if compat(acfiles, libffi) and compat(libffi, python):
assert compat(acfiles, python), John is not legally competent

:-(


John
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] (libffi) Re: Copyright issue

2006-01-27 Thread Thomas Heller
Andrew Pinski [EMAIL PROTECTED] writes:

 Does phython already use autoconf? I think it does, if so then there
 should be no issues.

[Anthony Green]
 I guess I wasn't clear.  aclocal.m4 is just a tool used to build
 libffi.  Like your C compiler.  Bundling it with the Python source
 distribution should have no impact on the licensing of Python
 itself, since it isn't really part of the resulting Python binary -
 just like your C compiler isn't.

[Thomas Heller]
 I guess I understood this already.  The difference to the C compiler is
 that the compiler is not 'bundled' with Python, it is installed
 separately.


Giovanni Bajo [EMAIL PROTECTED] writes:
 That's no different. If you burn a CD containing a copy of the GCC and a
 copy of a commercial software you are not violating any license. If you
 distribute an .ISO file containing a copy of the GCC and a copy of a
 commercial software, you are not violating any license. If you distribute a
 .zip file containing a copy of GCC and a copy of a commercial software, you
 are not violating any license.

 There is an important difference between aggreggation of different programs,
 and static/dynamic linking of parts. Autoconf is a build tool, and it does
 not impose any license on the software you use it with. Plus some files have
 the special exception from GPL so that even the files *generated* by
 autoconf (and partly made of pieces of autoconf) do not require to be GPL.
 This is exactly like GCC's runtime library (libgcc, and also libstdc++)
 which are GPL with the special exception, and you can use them also for
 commercial products.

 Also, do not understimate previous history. There are zillions of programs
 out there using Autconf and *not* being GPL.

Ok, understood - there is no problem.  Hopefully the rest of the
pythondev team is also convinced.

The only question I have (maybe this is too off-topic, but since we're
here already): Nearly all the tools that autoconf and automake use are
careful to include an exception clause to the GPL license.  Why is
aclocal.m4 different?

Thomas


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] DRAFT: python-dev Summary for 2006-01-01 through 2006-01-15

2006-01-27 Thread Stephen J. Turnbull
 Thomas == Thomas Heller [EMAIL PROTECTED] writes:

Thomas I cannot uinderstand your reasoning.  How can 'info
Thomas autoconf' incluence the license of the aclocal.m4 file?

It doesn't.  The point is the documentation explains that all of the
other files are _part of autoconf_, and come under the license of
autoconf.  They come with special additional rights for users so that
the GPL does *not* apply to a project simply because the project uses
a configure script generated by autoconf.

The aclocal file is not part of autoconf and so doesn't come under
that license, but rather the license its author gives it.  Presumably
that is the same as the rest of the application (here libffi, since an
aclocal for libffi was almost certainly written by a libffi developer).

Thomas Given that all kind of *nix experts are here on this list
Thomas - can someone tell if aclocal.m4 is needed for building
Thomas libffi at all or not?

Not if libffi is distributed with a prebuilt configure script.

Otherwise, not using the distributed aclocal.m4 may be possible, but
it's a bad idea.

-- 
School of Systems and Information Engineering http://turnbull.sk.tsukuba.ac.jp
University of TsukubaTennodai 1-1-1 Tsukuba 305-8573 JAPAN
   Ask not how you can do free software business;
  ask what your business can do for free software.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] / as path join operator

2006-01-27 Thread Jason Orendorff
It's controversial that Path subclasses str.  Some people think it's
flat-out wrong.  Even Bjorn argues that it's a practicality-vs-purity
tradeoff.  But a strong argument can be made that Path *should* be a
string subclass, practicality be damned.  Proof follows.

I. Here's an example of the sort of thing you might say if you did
*not* think of paths as strings:

On 1/25/06, Stephen J. Turnbull [EMAIL PROTECTED] wrote:
 I think it's logical to expect that
 Path('home') / 'and/or'
 points to a file named and/or in directory home, not to a file
 named or in directory home/and.

This makes no sense whatsoever.  Ergo, by reductio ad absurdum, paths
are strings.

II. And here is the sort of thing you'd say if you thought of paths
*solely* as strings:

 (2) Note that '/' is also the path separator used by URIs, which RFC
 2396 gives different semantics from Unix.  Most of my Python usage to
 date has been heavily web-oriented, and I'd have little use for /
 unless it follows RFC 2396.

The quandary is resolved by pointing out that URIs are not paths (in
the sense of os.path and generally this whole horrible thread).  Thus
not all strings are paths.

Hence the paths are a proper subset of the strings.  By the existence
of os.path, they have their own commonly-used operations.  By
definition, then, Path is a subclass of string, QED.


Do I really buy all this?  I dunno.  To say paths aren't strings is
all very well, and in a very abstract sense I almost agree--but you
have to admit it sort of flies in the face of, you know, reality. 
Filesystem paths are in fact strings on all operating systems I'm
aware of.  And it's no accident or performance optimization.  It's
good design.

-j
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] (libffi) Re: Copyright issue

2006-01-27 Thread Martin v. Löwis
Thomas Heller wrote:
 Can anyone of the python-dev core team comment: can we live with the GPL
 licensed aclocal.m4 file, in the source distribution and in SVN?

My understanding that doing so would be in violation of section 2b) of
the GPL.

However, I still think it is possible to include libffi - we just have
to discard the build process, and do our own.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] / as path join operator

2006-01-27 Thread Thomas Wouters
On Fri, Jan 27, 2006 at 06:19:52PM -0500, Jason Orendorff wrote:

 To say paths aren't strings is all very well, and in a very abstract
 sense I almost agree--but you have to admit it sort of flies in the face
 of, you know, reality.  Filesystem paths are in fact strings on all
 operating systems I'm aware of.  And it's no accident or performance
 optimization.  It's good design.

The question isn't whether Path objects should *act* like strings. I haven't
seen anyone argue that they shouldn't, except for a few specific aspects,
like iteration, and those are argued on both sides of the subclassing camp.
The question is whether they should be actual subclasses of the Python
string type. As for what platforms do, if we want to stick to the platform
handling of paths, we change nothing. That's apparently not what people
want ;)

-- 
Thomas Wouters [EMAIL PROTECTED]

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] (libffi) Re: Copyright issue

2006-01-27 Thread Martin v. Löwis
Giovanni Bajo wrote:
 That's no different. If you burn a CD containing a copy of the GCC and a
 copy of a commercial software you are not violating any license. If you
 distribute an .ISO file containing a copy of the GCC and a copy of a
 commercial software, you are not violating any license. If you distribute a
 .zip file containing a copy of GCC and a copy of a commercial software, you
 are not violating any license.

You misunderstand the GPL. Section 2b) is pretty clear that any
application that contains GPL-licensed code must be, itself, distributed
under the terms ofthe GPL

b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.

It further elaborates (in 2, below c) that you could distribute
identifiable sections of [your] work [which] are not derived from the
Program separately, as long as you omit the Program. But if you
distribute them as a whole, the whole must be licensed under the GPL.

 There is an important difference between aggreggation of different programs,
 and static/dynamic linking of parts.

There is an exception for mere aggregation:

# In addition, mere aggregation of another work not based on the Program
# with the Program (or with a work based on the Program) on a volume of
# a storage or distribution medium does not bring the other work under
# the scope of this License.

However, inclusion of aclocal.m4 isn't mere aggregation [...] on
a volume of storage. aclocal.m4 is an essential part of the software
as a whole, so 2b) applies.

 Also, do not understimate previous history. There are zillions of programs
 out there using Autconf and *not* being GPL.

Yes, and SCO is (rightly, IMO) complaining that zillions of open source
people do not honor IP properly. That doesn't mean Python should follow.
Instead, it means we need a build process for libffi which is
independent of autoconf (or convince the authors of aclocal.m4 to
relicense it, but that is likely futile).

As a matter of fact, Python itself uses autoconf, but without
aclocal.m4. autoconf generates configure for us, but configure is
not GPL-licensed, even though it is generated through autoconf:

# Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] DRAFT: python-dev Summary for 2006-01-01 through 2006-01-15

2006-01-27 Thread Martin v. Löwis
Stephen J. Turnbull wrote:
 Otherwise, not using the distributed aclocal.m4 may be possible, but
 it's a bad idea.

That may not be so bad, actually. It looks like libffi's aclocal.m4
is not hand-written, but generated through aclocal(1). Not sure why
this is done, but this seems to be the cause of the explicit
mentionings of the GPL (the snippets that aclocal.m4 is generated
from are each GPL-licensed, make the whole aclocal.m4 GPL-licensed).

That said, I'm uncertain as to what the purpose of aclocal(1) is,
so I might be wrong.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] DRAFT: python-dev Summary for 2006-01-01 through 2006-01-15

2006-01-27 Thread Martin v. Löwis
Ronald Oussoren wrote:
 Merging the two configure files might be a good idea anyway, that  would
 take away the need to run configure from setup.py. IANAL, but I  don't
 quite get how a GPL'd support script, if there is such a thing,  in the
 build machinery of an extension library would require that  Python
 itself is GPL'd.

Section 2b) of the GPL. If a part of the program is GPL, the entire
program must be. Also, you must include the entire source of the
program, including all build scripts (section 3). So just including the
generated configure, and omitting some of its input, would also be a
license violation.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] (libffi) Re: Copyright issue

2006-01-27 Thread Giovanni Bajo
Thomas Heller [EMAIL PROTECTED] wrote:

 Andrew Pinski [EMAIL PROTECTED] writes:

 Does phython already use autoconf? I think it does, if so then there
 should be no issues.

 [Anthony Green]
 I guess I wasn't clear.  aclocal.m4 is just a tool used to build
 libffi.  Like your C compiler.  Bundling it with the Python source
 distribution should have no impact on the licensing of Python
 itself, since it isn't really part of the resulting Python binary -
 just like your C compiler isn't.

 [Thomas Heller]
 I guess I understood this already.  The difference to the C
 compiler is
 that the compiler is not 'bundled' with Python, it is installed
 separately.


 Giovanni Bajo [EMAIL PROTECTED] writes:
 That's no different. If you burn a CD containing a copy of the GCC
 and a
 copy of a commercial software you are not violating any license. If
 you
 distribute an .ISO file containing a copy of the GCC and a copy of a
 commercial software, you are not violating any license. If you
 distribute a .zip file containing a copy of GCC and a copy of a
 commercial software, you
 are not violating any license.

 There is an important difference between aggreggation of different
 programs,
 and static/dynamic linking of parts. Autoconf is a build tool, and
 it does
 not impose any license on the software you use it with. Plus some
 files have
 the special exception from GPL so that even the files *generated* by
 autoconf (and partly made of pieces of autoconf) do not require to
 be GPL.
 This is exactly like GCC's runtime library (libgcc, and also
 libstdc++)
 which are GPL with the special exception, and you can use them also
 for
 commercial products.

 Also, do not understimate previous history. There are zillions of
 programs
 out there using Autconf and *not* being GPL.

 Ok, understood - there is no problem.  Hopefully the rest of the
 pythondev team is also convinced.

 The only question I have (maybe this is too off-topic, but since we're
 here already): Nearly all the tools that autoconf and automake use are
 careful to include an exception clause to the GPL license.  Why is
 aclocal.m4 different?

Is aclocal.m4 even GPL in the first place? I don't see such a notice in my
libffi copy.

Giovanni Bajo

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] (libffi) Re: Copyright issue

2006-01-27 Thread Giovanni Bajo
Martin v. Löwis [EMAIL PROTECTED] wrote:

 Can anyone of the python-dev core team comment: can we live with the
 GPL
 licensed aclocal.m4 file, in the source distribution and in SVN?

 My understanding that doing so would be in violation of section 2b) of
 the GPL.

This would be a new interpretation of the license. The whole autotools chain is
GPL and it is used on way too many programs which are not GPL. They're so many
I won't even mention one. Anyway, IANAL, so if you're really concerned you can
mail the FSF and ask clarifications.

BTW, by your reading, libffi itself would be a GPL violation.

Giovanni Bajo

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] SourceForge Download Page, Subversion Home Page

2006-01-27 Thread Martin v. Löwis
Tim Peters wrote:
 Overall I'm not sure that's an improvement, but it was the best I
 could come up with 2 years ago when ZODB stopped using SF for
 downloads.

Please take a look at my attempt to solve that: putting a text just
above the button.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] (libffi) Re: Copyright issue

2006-01-27 Thread Martin v. Löwis
Giovanni Bajo wrote:
 This would be a new interpretation of the license. The whole autotools chain 
 is
 GPL and it is used on way too many programs which are not GPL. They're so many
 I won't even mention one. Anyway, IANAL, so if you're really concerned you can
 mail the FSF and ask clarifications.

No. As Tom Tromey explains, significant parts of autoconf have a special
exception, allowing parts of autoconf to be used without any
restrictions when they get copied into, say, configure. If you only
use those parts of autoconf, you don't violate the GPL.

However, it appears that (at least parts of) aclocal.m4 originate from
code which doesn't have such a liberal license.

BTW, this interpretation isn't new at all. I first heard it in 1992.
People tend to reinterpret it because they can't believe the original
words, and then those interpretations become urban myth.

 BTW, by your reading, libffi itself would be a GPL violation.

Well, no. I interpret it to be dual-licensed: Identifiable parts of
it are independent work, and can be licensed independently of the
Program (i.e. autoconf). They meet all requirements of the GPL
(providing all code they need to provide) - it's just difficult
to find out what the license is.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Path inherits from string

2006-01-27 Thread BJörn Lindqvist
[M.-A. Lemburg]
 I don't see why this is critical for the success of the Path
 object. I agree with Thomas that interfaces should be made
 compatible to Path object.

See the steps I mentioned. Unless step #1 is completed there is no way
to make the following code work:

open(Path(foobar))

Well, there is one alternative which is:

open(Path(foobar).tostring())

And that is a Java-esque workaraound that I think noone would be happy
with.

 Why not ? We've added Unicode support to at least some
 file I/O APIs - adding support for instances which
 support the string interface shouldn't be all that
 difficult :-)

 BTW, if you're fine with this API:

 class File:
def __unicode__(self):
return utest.txt

 then the required change is minimal: we'd just need to
 use PyObject_Unicode() in getargs.c:837 and you should
 be set.

Alright! If that is true then maybe step #1 isn't as hard as I
thought. First problem is the string interface. What exactly is the
string interface? It needs to be specified. I would have guessed that
it was equal to the stuff in the builtin str class.. :) Then you need
to modify Python's C code so that it accepts all objects implementing
the string interface. That may not be a trivial task [1]. Also don't
forget that Path probably also should work with:

isinstance(Path('.'), basestring)

Because one of the big selling points of Path is that it acts as a
drop-in replacement for strings [2]. And you don't want to mess with
the current canonical way of testing if an object implements the
string interface. But you aren't supposed to subclass basestring
[3].

All I'm saying is that I don't have the technical knowledge required
to modify Python to make Path work without subclassing string. If you,
or someone else, do then pretty please with sugar on top make a patch
so that Path doesn't have to subclass string.

Then you could have a much more pure Path without the dead
methods. But even then, one could argue that Jason Orendorffs original
Path module is still more practical (atleast for compatibility
reasons).

def save_data(somedir, fpath, data):
open(somedir + / + fpath.lower(), w).write(data)

The above code isn't going to work unless fpath is a string (or an
object that inherits from string).  It isn't good code, but it isn't
extremely uncommon either.

1 http://mail.python.org/pipermail/python-dev/2006-January/059780.html
2 http://mail.python.org/pipermail/python-list/2005-July/291213.html
3 http://mail.python.org/pipermail/python-dev/2006-January/059782.html


--
mvh Björn
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] / as path join operator

2006-01-27 Thread Tony Meyer
[Jason Orendorff]
 Filesystem paths are in fact strings on all operating systems I'm
 aware of.  And it's no accident or performance optimization.  It's
 good design.

Isn't that simply because filesystems aren't object orientated?  I  
can't call methods of a path through the filesystem.  There's a  
difference between a path, which is, yes, always (?) a string, and a  
Path object that provides convenient methods/properties.

(Maybe one of the experimental object-orientated file systems has non- 
string paths.  I have no idea).

=Tony.Meyer
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] SourceForge Download Page, Subversion Home Page

2006-01-27 Thread Nick Coghlan
Martin v. Löwis wrote:
 Tim Peters wrote:
 Overall I'm not sure that's an improvement, but it was the best I
 could come up with 2 years ago when ZODB stopped using SF for
 downloads.
 
 Please take a look at my attempt to solve that: putting a text just
 above the button.

Is it possible to make that URL a hyperlink?

It's also worth considering ways to make the alternate URL stand out more, as 
the green button is dominant enough that I'd expect a lot of people to miss 
the preceding text.

Something like:

 The Python programming language, an object-oriented scripting and rapid 
application development language.
Despite what the green button below says, you can bNOT/b download it 
directly from Sourceforge, as SF is used only for bug tracking. You can get 
releases from the main Python website:

a href=http://www.python.org/download;Download from python.org/a

useless green button is here


Cheers,
Nick.

-- 
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---
 http://www.boredomandlaziness.org
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Path inherits from string

2006-01-27 Thread Neil Schemenauer
Ian Bicking [EMAIL PROTECTED] wrote:
 OTOH, str(path) will break unicode filenames.  And unicode()
 breaks anything that simply desires to pass data through without
 effecting its encoding.

That general problem was the motivation for PEP 349.  Originally I
suggested adding a new built-in.  However, Guido's suggestion of
allowing str() to return unicode objects works okay too and that's
the way the current PEP is written.  With Python 2.5 you can do it
the ugly way using a str format (e.g. '%s' % obj).

  Neil

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] / as path join operator

2006-01-27 Thread Adam Olsen
On 1/27/06, Jason Orendorff [EMAIL PROTECTED] wrote:
 On 1/25/06, Stephen J. Turnbull [EMAIL PROTECTED] wrote:
  I think it's logical to expect that
  Path('home') / 'and/or'
  points to a file named and/or in directory home, not to a file
  named or in directory home/and.

 This makes no sense whatsoever.  Ergo, by reductio ad absurdum, paths
 are strings.

It makes perfect sense to me.  However, since posix doesn't permit '/'
in file names I would expect it to emit an error:

Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.

However, I'm not sure if the error be emitted when the Path is
created, or when it's passed to open().  The former implies a set of
OS-specific Path classes, and would allow subclassing from str.  The
latter allows (but does not require) a single universal Path class,
and that would prohibit subclassing from str (because you need a
higher-level representation to store path segments before converting
them to a platform-specific format.)

I'm -0 on subclassing str in the shortterm and -1 on it in the
longterm.  It's cruft and not something we want to be stuck with.

--
Adam Olsen, aka Rhamphoryncus
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] / as path join operator

2006-01-27 Thread Stephen J. Turnbull
 Jason == Jason Orendorff [EMAIL PROTECTED] writes:

Jason I. Here's an example of the sort of thing you might say if
Jason you did *not* think of paths as strings:

[...]

Jason II. And here is the sort of thing you'd say if you thought
Jason of paths *solely* as strings:

Please note that my point was entirely different from trying to decide
whether to subclass strings.  My point was precisely that because of
this schizophrenia in the use of / as a path join operator in various
string representations of paths, it's a bad choice.  People are
naturally going to write buggy code because they don't have the
implemented spec in mind.

Jason Filesystem paths are in fact strings on all operating
Jason systems I'm aware of.

I have no idea what you could mean by that.  The data structure used
to represent a filesystem on all OS filesystems I've used is a graph
of directories and files.  A filesystem object is located by
traversing a path in that graph.

Of course there's a string representation, especially for human use,
but manipulating that representation as a string in programs is a
regular source of bugs.  In most cases, the graph is sufficiently
constrained that string manipulations are mostly accurate
representations of graph traversal, but not always, and you get
defects.

-- 
School of Systems and Information Engineering http://turnbull.sk.tsukuba.ac.jp
University of TsukubaTennodai 1-1-1 Tsukuba 305-8573 JAPAN
   Ask not how you can do free software business;
  ask what your business can do for free software.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com