
Linux is not about choice (2008) - emillon
http://www.redhat.com/archives/rhl-devel-list/2008-January/msg00861.html
======
rayiner
Epic: "But the chain of logic from 'Linux is about choice' to 'ship everything
and let the user chose how they want their sound to not work' starts with
fallacy and ends with disaster."

~~~
ctdonath
Is sound _still_ a problem on Linux? I realize the article is about 5 years
old, but Linux has been around for a long time now, and sound is a really
basic function I'd expect even obtuse geeks would want to solve. If it _is_
still a problem, seems that's a definitive concise example of why Linux can't
win the OS wars: some things _must_ work, even if _nobody_ wants the task of
making it work; sometimes the only solution is to _pay_ someone to do what
nobody else wants to.

ETA: Seems the answer is "yes".

~~~
gue5t
It really isn't. Unless you have a card without a driver (exceedingly rare,
though it's not uncommon to need a recent kernel to use recent hardware) ALSA
pretty much Just Works. For complex features like streaming sound over the
network you need PulseAudio, which due to its complexity takes more
configuration and setup, but that's done out of the box on a fair number of
distros. I don't know of any major software that requires OSS (though if I'm
not mistaken it's still the preferred solution for BSD and therefore often
available as an option), and only professional software uses JACK; users of
JACK generally buy high-end hardware specifically for that purpose and know
what they're doing.

So there are three major components for different purposes. Core audio support
is the domain of ALSA itself and Linux does a good job with it. PulseAudio
provides advanced capabilities on top of the more basic/hardware-oriented
functionality in ALSA, and JACK provides low-latency audio for realtime
applications that need it (not games, only really audio processing equipment).
With large amounts of work the partial redundancy between these components
could be removed, but it's really not a big issue; for desktop or professional
use getting things to work right isn't too hard.

~~~
pmahoney
I actually find PulseAudio vs. JACK incredibly annoying. I like to play around
with "professional" audio. I don't consider it professional, but more
relevantly I like to play with certain apps that require JACK.

It's certainly an RTFM thing, but last time I didn't know how to get
PulseAudio to go away. I wrote a shell script to keep killing it in a loop
(since it restarts itself) long enough to get JACK to take over. I know there
must be better ways...

Then inevitably once I've got JACK setup, I'll want to play some background
music or watch some Flash video online without tearing down my JACK setup.
Oops, does that audio player support JACK natively? Do I have that plugin
installed? Can I run Pulse and have it direct output into JACK? None of this
has worked smoothly in my experience.

> users of JACK generally buy high-end hardware specifically for that purpose
> and know what they're doing

This has not been my experience. I love to dabble, but apparently don't know
what I'm doing.

~~~
leephillips
Reminds me of how I seem to need to purge anything related to "avahi" before I
can get wireless networking to work. I don't know what that junk is for but I
wish it wasn't installed by default.

~~~
thwarted
I don't know why it is generally enabled on "server" installations. That being
said, the only time I've had a legit use of it was on a media server, running
mediatomb, which uses avahi to do SSDP/mDNS/zeroconf/DNS-SD [1], and on the
client running VLC (I think the "local network" options interface with avahi
itself). Which actually ended up being quite nice. I usually disable it, and
try to uninstall it completely, on other server installations.

[1] <http://en.wikipedia.org/wiki/Zero_configuration_networking>

~~~
marshray
I can't seem to install GVIM on Ubuntu without avahi. I wish I had more choice
about it.

~~~
rammark
Try installing vim-gtk instead of vim-gnome.

~~~
marshray
IIRC, it would have required me to add the 'universe' repository.

------
mwfunk
I don't think Linux is about anything (and that includes intangibles like
"choice" or "freedom"). It's an open source kernel that a bunch of people hack
on, that's it. The traditional Linux distro model is about choice, but that
was from necessity, not design.

Android and Ubuntu and others have shown that there's a whole spectrum of OS's
with varying degrees of specific design and policy that you can build on top
of the Linux kernel and specific pieces of the traditional Linux userland
stack.

I don't think any one of these things is the right way to do a Linux-based
system, I just see all of that software as the primordial ooze that various
OS's arise out of.

There was a local minimum in the late '90s and early 2000s in which most of
the distros were trying to do the same thing in different ways and remain more
or less compatible with each other, but these days there's a lot more
willingness to actually try to design complete systems, which include things
like UI policies and standard libraries that limit their compatibility with
other systems. I think this is great- the traditional distro model is still
going strong via Debian and Slackware and so on, but I'm glad that people are
thinking about Linux in new and more specific ways as well.

(EDIT: typo)

~~~
bkor
The article is not about the kernel, but about delivering something people can
use and expect that it works. So not just a kernel itself. Fairly common to
call that Linux, even if technically it is just the kernel (and IMO GNU/Linux
is "urgh").

------
TallGuyShort
>> If you try to deliver both at once you have to also deliver a way of
switching between the two.

I would argue instead that Linux is about freedom. In other words, rather than
expecting my distro to go out of its way to provide multiple choices and a way
of switching between those choices, I expect it to not go out of its way to
prevent me from switching if I chooose to, even if switching is difficult, and
even if it needs to warn me that what I'm about to do is a bad idea.

------
jacquesm
OS: the huge pile of code that you need to get process abstraction, a file
system, networking and possibly some human interface stuff up and running.
Code best not seen nor heard because that means you're not doing what you
should be doing: using applications or writing them.

OS software is a commodity, and with portability being Linux' mainstay it can
now be found on processors of almost any pedigree.

Linux is all about choice: it is about being able to choose the hardware you
want and to couple it with the software that you want. But that choice is
overwhelming at times and there is definitely a case to be made for a
restricted version of all that choice. Ironically this leads to more distros,
hence more choice...

~~~
ctdonath
It's not the proliferation of choices that's the problem, its that so many of
those choices don't work.

~~~
roc
And there's so little information available/presented to the person who has to
make that choice, as to which ones _do_ work, or which ones they should even
_want_ to work.

~~~
VLM
Offline and completely alone I agree, you'd have to try stuff and see what you
like. Which is not awful given a decent package management system.

Of course in the modern connected world, you use what your friend showed you,
or google, or youtube, or some blog page. screencasts, and tutorials, and
faqs. I've never considered the free software community to have a shortage of
opinionated highly vocal people.

Someone turned me onto the Awesome window manager, don't remember who or
where. Probably 20 years ago I mostly used emacs but the smartest engineer I
worked with used vi, so peer pressure struck. I learned GIT from a text blog
tutorial quite a few years ago. I watched a screencast on Arduino IDE
installation (which was embarrassingly simple and worked perfectly)

~~~
ctdonath
Great. Now I have to spend inordinate time mining the proliferation of answers
for the correct one. Google is great at showing you wrong/invalid/incomplete
answers to questions asked years ago, burying the rare & obscure answers
you're looking for.

This instead of it just working, and/or having a definitive central answer
site.

------
pixelmonkey
"Software is hard. The way to fix it is to fix it, not sweep it under the
rug."

Love this line. Been thinking a lot about this as I work on scaling a large-
ish SaaS product that has been in the market for 18 months.

One other interesting dynamic: sales teams always think it's better to add
things than to remove things (after all, you can't sell the things you
remove), which I now realize is partially the reason many enterprise software
packages feel "bloated" over time.

~~~
nrivadeneira
"One other interesting dynamic: sales teams always think it's better to add
things than to remove things (after all, you can't sell the things you
remove), which I now realize is partially the reason many enterprise software
packages feel "bloated" over time."

I'm experiencing exactly this. It's like they want to have every feature to be
able to whip out for every type of customer. They dread the circumstance where
they have to say "Sorry, we don't do that."

~~~
gizzlon
Well, they often work on commission..

~~~
nrivadeneira
True, but in the case of startups with limited dev resources, bloat adds to
development and maintenance cost. Poor management of resources like that could
mean trouble for a startup.

------
justsee
This was an entertaining talk from CCC in 2011 on desktop Linux. 'datenwolf'
was the speaker, and he starts talking about sound in Linux here. [1]

He's quickly interrupted by the maintainer of PulseAudio, and this
interruption continues throughout the talk.

My takeaway was that if there was still this amount of confusion and
misunderstanding in the community, my frustrating experiences with sound in
desktop Ubuntu was not atypical of dekstop Linux users.

[1] <http://www.youtube.com/watch?v=ZTdUmlGxVo0#t=11m>

~~~
makomk
PulseAudio decided - as it does - to turn my headphone volume up to 100% when
that video started playing. Gotta love audio on Linux!

~~~
bkor
Are you sure it is PulseAudio? In case of multiple outputs (headphones,
speakers), PulseAudio can change volumes of them based on data from ALSA.
Intention is that volume stays the same, except if the data from ALSA is
wrong. Even with one output wrong info from ALSA will result in sudden volume
changes.

------
elisee
Just a quick note: this is a mailing list post from January 2008. Might be
worth tagging the HN headline with it. (EDIT: it's been done)

~~~
emillon
Edited, thanks.

------
bifrost
I'm not sure what this thread is about frankly.

It reeks of "ooh, linux is great because its !somethingelse" that used to
pervade academia and a lot of the industry. Frankly that still pervades but
there's finally more substance behind "Linux" as a whole. For a lot of newbies
"Linux" was their first experience with a unix-like system, so they either
loved it or were made to use it and became familiar with it. Thats not
particularly a bad thing but it results in this rampant fanboyism thats kinda
annoying to someone who was using other systems beforehand.

So yeah, you get "choice" with Linux, but you get it with a bunch of other
operating systems too, you just have to do a different amount of work. There
are plenty of things that are not easier in Linux, but really its all about
tradeoffs.

~~~
benihana
>I'm not sure what this thread is about frankly.

Make a decision, even if it's difficult and even if it will piss off your
users. Don't defer the making of a decision to the user and hide behind
"choice"

------
Aardwolf
Indeed, it's just about using an OS that's great for developing. An OS that
has certain advantages over others that appeal to certain users that like
those advantages. By hackers, for hackers.

------
noonespecial
Part of the problem is that linux isn't linux the way windows is windows, and
people expect it to be.

------
zokier
I think Linux is kinda about choice (as a base building block for your own
OS). And distros are out there to make those choices so that I don't have to.

------
es20641
I don't really follow this argument.

"... because there are so many kinds of cars you can buy that cars are about
choice."

The "Choice" part of Linux doesn't come into play so much when you are
"shopping for a distro", it's the fact that if there is something you don't
like the spoiler on your distro, you can switch to another. Heck, you can even
build the distro from the ground up and choose EVERYTHING in it.

------
marshray
Who is this redhat.com and why should I care what color their fedora is?

Of course I'm being a quite facetious here. But the point is that I have many
computers and VMs running several operating systems, many with Linux kernels,
but somehow I've not chosen the Red Fedora. I wasn't aware they even cared
that much about desktop users.

Perhaps I have the "disease which strangles the mind"?

~~~
bkor
You should investigate how much Red Hat contributes all over Linux. Server
side, but also loads of components used by various desktops.

Not knowing about the huge contributions makes it overdue to investigate.

~~~
marshray
I do know, which is why I said I was being facetious. My point was that it's
ironic for them to be talking about reducing user choice when somehow _given
all their contributions to Linux_ I'd not chosen to use their system anyway.

------
GhotiFish
Yup, no one could disagree with this sentiment. Nuke old useless features, if
you have new better ways of doing things, and they actually are better, that's
awesome. Do that

As long as you actually DO have a better way to do things.

------
antihero
Yes, but when we get to things like Gnome and KDE, the ability to _choose_ to
run far far away from them is a very _very_ good thing.

------
MostAwesomeDude
Ctrl+F "ajax" isn't finding anything, so...

The poster here goes by "ajax" on more useful communication channels (i.e.
IRC). He's one of the most competent hackers I've ever been able to work with,
and his ethos comes through loud and clear here: If code is broken, fix it. If
code is being misused, stop abusing it. If code is missing, write it.

~~~
slashclee
You're forgetting perhaps the most powerful ethos of ajax: If the code can be
deleted, nuke it.

------
frozenport
Big distros don't use Linux how Linux developers use Linux. The guys that
write Linux software always have the latest version and test against them.
Once I switched to Gentoo I have a rock solid system with the latest and
greatest software packages. Every week I update all my software and my laptop
has been running on the same install for 2 years, with Ubuntu some random
nonsense would fail every 6 months and with SUSE you would be using GCC from
the stone age.

~~~
IanChiles
Gentoo and Arch are wonderful for staying absolutely up to date. Far better
IMO than anything else - but for anything production wise or mission critical,
nothing comes close to Debian, RHEL/CentOS, and SuSe

------
plutr
Why is this old stuff from 2008 being posted and upvoted?

~~~
mpyne
It's as right now as it was 5 years ago, and has a lot of corrolary with other
customer-facing, resource-constrained software maintenance environments that
you might see from a YC participant.

And I say this as a Linux user who doesn't use PulseAudio...

~~~
jebblue
>> And I say this as a Linux user who doesn't use PulseAudio...

PulseAudio works great in Linux? We can switch easily between a headset mic,
web cam mic, builtin mic, etc. I think this is still problematic on Windows.

~~~
mpyne
I do literally none of these things though. My speakers have a headphone port
which works perfectly 100% of the time without needing an entire new sound
server to route all audio through. There's a reason my sound has continued to
work properly for years, and that's because I didn't "fix it" when it wasn't
broken. ;)

