[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: QT 3.0 and future KDR Road Map
From: Scott Manson <Maniac () Alltel ! net>
Date: 2001-05-29 6:08:37
[Download RAW message or body]
On Monday 28 May 2001 03:51 pm, Waldo Bastian wrote:
> On Monday 28 May 2001 02:34, Bernd Gehrmann wrote:
> > > Having said that, KDE 1 binaries can run run under KDE2 by installing
> > > QT1, kdesupport1 and kdelibs1. Different library symbols make this
> > > relatively simple (libqt -> libqt2, but an application specifically
> > > linking libqt1 gets it). Theoretically the same will apply with KDE3
> > > vs KDE2, although it might be a little harder as more active IPC
> > > mechanisms become popular.
> >
> > Reality check? Currently, applications linked with kdelibs from HEAD
> > don't work simultaneously with applications linked with kdelibs 2.1. And
> > that's going to become better?
>
> To be clear: you can't combine libs of the 2.x series. Either all your apps
> use 2.1 libs or all your apps use 2.2 libs, you can't mix.
>
OK please explain why we decided that we can't do what you have described
above and also keep in mind the following
Quote from the B/C page of kde.org
A library is binary compatible, if a program linked dynamically to a former
version of the library continues running with newer versions of the library
without the need to recompile.
If a program needs to be recompiled to run with a new version of library but
doesn't require any further modifications, the library is source compatible
I have a program that uses kde 2.x libs that runs fine but when a user
upgrades to kde 2.x+1 and my program refuses to run is that binary
compatablily? I don't want to start a flame war here but can we have
a definition of binary compatabilty that makes sense. The present one
doesn't.
Most of my programming experience has been with DOS/Windows and at least
there if you had a program that ran under version X it usually would also run
under version X+1 without any problem. Maybe we shoud take a clue from QT as
it seems they don't have as many problem(s) kde has; a program compiled/linked
under 2.2 usually works under 2.3, but a program compiled/linked under kde
2.1 as stated before might not work under 2.2.
If this is a "major" task to ensure b/c then might I suggest that we
add/remove some modules to KDELIBS to ensure that anything that ran under kde
2.1 should also run under 2.2. (assuming that is all it takes.) but I fear
that this is not as simple as it sounds.
Maybe I am naive about the current software development cycle but I don't
think my suggestions ideas are not too far out of line. All I am asking for
is a "stable" set of libraries to be able to develop other software. The
current situation does not enable a developer to do this. Last week the
program I wrote works this week (a minor version change to what
my program depends on) it doesn't so I am back to learning what has changed
and how to fix my program to take this into account only to be screwed again
in another 2-3 weeks (or however long ) when 2.x+1 is released to find my
program that I wrote successfully, no longer works. After a few times of
bashing my head against the wall I will eventually decide that KDE is too
"unstable" to use and decide to base my program on something else.
GCC/(insert other popular library) doesn't change as often as KDE does.
And IMHO that is a correct correlation KDE supplies an API that other programs
try and use; but due to other program's requirements/features that API gets
broken then how does one keep a program up to date?
I could see this if we were just writing a single program but we are writing
a "template" that other programs/programmers have to use and we should be
doubly carefull that our code is not what breaks other code.
> Getting KDE 2.x running besides KDE 3.x will be a daunting task. It will
> put additional constraints on what we may change in KDE 3.x and I don't
> like that at all. I'm inclined to say that we shouldn't support KDE 2.x
> running in parallel with KDE 3.x at all. Yes, I know that sucks.
The only common thread that ALL developers face is that there are only
24 hours in a day and ANYTHING that would cause something to take more time
(maybe a recompile or a debug session) should be avoided. My time is
probably worth less than any 2-3 other developers out there and having to
recompile the "whole" kit and kaboodle just to get something that worked
before someone decided to add a new feature is not the way to try and develop.
Does anyone remember trying to develop KDE last year when kde and qt were
changing almost daily? Yes without the changes KDE wouldn't be where it is
today but think about the man-hours that were lost to hard to track down bugs
(....is it my program or a library change.)
Development on a "moving" target is like trying to nail jelly to a wall You
might get lucky and again you might spend the next week tracking down a bug
that you don't have enough information about because the libraries you
developing against are changing faster.
IMHO we must set some sort of failsafe ... KDE WILL always work against
(insert variable number of libraries/kernels/whatever) and stick to it not
say for this one we need QT 3.whatever but the exact version; and then if
they release another version we can choose whether we want to support that or
provide a patch against this particular update.
>
> Cheers,
> Waldo
--
Maniac@alltel.net 40° 37' 9" N, 96° 57' 24" W
A single tasking guy in multi tasking world
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic