01 July 2005

What's wrong with GNU/Linux

I've been a fan of GNU/Linux (hereafter referred to as Linux for convenience) for about two years now. Compared to what I was used to before (an operating system specific to the x86 architecture from a company based near Seattle, if I remember correctly) Linux is immensely powerful and flexible, and a great learning tool. Before switching, my learning about computing had pretty much ground to a halt. Since then, however, I have learnt a huge amount about networking, security, graphics, processor architecture, system configuration and much more. Oh, and I've also learnt a lot about freedom, why it's important and how certain vested interests are trying to deny us any freedom that doesn't suit their business model, And of course I've learnt about many communities that exist online, and I've even had the pleasure of drinking beer with some of the members of these communities too.

When discussing the merits (or otherwise) of Linux with people who have either never tried it or have merely dabbled with it. there is a consistent complaint that I hear. Essentially people say that you require a lot of knowledge about the system before you can use it, its command line syntax is obscure and non-obvious and there are too many things that are just that much harder to do than on certain other operating systems that they may be familiar with. Certainly I cannot argue that historically the latter has been the case, as the ecosystem surrounding Linux is relatively young, and certain key parts of the software chain have only become available more recently. But the rate at which Free Software is being developed is absolutely astounding, and every time I have come across a "missing application", I don't have to wait long for 3 or 4 to come along to fill the gap. And they will be 3 or 4 very good applications too. That is not what is wrong with Linux.

But what does seem to be wrong with Linux is exactly the same as what is wrong with proprietary software - the best known distributions are produced by commercial companies that don't have the resources to do sufficient testing. As a Software Engineer writing proprietary software and delivering it to customers during my day job, I see this problem from the inside and it's a simple problem - testing costs money, and proper testing costs lots of money. You therefore do as little as you think you can get away with without damaging your reputation or losing your customers. That usually means merely ensuring that you are not significantly worse than your competitors.

Red Hat, Mandriva, Novell and the many smaller players suffer from exactly these problems. Fair enough, the fact that they are delivering Free Software means that some of their testing is external, which should at least give them a significant advantage over proprietary companies. But what cannot be external are the processes of configuring and packaging the software for each distribution. They are competing against each other totally in this respect. All too often using Suse I have found little configuration issues that cause me problems. As I'm now reasonably knowledgeable I can usually figure out how it should be configured, but it takes time, and to a business using the software, time equals money. The software itself almost always works brilliantly once configured correctly. So it's often merely the choice of default configuration that makes the difference between "It requires significant tweaking before you can use it" and "It just works".

Let's take a step out of the commercial Linux world for a moment to the distributions that are purely community based. I have been a keen Gentoo user for a while, and am now discovering the world of Debian and in particular KUbuntu, the KDE version of Ubuntu.

Gentoo has a well-deserved reputation for being hard to install, but once installed I have found that it's pretty easy to maintain. The community is large enough that most configuration problems, if they occur at all, get solved pretty quickly. If a package doesn't work, just wait a few hours then emerge the updated package that fixes the issue. Nine times out of 10 it really is this easy. Apart from the installation procedure there is only one major disadvantage to Gentoo - because all software is compiled locally, it can take a while to install. That's not a problem for many situations, but on my slow laptop it was the one reason I decided to investigate Debian and its derivatives as an alternative.

My experience of Debian itself is pretty limited, but I have now been using KUbuntu for a couple of months. With Debian, configuration issues are very rare just as they are in Gentoo. The main reason I am not so keen on Debian Stable is that the software is quite old (translation: nearly all the bugs have been flushed out now, so it's well suited to use on a server. My requirements are for a desktop, which is quite different). It was my hope in using KUbuntu that I would have all the advantages of Debian, combined with all the advantages of very up-to-date software, combined with all the advantages of a large community supporting it. So have I found this to be the case? In a nutshell, yes. True, it sometimes feels like the fairly young distribution that it really is (8 months old as I write this), but to be up there with the best so quickly is, quite frankly, amazing. If it carries on improving at this rate it should sweep the others aside in the next couple of years to become the de facto Linux distribution for the desktop.

On second thoughts, maybe it isn't so amazing how well it has done, when you look at how it's developed:

It's based on a long-standing, solid, community-based foundation (Debian)

It only uses Free Software so avoids all the various proprietary traps, but without precluding the use of non-Free software if that's what tickles your fancy

It uses the (now very large) community as an integral part of the process of debugging it so that everyone can benefit right from the start

The whole development process is totally open, so any problems are caught early.


Whilst I was writing this, it looks like another snapshot of Breezy Badger, the next release of Ubuntu has just been announced. I should probably start downloading it and finish this off.

Donald

14 June 2005

Freedom - guard it with your life, while you still can

For the last few years, I have become increasingly concerned about the number of areas in which our freedoms are being eroded. Surely, I hear you say, this is a problem in some parts of the world, but not in the developed nations? There is no doubt that some of the worst restrictions on freedom have happened in places like China, Zimbabwe, Sout Africa, Iraq, Burma, Saudi Arabia, Palestine and other nations. These may hit the mainstream headlines, but because they are highly visible this generally has the effect of restraining those who seek to oppress. I have no doubt that the Chinese government realises that the Tiananmen Square massacre did nothing to improve its image overseas, and the fact that it has not been repeated is possibly a consequence of this. Likewise, high profile campaigning against apartheid in South Africa eventually lead to that system being dismantled, and the country now enjoys much greater freedoms than it did previously.

However, I don't intend to talk primarily about these restrictions which, by and large, are confined to the poorer nations. I want to talk about the restrictions that occur in wealthy, so-called developed nations. I will use three examples to illustrate the point.

1) Software Patents in Europe
2) Proposed Introduction of Identity Cards in the UK
3) Microsoft's Censorship of the words "Democracy", "Freedom" and "Demonstration" in China.

Let me just clarify something about this third point. What I wish to talk about here is the part that Microsoft, one of the wealthiest companies from one of the wealthiest nations, is playing in this.

1) Software Patents in Europe.
For the background to this, please take a look at This website.
Let's take a quick look at what patents are, and what purpose they intend to serve. Patents were introduced in order to encourage disclosure of inventions. Prior to the introduction of patents, many inventors protected their ideas by keeping them secret. Once others found out about an idea, they were able to reproduce the idea freely and compete with its original inventor. This gave the inventor a strong reason to avoid disclosing any details, much to the detriment of the advancement of science and technology. Patents were introduced in order to give inventors a time limited monopoly in exploiting their idea, in return for fully disclosing their ideas. There was no requirement that an inventor use this scheme, they could choose to remain in secrecy and hope that no-one copies their ideas. But by and large patents have been the better route for inventors to take.

So why are patents such a problem in software?

Firstly, software is just mathematics, expressed in a formalised manner and applied to solving a particular problem. Mathematics in not so much invented as 'discovered'. Looked at another way, the mathematical realities would still exist whether or not someone had discovered them, or formalised them into a particular algebraic language or used them in some other way. Secondly, any software program of any complexity will use a vast number of different mathematical constructs, so if these were all patented then even writing a simple "Hello World" program would make you potentially liable to be sued for patent infringement by multiple parties.

So what is the fuss about?

Software patents have been allowed in the USA for some time. In practice, large corporations such as Microsoft, IBM, Novell have the resources to acquire patents in large numbers. They have then used these as weapons against each other, or more importantly, against those that have no patents. In effect the major patent holders have become like a cartel, wielding a large amount of power and shutting smaller players out of the process. It doesn't matter whether the patents are valid or fulfil the purpose for which patents were created - challenging a patent's validity is an expensive process which smaller companies cannot afford. All they can do is give in to the bullying and pay a patent licence to the big players.

So it comes as no surprise that those who are trying to introduce patentability of software into the European Union are the big companies with deep pockets. The only people who could benefit from this are the big companies themselves - the smaller companies, the individual users of software (that's you if you're reading this) and the general public all lose out. Free Software developers stand to lose a lot in particular, because many of them are young individuals with no financial resources behind them, often students. Incidentally, a deeper look at the process of how this has been handled in the EU shows the EU to be deeply undemocratic in its inner workings - but that's a story for another article.

So briefly, the large companies that support software patents are trying to take away our rights to use software, on the often dubious premise that they invented some part of the whole and that we should pay them a licence fee. It's a bit like travelling down a road when someone jumps out in front of you and demands a fee to let you pass. Except that, unlike the traditional highway bandit, software patents would make this legal. That is why this move should be opposed in every way possible.

2) Proposed Introduction of Identity Cards in the UK

See the UK Home Office press release and this discussion of the impact were they to be introduced.
It is a fact that many countries require their citizens to hold identity cards, including many European nations. Tony Blair's government has used this as an excuse to attempt to introduce them in the UK. They claim that the technology is foolproof, and that it will help to reduce terrorism and crime. It is also a fact that these ID cards will prove very expensive to introduce.

Let me state a few facts. The terrorists who hijacked planes on the 11th September 2001 were all in the USA totally legally, and their paperwork was in order. A legal requirement to carry ID cards at all times does not mean that everyone will carry them, and those who have no problem with committing terrorist acts will certainly not see a problem with failing to carry an ID card at the moment they commit those acts. The cost per person of introducing ID cards could go a long way towards alleviating the problems that lead to people becoming terrorists. In fact terrorists usually are influenced very strongly by situations that severely restrict their freedoms to live as they wish; Israeli occupation of Palestinian land, western exploitation of oil in poorer countries spring to mind as obvious examples.

So at best, Tony Blair's intention to bring in ID cards is based on erroneous premises and will fail to achieve its stated aims. At worst it is a pretext to increase government control over the population and restrict our freedoms further. ID cards may only be used for specified purposes today, but in 30 years' time their scope could very easily be extended by a new goverment over which today's government has no control or influence. How do you know you can trust the generation that has yet to be born? You can't even trust the current generation.

3) Microsoft's Censorship of the words "Democracy", "Freedom" and "Demonstration" in China.

I use this example not because I dislike Microsoft, but because it is current at the time of writing and illustrated the principle very well. See This Article for more details. Microsoft are not the first organisation to give in to pressure and put profit above principle, and I am sure they will not be the last. But by giving in to Chinese demands to censor their web users, they are effectively saying "censorship is fine with us". Yes I know they are only doing it because they don't want to lose their business in China, but I would ask "What price are you willing to pay for profit?". If everyone gives in to others' demands to restrict our freedoms, we will be living under a global dictatorship within a very short space of time, and have very few freedoms.

It has taken me years of thinking hard about the issues of freedom but this is the conclusion I have come to:

"Everyone should be totally free to do whatever they want, at any time, in any place, and in any manner they wish, except in cases where it can be shown to be in the public interest that certain acts, behaviour or choices should not be allowed."

Note that I said the public interest - not the individual interest, not the government interest and certainly not corporate interests. So for example murder, drink driving and theft should not be allowed as that would lead, ultimately, to total breakdown of society. Patents, if they are to be awarded at all, should only exist if it can be shown to be in the public interest. I do not believe that Software Patents are in the public interest, nor are ID cards, nor is censorship implemented by businesses to protect its profits.

24 May 2005

Justice and Poverty - a Closer Look

For those of you who don't know, I am from a wealthy country (UK) but married to someone from a poor country (Peru). As I have an interest in human geography and how humans interact with each other and their environment, I have thought long and hard about why some countries are rich and others are poor. There are many obvious factors that could be relevant such as the abundance of natural resources or a favourable climate, but so often the relative wealth of a country appears to be totally unrelated to these factors. Why is Sweden with its very harsh winters a rich country, whereas Peru, with vast mineral and agricultural resources and a generally favourable climate across much of the country, poor?

To find answers to these questions we have to dig a little deeper. But first, we have to identify what poverty really is.

Psychological poverty

My first observation is that some people 'feel' poor whereas others don't. This often has little relationship with how much money someone has, but is more to do with whether they constantly see others who appear to be better off than them.

Material Poverty

Some people have all that they need to survive on this planet, whereas others don't - or at least we could say that the ease with which someone can acquire these necessities varies a lot, as do the necessities themselves.

Financial Poverty

Often, people are quoted as being poor because they live on 'less than a dollar a day'. This of course is a problem if the basic necessities of life cost more than this, but that may not always be the case. This is a dramatic oversimplification of what poverty is, and often serves to obscure the real issues.

Social Poverty

Some people live in rich countries and have a lot of money, but for a variety of reasons are unable to be part of a circle of friends. Families also provide a similar social network for many people. Those who are very much alone in the world could be considered to be 'socially poor'.

I was fortunate enough to be able to spend time with a family in the coastal jungle of Ecuador a few years ago. This family had very little in the way of financial resources, but as they lived largely outside the monetary system this was mostly irrelevant. In fact they grew or raised nearly everything they needed, and didn't seem to be unhappy or suffering. This experience probably above all others has forced me to reevaluate my understanding of poverty. It is not simply lacking finances - although often a lack of finances is one of the more obvious consequences of poverty. So for sake of argument lets say that Poverty is where many of the above factors (and possibly others I haven't listed) are present to a significant degree, and that it is a kind of sliding scale where you can draw arbitrary lines below which someone is defined as 'poor'. I won't get into discussion here of exactly how these multiple factors get added into the mix.

Now we have a working understanding of what poverty is, we can ask "why do some people become poor"? I think this boils down to one thing: They don't have the power to reach their full potential. This can be for a number of reasons.

Corruption

In many of the poorer countries there is endemic corruption. At one end of the scale this can be politicians embezzling public funds (or sometimes fleeing the country with the funds), and at the other end local officials demanding bribes, for example to avoid an official fine for a purported minor traffic offence. Corruption generally exists at all levels of society in poor countries. It is very hard to remove because those who benefit from it are generally the ones who have the power to deal with it, but not the will.

Economic clout of wealthy nations

It cannot be denied that the nations of North America and Europe (among others) benefit greatly by have cheap sources of primary goods in the third world. However this is not by pure coincidence. Problems of third world debt could be removed at a stroke if wealthy nation governments wanted too. However that would have the effect of giving more economic power to the poorer nations - they could demand higher prices for the goods they provide, and the balance of economic power would tip a little more in their favour.

Economic clout of large multinationals

Here in Britain there is a standing joke - "Why is there only one monopolies and mergers commision?". For those of you from elsewhere in the world, the monopolies and mergers commission exists to prevent overly powerful companies from merging and forming de facto monopolies in their field. By and large this works well, although it is not a total solution to the problems of monopoly. But in many parts of the world, multinationals have no constraints and can buy local companies, form partnerships and impose terms and conditions on their customers or suppliers which lead them to have a de facto monopoly. Companies such as Nestle, Coca Cola and Telefonica have monopolies in supplying their respective products across much of Latin America, for example. This has often come about by taking over their competitors without any constraints to prevent this from happening.

Lack of economic flexibility
This is something I have thought about in detail but struggle to describe succinctly. One aspect of this is flexibility of labour, both from the point of view of employers (who may want to recruit or lay off large numbers to cater for changes in their markets) and employees, who may wish to work longer hours in order to pay, for example, for a new house. If there is only one type of work contract available which is a 38 hour week Monday to Friday, then no-one is able to work extra hours to earn more. On the other hand if there is a high availability of well-paid, flexible work then people can easily accommodate short term financial needs by working extra hours.
Another aspect of this is 'flexibility of spending'. For example if there is only one type of house available in a city at a more or less fixed price, you are unable to save money by moving somewhere cheaper. Likewise a lack of choice can constrain our other spending habits. But if we are able to move somewhere cheaper and buy cheaper food of a lower quality, again we have the flexibility to accommodate short term financial needs.
Both of these types of flexibility are built in to the way society works to varying degrees, and a more flexible society is less likely to have people really suffering because they are unable to pay their bills - it offers them more options that can help them in their needs.

What are not causes of poverty

This is my most controversial statement here - Natural disasters do not cause poverty. Now before you accuse me of being insensitive, I am not denying that much suffering results from natural disasters such as the recent Tsunami in Asia, or from many earthquakes that have destroyed entire cities. But have a think about where these disasters don't happen. California and Japan, for example are in very earthquake-prone areas of the world. But because they are wealthy areas, they are able to use technology to mitigate the effects. Buildings are all built to resist earthquakes, so what would be a natural disaster ends up causing very few major problems. If Thailand, Sri Lank and Indonesia had a suitable tsunami warning system in place, much of the suffering from the tsunami could have been avoided. the fact remains that wealthy nations are able to either mitigate the effects of, or recover rapidly from natural disasters. Where suffering does occur, public funds are usually available to deal with the issues such that poverty does not occur among those affected. This certainly cannot be said for what happens in poorer nations.

Lack of natural resources
Historically, towns and cities have grown up on rivers, near the sea, on fertile land or near mineral resources. However there are many megacities in the world which have vastly outgrown the resources that led to their creation in the first place. Through man's ingenuity these cities are able to import all they need, and still be economically strong.

To sum up, I believe the issues surrounding poverty are much more complicated than most people realise. I hope by writing this, you as my readers will be able to understand a bit more about it, and maybe will take action accordingly. you could write to your government representatives to persuade them to drop a bad policy, or maybe stop buying products from an abusive company. Even better, you could pass this knowledge and understanding onto someone else who may be motivated to act accordingly.

21 May 2005

KUbuntu - a step closer to Linux Heaven

I currently use SuSE Linux 9.2 on my main PC, and Gentoo on my laptop. While I love both of these distributions in various ways, I've been keen for quite a while to try a Debian-based distribution because of the excellent reputation of the installation tools apt and dpkg. After looking briefly at Debian itself and MEPIS, I decided that with all the noise that Ubuntu is making at the moment, I should try it.

For those of you who don't know, KUbuntu is the KDE version of Ubuntu - the same base system, just a different desktop environment. I installed Hoary Hedgehog, otherwise known as KUbuntu 5.04. which was release in April 2005.

Installation

The installer is very straight forward, and asks a bare minimum of questions. The most complicated part was the partitioner, which because of where I was installing it was a little complicated, but that's more my fault than Ubuntu's. The most surprising aspect was that it didn't ask you to make any package selections - there is the default install or the default install, so to speak. Fortunately the default install is very well chosen - a KDE desktop with generally only one application to perform each task. Fortunately again, they seem to choose the applications that my experience teaches me are the best. After a bit I had to reboot, and with a bit of manual tweaking of the bootloader (again, my fault rather than Ubuntu's because I didn't trust it to change my bootloader, but the evidence suggests that it would probably have done the right thing) it spent a long time 'doing stuff' with the
packages that it had installed, i.e. configuring them. This would have been a good moment to take steps to prevent caffeine deficiency, had it not been midnight.

This is where I came to the only real fly in the ointment - and a big fly it was too. Last time I tried Ubuntu I messed up the X configuration, because it asked me what driver to use, and I gave it the driver it would need on my desktop, whereas I was trying it on my laptop - Doh! So my fault in a sense, although a novice user would probably be confused by this step. I was only able to rectify this by manually editing xorg.conf. This time it didn't ask me what video driver to use, but auto detected the correct one. So this is a definite improvement. However, it only gave me a resolution of 640x480 - Aaaarghhh! There were no tools to reconfigure this, and I had to manually edit xorg.conf AGAIN. What was worse is that had I not had a working xorg.conf file from Suse that showed me settings that worked, I would have been totally stumped. The tweak was totally non-obvious and even with a working xorg.conf as reference, I had to google to find out which bits were relevant. Maybe some of the fault for this lies in the complexity of xorg.conf itself rather than Ubuntu, but there should be some tool to help inexperienced users round this.

Ubuntu seem to have taken the "Restart X Server" option out of the KDM menu, so I had to do a total reboot for changes to take effect. As I had now tweaked the booloader and wanted to test it, this wasn't really a problem.

Score: 8/10

Desktop

So now I had a very nice desktop which just worked almost exactly as I like it. Networking worked out of the box (as I have 2 network cards, the installer asked me which one I wanted connected to the internet), so did sound. For those of you who are familiar with KDE but haven't tried version 3.4, it is a real step in the right direction, adding a lot of polish and general 'look and feel' improvements. OpenOffice is included, although I didn't try this in detail. By and large KDE is left in it's default state, which is in part a testimony to how good KDE is.

Score: 10/10

Multimedia

Now for the one test that I was keen to do - getting DVD playback working, with CSS decryption. I fully understand the reasons why distributions are reluctant to ship this working out of the box when there are large countries with very damaging patent laws (although Gentoo don't seem to have a hang-up with it), but how this issue is handled varies a lot. Suse ship software that is deliberately crippled (very bad, IMHO), Red Hat just don't ship the controversial packages (acceptable), Ubuntu have information on their website which explains that if it is legal in your jurisdiction, this is what you should do. There is even an example script that downloads the packages and installs them. Yes!! So by installing libxine and xine-ui and running the script I was able to watch my legally bought DVD collection. In my opinion the existence of a minority of users who are subject to retrograde and damaging patent laws shouldn't prevent distributions from shipping packages that are perfectly fine elsewhere, but with suitable disclaimers warning those for whom it might not be legal. Amarok is included as the music player, which in my opinion is the best music player/manager available for Linux at the moment, and will probably take over from the trusty xmms given time. This has support for all the usual formats including ogg, mp3 and many more. As I said before sound just worked, and unlike other distributions the volume was set to a suitable value so I didn't have to search for a volume control app just to verify it really was working.

Score: 8/10

Administration

I tried installing a few packages using Kynaptic, and I realised just how good apt/dpkg are as a toolset - it's far faster than using rpm on Suse, and very intuitive. Kynaptic doesn't appear at first sight to have more than the basic functionality, but that's because it doesn't need it. What's more, packages are configured with sensible default settings, which minimises the interaction required if you are not trying to do anything out of the ordinary. What I did miss, however, is a general set of configuration tools similar to SuSE's YaST or the Mandriva Control Centre. Having to manually edit config files is not friendly towards beginners, and KUbuntu is definitely aimed at beginners. I believe there are tools in the non-KDE version of Ubuntu, but KDE users need an equivalent. I hope Breezy Badger includes a set of suitable tools. Having said that, Ubuntu aims to be a desktop system rather than a general purpose system, and a lot of the configuration settings are for configuring services, so not that relevant to the target market.

Score: 6/10

Summary

As someone who likes lots of knobs and buttons to let me tweak stuff, Kubuntu is definitely simplified somewhat, but the power is not taken away, just moved away from where it can be intrusive. What they have simplified is sensible and well thought out, and to be honest I loved it. Stuff just worked. The default settings were excellent.

I'm looking forward to trying out Breazy Badger when it come out. I think they should do something about the X configuration issue, and provide a tool similar to Suse's SAX to let you change the display settings. Kynaptic is very simple and straight forward, but lacks one or two features that it's Gnome counterpart Synaptic has - I'm sure these will be implemented soon.

All in all, it's a great system built on a solid foundation. Very few things would need to change in my opinion to make it almost perfect for desktop use. From a usability point of view, it's the best distribution I've used so far.

Overall Score: 8/10

14 May 2005

Welcome to my blog

Welcome to my blog. For those of you who don't know what a blog is, it is short for weblog - the latest craze in communication, journalism and the internet in general. Over the the coming months I hope to post on a variety of topics, including family life, the GNU/Linux world, my hobbies and interests, and maybe even a few funny stories as and when I come across them. And yes you guessed it - I'm new to blogging, so forgive me if it takes a while to get up to speed. Feel free to post any suggestions....

To get you started, you might want to visit the following websites to get a feel for what I spend my internet time reading:

Groklaw (www.groklaw.net) - a blog by Pamela Jones (known as PJ) which started off by following the legal battle between Caldera (now known as SCO) and, well, lots of companies including IBM, Red Hat, Novell, Daimler-Chrysler and Autozone. It has a very active contributor community, and now covers lots of other areas including patents, Microsoft and legal issues generally from the tech world.

Linux Today - various news stories from the Linux world.

KDE Website of my favourite desktop environment. If you're not sure what KDE is, go to the website and have a look.

Gentoo Linux My current favourite Linux distribution. If you've never tried Linux before, you don't want to go here. Try Ubuntu or Red Hat Fedora Core 3 instead. And yes, they're both free (as in you don't have to pay) and Free (as in Free Speech, freedom). You may also want to take a peek at Mandriva, or try Knoppix for a bootable live CD that will give you an idea of what Linux is about. If you want to know more about Free Softare, have a look at The GNU website.

Oh, and occasionally I emerge from the world of Linux and have a look at The BBC Website to see what else is going on in the world.

Chao,
Donald