2009
11.04

Linux sucks

So another six months and another Ubuntu disaster has been released.  So you, Ubuntu users, now have four choices:

  1. Perform an in-place upgrade with the real chance it’ll totally wreck your system.
  2. Perform a clean upgrade and have to reinstall everything and set it all up again.
  3. Download the LTS for three years of legacy apps and packages.
  4. Don’t do anything and live with an unsupported OS with legacy apps and packages.

The ridiculous thing is if you want to do something even as simple as upgrade Firefox to the latest version you must upgrade your whole OS.

If I wanted a new toaster I wouldn’t buy a new house.  If I wanted to upgrade the CD player in my car I wouldn’t buy a new car.  Yet why is acceptable to be forced to upgrade your whole OS to get new software?  This hasn’t been the case in my experience of the whole history of IT – barring major version jumps – yet nobody ever seems to mention this is a bad thing.  If I was ‘converted’ to Ubuntu when it was released – and the first version I used was Warty – I would be on my eleventh re-install.

For some reason though it seems Linux developers have this fascination with solving things at entirely the wrong level.  Applications are something you add to the OS – they are not an integral part (or shouldn’t be).  Yet 99% of the distro cruft out there is just a forked version of another forked version of some random distro with some different apps.  99% of the ‘buntu’s are exactly the same – Ubuntu Christian Edition, Edubuntu, Ubuntu Studio etc.  They are, at best, a theme pack and a few apps yet you have to download and install a whole new OS, and instead of only spending time on the things that are necessary you now have to support a whole new OS.

Ultimately there are only six or so ‘required’ distros:

  • Gnome Desktop
  • KDE Desktop
  • Old KDE Desktop (as the new one is still Alpha)
  • X-less server
  • Server with X
  • Low hdd/ram/cpu version

PCLinuxOS, Mint, Mepis, Fedora, all the ‘buntu’s, Mandrake**, OpenSUSE, CentOS, gOS etc etc all have exactly the same target audience and mission statement.  They are all either KDE or Gnome with the usual apps and no real tangible differences except having customised key systems (installers, filesystems, config methods).  Linux advocates bleat on all the time about how Microsoft “doesn’t follow standards” yet each main distro has a proprietary software format which doesn’t work on other versions.  It’s ludicrous.  The whole point of standards is interoperability, yet Linux distros cant even standardise among themselves!

Another example is drivers in the kernel.  If I want to get a new driver for Windows (or OSX) I simply download and install it, which is usually a very easy process.  If you want a new driver for Linux you have to upgrade your whole kernel or OS.

It gets even more ridiculous when the ‘Linux is just a kernel’ crowd pipe up (as they inevitably do) as if that is the case surely Gnome is just another app, and it can be upgraded and replaced without requiring a whole new OS just to add a new notifications area.  Microsoft has been bashed daily for years for tying IE into Windows, yet in Linux just about everything is tied to the OS.

Then lets look at the repository.  A centralised storage point of tens of thousands of apps, which need to be updated and kept current, and are only relevant to the distro that uses it.  It’s ridiculous.

Think of the cumulative man-hours wasted by unnecessarily supporting thousands of distro’s that do pretty much the same thing in parallel.  Imagine what could be done with the time freed up by not having hundreds of lists of tens of thousands of bits of software and what great things could be done with that time?

On OSX and Windows these things are simply not necessary.  Software comes as an extra, supplied by the very people that make it, with the bonus that OS maker doesn’t have to waste time supporting it and you get updates when they are actually released.  Same with drivers – if Foocorp wants to release a widget they don’t have to involve anyone* if they don’t want to.

Correct development practices require writing modular, self contained, block of code.  The reason you don’t write sprawling 1000+ line functions is that when you do you risk causing a problem somewhere else.  Keeping everything self contained means that unless you actually fiddled with it directly it will continue to work.  I have libraries I use that I wrote years ago that I have not looked at the code in equally as long.  It’s self contained and the only thing I need to know is the interface – which is constant.

Driver code should be self contained.  It should use a stable ABI so that once the driver is written for a major kernel version it should just ‘work’.  Software should be as self contained as possible, relying on a stable API to access system functions.  At no point should the OS designers have to care what the driver or software code is.  It shouldn’t even be necessary to look at it.  Yet when MS released driver code for Linux there was a huge outcry that it didn’t follow coding standards etc and it appeared to be impossible to just compile it, yet I would put money on the fact that Windows and OSX driver code follows their respective OS’s coding standards without issue.

The very fact that a kernel update can break previous drivers is a sign that something is wrong.  The fact that it appears to be impossible to simply install some software like you would on any other OS without having to deal with a mess of dependancies and problems to the point that you are required to update your whole OS is not just ‘another way of doing it’.  It’s stupid.

It would be interesting to work out what percentage of the Linux development community is engaged in these pointless make-work tasks that shouldn’t even exist in the first place.  Between that and reinventing the wheel (Hello ALSA, Pulse Audio, Gnote etc) It’s no wonder nothing ever seems to get done.

* Microsoft do like to sign drivers for stability reasons, but it’s not mandatory, just advisable.

** To me it will always be Mandrake.  Mandriva sounds like gay slang.

11 comments

2009
11.04

Karmic may be right.

Apparently there are some major problems with the new Ubuntu release.  Looking at the Slashdot thread relating to The Register Article in which half the posts are people with problems, and the other half are saying WorksForMe(tm). (so predictable).

“Only around 10 per cent of those upgrading or installing reported a completely flawless experience.”

Wow a 10% success rate! Were these not the same idiots that were taking pot-shots at the Windows 7 upgrade process as it may take a while and occasionally has problems?  Also amusingly isn’t there a chance that if you ugrade to OSX 10.6 and use a guest account it may wipe the admin account?

Karma Definition:
the force produced by a person’s actions in one of their lives which influences what happens to them in their future lives.

I love when things are this poetic.

The Moral of the Story

DON’T DO AN IN PLACE UPGRADE!  DO A CLEAN INSTALL!   EVERY TIME!!!

I’ve not done an in place upgrade of *anything* since Windows 98.  It never goes well and the only ‘benifit’ is that it lets you keep all the cruft and a lot of the problems that existed previously.  Wipe the whole lot* and start again.  And pay attention to that story of people in glass houses.

* Thankfully when you do a clean install of Windows 7 it puts the old contents of c:/ in c:/Windows.Old/ so you can recover what you want and delete the rest.

5 comments

2009
11.03

Reality Check – Part 2

One of the biggest causes for dismay these days is that Linux advocates are cosying up to Apple, constantly talking about how they ‘will destroy Microsoft’.  Remeber rule #2 (from Part 1) “Microsoft is the antichrist”.  Even Linus Torvalds said ‘Microsoft hatred is a disease’, yet Microsoft hatred is a maintay of the Linux community – it’s as much about hating Microsoft as it is Promoting Linux.  Go find me a review of Windows 7 that doesn’t have a Linux advocate Kanye’ing the comments with pro-Ubuntu propaganda.  Contrast with the various Snow Leopard reviews which only contain a slight smattering of such garbage.  It’s nothing but talk of ‘beating Microsoft’.  It’s important to these people that MS fails.

The bias isn’t even denied.  Slashdot doesn’t even have a Microsoft section - it’s the emotional Voldemort effect (it’s hated so much you can’t even speak it’s name).  APLawrence plain came out and said he’s biased (and then proceeded to do a ‘review’ – dude you have zero credibility if you can’t even try to be impartial).  Some prolific troll I used to see on a regular basis would never type ‘Windows’ or ‘Microsoft’, instead calling it ‘That other OS’.

Consider if a group of car enthusiasts hated the Koreans, would it be fair if the reviews they put out for public consumption were based on an irrational hatred, rather than an actual review of the product?  Would it be acceptable for them to slander the company and it’s products just because they didn’t like the people who made it?  And most importantly would doing so be intellectally honest, or would it simply make the people participating in such activities morally bankrupt and untrustworthy?

Once you get over the whole Microsoft hatred groupthink (I was a hater in my youth, a decade ago (they still use the same ‘jokes’ now)), it pisses you off to see people spouting garbage based entirely on a misformed emotional opinion.  I can’t help but think people who actually subscribe to the ‘Microsoft is evil’ groupthink are probably the same sort of people that would fall for homophobic and racist propaganda, it’s all based on the same self-perpetuating cycle (Microsoft sucks, thus it’s products suck, thus Microsoft sucks).  Starting with the opinion that Microsoft products suck at the start of any review is obviously going to colour your opinion, and picking out the bad points to justify your cycle of hatred is no different than cherry-picking stories of ‘black’ crime and using that to say all blacks are criminals.  There are problems with everything, and everyone, and focusing only on the bad is not reflective of reality.

Not to mention that one a scale of ‘global suffering caused’ Microsoft isn’t even in the top 1000 companies.  What about Shell, McDonalds, Bernard Matthews, Nestle, Gap etc.  Think animal rights and child slave labour.  It makes the whole “Microsoft won’t give us teh codes” wharrgarrblll look utterly ridiculous to the non-indoctrinated.  Seriously, to the outside the Linux community looks like the people you see standing outside the subway yelling ‘the end is nigh’.

I’d even understand if it was about the ‘freedoms’ so frequently blabbed about, but the reality is that Apple are so much worse than Microsoft, yet they get a free pass.

So here’s a quick run-down of Apple’s latest antics.  Find something recent (or even at all) by MS that is worse than this lot:

Psystar and EULA’s

Who’s name I copied for this blog (for no other reason than I thought it was amusing), are in court again with Apple.  The ‘crime’ is selling Hackintoshes – Normal PC’s with OSX loaded.  Apple’s argument, in a nutshell, is that OSX is licensed, not sold, so they can define what you can and cannot do entirely by the EULA.  From the Slashdot headline (Apple’s brief):

‘Finally, every time Psystar turns on any of the Psystar computers running Mac OS X, which it does before shipping each computer, Psystar necessarily makes a separate modified copy of Mac OS X in Random Access Memory, or RAM. This is the third unlawful copy.

According to standing copyright law there is an exception (Section 117 of US Law, don’t know the UK one) which permits someone who buys software to load it into RAM to use it (as technically it has to ‘copy’ it off of the HDD to run it).  It’s obviously ridiculous that such a provision needs to be put in law in the first place as why would you buy two copies just so you can run the installed version, but there you go.

Apple’s claim is that since the software is ‘licensed’ and not a copy, the EULA (license) takes presedence over standard copyright, thus negating Section 117, making it illegal for Psystar to turn on the machine as they are making an unathorized copy.  This is entirely to support their hardware monopoly, they don’t want people to install OSX on any computer that they haven’t paid Apple’s markup on – despite the fact that it can as there is no technical difference between and Apple and any other PC manufacturer anymore.  And this isn’t about ‘support’ as if it was the case they’d just not support anyone with non Apple hardware.  What it is is Apple telling you what you can and cannot do with something you have bought.

Signed Binaries Only

Someone asked me if I had ‘jailbroken’ my HTC Hero.  Thanks to Apple it is now considered status quo to not be allowed to have control over your own device.  The whole reason I went with Android over Apple is I want to do what I want with my own hardware, rather than playing some ridiculous cat-and-mouse game to simply install non ‘Apple approved’ software on it.  Apple have removed basic functionality that has been around since the start of computing, placed themselves as ‘gatekeepers’ and refuse to allow anyone who they don’t want to play in their garden.  It also nicely negates the GPL as you can give away all the source you want but unless you get Apple’s approval (and pay) you’re not going to be able to get the software running.

Forced Upgrade Treadmill

I got an old iMac years ago to test websites out in Safari – that’s all I wanted it for.  But Safari wouldn’t run under the version of OSX it had, and I would have had to jump two versions to actually get it working.  Every time a new OSX version comes out after a while backward compatibility gets broken and Apple owners are forced to buy it.  Some people are still running Windows 2000, a decade old OS, without any issues.  XP from 2001 is still popular.  Yet if you run OSX from 2001 it won’t work with any current software.  Not to mention with Snow Leopard everyone with PPC based Macs (some sold as recently as 2006).  Everything before the Intel switch wont work with Snow Leopard and it’s successors, and when Apple inevitably drops support for Leopard you’ll have to replace your perfectly serviceable hardware with new stuff.

When Apple announced the dropping of PPC it was greeted with joy that ~6gb HDD space would be freed.  Yet in Part 1 of this post some Linux advocate is going mental because apparently Windows 8 (you know that OS that doesn’t exist) will only support 64 bit.

The Palm Pre

Apple has an install base of about 100,000,000 copies of iTunes, or so I have heard.  iTunes only works with iPods, and iPods make up a monopoly share of MP3 Players.  People are then looking at getting a smartphone, already have iTunes and no doubt DRM locked content.  Lets go for the iPhone they think, as nothing else syncs with iTunes.  Isn’t this abusing a monopoly position to get leverage in another market?  Wasn’t Microsoft strung up for using it’s OS share to get into the browser market?

So the Palm Pre came out and pretended to be an iPod so it could get first class citizenship.  iTunes was ‘updated’ which then blocked it.  And the cat and mouse game began again – it’s not that the Pre won’t work with iTunes, it’s that Apple are actively stopping it working.  Just like they stop OSX installing on non-Apple hardware and stop people installing non ‘approved’ apps onto iPhones.  Sure there is that XML file, but that doesn’t count for much.  Yet amazingly in discussions of this on the Internet people say “It’s Apples product, they can do what they want” yet if MS blocked any browser but IE on Windows can you imagine the outrage?  It would be epic.  Apple does the same thing and gets a free pass.

Microsofts Monopoly

People act like Microsoft and Apple are competing, which is entirely untrue.  Apple doesn’t even want marketshare.  They just want the lucrative high-end market and have no interest in the low end.  Apple account for something stupid like 80% of the over $1000 computer market.  If they wanted marketshare they would have released OSX as a standalone – as it stands they are suing a company for increasing their marketshare.  If they wanted to break Microsoft’s monopoly they could, but they don’t, so is it really a monopoly if it only exists because Apple lets it?  If OSX was commercially purchasable I would certainly give it serious consideration, and so would many others – but it isn’t.

Yet in all the discussions I have seen people largely seem to be supporting Apple in it’s behaviour against Psystar and Palm, justifying it and agreeing with it.  At worst they are supporting Apple.  At best they are having a heated (usually quite fair) debate, while ignoring Apple’s massive anti-competitive streak and history of actively excluding competitiors products.

I simply can’t think of a single thing that MS has done in the last decade that is worse than anything I have posted, yet the hatred is still entirely on MS – Apple even have their own Slashdot category.  Tell me this isn’t unfounded, irrational bias.

25 comments

2009
11.03

The ‘Desktop Linux’ dream has failed.  There are absolutely no stats that support any favourable trend of Linux uptake (not that hasn’t just been pulled out of some random bloggers ass).  And before you say ‘Well Linux doesn’t want you‘ or some other smartarse thing like that – I don’t want it, and apparently nobody else does.  If you want to define success as people not using your junk then go away – this isn’t for you.

But first some numbers…

Linux vs Windows (Google Trends)  Observe the steady decline.  Not exactly a pattern that’ll lead to anything significant.

The much touted W3 Schools logs.  These are horribly biased as it is only for w3schools.com itself, is cited so often to prove dubious claims of marketshare that itself probably skews the numbers, not to mention that Linux is obviously going to be skewed on technical sites, yet it has only shown Linux use double in the last 6 years from 2.2% to 4.2%.

I was going to show statcounter as well but apparently Linux’ usage has fallen so low it’s now classified as ‘other’.  I could have sworn it had it’s own heading.  Oh well.

And finally hitslink.  Shows Linux usage at 0.98% at December 2008, a peak of 1.17% before dropping to 0.96% in October 2009.  A net loss.

Obviously if you pull up the logs of Slashdot or some site like that you can get some more ‘convenient’ numbers, but I don’t think I have ever seen a positive trend itself.  Usage is not increasing in any significant fashion.  If it is provide me with the stats (seriously, do it) but until this point I think my assertion stands.

As an anecdotal point, across the board on all the websites that I admin, Linux usage sits at about 0.3%, which includes music festivals, dentists, estate agents and the like.  As soon as you remove people who’s interests are not computers themselves (and view them as a means to an end instead) Linux’ numbers plummet even further.

The Myth of Marketing

Of course the usual answer from Linux advocates at this point is that it is because of Microsoft’s advertising money, and that the only reason people don’t use Linux is because they haven’t heard about it.  Which is now provably false.

1: Linux has one of the largest grassroots movements on the Internet.  In fact I am coining “Kerberos’ Rule #8 – If someone mentions OS’s, someone will mention Linux.” You can’t have a technical discussion anywhere without someone trying to ram Linux down your throat.  I am pretty sure the majority of the technical community knows what it is, yet strangely choose not to use it.  Is this marketing?  Are MS suppressing Linux?  What about the Streisand effect?

2: The real killer is this.  Windows 7 managed to, before it’s official release, pass Linux in terms of usage.  Everyone who had it installed at that point had:

  • Known what it was and where to get it, despite the fact it wasn’t ‘marketed’.
  • Managed to burn it to a DVD.
  • Managed to install it on an existing system.
  • Managed to get it working with all their hardware and apps.

Yet these are the very people that, according to the Linux community, should be using Linux instead.  Yet overwhelmingly they all went with Windows, despite the fact that they obviously have the technical ability to obtain it and install it which the proponents of Linux often claim is easier that Windows.

Linux Is Faith Based

Obviously pointing at a bunch of facts as I have done doesn’t lead to a civil discussion, despite all I have done is point at some facts – and not even said anything inflammatory.  Even saying something like “Linux uptake is remaining flat despite claims of superiority, which doesn’t make statistical sense.” will get you lynched on most pro-Linux forums.  Even saying “Linux is not suitable for my needs” is often enough to incite a flamewar, and stating why will generally get you banned.  It’s why I started this blog in the first place.

The reason for this is obvious though, once you replace the idea that you are dealing with Linux advocates on a basis of logic and science and instead realise that it is a faith based initiative, and religious rule #1 is “Free software is superior to commercial software” and rule #2 “Microsoft is the antichrist”.  Any challenge which questions these rules will elicit a fear/hate based response as would telling a religious person God doesn’t exist*.  Such a statement is fundamentally incompatible with their worldview.  This is proven in the fact that there is pretty much zero critical discussion of Linux occurring anywhere outside ‘hate’ blogs, despite the claims of a community created OS.  So in a world where ‘everyone is a developer’ there is almost no debate and critical feedback**.  That can’t be either right or healthy – but it’s the truth.

What the ‘community’ really is is an evangelical mission to spread the word.  It’s not about self reflection and self improvement, it’s about embracing the two rules and then trying to bend the world to fit them – and calling anyone who doesn’t agree a ‘noob’ and ‘stupid’ along the way.

Pragmatism

I like to think of myself as a software pragmatist – I don’t care which faceless corporation that pretends to care about me produces it – I’ll choose whatever is best for the task at hand.  At the moment I have…

  • A Windows 7 laptop,
  • An iPod,
  • An Android based phone,
  • A Linux (Smoothwall) based firewall,
  • I also develop websites for LAMP on Windows,
  • Plus numerous managed Linux, Windows and BSD servers

The point being I’ll get whatever fits my needs the best at the time.  I’ll get all the available information about all the options, compare them to what I need and base my decision upon this information.  If someone asks me for help I use the following process:

  1. Ask them what they will be needing it for
  2. Find out the skill and experience of the user
  3. Make my recommendation based upon the above

Here’s how your typical Linux advocate makes their decision:

  1. Use Linux, it’s the best!

You can see the problem here.  It’s faith based, they have ‘belief’ that Linux is good (and correspondingly that Microsoft is evil), thus they have their answer.  Actual user requirements are irrelevant as they know that Linux is superior, and that Windows sucks.  From this point on it’s simply a case of trying to convert the person they foisted Linux onto to their world view – which generally involves telling them they are wrong and bashing MS whenever a problem arises.  The question ‘would this person actually be better off with Linux’ is rarely, if ever, asked.  Someone being happy with what they have is never even considered.

You see it all the time.  ‘Why aren’t you using Linux’, they ask – the assumption of superiority is in the question.  ‘It doesn’t run Photoshop’, I reply.  Then we go through the whole ‘try Gimp’ rigmarole, then the ‘try Gimpshop’, which is the technical equivalent of putting a Humvee bodykit on a Ford Fiesta and sending it to Iraq. Eventually Wine is mentioned – which is fine if you are 3 versions behind and don’t expect everything to work or be stable.  The fact that I’d have to invest large amounts of time and effort to simply be at, best case, a par with what I had before I ‘switched’ means nothing to these people.

Which is the crux of the matter – you cannot expect a Linux advocate to give you honest advice.  Pretty much regardless of requirements they will suggest their favorite distro.  I’ve seen people recommend Gentoo as an easy beginners system. ‘Gaming is fine with Wine’ and other absurd claims.  The importance seems to be getting people to use it, not getting people the best system.  It would be like asking a fundamentalist christian in a bookshop what book you should read, or asking a Vegetarian*** what restaurant you should go to – the answer almost certainly would not be based on your requirements.

Lies, Damn Lies and Linux Advocates

Another side effect of the blind belief effect is the ability to play fast and loose with the truth.  If it makes Linux look good, it’s true.  If it makes Microsoft look bad, it’s true.  Anything else is FUD and lies.  A once run benchmark from some random idiots blog somewhere will be taken as proof of Linux’ success if it is favorable.  A large companies benchmark will be called lies if it is unfavourable.  Facts are not rated based upon their veracity nor citations nor testing methodology.  They are rated based upon how well they fit the agenda.  The words ‘scientific method’ are seen cowering in a corner somewhere.

Take for example this review of Windows 7 – I think someone linked to it on LHB originally.  It’s one of the most unbalanced hatchet jobs I’ve ever seen, yet is put forwards as being ‘fair and balanced’.  Gems include:

In the RAM usage front, Windows 7 when idle takes a good 1-2GB of my 4GB of RAM, while Kubuntu takes between 200MB-500MB

It’s pretty well known that Windows Vista and now Windows 7 use the RAM you have.  Any half decent programmer knows you can sacrifice RAM for performance and vice versa (largely through caching).  If you put Windows 7 on a box with 512mb it’ll idle using about ~250mb.  It’ll run fine too.  It’ll generally take half your RAM for itself to speed things up but that’s fine – it’ll relinquish it if programs need it rather than using as little as possible and thrashing your disks constantly.

Yet this bit of information, despite being infinitely sensible, and which has been common knowledge for years, is somehow not known to an alleged IT pro.  If Linux treated RAM in this way you can be guaranteed we’d see a spiel about Windows inability to take advantage of your system.  Also, nobody runs an idle system.  Even if you did use a RAM-light version of Linux (which would not be the fully-featured Ubuntu this guy is chatting about) you’d be stuffed as soon you open Firefox or try to do anything as that’s where the real RAM usage is.

But everyone always trots out the RAM argument as it’s on the pro Linux talking points list, despite RAM being dirt cheap and plentiful it’s still viewed as somehow better to spend weeks tweaking a low use system than just buying 6gb or something ridiculous.

Then this classic:

This is a common element of debate, and one I happen to agree with. Windows 7 seems to have borrowed a bit from the KDE4 series. Now days, KDE has changed it’s look to the “Air” theme, so it no longer looks as close. However, the Oxygen theme that was used in KDE around the same time as when Windows 7 was in development is mysteriously similar. Even the selection of widgets is similar, with both shipping with an analog clock, news reader, sliding block puzzle, and hardware monitor by default. Take a look at this quickly put together collage, with widgets from both Windows 7 and KDE versions previous to 4.3

The dude doing the review has apparently never so much as seen a screenshot of Vista, yet alone used it. The clock, sliding puzzle, black gloss, RSS reader, and every other thing he mentioned are stolen from Vista.  Unless Microsoft owns a time machine it’s pretty clear that KDE ripped off Windows.  Hell the guy proved it himself – but it makes Linux look good so fact checking isn’t important.  I even linked to a video ages ago showing that Compiz is an early Vista ripoff – wobbly windows and all.

As stated earlier though this reviewer had obviously already got his conclusions before Windows was even installed, it was simply a case of hunting for the facts to fit.  If the aim was impartiality or fairness he would have attempted to find out why Windows uses the RAM it does, and would have tried it on a 512mb machine, and would have at least used Vista to get a feel for the improvements in 7.  I’d also bet he is a ‘Vista Sucks’ cheerleader – despite never even having seen it before.

The rest of the his points are the airy “I prefer Linux” type of conclusions where he just looks for a bunch of things he can criticise and write up.  I mean a ‘fair’ test would be to use it for a week or two for actual work (although a month or more would be preferred) and then report back on the experience.  This review looks like he installed it, played for an hour or so then ‘reviewed’ it.

Yet crap like this never gets called out.  It’s standard practice.

I have a point? Wow!

The whole point of this post is not to stoke some imaginary ‘Linux vs Windows’ war, but instead to try to get the supporters of Linux and FOSS in general to take a look at and to hold themselves to the same standards they accuse Microsoft of breaking.  You can’t claim MS are bad for spreading FUD while making BSOD jokes.

Also instead of getting defensive when someone says something bad about Linux consider that although you think it’s not a problem they certainly do and thus it is important.  There is a reason nobody is using it – find out why and it will rule the world.

P.S. I don’t imagine for a second anyone will actually listen though, so carry on writing that angry comment/email ‘proving’ that I am wrong so we can get back to flaming each other.  ;)

* It’s an example, let’s not go into it.  I also don’t have a problem with the religious, be it FOSS or actual religion, as long as they keep it to themselves.

** If you think I am wrong provide three examples of healthy, critical, debate that isn’t heavily moderated or a flamewar.  I dare you.

*** I am a vegetarian, but I did make a sausage-crust pizza last night, so I am probably not the best person to ask about fancy restaurants anyway. And I am biased.

18 comments

2009
11.02

Not gone!

I’ve not disappeared or dropped off the face of the earth or anything – just so you know this blog isn’t abandoned.  I’ve just been really busy for the last month or so but plan to get a new post up as soon as I get a free minute to write it.

This blog is a cathartic to me – having to deal with this crap every day would drive you mad without an outlet, and everyone IRL I am sure is sick of my rants.  I think Linux just gets the brunt of it because they supporters are generally so brainwashed and stupid.

Anyway new post soon!

Add Comment

2009
09.21

So the Internet’s version of the Jehovah’s Witnesses were (allegedly) out in force again as free software day came and went again.  I certainly didn’t (luckily) see anyone that felt the need to press some crappy GNU/Linux distro into my hand while blathering about software ‘ethics’.  Maybe there are some advantages to living in a chavvy hell-hole of a town sometimes.

Anyway that’s not really the point.  I used to be a nearly full-blown freetard a long time ago.  I had the whole ‘hate the man’ thing down (Microsoft) and bought into the whole ‘by developers, for developers, lets cut out the corporate middle man’ movement.  This was before I had even really used Linux – but the concept seemed sound.  And how can a developer not fall for that idea – software utopia, plus never having to deal with anti-user crap like artificial limits and activation again!  But then I actually used it for an extended duration and moved into my ‘the idea is sound, but it just needs more work’ phase.  I believed with the concerted effort of like-minded people and by including designers, UI experts and artists it was only a matter of time.  The third phase was that it was a shame that a great idea was being ruined by a defensive community of non-developer, non-contributing idiots intent on scaring away anyone who didn’t believe it was already perfect.  At least I was partially right that time.

And finally, I am where I am now: It’s a bad idea to the point of being dangerous and it just won’t work anyhow.

Here’s the thing.  Nobody owns GPL’d code.  The code is free.  You are not.  For example you, as a user, have more freedoms when it comes to BSD licensed code – effectively you can do what you want with it, provided you provide credit.  GPL’d code on the other hand has a slew of limitations on what you can and cannot do and attaches a larger burden on you in terms of distribution of changes and source.  The code is more ‘free’ under the GPL.  By GPL’ing code you effectively say ‘nobody owns this, it belongs to itself’.  I can sell BSD code and deny you your ‘fundamental right’ to freely distribute it further.  I can also grant you the same right as the GPL.  The GPL simply ensures you cannot stop anyone from modifying and distributing.

The problem with the above is that it entirely negates ownership.  You cannot ‘own’ free software.  It doesn’t matter if you wrote it – it’s not yours.  As soon as you release software under the GPL you have no more right to it than any of the other 6 billion people on the planet.  It’s why FOSS advocates call closed source (distastefully) ‘slavery’, as closed source software is owned and controlled by someone.

The ramifications of this are obvious – you can’t make money selling free software.  You can sell it, but so can everyone.  If you’ll need to sell 10,000 copies at £100 each to reclaim your investment and the kid in the local computer store will sell them for £5 to anyone that wants one then you’re simply never going to break even.  The whole ‘you can sell free software’ excuse is intellectually dishonest as you have to compete with people with no sunk or running costs.  The best you can do is put up an online tip-jar and rely on effectively begging – and I’ve yet to hear of that working well.

Effectively, what the GPL and the Free Software movement says, is that developers do not deserve to be compensated for their effort.  Unless they can manage to sell the first copy for £1,000,000 then there is no way to ever get paid for the time spent.  It simply can’t be done.  If you want to man a phone line, do email support, work as a call out technician, then you can (according to ‘software freedom’) demand a fair hourly wage, but if you are a developer you can’t.  It’s ‘immoral’.  Simply on the basis that you cannot own code, thus can’t charge money for it.

The argument often made about the above is that businesses still need programmers.  Which is true.  But this is where the whole thing unravels fully.  I am a programmer – say I have an idea for a great new CMS tool*.  I now have two options:

  1. Quit my job, rely on my family to put up with me for a few months while I spend 12hrs+ a day working on it.
  2. Take my idea to a large company such as IBM, Oracle, Microsoft or someone else like that.

As above, according to the ‘software freedom’ camp if I picked option 1. as soon as I released it it would be mine no more.  The second I tried to charge money for it it would just be forked and given away.  Instead of relying on the future income I could have gained from selling it at launch to pay back the debts I would have no doubt incurred, and to fund new development, I would be forced to ‘get a job’.  Any development work would have to be done in evenings and weekends – and I would effectively be forced to decide between programming what I want, or my marriage.  Plus the software would progress more slowly as I would not have much time to devote to it.

Now with option 2. there is pretty much zero chance of getting taken up on my idea.  You don’t tell a business that you want to hire you what you are going to work on.  Unless you are really, really famous.  Chances are unless your surname is something like ‘Carmack’ you’re going to be writing the mundane stuff that they want you to do – not your own exciting ideas.

There are companies that are based around and heavily involved in free software.  Names include companies such as Red Hat, Mozilla, IBM, Canonical, Google, Novell etc and the one thing about these companies is that they are not in the software sales business.  Red Hat is in providing support and SLA’s for businesses and servers. IBM is similar to Red Hat – they sell ‘solutions’.  Mozilla makes money from advertising for Google, Canonical is a billionaire’s plaything, Google sells advertising and Novell is just a slightly more pragmatic Red Hat.  You’ll never see a company such as Adobe adopt a FOSS business model as they are in the business of selling software.  I don’t imagine anyone can make the argument that Adobe can go FOSS and remain profitable with a straight face.

It’s the following realisation that made me realise what a disaster FOSS really is.  Free Software only benefits large companies and the rich.  It is almost impossible to be a developer and not work for ‘the man’ under the GPL.  Sure there are exceptions to every rule but the simple fact is you can’t be a developer unless you can get an alternate revenue stream.  Support is good, but not a lot of apps will require support and you don’t spend months programming to be forced to make money manning a phone line.  There are also the dual license options, but this is effectively shareware, and you are still making money selling closed source software.

If adhering to the GPL was a legal requirement then it’s not like software would all suddenly be free and open.  What would actually happen is that people would simply stop making software.  All the games available on Steam would not suddenly be free – they simply wouldn’t have been made in the first place.  I pay money for SmartFTP because it is the best FTP program I have ever used.  By paying money I help fund further development.  I am happy with this.

It’s not even like the mass piracy and commoditization of  music, as it’s not like developers can make money selling tickets at £50 a go to live shows.  The software itself is all you’ve got.

Now I simply don’t see how anyone who thinks pragmatically about a future in which the GPL is accepted as the way to distribute software can possibly support it as in reality the people it hurts the most are the very people that support it – individual developers.

* True story, I do.  I am working on it and plan to launch it in a few months.

Some Further Thoughts and Ugly Truths:

The most overlooked point with regards to software development is that it is generally the result of a few people sinking a large amount of time into it, not as a result of a lot of people doing a small bit.  You simply can’t throw developers at a project and expect it to flourish – it just doesn’t work.  If you want something well written and cohesive it’ll take a small, dedicated, team – not a large bunch of semi-skilled volunteers – not something that really happens in FOSS unless you are being funded by a rich 3rd party.

Capitalism, in a nutshell, is providing people what they want.  If you don’t provide it you don’t succeed.  If enough people don’t want it the provider can either improve and adapt, or die.  In the FOSS world you take what you’re given and have no right to complain.  Gimp is near useless and doesn’t even match the decade old Photoshop 5.0 yet people not using it will not spur on development.  There is simply no motivation to cater for a wide audience – if Gimp was a commercial product the company would have been bankrupt years ago but catering for your users needs is simply not important in the world of free software.  Free software is about developers scratching their own itch, not finding out what itch other people want scratched.

The bulk of FOSS development work is done by one of these people:

  • Students, getting paid to learn.
  • Unemployed, getting paid by the state.
  • The Rich, resting on their laurels.
  • Large companies, adding value to their other services.

Free software is categorically not made by these people:

  • Software companies.

If it is name one.

Software development is hard.  It’s incredibly time consuming.  If most people truly appreciated the difficulty and time required to create a truly great piece of software I doubt they would have bothered.  It requires people with a true passion for development to make truly great software, and I personally find the fact that such people would be relegated to only doing what they love in their spare time, rather than as an actual job, disgusting.

And finally it is the software that is free, not you.  All this talk of ‘freedoms’ and ‘rights’ is utter crap – it’s not your freedom or your rights so the whole idea that commercial software is taking them is simply untrue.  If a developer wants to release something under a Libre license that is fine – but it should never be considered ‘ethical’ or expected for this to be the case and if you really want to make a case for your own ‘freedoms’ then the BSD license is far more appropriate candidate.

64 comments

2009
09.18

Haiku

Who would have thought a recode of an OS from the early 90′s would be generating such interest?  It certainly sounds quite interesting to be honest (despite the lack of wifi) and if I had more time I’d probably have a play with it.

When I heard about it I remembered this comment someone posted on an earlier post of mine in response to a discussion about not GPL’ing my stuff:

Kerberos,

Free software may not completely replace commercial software any time soon, but it will (and already has) made making money selling commercial software more difficult.

Sounds good, Until someone releases a GPL or BSD thing similar to what you make, meaning people who want to use for commercial purposes will simply skip you.

Which illustrates the source of 99% of the FOSS software that people use – clones.  songbird-1.1-screenshot-full

Linux is a clone of Unix.  Instead of taking the time to improve some of the cruft from the 70′s it’s all faithfully reproduced – warts and all.  Look in the repo’s and it’s exactly the same, hundreds of clones of classic games and the few original ones are largely gameplay copies.

I remember the announcement of Songbird on Slashdot, where it was hailed as an ‘iTunes Killer’.  Check it out, screenshot on the right.  Apart from a few cosmetic changes doesn’t it look exactly like iTunes.

The thing is the developers working on Linux, Songbird, Haiku and all the rest of these clones are not working on their vision for what they want to achieve, they are just faithfully copying something that exists already.  Once they reach feature parity, where do they go from there?  If they were truly passionate about creating software they would make their own software.

Since they are just copying someone else’s vision once they run out of things to copy they lack direction, motivation and ability – there is more to development than coding – and the projects generally just stagnate from this point on.

I am working on a custom CMS at the moment (as in the quote above) and it is nothing like anything that exists at the moment as it is based on what I want, not based on just copying an existing one – how many Mambo clones are out there now?  I have enough ideas for it to keep me occupied for years as I have a vision for what the final thing should be, and am working towards that vision.  Any clones will not have that, and so will largely be unable to move beyond the source of the copy.

As is the case with Haiku.  Once it reaches proper parity with BeOS, where is it going to go from there?  Are there any genuine innovations and improvements planned to bring it forwards in time?  I somehow suspect though, since the aim isn’t making a good, modern OS but rather creating a BeOS clone, there will never be any real tangible improvements beyond what the original Be team managed.  After all if these people had vision (and this goes for the FOSS community) they’d be making something original, rather than just making a carbon copy of something existing.

Linux = Unix Clone
BSD = Unix Clone
ReactOS = Windows Clone
Haiku = BeOS Clone

Take Windows 7.  If Microsoft had a working copy of Windows 7 to copy when they were developing it in the first place it probably would have been available ~2003.  Developing software is all about coming up with new ideas and concepts, trying them out and finding out what works. Since they didn’t have a working target to clean-room re-engineer they had to make mistakes, try new things and come up with their own ideas.

Sometime things simply don’t work in practice that worked on paper.  Sometimes you make an early decision that requires a lot of work when you realise it can be improved upon.  You can see the thought process by comparing Win 95 -> Win 98 -> Win 2000 -> Win XP -> Vista -> Seven.  Each one brings new ideas and concepts along with new problems that the successor tries to address.  Again if MS were just making clones and had a competitor’s copy of Windows 7 back in 2000 they’d have a working copy in a few years.  Development is much, much harder when you have to come up with your own ideas though.

My ultimate example of this is Tetris.  Any, even relatively low-skilled, programmer is generally capable of making a working copy of Tetris in under a day.  Yet if you told the same programmer to make an ‘Innovative block based puzzle game’ they would be at it for weeks, if they even managed to produce anything else at all.

So the easy bit is done for Haiku – cloning BeOS.  Now the question is are they up to the challenging bit of actually having their own ideas?

16 comments

2009
09.13

Free Software is *not* the same as Open Source.

Open Source is simply providing software with the source code so the receiving user can modify it to suit their needs.

Free Software is having the ability to freely modify and (this is the key) distribute software they have received from a 3rd party.

Free Software is being *unable* to restrict what a 3rd party does with your software.

You can very easily have non-free Open Source.  In fact a large amount of software made, mainly custom stuff and most of what I do, is technically ‘Open Source’ – that is I am paid to to do it, and I give the client the source along with any binaries.  It is *not* Free Software though, as the client is unlikely to give it away.

For example a large amount of commercial web apps are Open Source in that you have access to the source code, but are not Free Software as you do not have the right to redistribute the source freely.

This is the main bone of contention between the Commercial and Free Software camps – it has nothing to do with source – which is a red herring – it has to do with control.  The main point of free software is to remove any and all control from the original developers and give it to the users – the software is owned by the community.  Supporters of the commercial model (obviously) have a problem with this as it makes making a business out of developing software impossible – If you sell support you are in the business of support, not software.  Free Software is fundamentally anti developer.

Personally I support Open Source, and plan on releasing my next project as a dual licensed Free Non-Commercial and pay for Commercial offerings.  You can use it for free and give it away if you do not use it commercially, and if you want to use it commercially you will be required to pay a license fee.  Which is perfectly reasonable but it is not ‘Free Software’ and would not be supported by the FSF.

Free Software is an ethical line for it’s supporters.  Non-free (as the example above) is considered immoral by supporters and according to the FSF I am unethical in my request for compensation for commercial usage.  According to the FSF doctrine I must relinquish all ownership over the code and give any user full source and distribution rights.  If I want to make money I should sell ‘support’.

The thing is if (and many people suggest this) I was legally forced to make it ‘Free’ I would not even bother to make it in the first place.  In that world the job of ‘developer’ either would not exist, or would be relegated to a role in a huge corporation where you are told what to work on.  The small, independent software companies would be dead – and the software that they would have produced would not now be free, it just wouldn’t exist in the first place.  So instead of having the choice to pay money for something or not have it, you’d simply not be able to have it at all.  Not a situation I can support.

I think if people stopped thinking Free Software and Open Source are interchangeable terms, and that if more people found out what Free Software really is, and the implications, significantly less people would support it.

Update: I do not think that Free Software is bad, should be banned, or anything like that.  I believe it is up to the developer to choose how to distribute their software and that there is nothing wrong with closed source, commercial software.  It is up to the developer to choose the license, and the user to choose the software.  It’s all about choice.

42 comments

2009
09.11

Apparently it’s all settled, thanks to the freetard analogy capabilities:

Don Whitbeck settles the question of “Linux has too many choices” once and for all with irrefutable logic:”Let’s just have one flavor of ice cream. How about vanilla? All that choice is bewildering. “

Or maybe not.  Ice cream is an end in itself.  A more realistic statement would be this:

Would you want 1,000 slightly different shaped tubs of ice cream all only able to fit in budget vanilla, or one tub that you could put any flavour you wanted in it?

I know which I would rather have.

An over reliance on analogy illustrates a weak argument – saying two things are in fact two other incredibly tenuously connected things and since they are better the original thing is better is intellectually dishonest.

A reliance on analogy just illustrates you don’t have any real point.  Analogy is only useful when who you are talking to is unable to understand the point in the current terms.  Using it when both people understand the subject fine is specious at best, lying at worst.

35 comments

2009
09.10

So Adam King said he wouldn’t get a balanced response to this.   Since it’s his first post that, despite being woefully simplistic, doesn’t seem entirely like cut+paste trollage I thought I’d give a reply.

First up:

The UK has “free healthcare” in that when you go to a doctor, you don’t pay anything. Their services are financed by the government, through taxes.

Speaking as a resident of the UK I like our ‘socialist’ healthcare.  It’s one of those things that a first world country simply should provide, alongside an Army, Police Force and Fire Service.  Either they are all socialist or none of them are.  I am not speaking from a ‘Socialism bad whaarrgarbbblll’ perspective here.

Why can’t this extend to software?

Because it doesn’t need to.  The problem you have concocted this plan to solve does not exist outside your head.  Medical bills can bankrupt even well off people through no fault of their own.  Windows is cheap, it’s not going to destroy families as they need to buy Windows.  Plus there are plenty of cheap offers for people if they look – Office for home users is significantly cheaper than for businesses.

Here’s a great and revolutionary idea – people pay money for the software they want.  That way you don’t make the poor even poorer subsidising the middle class and businesses demand for software – after all Microsoft already has socialist pricing for this very reason – you would make software more expensive.

Software is a purely capital expense. There is no problem reproducing something written in software. Why should dozens of ISVs exist that basically invent small variations of the same wheel? This is pointless.

To illustrate this point, consider this: Take 100 programmers and product managers, divide them into 20, and put them each in their own room, and tell each group to write an office suite.

-or- Take those same 100 people, and tell them to work together.

Which will result in a better product in the end? This is no contest.

There is one thing you didn’t think about in your proposal – Who says that the ‘ISG’s official OS is going to be Linux?  Who says that the release license is going to be the GPL?  As your example above  it is better to all unite and work on one thing rather than work on multiple developer-starved projects.  Which is obvious.

Linux is legendary for it’s fragmentation though.  The only thing that actually appears to only have one main version is the kernel itself, while for every other significant component there exist dozens of versions and forks.  The FOSS movement has proved itself unable to form any sort of cohesive force, settle on any standards or even write a stable API/ABI.  Software isn’t even compatible between distro versions, let alone cross distro compatible.  There is a good chance anything written now will be broken in a years time by someone changing the API for something again.  Compare this to Windows – or even BSD – where if you got some software made for Windows 95 there is a very good chance it’ll actually work on Windows 7.  Yet the FOSS crowd haven’t even got a standard package format (tar.gz, deb, rpm, portage, etc, etc) yet whinge that MS has their own document format.  Seriously, until the clusterfuck that is cross distro compatibility is fixed MS can have .doc and nobody has the right to say anything.

If in the very unlikely chance that the ‘ISG’ was actually created though I can bet you the OS base would not be Linux.  It might be BSD but I reckon the most likely contender would be the company with the most advanced technology, hardware compatibility and capabilities to handle a project of this magnitude – which would be Microsoft.  After all no country in the world would ever fund people who think that ‘Gimp’ is a good name for a piece of software.  They would go with the most established, professional, capable and proven group – a list which Linux is at the bottom of.

I see this as the real way forward for the software industry. Just like education: software is really important for our future, and is universally useful for almost every human fields of endeavor.

The problem with this is exactly the same problem with FOSS, which is coincidentally the same problem with all overly socialist and communist countries – you’ll have no competition.

The reason Photoshop is king of the hill, and Creative Suite is pretty much an industry standard, is not because Adobe are an evil monopoly, it is because they have been constantly striving to make the best software they can to gain their marketshare.  The thing with your ‘solution’ is that once this magical socialist OS + software was made there would be no pressure to cater for their audience, no threats for failure, bugs and poor code.  Nothing new and inspiring would ever come along.  Microsoft are at their best when they have competition – IE sucked until Firefox, Office stagnated until OOo – which spurred MS to redo the whole UI.  The iPod and iPhone came from nowhere and set the bar ridiculously high for everyone else – without competition at best you would only ever get marginal improvements.  There would never be any radical leaps in usability, design and functionality as there would be no competition to spur it on.  I’ve already covered this with regards to Gnome and their entire failure to innovate for years – since there is no concern of going bankrupt, they have no real pressure to improve anything.

Gimp sucks, it’s unarguable, yet there’s never any effort to improve it.  Occasionally you hear of some half-assed attempt at fixing the GUI that never goes anywhere but why should they bother – it’s not like their job is riding on it’s success – so who cares if nobody uses it?

So in summary it’s:

  • A solution seeking a problem.
  • Overly expensive and unfair on the poor and the old.
  • Will lead to worse quality software.
  • Will almost certainly not be based on Linux or the GPL.
  • Will cause hundreds of thousands of job losses.
  • Is just a plain bad idea

Balanced enough for you?

15 comments