[kde-linux] Kget "My Downloads" [Is this MS Windows?]

Duncan 1i5t5.duncan at cox.net
Sun Apr 21 03:20:13 UTC 2013


James Tyrer posted on Sat, 20 Apr 2013 13:14:17 -0700 as excerpted:

> On 04/19/2013 10:11 PM, Duncan wrote:

>> I think that kget may be a holdover from the dialup connection era.
> 
> Don't see what it has to do with dial up, but rather
> file_length/connection_speed.  I am out in the country and have only 150
> KiB/sec and long files still exist.

You're correct, but it's more than connection speed.  It's also the shut 
down (and/or turn off the network connection) when done options and etc, 
that used to be commonly used with dialup, but aren't so commonly used in 
the (nearly) always-on, always connected, era.  To someone with a 
reasonable (say megabit-ish, tho even half-megabit isn't /too/ bad) speed 
always on connection that last used dialup (and such options) back before 
the turn of the century, they really do seem like an anachronism, out of 
another century both literally and figuratively.

But if you're getting ~150 KiB/sec, that's ~1.2 megabit speeds, which 
isn't /that/ shabby!  Unless you mean 1.5 kbps (kilobit, not kilobyte, 
per second).  I ran 608 kbps DSL for awhile and yeah, it takes a bit 
longer than multi-megabit speeds, but I found that having an always-on 
connection was at least as important as the speed, here, and as I said, 
anything above ~ a half megabit (512kbps) isn't /that/ bad.

But if you actually mean 150 kbps, then yes, I certainly sympathize, altho 
as I said if it's at least always-on, and even then, being 3-5 times 
dialup speed, it's not /terrible/.

> Since Konqueror has no builtin
> download manager, KGet is necessary to see how downloads are
> progressing, although FTP downloads can be handled as copying.  Long
> files are sometimes still interrupted although it is rarer.  KGet does
> have more features than the download managers built into Firefox and
> Google-Chrome.  It also has Torrent support built in.

I always seemed to have no problems with either konqueror's or firefox's 
progress indicators.  Tho you're right that kget has more features that 
could be used on slower links.

However, until I got a multi-megabit connection, I always made it a point 
to watch the download speed and never try to download more than one thing 
at a time unless it was bottlenecking at the server, not my end.  If 
you're setting up a whole slew of downloads at once, then yeah, they'll 
all take longer, and a download manager might well help.  But I always 
figured I'd rather use all the bandwidth serially, and be able to work 
with the first file while I waited for the next, so even back on dialup, 
I didn't end up using the download managers /that/ much.  (Altho I /did/ 
use them on MS, still doing one file at a time but using a download 
manager that opened multiple connections to different mirrors to get it, 
because the MS Windows 9x connection management was so terrible that one 
/had/ to do that.  But while I installed a similar multi-connection 
download manager in Linux early on, I soon discovered I didn't need it in 
Linux, and uninstalled it.)

>> that no longer has a real maintainer, and that is simply being held
>> together by hacks from some other kde dev when something breaks, until
>> it eventually gets to be no longer worth maintaining, would explain the
>> hacks you see in the code, etc.
> 
> This might explain why it wasn't fixed, but doesn't explain why it was
> written wrong to begin with.

Well, a lot of freedomware is originally written by "kids" in college.  
When they graduate and get a family and a job... often times they quit 
contributing so much as they simply don't have the time any more, and the 
next generation of college kids takes their place.

Given that scenario, it's reasonably likely that any given piece of 
freedomware was originally written by a first or second-year college kid, 
and that it was their first real-world project, so of /course/ there's 
likely to be "first year programmer" mistakes.

If it's a popular enough piece of software, someone else will take up the 
mantle when the original author and first maintainer moves on, but if 
it's a fringe case, not so much.  kget has evidently (pure speculation 
based on your comments and my general FLOSS experience, no inside kget 
knowledge on my part) been popular enough to stay in kde core, but not 
popular enough to have a real dedicated maintainer, so whenever it gets 
too broken, someone steps up and gets it working again, piling on another 
set of hacks on top of what was already there, just enough to get it 
working, without actually taking time to get familiar with the code and 
to rewrite it properly, killing the hacks in the process.

That it's an app mostly used by people with relatively slow connections, 
in an age where most people have around megabit or better and all those 
college kids that form the backbone of the volunteer force have the high-
speed college/uni connection to use...

So it's left moldering... until it breaks and someone piles on another 
hack to get it working once again.

>> Meanwhile, kde5 aka kde frameworks is being designed to be far more
>> modular, and already they're gradually splitting up the formerly huge
>> monolithic tarballs into individual repos, with the core desktop
>>  intended to be much smaller and all these individual apps that are
>> now part of the six-month core kde update and release cycle, will
>> probably be shipped separately and updated on their own schedule.
> 
> Does this mean that KDE-4 is already being abandoned by the developers?
>   Do you think that there is any chance that KDE-5 will ever work, or
> will it just be the same story?

Well, first of all it's worth noting that in general I'm an optimist, so 
an optimistic projection on my part doesn't mean as much as it might from 
others.

But that said, the message from multiple kde-insiders is that kde5 will 
**NOT** be another kde4 replay, and I do have /reason/ for my optimism.

Among other things, the base underneath kde has changed significantly.  
Qt5 in particular is far *FAR* more open than qt4 was, as it's truly a 
community project now.  KDE, being the biggest freedomware qt user and 
one of the biggest qt users period, has thus had a rather larger 
influence on qt5 than it did on either qt4 or qt3 -- and the influence it 
had on qt4 was already not negligible.

There's an interesting dynamic developing between qt5 and kde5/
frameworks, then.  Parts of what was kdelibs because they formerly had to 
stay separate, are moving down into qt5, where they have a much broader 
community base of support, including a number of businesses now built 
around qt, so while qt's more open than it ever was, these bits that were 
kde are getting more full-time professional development and support than 
they ever did, as they're now part of the broader qt5.

Meanwhile, qt5 itself is *MUCH* more modular, shipped as a collection of 
mostly optional modular libraries built around a central core.  So where 
with qt3 and qt4, if you had qt installed, it was generally assumed that 
you had it all installed, now, each of these modules (except for core) 
will be optional, depended upon and installed separately.

And, it's worth noting that qt5 in general NO LONGER IMPLIES GUI!  Qt5-
core is designed to be usable in and depended upon, perhaps with a few 
non-gui modules (qt5-sql, say) as well, by CLI apps as well as GUI apps.  
All the GUI stuff is designed to ship in the optional GUI-related modules.

It's within this framework that parts of the former kdelibs are now 
migrated to various (naturally optional as dependencies) qt5 modules.  
This at the same time that kde-frameworks itself is going far more 
modular.

The practical effect is that in the 5th generation, the lines between kde 
and qt will be blurred quite a bit, as both will be heavily modularized, 
with pretty much everything being optional, individual kde and qt-only 
apps and libs depending on individual kde and qt libs and modules only as 
necessary, without the monolithic assumptions of the 4th generation.


That's the main reason I've not been overly concerned about the semantic-
desktop stuff getting woven even further into basic kde assumptions in 
generation 5.  With the extremely heavy emphasis on modularation both at 
the kde and qt levels, hard requirements on semantic-desktop components, 
except for the semantic-desktop-related-apps themselves, simply don't 
make sense.  They, along with everything else, are pretty much guaranteed 
to be optional.


In the kde area, meanwhile, since before the general switch to git but 
accelerating ever faster since that switch (and as the stragglers switch 
to git), even kde4 is getting increasingly modular, individual packages 
shipping their own sources, instead of the formerly monolithic huge 
conglomeration source tarballs... as I'm sure you must be aware given 
your LFS base.

At this point it's worth noting that only a few weeks ago, I personally 
switched to the kde-4.10-live-branch gentoo/kde overlay ebuilds, because 
I now actually could do so without having to install svn, since all the 
mainline kde packages I run now (but for one) are git-based.  The big 
exception are the artwork based packages with their heavy binary 
component, since git isn't the big win for binary-based-files (like 
images, sounds, etc) that it is for text-based sources.  So the artwork 
packages are still generally svn based, but almost all of the rest of kde 
is now git-based.  While I did have several of the kdeartwork-* packages 
installed, I decided the only one I really needed was oxygen-icons, so I 
uninstalled the others, and for oxygen-icons I'm still running the non-
live-branch version (currently 4.10.2), while for everything else 
kde-4.10.* that I have installed, I'm running 4.10-live-branch, numbered 
4.10.49.9999 on gentoo.

FWIW, I'm updating about twice a week.  I have about 128 live-packages, 
but two of them aren't kde-related, so about 126 kde live packages.  On 
my 6-core AMD bulldozer-1 (fx6100) system clocked to 3.6 GHz, 16 GB ram, 
with the system still on a "spinning rust" drive but with the builds 
actually being done on tmpfs then copied to the live system, and with 
ccache caching build results for components that haven't updated, it 
takes me less than an hour to update.  (I timed a rebuild at 23 minutes I 
think it was, with hot cache and having just done a build, so there would 
have been virtually no updates, obviously cold-cache with a few days of 
updates will take a bit longer, but it's still under an hour, and of 
course I can do other stuff while it runs.)

Anyway...

Yet another factor in the "we won't let the kde5 story be a replay of the 
kde4 story" theme is that helped by the increased modularization, they're 
aiming for kde4/kde5/frameworks compatibility.  That is, the goal, at 
least, is to allow people to choose to run either a kde4 desktop with 
individual kde5/frameworks apps, or the reverse, a kde5 desktop and some 
kde5 apps, with individual kde4 apps as well, if it turns out that the 
kde5 versions simply aren't as good.

Of course part of that is ensuring that the various components won't 
stomp on each other, like for example ksycoca (the kde system config 
cache) did with kde3/kde4 -- it was very difficult to run components from 
both kde3 and kde4, because the ksycocas from each stomped on the other, 
and the environmental variables that might have otherwise been 
configurable to keep them separate, were the same ones in both cases as 
well, so one had to actually use a wrapper script to reset the one not to 
conflict with the other if one wanted to run both well.  At least the 
goal with kde-frameworks, is to have it sufficiently separated and/or 
directly compatible with kde4, that the components won't step on each 
other.

We'll see how that actually works in practice, but it's definitely a 
worthwhile goal, and if they pull off the modularity thing as WELL as the 
separate-or-compatible config, it could well work.  We'll see, but I am 
optimistic.

Finally, helping with all this is the fact that the kde-frameworks 
upgrade /is/ supposed to be compatible, in general.  Unlike the kde3/kde4 
upgrade, which was a BIG technology change, the kde4/kde-frameworks 
upgrade should much more resemble the incremental upgrade of kde2/kde3, 
or so the argument and intention is.  While I did run kde2, it was close 
enough to my original switch from MS that I didn't really know a lot or 
worry much about the upgrade, but I certainly don't remember it being 
anything near as disruptive as the kde3/kde4 upgrade was, which means 
good things if the kde4/kde-frameworks upgrade is supposed to be closer 
to the kde2/kde3 upgrade level, than the kde3/kde4 level.


But of course there's yet another plot bend to throw into this story here 
as well.  The xorg/wayland switch may very well occur about the same time 
as the kde4/kde-frameworks switch.  If not at exactly the same time, 
they're likely to be within a year or 18 months of each other, which will 
likely mean that for at least the enterprise and multi-year-upgrade 
distros like debian, they'll occur at the same time from the perspective 
of the users of those distros.

And qt5 already has preliminary wayland support, with kde-frameworks 
wayland support being planned as well.  If you watch, there's occasional 
blogs on the subject from kde's kwin and plasma folks, among others.  
FWIW kde/kwin is planning on continuing the server-based-decorations of 
xorg, not the client-based-decorations of weston, wayland's reference 
compositor.  The reasoning is covered in those blog posts I mentioned.  
But wayland is designed to allow your choice of compositor, just as xorg 
and xfree86 before it, as well as kde, allow(ed) your choice of window 
manager, and few use the reference twm (I believe it is) that is 
developed by xorg, these days.  So while there's certainly going to be 
some "interesting" stuff to deal with for a few years in terms of non-kde 
wayland clients on a kde/wayland system as everything works itself out, I 
expect it'll all work out in the end.  Meanwhile, worse comes to worse, 
kwin (or whatever the kde wayland compositor ends up being called) will 
probably simply yield client-decorations-draw to clients that expect it, 
in the mean time, while the kde/qt wayland libs will include support for 
client-decorations-draw to support weston and similar compositors on 
wayland, should they find themselves running under them.

Meanwhile, of course there's both an x-support-subsystem for wayland, and 
a wayland-support-subsystem for xorg, in the works, so that users can run 
a hybrid system for a year or two, or longer if necessary, should not all 
apps they run be yet converted to wayland, or if they simply prefer xorg 
to wayland for the time being.

(It should be mentioned, however, that since a lot of the same people are 
working on both wayland and xorg, once wayland takes off, interest in and 
commits to xorg are likely to drop off dramatically.  That said, the BSDs 
are having some trouble keeping up with some of the DRM, KMS, etc 
assumptions of wayland, and xorg may well end up being a primarily BSD 
technology in say five years' time.  But it's unlikely to be entirely 
going away any time soon, even if people who prefer it end up having to 
switch to a BSD at some point.)

But this whole modularization theme works well from this perspective as 
well.  Both xorg and wayland are going to continue to be supported 
probably at least thru qt5 with their respective qt modules, and kde-
frameworks, going modular as well, will almost certainly be doing 
likewise, unlike the recent headlines about gnome, kde will almost 
certainly continue to support the BSDs via the modularization both kde-
frameworks and qt5 are undergoing.

The same theme applies to systemd vs alternative initsystems support, 
BTW.  systemd is of course incredibly controversial on linux, in part 
because of its borgish/gray-goo aspects, seeming to engulf and absorb 
project after project as it encounters them.  But be that as it may, the 
systemd devs have always made a point about not hesitating to use linux-
only technology if they think it's the best way forward, even if it 
leaves the bsds out of the loop, as it does, so systemd is certainly even 
more of a negative story on the bsds than on linux!  And the gnome folks 
are apparently making systemd a required component, thus becoming linux-
only.  With qt5 and kde-frameworks, meanwhile, kde is deliberately going 
ever more modular, and intends to continue to support the bsds, etc, thru 
this modularity.

Which means systemd is very deliberately going to remain optional in kde-
frameworks, as well.  That's very good news for people like me, since 
while I expect I'll eventually move to systemd, I'm in no hurry (gentoo 
has absolutely no indication or current intent of killing its current init 
solution, openrc, any time soon), and I hope to let systemd mature quite 
a bit more, at least until it quits gobbling other projects and has time 
to stabilize everything it has gobbled up, before I switch.

So yes indeed, I'm VERY happy to find that all this modularization is 
likely to continue to support not only the no-semantic-desktop choice, 
but also the no-systemd choice, as well as the xorg AND wayland choices, 
at least thru the generation 5 timeframe. =:^)


Then of course there's the good architecture design which modularization 
encourages, but I expect you could teach me way more about that aspect 
than I could tell you.  However, I do expect you'll find this whole thing 
quite encouraging as well.  I trust you'll post to the contrary if I'm in 
any way incorrect in that expectation!  =:^]


Status?  Of course qt5 is out, tho I expect kde-frameworks will require 
5.1 or 5.2 by the time it comes out (much as kde 4.0 required qt 4.2 or 
4.3 or whatever, 4.0 wasn't enough).  Meanwhile, AFAIK, the kde-
frameworks libraries are coming along quite well, but aren't frozen yet, 
and work on the apps and upper level libs really hasn't seriously begun 
yet, except for proof-of-concept text-cases, since they'd be building on 
a still shifting API base at this point, so would either have to 
continuously shift to keep up, or would at minimum have to redo it 
anyway, once the API freezes.

But it's worth noting that due to the modularization, once the lower 
level libraries stabilize, apps and upper level libraries (like 
libkdegames) will likely push ahead and release at their own speed, as 
part of the whole modularization push is breaking up the monolithic 
release cycles as well.

So we might actually see the first kde5/frameworks apps out pretty 
quickly after stabilization.  But it's going to be WAY different than 
kde4, if for no other reason, because (unlike kde 4.0 which was supposed 
to be kdelibs set, but only betas of all the apps) the libs are supposed 
to release as stable first, with individual apps coming out after that at 
their own speed, and a much smaller emphasis on full kde releases, if 
indeed they happen at all.

So it might end up much like xorg-x11 these days, they do still have 
occasional xorg-x11 releases, but it's no big deal, because all the 
various modules release independently on their own schedule, and the xorg-
x11 release is pretty much just a collection of what happens to be stable 
at that point... plus a bit of cleanup and bump-release of the stragglers 
that otherwise wouldn't get much attention at all.

If kde-frameworks does do full releases, that's probably what they'll 
look like, no big deal for most apps, which will be versioned separately 
and will release on their own cycle, but the full kde-frameworks release 
may encourage cleanup and update to build with current tools of a few 
stragglers that otherwise wouldn't see much attention at all, let alone 
releases.


Of course current wayland's in a similar early state, altho they do have 
a frozen initial wayland 1.0 API to work against, now, but there will 
very likely be minor-level (1.1, 1.2...) level updates needed before 
anything as major as gnome or kde ships on them.

Meanwhile, recent developments in the form of wayland competitors 
(ubuntu's mer, and a different and rather crazy offshoot fork that seemed 
to go nowhere and abort real fast) as well as gnome's apparent effort to 
standardize on wayland/weston/systemd/linux, are I believe having the 
effect of pushing wayland forward somewhat faster than it might have 
otherwise evolved.  We'll see how things turn out.


>> And kget might be one of the apps that gets dropped by the wayside in
>> the upgrade, since it's really not needed these days.
> 
> It would be better replaced with a browser plugin or component.

Agreed.

>> If it does get ported, it'll probably be on a rather long release
>> cycle, with little further work put into it besides the bare minimum
>>  to keep it building and running.
>>
>> OTOH, perhaps somebody new will take an interest and either develop a
>> fresh replacement for it, or will rewrite it and kill the hacks that
>> have built up over the years...
> 
> If the current code base is built on poor design, or hacking instead of
> design, it might be better to start from scratch with a design.

Agreed, of course.

One last caveat/disclaimer, however, just to be sure I'm not 
inadvertently messaging something other than intended:

Again, I've no internal knowledge of kget or its maintainer status, nor 
do I even have it installed, so am basing my viewpoint in terms of it 
primarily on your comments, as well as my own experience in light of 
those comments.  To be specific, I've not even looked at kget's code 
personally, nor am I likely to, since it's of no interest to me.  

However, quite in contrast to the kget details, I do believe the above 
outline of kde5/frameworks and qt5 to be very close to correct, as I've 
been following developments there reasonably closely, even if I still 
have no private info, just the public blog entries of those involved, the 
various FLOSS community news coverage and discussion, etc.  Because 
that's coming from multiple sources all saying pretty much the same 
thing, while I've only you as a direct source for the kget stuff, and you 
yourself mentioned you'd been out of the loop for a couple six-month kde 
feature cycles (as your questions on kde5/frameworks hints as well, tho 
I'd probably have been following them closer even if you /had/ been in 
the loop, simply because I believe I'm probably more interested in them).

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




More information about the kde-linux mailing list