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

Debian desktop -situation, proposals for discussion and change. Users point of view.



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



Reply to: