Skip to content

Fully Free GNU/Linux Presentation

13-Feb-10

As planned, I did my talk about the thriving fully free GNU/Linux distribution movement at yesterday’s FSFE Berlin Fellowship meeting. I started with the basics of the Free Software ideal, moved on to the problematic issues concerning mainstream GNU/Linux distributions such as Ubuntu and Debian and then discussed the solutions to these problems. I also had the chance to share some of my favorite fully free GNU/Linux distributions.

The interest in the topic was amazing, and the Q&A discussion after the presentation turned out to be more interesting than the presentation itself. After the event, I even managed to get my share of the FSFE’s Hug A Developer campaign!

I can has hugz! (Original picture from Matthias Kirschner's weblog)

Fortunately, I had brought a microphone with me and recorded the talk including the engaging discussion afterwards. You can find the Theora/Vorbis OGV video of the talk below.

Those who prefer to only have the audio can download the Vorbis OGG of the talk as well. Both the video and audio are licensed under the free CC-BY-SA license.

If you, your friends or your organization might be interested in this topic, please note that I would love to give an improved and updated version of this presentation to any group as long as my travel expenses can be met.

While at it, I compiled a list of interesting links relevant to the talk below.

Four Freedoms

An explanation of the Four Freedoms:
http://www.gnu.org/philosophy/free-sw.html

Guidelines for Free System Distributions:
http://www.gnu.org/distros/free-system-distribution-guidelines.html

Kernel blobs & Linux-libre

Wikipedia article on binary blobs:
https://secure.wikimedia.org/wikipedia/en/wiki/Binary_blob

A list of Linux blobs:
http://manulix.wikidot.com/kernel-blobs

The complete source file of the example ethernet driver:
http://lxr.linux.no/#linux+v2.6.27/drivers/net/tg3.c

The new firmware/ directory:
http://lxr.linux.no/#linux+v2.6.32/firmware/

Linux-libre Project:
http://fsfla.org/svnwiki/selibre/linux-libre/

GNU IceCat

GNU IceCat Project:
http://www.gnu.org/software/gnuzilla/

GNU IceCat PPA:
https://launchpad.net/~gnuzilla-team/+archive/ppa

Fully Free Distributions

FSF’s official list:
http://www.gnu.org/distros/free-distros.html

Incoming free distributions:
http://groups.fsf.org/wiki/Incoming_distros

List of software removed from fully free distros:
http://groups.fsf.org/wiki/List_of_software_that_does_not_respect_the_Free_System_Distribution_Guidelines

Trisquel GNU/Linux:
http://trisquel.info/en

gNewSense GNU/Linux:
http://gnewsense.org

Kongoni GNU/Linux:
http://www.kongoni.co.za

Former Kongoni lead developer’s announcement:
http://lists.kongoni.co.za/pipermail/kongoni-devel/2010-February/000312.html

Parabola GNU/Linux:
http://www.parabolagnulinux.org

The FSF announcement about the freed OpenGL:
http://www.fsf.org/news/thank-you-sgi

Fully Free GNU/Linux Presentation Next Week

05-Feb-10

I will be giving a talk about the fully free GNU/Linux distribution movement in the Free Software Foundation Europe’s Berlin meeting on Thursday, February 11th, next week. The talk will start at 19:30 in the Newthinking Store, Tucholskystraße 48. Hopefully, we will have a chance to continue discussing the topic over a few beers right after the meeting, too.

Here’s the abstract of the presentation:

For the past few years, a growing number of GNU/Linux distributions have been started with the specific goal of ensuring users’ software freedoms before everything else. In this presentation, I will try to draw an overview of the fully free GNU/Linux distribution movement and provoke participants to think about software distributors’ ethical responsibilities. What aspects of mainstream GNU/Linux distributions does this movement not find sufficient? Which distributions align themselves with the movement? What is their rationale for limiting functionality of their software offerings in the name of upholding user freedoms? What does a binary blob mean and what does the Linux-libre Project claim to accomplish that the vanilla kernel Linux doesn’t? How does the fully free GNU/Linux distribution movement affect the rest of the free software ecosystem? I am planning to keep the overall tone of the discussion newcomer-friendly while also providing some food for thought for the technically inclined.

The wording has been deemed “clunky” by Karl Goetz, the lead developer of gNewSense, but it’s the best I managed to do in a busy week. If you are in Berlin next week and interested in discussing this new movement inside the free software world, you’re welcome to join us.

Self-fulfilling Breakage

21-Dec-09

I have just got this message in Pidgin from a friend over the MSN Messenger Service:

“dude, my internet connection is fucked up. i’m getting disconnected every time i open msn.”

Predictably, he was offline when i saw the message.

A pleasant day

11-Dec-09

I had an interesting day yesterday. I attended my first Fellowship meeting in less than 24 hours after finally joining the Fellowship of Free Software Foundation Europe. The Berlin group of the Fellowship turned out to be full of interesting people not all of whom are technogeeks. After Hugo Roy’s presentation about the alarming features of the upcoming EIF, I had a chance to get to know the FSFE some more. Despite being sister organizations, different Free Software foundations (such as FSF, FSFLA and FSFE) have, in my experience, different cultures. I first got in contact with the FSFE people during the CELF Embedded Linux Conference Europe last year and, combined with my observations yesterday, a general picture of FSFE’s style is starting emerge in my head. But I’d better save it for a later blog post, or one of my ignorant comments would likely draw me into a flamewar. :)

When i came back home from the meeting, I was greeted by Tobias and Randi’s over-enthusiastically jumping around and yelling “vintage laptops!” The laptops that Sam Geeraerts graciously sent me from Belgium had arrived.

vintage laptops

"vintage laptops"

Mainly thanks to K.Mandla, I became interested in experimenting with “old” (i.e. approximately sub-300MHz) laptop computers and using them for daily tasks with Free Software. My attempts at finding such machines in working condition locally had failed (please let me know if you know of any shops or organizations that have such machines in Berlin) and, as a desperate attempt, I was yelling for help on the IRC. That’s where Sam stepped up and donated these three machines that he had scavenged from his company. These laptops run on 266, 233 and 100MHz processors and have respectively 96, 32 and 40 MiB of RAM.

I was too tired and sleep-deprived to start hacking on them immediately, but it didn’t prevent us from having some fun…

Me, Randi and Tobias monkeying around

Me, Randi and Tobias monkeying around

…Or from opening a bottle of sparkling wine and having a little Windows launch party.

The launch party ensues with a game of strip solitaire...

The launch party ensues with a game of strip solitaire...

EDIT: Hello there, FSFE Planet!

Greg K-H’s Little Kernel Nutshell and Gluing PDF Files with Ghostscript

13-Sep-09

It has been a chaotic couple of weeks, but I’m finally settling in Berlin. Although I haven’t found my final home yet, I finally have a reliable Internet access thanks to a little 3G USB modem. (Andreas Gohr’s blog post helped greatly in straining out some details of wvdial configuration for the German T-Mobile.)

I have been collecting a few tips and tricks about free command line utilities for some time and I plan to share them here in near future. For now, I’ll start with a single tip.

In my quest to grok the most popular kernel for GNU, I am making some distinct, albeit slow, headway into the inner workings of Linux. Before completely delving into the source code, I wanted to have a last overall look on kernel configuration, which may also end up providing some new insight relevant to the Freedom Shoppe builds.

In my search, I found Greg Kroah-Hartman’s Linux Kernel In A Nutshell.

Linux Kernel In a Nutshell

It is a concise reference guide and, even better, under a free license! And I don’t mean a semi-free license; it is genuine Attribution-Share Alike. The only point that bothered me was that every chapter and even part headings were separately packaged. But it isn’t really the GNU way to simply complain about works that you’re allowed to hack on. :-) So, I did some scroogling and found here that the Ghostscript interpreter can be used to easily glue multiple PDF’s together into one file right on the command line. Here’s how to do it:

After downloading and uncompressing the tarball of all PDF files, I had all chapters of the book (except for the cover which may be under O’Reilly’s strict copyright.) After figuring out the order of these files, I ran this command:

gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=LinuxKernelInANutshell.pdf title.pdf LKNSTOC.fm.pdf ch00.pdf part1.pdf ch01.pdf ch02.pdf ch03.pdf ch04.pdf ch05.pdf ch06.pdf part2.pdf ch07.pdf ch08.pdf part3.pdf ch09.pdf ch10.pdf ch11.pdf part4.pdf appa.pdf appb.pdf LKNSIX.fm.pdf colo.pdf

With this command, Ghostscript writes multiple files in given order into a single PDF. As you can check for yourself, files given after -sOutputFile=LinuxKernelInANutshell.pdf are original PDF files listed according to the book’s order.

I am hosting the resulting single PDF file, so feel free treat yourself to a geeky afternoon read. ;-)

Writing the History in Free Software

17-Aug-09

One of the free software related mailing lists I’m subscribed to is called GNU-Linux-libre. It’s a list where developers of fully free GNU/Linux distros and other projects involved in spreading software freedom gather to exchange experiences and opinions. For the last couple of days, there has been a heated discussion going on over how a free kernel should behave in certain situations. It’s a tricky subject, if you’re not familiar with it. Basically, some Linux drivers (including Intel wireless drivers), even though they’re free themselves, require the loading of firmware codes which are not free software. Logically, the Linux-libre project removes these not free firmware from the kernel to ensure users’ freedom. However, the question comes to what should be done about the left drivers that are rendered useless without the firmware. The current solution is to leave these drivers as they are and make the kernel print a *DEBLOBBED* message whenever the driver looks for the non-existent firmware.

A few days ago, the developer community started to discuss if the drivers themselves should also be removed from the Linux-libre source code. (You can read the discussion thread here.) The argument for removing the drivers is that those drivers act primarily as a trap for the user to switch to non-free firmware. And, the counterargument to that is that the drivers themselves don’t restrict user freedom and should be left as an invitation for hackers to write a free firmware. From my point of view, both sides of the argument have valid points. However, the discussion seems to be blown out of proportion for such a relatively minor issue. I am saying minor because nothing significant changes for the regular user of a free distribution either way. The involved device would be unusable regardless of whether the discussed drivers are purged or not. Furthermore, if a user has enough skills and motivation to plug a non-free firmware back, she could also just compile the whole driver module.

Anyway, the real reason why I wanted to post was to share a quotation from a mail sent during the discussion. It’s written by Daniel Olivera who is the leading developer of UTUTO, the first fully free distro recognized by the FSF. For a few years, it remained the only such distribution, until the number of free GNU/Linux distributions came close to ten with more lining up to get included. Although the language is a little bit broken (probably due to the heat of the discussion), its hilarity should make up for it. :-) And, nevertheless, there is some truth in it, too…

This hackers, and this Gnu Project and other free software fighter never
create a free system.
All rules, All software, all hackers, all gurus, all free software
moviment never use a 100% free system.

I create this system.

I first hacker from free software moviment what compile and put only
free software in one CD are me.

you don't need teach about the history, I write de history.

Laptop Hacking a la Frankenstein

14-Jul-09

I had a cheap MSI laptop lying around with no functioning hard disk or CD drive for a while. I have tried switching HDDs, yet it continued failing to find a drive, so I’m guessing there was a motherboard trouble involved. (Though I’m a sub-newbie when it comes to PC internals.) Today’s been a slow day and without knowing I found myself with a screwdriver in my hand and a dissected laptop on my desk in front of me.

Laptop on the surgery table

I don’t know if this happens to other people too but I occasionally start hacking on something without realising. In this case, I have been listening to some music and chatting on the IRC when, out of nowhere, I started thinking about the sad little laptop sitting on one of my “TOHACK” hardware piles. In the end, I grabbed it and started unscrewing without even thinking about it.

By the time I came to myself I already opened up most of the case, so I went ahead took everything apart. I examined, smelled and tasted every part I could get my hands onto. Meanwhile, I also took mental notes of their possible uses for future projects.

After this, it would be a waste to assemble it back into its old, unused shape. What do you do with a laptop that has no access to a CD drive or hard disk and that has the cheapest possible keyboard (think about the whole board bending and all keys shaking even if you type gently) and an awkward track pad? Well, the only idea I had that was doable in an hour or so was making an LCD terminal into which I could plug a bootable USB stick and boot into a system created with FUSBi or a persistent installation like the one on the FSF Member Card.

And that’s what I did. In the simple sense, it required reversing the LCD Panel, so that when the laptop’s lid is closed (which will be its default state) the screen will be looking to outside. I also needed to take care to make sure that the old keyboard surface remains uncluttered so the now reversed lid closes snugly and that the power button, which normally stays under the lid is reachable from outside. And, yes, it involved a soldering iron. I’m not arguing I followed the most elegant or civil method here. :-) In the end, it kind of looks like a one piece LCD panel.

LCD Terminal

LCD Terminal

In the pictures, the panel is standing on a basic book holder which does a decent job. (I have also used this book holder as a stand for my Eee PC in the past.) And, sure enough, it makes a perfect companion for my FSF Member Card running gNewSense and the Happy Hacking Keyboard.

It's Alive!

Google OS: Bootloader to the Cloud

08-Jul-09

Yet another blog pundit’s opinion of Google’s new operating system

I have just read Kongoni developer A.J. Venter’s blog post about Google’s new operating system. I didn’t agree with some of his views and started typing a response as it’s the tradition whenever someone is wrong on the Internet. However, it quickly got too long for a comment and, since I’m not posting for quite a while on my own weblog, I thought what better opportuntity to post. So, here’s my response and view of Google’s operating system projects:

I personally am more paranoid of the Google OS. I haven’t really navigated the blogosphere on this, so my view may have already been stated extensively.

Old Man Yells At CloudI see a big threat in what Google is aiming here, which is complete dependence on the cloud. Google plans to release most of the so called Chrome OS as free software. Yes, but we should also look at what this OS is reduced to. Or more importantly, in which way Google is hoping to ‘educate’ its users. Replacing or modifying an operating system by Google shouldn’t be an impossible task (though with a varying difficulty from simply reinstalling a laptop’s OS to bypassing restriction mechanisms on an Android phone), but a user’s set habits are much harder to replace.

I don’t know if you would see this as unsubstantiated speculation, but Google’s main goal seems to be to create a computing environment where the operating system and everything on the user’s machine just serve as the boot loader of the real computer, i.e. the cloud, of which Google is trying get the majority userbase as quickly and as early as possible.

“this isn’t trading one monopolist for another”

My fear is even deeper than that. Microsoft is clearly a monopoly with many of its decisions taken not in the interest of its users, but rather against them. However, Google, if you accept my previous premise, is posing a much bigger threat. Whereas the fight between Free Software and Microsoft is a relatively conventional struggle between the right thing to do with your personal computing versus the wrong thing, Google’s end goal has the risk of making this whole fight irrelevant, and not in a good way…

Should we get our tinfoil hats?

Despite the significance of the threat, how or if Google’s cloud computing ideal is inevitable is far from being definite. Google doesn’t quite have the same direct force on computer users’ machines the same way IBM once had or Microsoft is still enjoying. Therefore, Google is trying to lure users with features and conveniences. Although cloud computing has several advantages over traditional computing especially for users of highly restrictive platforms such as Microsoft Windows or Apple Mac OS X, I personally believe it can never match the power of personal computing, especially when done with Free Software.

On the flip side, Google is also doing numerous beneficial things for digital freedom such as developing some pieces of software under free licenses or fighting for internet standards. Whatever motivation they may have for doing these, they certainly have also immediate good effects for the free software communities. So, I am not suggesting that one should reject all of Google’s projects. On the contrary, we should try to benefit from them as much as we can without sacrificing already established freedoms. It is only necessary to keep their end game in mind while doing so.

Getting Maximum Framebuffer Resolution

05-May-09

I have been increasingly getting interested in console-only environments, no little thanks to K.Mandla’s inspiring articles.

However, my biggest concern was the screen resolution I could get at framebuffer. According to the prompt I was getting with the vga argument at kernel boot line, I could only get 1024×768 from my Thinkpad X200s which has a native resolution of 1440×900. Having only such a small portion of the real screen real estate obviously meant less productivity I could get.

Today, I did some research on the interwebs looking for a way to increase the framebuffer resolution. Along the several tips that looked like black magic to me, this is the simplest solution for my taste.

I installed hwinfo which you can find pre-packaged on Debian, Ubuntu and gNewSense. And the hwinfo --framebuffer command listed all possible resolutions which contained some that were not given by the aforementioned prompt. Here’s the snippet that interested me the most:

Mode 0x0369: 1440x900 (+1472), 8 bits
Mode 0x036a: 1440x900 (+2880), 16 bits
Mode 0x036b: 1440x900 (+5760), 24 bits

Theoretically, adding one of these modes as the vga argument should enable the corresponding resolution. On my machine, however, the 24 bits mode broke the console output for a reason I don’t know. But the 8 bits and 16 bits modes work charmfully.

1440x900 16 bits framebuffer

Trying to come up with a screenshot, I also discovered the nifty fbgrab tool that takes framebuffer and X screenshots.

p.s. This machine has the on-board Intel GMA X4500MHD graphics chip.

EDIT: For those who want the clear cut solution, I basically added vga=0x036a at the end of the GRUB’s kernel line.

Linux-libre: now with a boot mascot!

20-Apr-09

Recently, there has been some activity at the Linux-libre mailing list to create a Linux-libre mascot. Coincidentally, I have been considering adding a custom boot logo to the Freedom Shoppe kernel packages just before the discussion started. So, I decided to wait until there is a nice logo posted instead of using a crude design of mine.

Having gathered some beautiful samples, I decided on my favorite and put together a kernel patch today. It basically adds the option of building a new Linux-libre logo into the kernel. Here’s the result!


Download the video in Theora/Vorbis format

I’m not sure if this (or anything like it) will ever become a part of the official Linux-libre releases, but I am intending to include them in the Freedom Shoppe kernel packages for Debian, Ubuntu and gNewSense. As the first version with this logo, I have just released 2.6.29.1-libre-fshoppe2 series.

Edit: I replaced the embedded Flash video with an HTML 5 complaint <video> tag. I would like to thank the FLOSS Manuals ofr their most helpful TheoraCookbook. [31.08.2009]

-->