Brian Gough’s Notes

Archive for February, 2011

Decentralised systems and the tendency to centralisation

Saturday, February 12th, 2011

In his presentation at FOSDEM on “Power, Freedom, Software. Why we need to divide and re-conquer our systems” Karsten Gerloff talked about the difference between decentralised systems, which are networks of client-server systems (such as Email), and distributed systems, where all nodes are equal (such as peer to peer filesharing networks like GNUnet).

If the client and the server of a decentralised system are both free software then anyone can start their own server and be free from control. In practice, decentralised systems have a tendency to become centralised, and in some cases highly centralised for most users.

The tendency to centralisation is a result of two factors: asymmetric costs and economies of scale.

  1. Asymmetric costs: in client-server systems, the server generally requires more administration that the client. Users have an incentive to transfer administration to a third-party, either for a fee or trading away privacy, in the case of advertising-supported services.
  2. Economies of scale: server administration is subject to significant economies of scale. Larger providers drive out smaller providers over time, leading to a high degree of centralisation.

These two factors form a positive feedback loop, as larger providers can offer better services at lower cost, thereby attracting more users.

As a specific example, consider email. In the early days, each group of users had their own mail server at their local site. Over time, email has been outsourced to ISPs, ISPs have merged and been taken over, and finally been overtaken by a small number of global mail providers with userbases in the hundreds of millions.

Although the factors driving this process are universal the degree of centralisation is not uniform, but depends on the relative cost of administration and value of privacy for different users. For example, email has become effectively centralised for individual non-technical users, where the relative cost of running a mail server is high and the perceived privacy problem is low. For large companies, the relative cost of running a mail server is lower, confidentiality of corporate information is valued, and most maintain their own mail systems in-house.

Autoconf caching – an option I didn’t know about

Thursday, February 10th, 2011

In his talk about Autotools at the FOSDEM GNU Dev Room, Ralf Wildenheus mentioned an autoconf option that I wasn’t aware of. It’s the “-C” option and it enables caching, which speeds up multiple runs of a ./configure script enormously.

$ ./configure --help
     --cache-file=FILE   cache test results in FILE [disabled]
 -C, --config-cache      alias for `--cache-file=config.cache'
$ ./configure -C
configure: loading cache config.cache

Caching used to be the default up to about 10 years ago, but was turned off as the cache gets out of sync with the system if new packages are installed. Also it really only benefits developers, as end-users typically only need to run ./configure once.

In the 1990’s I got used to caching being enabled by default and when it was turned off I never noticed the change — except that somehow running ./configure while developing seemed a lot slower in the past ten years!

Thanks to Ralf for pointing out this option as I am now using -C all the time.

GNU Devroom at FOSDEM 2011 (Brussels)

Tuesday, February 8th, 2011

The GNU dev room at FOSDEM 2011 was great, the room had 100 seats and every talk was packed out with people standing at the sides.

The GNU talks were:

Org-Mode: your life in plain text by Bastien Guerry on the amazing personal organizer mode for emacs

Dynamic hacking with Guile by Andy Wingo on the new release of Guile 2.0 and hacking a twitter clone (“Peeple”) live in 15 minutes using Guile’s new web framework – amazing,.

GNU Autotools by Ralf Wildenhues with lots of useful tips for autoconf and automake.

GNU Network Security Labyrinth by Simon Josefsson, a nice tutorial on how different security protocols have developed over time, in order to solve the problems with earlier attempts.

GNU recutils: your data in plain text by Jose E. Marchesi, tools to work with your data on the command-line.

There were also two talks from FSF Europe,

Power, Freedom, Software. Why we need to divide and re-conquer our systems by Karsten Gerloff.

Non-free software advertisement – presented by your government by Matthias Kirschner, about the successful campaign.

Thanks to José and Andy for organising the day, it was a great set of topics.


Karsten Gerloff talking about freedom and the cloud.


Simon Josefsson finishing his talk


The room