Mark Shuttleworth's big mistake
itwire.com
itwire.com
They're mad at the Amazon search results because 1) Ads are now intruding in what's been an ad-free space since pretty much the dawn of the OS. 2) Assumed-private input into your OS is now being sent to a 3rd party, and you have to opt-out instead of opt-in.
Definitely a bad move by Shuttleworth; it was a fundamental paradigm shift in what people expect from an OS, crammed in half-baked, without the fanfare or discussion that was due.
That is Shuttleworth's big mistake: consistently releasing alpha-quality software in an environment where eventually upgrading is mandatory. (Because with all milestone-based distros, if you need an update to a single program, the entire system must be updated along with it.)
He's burned a lot of community karma by doing this. Witness Pulseaudio, or Unity, or now this. Day-to-day users don't want to be beta testers, they want a stable (i.e. bug-free and polished) experience, and Ubuntu doesn't deliver that.
Shuttleworth, Ubuntu, and its users would be better served by focusing on polish and regression- and bug-fixes instead of trying to turn the industry upside-down every six months. Spend time fixing bugs so I can recommend Linux to mere mortals, set up a testing lab with a wide array of real-life hardware to track and prevent regressions, and don't release something unless you'd be happy releasing it in a world where you can never update it again.
Alternatively, figure out a way to change Linux from milestone-based releases to what Windows has accomplished: A platform where the core is tested and stable, and the user can install whatever version of whatever program they like. DLL hell is a thing of the past, storage space is practically free, and Linux should be able to update, say, GIMP, without requiring an update to my graphics drivers at the same time. That way we can enjoy a stable system and opt-out of Shuttleworth's half-baked experiments.
But that's a pretty tall order.
What Microsoft has done has been to put considerable effort into backwards compatibility which is why you can just install most software (but not for example device drivers). This effort is extremely costly but is a necessity in the Windows world. If you upgrade Windows and apps stop working, do you blame Windows or the apps? Contrast with MacOS.
The developers of many Linux apps do not themselves ensure compatibility with older versions of various libraries - step 1 in reporting bugs tends to be reproduce with the latest version of everything. Having the distro engineers do this work would be hard. Just having multiple versions of the libraries isn't sufficent - for example it would be necessary to ensure they use the same settings - and when libraries use other libraries the version combinations get extreme.
Some examples of just how far Microsoft goes:
* http://blogs.msdn.com/b/oldnewthing/archive/2003/12/23/45481...
* http://blogs.msdn.com/b/oldnewthing/archive/2010/01/21/99511...
The Apple model of requiring app developers to keep pace requires a lot less effort from the distro vendor.
Gobo Linux has taken some good steps towards doing something like this; as I understand it, apps are installed without any system-wide dependencies, so you can have different versions of the same app at the same time, regardless of the overall system configuration. Sadly I think Gobo Linux is abandoned, but the concept was a great step forward.
Regardless of how hard it is to accomplish what Windows has done, I think it's essential for an OS if it truly wants to be in the big leagues. (OSX gets a special pass because they control their own hardware, which moots almost the entire point I'm making.) The concept of "upgrade one thing, upgrade everything" is a relic and pretty much the shot in the head for a distro that wants to usable by humans without crazy regressions every 6 months.
In these modern days of huge amounts of memory, this is exactly what we should be doing: static linking everything.
The one other approach which works for some is not using milestones at all - just keep everything rolling. This is actually a far better match for how much of the upstream software actually works, and some distros have had some success (eg gentoo). You see rolling releases proposed every now and then (eg for Suse).
Look at the C standard library and core UNIX system call interfaces and Win32 for examples. I wrote something (an NNTP client) for Win32 for NT4 that was statically linked. It still works fine now on Windows 8 x64 16 years later without a recompile.
Your Microsoft binaries still work because of the huge amount of effort Microsoft puts into backwards compatibility - read Raymond Chen's blog for details. In particular when apps are buggy, Microsoft goes to great lengths to keep the app working.
Use LTS if you want that.
I don't think Pulseaudio or Unity is comparable to the Amazon-Lense. PA is mostly a technical decision. It caused some problems initially. But now it's fine and dislike of PA seems to be mostly a bandwagon thing. Unity was a drastic change and that certainly annoys users. But it's mostly about your design preference whether you like it or not. Although some (very loud) users seem to hate it with a passion.
But the Amazon-Lense is on a different level because it is not on a technical or design level but rather on a philosophical or ideological level (I seem to lack a proper word here. But I hope you understand what I mean). And I agree with your criticism. Users dislike ads in a former ad-free space and users hate when people mingle with their privacy.
Shuttleworth's mistake is his intent on releasing alpha- and beta-quality software every 6 months, but without giving the community the easy and foolproof ability to pin certain software at certain versions, so they can get updates to some things but not others.
That's why people got mad at Pulseaudio, at Unity, and (partly) at the half-baked Amazon stuff: because the very structure of Ubuntu and Linux forces these things on them, and they didn't have a choice if they also want the other shiny features of release X.
Edit: Also, I was personally mad at Pulseaudio because when it was included in Ubuntu, it was so broken on my laptop that I literally had to hotkey `killall pulseaudio` to a keyboard shortcut. That's how bad it got, and it was like that for 2 releases!
As far as I see it the non-LTS releases are just the beta tests for the next LTS release. But somehow Canonical does not seem to fully agree with that. If I remember correctly the biggest issue with PA was that it was introduced in an LTS release. They should have probably waited one release and use the 4 releases to get it right.
btw. PPAs and backports can help you if you want new versions in older releases.
Traditionally, distributions have been responsible for packaging 'upstream' software, which quickly becomes a bottleneck as more software is created. The key is getting developers to do the packaging themselves, aided by automated systems.
On the other hand a commonly heard criticism is that Canonical does not contribute enough to the plumbing layer.
The amount of times I've been fucked over by LTS releases due to these issues has put me right off. Not only that, we've even had LTS kernels that go bang on "supported and tested platforms".
LTS stands for "Legendary Turd Stain" IMHO.
You just don't get this with Debian - it just works.
I believe the biggest problem of LTS is that too few people use it. If most Ubuntu users would stay on LTS, then even upstream would take care to support it, which fixes the dependency hell problems.
I think the problem with LTS is mis-stated - Long Term Support is just a lie.
However that "pretty tall order" is Debian stable. I've been using it since 1998 (hamm) and it hits the nail on the head every time. I have a machine which has had the same install for nearly 10 years and has survived many a dist-upgrade.
What pisses me off about Ubuntu:
Absolutely no input allowed from the community - suck it up and piss off. Launchpad which is basically a desert of no action. All the cloud upselling. Amazon integration. Fracturing the entire ecosystem by forcing stuff on people which is ubuntu specific (unity, upstart, bazaar etc). LTS releases which are flakier than a ZX81. Slooooooow (everything happens on glacial timescales). I could go on for a week but I can't be bothered.
I do like that they are experimenting with integrating the desktop to internet services. The only thing that keeps me from disabling web services is the integration with google docs and ability to open them from Dash. The sad part is that there is no obvious way to only disable Amazon, you also lose the docs.
What is happening is that Ubuntu is going through the normal lifecycle of Linux distributions. They all start out because existing distributions are not paying attention to detail, and have a close focus. Then success broadens scope and spreads people out thinner and thinner. This inevitably means paying less attention to detail and leads the formation of new distributions, and a repeat of the cycle.
A sample of one (myself) is eagerly awaiting a distribution paying attention to detail to replace Ubuntu on my systems.
Shuttleworth has always the chance to go public and raise a lot of money, but he didn't so far. He will when there is a opportunity window in the enterprise or consumer space. It's not incredible right now, but they are doing fine i guess.
He's always said he wanted to make Canonical a sustainable company though.
But take it from 2008 for yourself -
Ubuntu's Shuttleworth: "I don't think anyone can make money from the Linux desktop."
http://blogs.computerworld.com/ubuntus_shuttleworth_i_dont_t...
Let's call things by their real name. Was the move to add the Amazon powered search a mistake? Totally, especially since most of the Ubuntu community are tech folks like us who are specially averse to this sort of things. However the actual effect is almost zero, since it is very easy to disable. How is this, once again, selling the community?
But they are not only desktop. Juju (deployment) and Landscape (like Active Directory, but different) are products that certainly make them some big business income. And there is the support. It's not like they would avoid the Red Hat / SuSE revenue model.
Then there are things like the Steam beta, that's upcoming on Linux (and Steam folks having a session at Ubuntu developer summit).
Point is, there are always very vocal people that don't like something. It's human. I don't buy it.
My view: Mark Shuttleworth created the most popular desktop Linux. And I see it around. And I have shown it to people and they have started to use it.
I don't worry about Ubuntu. And if it is a mistake, I'd like to do one like this all the time.
ps. I'm over 30 now, and I see people blowing off a lot of steam all the time. Specially in the press. Every one has an opinion. I don't buy it. Show me an article from someone who managed to achieve similar, you get more credible in my eyes.
pps. Off topic, but I think South Africa is curious. I don't know it close up, but Mark Shuttleworth (Ubuntu) and Elon Musk (SpaceX, Tesla). I really think these people have a vision, and not only 'how to make the most money'. More like, 'how to make money and move things forward'. I like that.