Communicating freely

Archive for June, 2008

Be nice to developers

Tuesday, June 24th, 2008

Adriaan from KDE – the man I personally blame for all bugs ever encountered in programs written in the C++ language [1] – has written a blog post suggesting that it’s a good idea not to send abusive emails to Free Software developers who don’t offer professional support services at zero cost for their code.

He has got a point. While the low barriers of access and hierarchy in Free Software often provide easy access to the developer in question, the developer’s personal provision of support is likely to receive a far lower priority than development work. This is hardly surprising.

Few people expect to speak directly with the developer of a proprietary application when the application misbehaves. Support is instead provided by a department inside the production company or an accredited partner. Free Software takes this abstraction a little further. One of the key innovations in this paradigm is that third parties can provide professional top tier support regardless of their relationship with the original developer of the application.

It is important to remember that the word "Free" in Free Software does not refer to the software having zero cost either in production or in adoption. It refers solely to the freedoms the software offers everyone who receives a copy.

There is a cost of production, delivery and support with Free Software. This cost may include personnel hours, hardware and electricity on the production side and it may include training, integration and maintenance on the support side. Such cost calculations do not disappear because Free Software offers more freedom than proprietary software.

Free Software is often developed by people and organisations who offset their cost of production because they get something else in return. What they receive may be kudos, the ability to play with other people’s innovations or a solution delivered to users. The situation and cost benefit analysis differs for each individual or organisation.

In the post delivery of a solution different dynamics are at play. A developer who creates a technology with a cost offset might not wish to also offer service level agreements to users. It might just not fit into their reason for making the software or it might have too high a cost.

Everyone can get the code, everyone can distribute it, everyone can offer support for it. It’s more flexible and encourages more competition over delivery of solutions. Those solutions can be technical, integrative or support based.

Many developers are happy to answer some questions and even respond to requests for features, but it’s not reasonable to expect that they are obliged to do so. We should be nice and bear in mind that we have no entitlement when it comes to obtaining support unless the creator has promised such support explicitly.

[1] KDE is written in C++. There is a connection.

KDE 4: Shane’s conclusion (a little late)

Monday, June 16th, 2008

I planned to spend one week with KDE 4.  In the end, I didn’t do that.  I’m three weeks into this trial and KDE 4 has been my default desktop for fourteen days.  I guess that says a lot.

Sure, there are some rough edges that need to be smoothed out and there are some quirks that need adjusting.  However, all of the flaws are minor bugs rather than problems with the realisation of the new desktop.  There was certainly nothing that prevented me from reaching my productivity goals.  In practice, KDE 4 today works well enough for me to run a large legal network on a day-to-day operational basis.

Let’s do a quick verdict of the good and the bad.


A representative example of existing bugs would be that the Dolphin file manager randomly throws up errors when opening files.  They look like this: "KLauncher could not be reached via D-Bus, error when calling start_service_by_desktop_path: empty"  These errors sound worse than they are.  The files in question actually opened correctly.   

Other bugs can be found in some KDE 4 applications.  I found the newest version of KATE to be unstable when word-wrapping at 80 characters.  It occasionally crashes while reformatting line breaks, at least on my machine.  Kword and I also had a couple of disagreements when editing complex documents.  I mentioned this in a previous blog post.

RESULT: I grumble, but there’s more stuff I like than I dislike.


However, niggles aside, KDE 4 is something special.  It improves the desktop through engineering, it is well-designed and it is fast.  This is one of the rare occasions when people are making an exciting new technology that actually works.  While it is still in development and is currently best suited for hackers and experienced users, there is a lot of potential already visible when it comes to considering home users.  

KDE 4 is slick, fast and a lot of fun.  It’s nice to be able to say that about a computing experience.  I believe that it has the potential to mature into one of the most significant Free Software desktops.  

RESULT: KDE 4 rocks.

If you want to try KDE 4 you will have to be prepared for one thing; the developers have not yet written the documentation for things like the Plasma desktop.  Not to worry.  Below you can find Shane’s really quick overview of how to use Plasma.  This was entirely stolen from Sebastian’s helpful email explaining the basics of the system to me.

An overview of Plasma

There are three important concepts to keep in mind when using Plasma, the KDE 4 desktop technology:

  1. In Plasma you have Plasmoids.  These are widgets you can add to the desktop.
  2. You also have Containers
  3. The Plasmoids can live in Containers

Using the Plasma desktop

  • Plasmoids can be put into Containers like the panel or the can float freely on the desktop.
  • The top right corner of the desktop holds the Toolbox. There you can choose to add widgets or lock the desktop.  
  • If you add widgets you can drag Plasmoids into either the panel let them float freely on the desktop.  
  • If you lock the desktop the applet controls will be hidden and the desktop will become immutable.  
  • You will want to keep the desktop locked most of the time.

Advanced features

  • Press CTRL+F12 to bring all active widgets to the front of your screen.  This is similar to a "show desktop" feature.
  • If you have "Desktop effects" enabled then pressing:
    •  CTRL+F8 produces a full-screen pager effect
    •  CTRL+F9 produces an expose effect for the current desktop
    •  CTRL+F10 produces an expose effect for all desktops

Icons on the Desktop

  • In KDE 4.0 there is very little support for icons on the desktop.
  • In KDE 4.1 there is a folder view Plasmoid that provides more interaction with the icons.  It is similar to a file manager or traditional desktop.  
  • You can choose a folder or network resource to be displayed on the desktop through this new Plasmoid.