Re: Proposed Modules, My Take



On Wed, 2005-01-19 at 23:42 +0800, James Henstridge wrote:
> Sean Middleditch wrote:
> 
> >Can a version of Python be declared to go with this if its in the
> >Bindings?  
> >
> There is a minimum required version of Python for any particular Python 
> bindings release, but why would you want to require a particular version 
> of Python?  Would you also want to require a particular version of 
> GCC/libstdc++ be used with gtkmm for a particular release?

Yes, actually.  That or recommend that all Linux distros use the LSB-
recommended version of the ABI, and all non-Linux OSes use the
appropriate stable version of their toolchain.  And it's not just a
particular release - it's all releases in the same major release series.
If an app runs on GNOME 2.8 and only uses the Platform/Bindings then it
had better be able to run in GNOME 2.10, 2.12, 2.20, and so on.

No, for the record, I don't expect any of that to happen until the OS
itself becomes stable, but it's still a nice thought.  ;-)

> 
> >Otherwise every distro could end up with a different version
> >of Python resulting in various incompatibilities - especially in the
> >case where multiple versions of Python are installed.
> >  
> >
> If you want to install multiple versions of Python, you can easily 
> install multiple copies of pygtk too (it installs into the site-packages 
> directory for the Python version it was built against).

That doesn't help application vendors in the least.

> 
> >If apps
> >hardcode /usr/bin/python-2.2 what happens on a distro that only has 2.3?
> >  
> >
> Then the app would break.

Which is bad.  If things break in any module advertised as part of the
Platform or Bindings then having that module in either release is
pointless - the whole purpose of putting a module there is that
application vendors can depend on it both being available and in it
actually working.

> 
> >Both problems disappear if we mandate that, say, Python 2.3 be used and
> >that all apps using the "official GNOME Bindings" reference python-2.3
> >explicitly, or something like that.
> >  
> >
> This would add an artificial barrier to using versions of Python other 
> than the one required.  For instance, people might want to use Python 
> 2.4 ...

Since Python 2.4 can break applications developed for Python 2.2 or
earlier, that shouldn't be allowed for any app using official GNOME
bindings.  If they want to use it, fine, but then it becomes *their*
problem when the app breaks, just like it's the developer's problem if
their app breaks when they depend on a Desktop-only library.  GNOME
advertises an interface by which developers can write applications and
those interfaces are guaranteed not to break in future releases or
differ between machines.  If a Python version is not mandated then
GNOME's advertised interface is undefined/broken and developers should
be recommended to not write applications using that interface, but
instead rely on some other stable framework - maybe just pure GTK/C.
And that wouldn't be a good thing for users or developers in the long
run.

If a module isn't going to offer a stable ABI throughout the major GNOME
release series then it doesn't belong anywhere except the Desktop
release.

> 
> James.
> 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]