Ask somebody, what distro would he install at desktop for novice or M$
refugee? Why many are choosing Ubuntu instead of Debian, and even worse,
abandon Debian in favor of Ubuntu? Why do most people consider Debian to
be user-unfriendly and server-oriented distro?
Debian developers often see "Ubuntu the enemy" and are mocking it as
inferior technology. However, they fail to see, what does the Debian
really offer to desktop users eventually. They fail to understand, why
are they using Ubuntu happily and reference it to novices. It seems,
that desktop users don't see Debian fitting their needs. What are the means?
The answers:
1, needs
2, release cycle philosophy
3, community
4, priorities
As many see, all of them are different in server and in desktop world,
and many times Debian chooses to dictate the users "we know the best
what You need" instead of listening to them.
Let's think a while about the current situation. First define, what I
need from my _desktop_, being an ordinary power user:
a, The system must work well with available hardware, automatically and
"naturally"
b, Stable without (too many) crashes
c, Applications should work generally
d, Applications should work together well
e, The serious security problems should get fixed ASAP
f, Usability problems, wishes and bugs should get fixed too. I should be
able to report a problem, participate on it's solution and see fruits of
that.
g, I _need_ the new features of some applications -for example improved
import/export filters and so on, and I need them now, because yesterday
it has been already late
h, I wish to profit from Linux desktop progress -improvements on
usability, features, design, performance and so on. I wish to show the
Linux to friends with pride.
We must make clear that:
1, Any distro is only as good as the software it offers.
2, Any software does, and will have, bugs.
***** How does the Debian reallity look like ***
a, Hardware support
It depends mostly on version of kernel, X.org and some specialised
libraries and programs (wpasupplicant, libgphoto, and so on). Generally,
the newer is the said software, the better support.
Some installation and autodetection tools are necesarry too -for
example, if notebook is detected, then the desktop should automatically
reflect that in order of power management, battery and sensor monitoring
etc. In fact, the basic power management and sensor monitoring is
getting traction on ordinary PC's and servers too, so there is no real
need to separate the ntbk/pc/server platforms. Just the battery
management is a special case.
Debian is poor in both directions. The versions are old at start and
ancient at the end of release cycle. The fast evolving hardware don't
make much use of 2+ years old drivers (even if 3+ years old hardware is
considered).
b, Stability
It simply depends on, well, luck on choosing the particulary good
version of software. With stable upstream versions of software, there
should not be major stability issues anyhow.
Debian proclaims to offer excellent stability. However, if some
application does have stability issues, users must wait at least 2 years
for next "stable" version of Debian to see the fix. The stability is not
automatically guaranteed by oldness of software and lack of upgrades in
Debian.
c, Software should work generaly.
As the software is kept in repositories for loong time, it should have
been tested thoroughly when it gets in to stable. Then it remains at the
same version for years.
However, the security upgrades repeatedly caused software to stop
working well in Debian, so the software version's rigidity dosen't
really help much. It simply dosen't prevent software from breaking.
Current stable upstream versions of any software should not have major
usability issues anyhow.
However, if there are major usability issues in software in Debian,
should they have been fixed upstream, user must wait for next stable
anyhow to see the fix.
d, Software should work together
As the software is kept in repositories for loong time, it should have
been tested thoroughly when it gets in to stable. However, if the newer
version of software offers new features that increase the
interoperability with other software, user must wait for next stable to
see it working.
e, Security issues
They are, and will be, found in any piece of software.
Debian does endless work with backporting the patches to the software
that is old and often unsupported upstream already. Patch is sometimes
impossible to apply to such an old piece of software.
Rumors say (accordingly to common sense), that some security bugs are
never fixed inside release cycle of Debian because of that, even if the
fix is available in newer upstream version of software.
Any security patch can affect the usability of software, either by
backpatching an ancient "stable" version, or by installing the new fixed
upstream version. I personally would prefer upstream fixed version,
before the hacked-around-patch that tries to fit the ancient piece of
software that the patch has not been created for originally.
The kernel, Squid and other major server projects already do recognise
the need for "ultra-stable" trees, and they manage (fix and update) them
separately from the less-stable development trees.
f, Usability issues, wishes, bug reporting
In Debian, usability bugs are entirely ignored in fact. If they even are
fixed upstream, user waits the entire release cycle for the fixed version.
Any bug other than security is almost _impossible_ to see fixed. It
usually does not make _any_sense_ to report usability bugs in Debian.
-Upstream doesn't accept bug reports regarding ancient versions of the
software
-In Debian's bug reporting cycle, the user usually ends up with
developer's advice to "try the newest package from unstable" anyhow. Bug
report is then closed with "fixed in unstable". Of course, the package
will then change dozen times again until it gets into stable in next
release eventually, so that in the time of release, the bug could easily
be there again (regressions in upstream and so on..), or other bug takes
place..
-Installing unstable or testing packages leads usually to broken system
dependencies, so it is not advisable for anyone who needs to actually
USE the computer.
All in all, for the user, reporting the usability bug is waste of time,
and if he tries to help fixing it, he may end up with reinstallation of
the system.
For the upstream, the Debian user is out of the game and out of the
community.
Yes, by forcing the ancient versions of the software, the Debian users
are in fact BEING ISOLATED FROM UPSTREAM SOFTWARE'S COMMUNITY:
-Debian Stable user can't help upstream software's community by
reporting bugs and feature requests.
-Upstream software's community cannot help Debian's user.
-Debian user is facing the bugs that usually have already been fixed
upstream ages ago.
This is damaging the ecosystem on both sides.
For the Debian developers, the usability bugs are just waste of time
again and again, because dealing with them don't make any real sense for
anyone.
g, Need for new features
You are out of luck with Debian. The software in Stable is already
out-of-date at the day of release, quickly fading to museal experience.
If You need new software, You must compile it Yourself, tackle with
generic installers, risk the system's consistency by adding testing
repositories, or when You have enough of that, choose other distro.
There's no REALLY supported and advised way to easily get recent desktop
software into Debian and manage it.
h, Improvements to Linux desktop
the same as in g,
** What should be changed **
* 1,
The release cycle should be completely redesigned.
The desktop-oriented packages should be available in as recent version
as possible. The desktop software must not trespass the whole
unstable/testing/stable scrutiny. User should simply get the latest
stable upstream version, no more, no less.
The distribution cannot, and should not attemp to, isolate user from
software bugs. There always ARE and WILL BE bugs, even in the software
that made it into "stable" Debian, even in "security-only" fixes etc.
Managing the bug reports for old versions of software and backporting
the fixes is waste of time.
The stabilisation of software is UPSTREAM's business. Let the upstream
do its job. Let's give the upstream more responsibility together with
support.
Accepting the upstream stable versions, we would shake off much of
colosal release work and backporting effort. Let's simply acknowledge
anyone, that we are supporting the latest upstream versions, with all
pro's and con's, and help users with reporting problems and getting
fixes then. Let's not "over-stabilise" desktop software, as this is
unnatural for it.
The thorough stabilisation scrutiny should apply only to server
applications and the basic platform, with the optimal length of release
cycle of maximum 18 months. During stabilisation, LSB compliant basic
platform (libc and other libraries) should get established and polished
to high merits.
All desktop software, released anytime within release period, should be
simply compiled against this stable libraries platform, and released
immediately as update. Thus, bunch of platform stabilisation problems
should be shaken off, focusing on the merit -the platform.
On the other hand, giving the recent version of desktop software to the
end user will please the users that want them anyhow. Yes, the software
WILL contain bugs, but if we could allow the users to report them with
reasonable ease, the software will only profit from that, and users too
eventually. The whole cycle should allow really good interaction between
authors and users, so that users will report bugs against RECENT version
of software, developers will fix them, and users will get the fixed
stable version. The bug cycle should be shorten enough. Therefore, the
contact between user and upstream software authors should be as close as
possible. Let's re-create the lost community.
Should there be really bad bug in upstream's stable version, let's give
the user a tool for simple downgrade.
In means of this,
* 2,
General bug reporting framework
should be established, in steps. There is bazillion of separate bug
tracking systems, nearly every application has its own one. For the end
user it means, that he must register in dozens of bugtrackers in order
to report the bugs he found in apps.
Moreover, on top of that, every distribution has its own bug tracking
system.
This is not bearable. The user should be able to report a bug from
central application, without need to register here and there. One
registration, the distributional one, should be enough. The
application's developers should work with issues on unified way, not
searching reports and information in every-distro's mailing lists etc.
Debian, being the main community driven distro, should lead this effort.
Negotiations should be held with other distros and main GNU projects.
Ohers would join eventually.
Canonical is currently working on similar idea, so let's work together.
First enable users to report a bug REALLY easily, using a distributional
tool. Then try to interconnect the system with separate bug-tracking
systems allaround.
*3,
New official desktop repository
In order to give the users painless access to the fresh desktop
applications, new repository should be built and officially supported.
It means, user should be able to upgrade his preferred applications
without leaving the official distribution repositories. During the
release cycle, upgrading the software from those must not affect main
system libraries or break dependencies. Users want fresh software, let's
give it to them -in supported, reliable, official form, with latest bug
and security fixes, fresh and hot, directly from the source.
Security upgrades should simply go thru this repository by naturally
upgrading the whole software packages to recent upstream version -no
longer backporting the patches.
The repositories should be advised during installation and user should
easily choose, whether he wants to upgrade the desktop software or not.
In fact, the corporate users that are sensitive to software changes,
probably don't even run security updates at desktop, because they
occasionally break things too. So, nothing changes for them -they'll
just keep the installed version and don't touch it.
*4,
Discuss with main FOSS communities
The basic FOSS communities should get "tuned" to some general release
rules. Stable release of any software should mean that an app is well
tested and can be installed with minimal risk. In fact, the FOSS
software is naturally approaching this manner.
Apps should support constant upgrade with painless transition between
succeeding versions of an app.
Hope this letter could inspire You to look at the situation around
Debian as desktop platform fading away, and think about changes that
would make it vibrant, fresh platform that people would like to use.
About user's community where problems are reported and fixed, and dreams
published and realised.
Have a nice day
Peter
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]