Talking at FOSS.in 2012, Bangalore, India

December 28th, 2012 by muelli

As reported, FOSS.in took place this year, in Bangalore, India. I was fortunate enough to be invited again to this leading Free Software event in India, if not Asia.

Queueing people trying to get in to FOSS.in

The event hosted many very good people and it was a real pleasure to be surrounded by smart folks that love Free Software. It’s a real honour to be invited and speak on the same stage as these people. And it’s an honour to be able to talk about Free Software in a so called developing country and try to form the next generation of Free Software hackers.

There were many talks and I think I will follow up with a separate post about that.

My first talk went really well I think (others do seem to think so, too). The audience seemed to be genuinely interested and I enjoyed being on stage. At some stage, I need to revamp my slides though. I usually go with TeXed slides, but for the GNOME ones, I keep using LibreOffice. One of the minor problems is, that I want to play videos from within the presentation. I can do that (more or less) with LibreOffice and PDF can also do it. But this is not working with my version of Evince :-\

Anyway, thanks to hasgeek.tv, we have recordings of FOSS.in (Day1, Day2, Day3)! And here is my first talk live on tape:

The second talk was a surprise for me, because I was told just a few hours in advance that I need to give another one. Apparently someone couldn’t come and the slot needed to be filled. I jumped in and did my show. I was still a bit hung over from the night before, but it went off well. Except for the fact that my laptop went off the presenter desk. It’s a bit shaky still, so if you happen to have a spare machine that’s decent enough, let me know. Anyway, I have to say, that I dislike the fact that I was told just a few hours in advance that I had to give another talk. But I appreciated being the one that is considered to entertain the people the most. Also very interesting was that I sat on a panel that Lenny moderated. I remember well when Lenny was asked to do that for the first time last year in Japan. He does it well and again, I felt very honoured to be invited to sit next to all those important people, eventually being considered being one of them. However, it appears that there no videos yet.

As for the rest of the trip, we went to Sri Lanka and did a round trip there. An interesting country indeed. Very developed. Not as affordable as expected but still very good value for us whities.

Panorama from Sigiriya Rock

I hope that the FOSS.in team manages to pull it off again next year. I really believe that the event impacts the development of Free Software in the region. And without such an event, great opportunities are lost.

As usual, thanks to FOSS.in and the GNOME Foundation for supporting me to go there.

Converting Mailman archives (mboxes) to maildir

November 13th, 2012 by muelli

I wanted to search discussions on mailing lists and view conversations. I didn’t want to use some webinterface because that wouldn’t allow me to search quickly and offline. So making my mail client aware of these emails seemed to be the way to go. Fortunately, the GNOME mailinglists are mbox archived. So you download the entire traffic in a standardised mbox.

But how to properly get this into your email clients then? I think Thunderbird can import mbox natively. But I wanted to access it from other clients, too, so I needed to make my server aware of these emails. Of course, I configured my mailserver to use maildir, so some conversion was needed.

I will present my experiences dealing with this problem. If you want to do similar things, or even only want to import the mbox directly, this post might be for you.

The archives

First, we need to get all the archives. As I had to deal with a couple of mailinglists and more than a couple of month, I couldn’t be arsed to click every single mbox file manually.

The following script scrapes the mailman page. It makes use of the interesting Splinter library, basically a wrapper around selenium and other browsers for Python.

#!/usr/bin/env python

import getpass
from subprocess import Popen, list2cmdline
import sys

import splinter

def fill_password(b, username=None, password=None):
    if not username:
        username = getpass.getpass('username: ')
    if not password:
        password = getpass.getpass('password: ')
        
    b.fill('username', username)
    b.fill('password', password)
    b.find_by_name('submit').click()


def main(url, username=None):
    b = splinter.Browser()
    
    try:
        #url = 'https://mail.gnome.org/mailman/private/board-list/'
        b.visit(url)
        
        if 'Password' in b.html:
            fill_password(b, username=username)


        links = [l['href'] for l in b.find_link_by_partial_text('Text')]

        cookie = b.driver.get_cookies()[0]
        cookie_name = cookie['name']
        cookie_value = cookie['value']
        cookie_str = "Cookie: {name}={value}".format(name=cookie_name, value=cookie_value)
        wget_cookie_arg = '--header={0}'.format(cookie_str)
        #print  wget_cookie_arg
        
        b.quit()

        
        for link in links:
            #print link
            cmd = ['wget', wget_cookie_arg, link]
            print list2cmdline(cmd)
            # pipe that to "parallel -j 8"

    except:
        b.quit()


if __name__ == '__main__':
    site = sys.argv[1]
    user = sys.argv[2]
    
    if site.startswith('http'):
        url=site
    else:
        url = 'https://mail.gnome.org/mailman/private/{0}'.format(site)
    
    main(username=user, url=url)

        

You can download the thing, too.

I use splinter because handling cookies is not fun as well as parsing the web page. So I just use whatever is most convenient for me, I wanted to get things done, after all. The script will print a line for each link it found, nicely prefixed with wget and its necessary arguments for the authorization cookie. You can pipe that to sh but if you want to download many month, you want to do it in parallel. And fortunately, there is an app for that!

Conversion to maildir

After having received the mboxes, it turned out to be a good idea nonetheless to convert to maildir; if only to extract properly formatted mails only and remove duplicates.

I came around mb2md-3.20.pl from 2004 quite soon, but it is broken. It cannot parse the mboxes I have properly. It will create broken mails with header lingering around as it seems to be unable to detect the beginning of new mails reliably. It took me a good while to find the problem though. So again, be advised, do not use mb2md 3.20.

As I use mutt myself I found this blog article promising. It uses mutt to create a mbox out of a maildir. I wanted it the other way round, so after a few trial and errors, I figured that the following would do what I wanted:

mutt -f mymbox -e 'set mbox_type=maildir; set confirmcreate=no; set delete=no; push "T.*;s/tmp/mymuttmaildir"'

where “mymbox” is your source file and “/tmp/mymuttmaildir” the target directory.

This is a bit lame right? We want to have parameters, because we want to do some batch processing on many archive mboxes.

The problem is, though, that the parameters are very deep inside the quotes. So just doing something like

mutt -f $source -e 'set mbox_type=maildir; set confirmcreate=no; set delete=no; push "T.*;s$target"'

wouldn’t work, because the $target would be interpreted as a raw string due to the single quotes. And I couldn’t find a way to make it work so I decided to make it work with the language that I like the most: Python. So an hour or so later I came up with the following which works (kinda):

import os
import subprocess
source = os.environ['source']
destination = os.environ['destination']

conf = 'set mbox_type=maildir; set confirmcreate=no; set delete=no; push "T.*;s{0}"'.format(destination)

cmd = ['mutt', '-f', source, '-e', conf]
subprocess.call(cmd)

But well, I shouldn’t become productive just yet by doing real work. Mutt apparently expects a terminal. It would just prompt me with “No recipients were specified.”.

So alright, this unfortunately wasn’t what I wanted. I you don’t need batch processing though, you might very well go with mutt doing your mbox to maildir conversion (or vice versa).

Damnit, another two hours or more wasted on that. I was at the point of just doing the conversion myself. Shouldn’t be too hard after all, right? While researching I found that Python’s stdlib has some email related functions *yay*. Some dude on the web wrote something close to what I needed. I beefed it up a very little bit and landed with the following:

#!/usr/bin/env python

# http://www.hackvalue.nl/en/article/109/migrating%20from%20mbox%20to%20maildir

import datetime
import email
import email.Errors
import mailbox
import os
import sys
import time


def msgfactory(fp):
    try:
        return email.message_from_file(fp)
    except email.Errors.MessageParseError:
        # Don't return None since that will
        # stop the mailbox iterator
        return ''
dirname = sys.argv[1]
inbox = sys.argv[2]
fp = open(inbox, 'rb')
mbox = mailbox.UnixMailbox(fp, msgfactory)


try:
        storedir = os.mkdir(dirname, 0750)
        os.mkdir(dirname + "/new", 0750)
        os.mkdir(dirname + "/cur", 0750)
except:
        pass

count = 0
for mail in mbox:
        count+=1
        #hammertime = time.time() # mail.get('Date', time.time())
        hammertime = datetime.datetime(*email.utils.parsedate(mail.get('Date',''))[:7]).strftime('%s')
        hostname = 'mb2mdpy'
        filename = dirname + "/cur/%s%d.%s:2,S" % (hammertime, count, hostname)
        mail_file = open(filename, 'w+')
        mail_file.write(mail.as_string())


print "Processed {0} mails".format(count)

And it seemed to work well! It recovered many more emails than the Perl script (hehe) but the generated maildir wouldn’t work with my IMAP server. I was confused. The mutt maildirs worked like charm and I couldn’t see any difference to mine.

I scped the file onto my .maildir/ on my server, which takes quite a while because scp isn’t all too quick when it comes to many small files. Anyway, it wouldn’t necessarily work for some reason which is way beyond me. Eventually I straced the IMAP server and figured that it was desperately looking for a tmp/ folder. Funnily enough, it didn’t need that for other maildirs to work. Anyway: Lesson learnt: If your dovecot doesn’t play well with your maildir and you have no clue how to make it log more verbosely, check whether you need a tmp/ folder.

But I didn’t know that so I investigated a bit more and I found another PERL script which converted the emails fine, too. For some reason it put my mails in “.new/” and not in “.cur/“, which the other tools did so far. Also, it would leave the messages as unread which I don’t like.

Fortunately, one (more or less) only needs to rename the files in a maildir to end in S for “seen”. While this sounds like a simple

for f in maildir/cur/*; do mv ${f} ${f}:2,S

it’s not so easy anymore when you have to move the directory as well. But that’s easily being worked around by shuffling the directories around.

Another, more annoying problem with that is “Argument list too long” when you are dealing with a lot of files. So a solution must involve “find” and might look something like this: find ${CUR} -type f -print0 | xargs -i -0 mv '{}' '{}':2,S

Duplicates

There was, however, a very annoying issue left: Duplicates. I haven’t investigated where the duplicates came from but it didn’t matter to me as I didn’t want duplicates even if the downloaded mbox archive contained them. And in my case, I’m quite confident that the mboxes are messed up. So I wanted to get rid of duplicates anyway and decided to use a hash function on the file content to determine whether two file are the same or not. I used sha1sum like this:

$ find maildir/.board-list/ -type f -print0 | xargs -0 sha1sum   | head
c6967e7572319f3d37fb035d5a4a16d56f680c59  maildir/.board-list/cur/1342797208.000031.mbox:2,
2ea005ec0e7676093e2f488c9f8e5388582ee7fb  maildir/.board-list/cur/1342797281.000242.mbox:2,
a4dc289a8e3ebdc6717d8b1aeb88959cb2959ece  maildir/.board-list/cur/1342797215.000265.mbox:2,
39bf0ebd3fd8f5658af2857f3c11b727e54e790a  maildir/.board-list/cur/1342797210.000296.mbox:2,
eea1965032cf95e47eba37561f66de97b9f99592  maildir/.board-list/cur/1342797281.000114.mbox:2,

and if there were two files with the same hash, I would delete one of them. Probably like so:

    #!/usr/bin/env python
    import os
    import sys


    hashes = []
    for line in sys.stdin.readlines():
        hash, fname = line.split()
        if hash in hashes:
            os.unlink(fname)
        else:
            hashes.append(hash)

But it turns out that the following snippet works, too:

find /tmp/maildir/ -type f -print0 | xargs -0 sha1sum | sort | uniq -d -w 40 | awk '{print $2}' | xargs rm

So it’ll check the files for the same contents via a sha1sum. In order to make uniq detect equal lines, we need to give it sorted input. Hence the sort. We cannot, however, check the whole lines for equality as the filename will show up in the line and it will of course be different. So we only compare the size of the hex representation of the hash, in this case 40 bytes. If we found such a duplicate hash, we cut off the hash, take the filename, which is the remainder of the line, and delete the file.

Phew. What a trip so far. Let’s put it all together:

The final thing


LIST=board-list

umask 077

DESTBASE=/tmp/perfectmdir

LISTBASE=${DESTBASE}/.${LIST}

CUR=${LISTBASE}/cur
NEW=${LISTBASE}/new
TMP=${LISTBASE}/tmp

mkdir -p ${CUR}
mkdir -p ${NEW}
mkdir -p ${TMP}

for f in  /tmp/${LIST}/*; do /tmp/perfect_maildir.pl ${LISTBASE} < ${f} ; done
mv ${CUR} ${CUR}.tmp
mv ${NEW} ${CUR}
mv ${CUR}.tmp ${NEW}
find ${CUR} -type f -print0 | xargs -i -0 mv '{}'  '{}':2,S
find ${CUR} -type f -print0 | xargs -0 sha1sum | sort | uniq -d -w 40 | awk '{print $2}' | xargs rm

And that’s handling email in 2012…

Loopback monting huge gzipped file

October 10th, 2012 by muelli

This is basically a note to myself for future reference which I hope is interesting to others.

I just had to loopback mount a gzipped image file. I didn’t want, however, to unpack the file, because I am very short on disk space right now. Also, I didn’t care too much about processing power. I searched quite a bit until I found “avfs“.

AVFS is a system, which enables all programs to look inside archived or compressed files, or access remote files without recompiling the programs or changing the kernel.

At the moment it supports floppies, tar and gzip files, zip, bzip2, ar and rar files, ftp sessions, http, webdav, rsh/rcp, ssh/scp

muelli@xbox:/tmp$ avfsd -o allow_root ~/.avfs
muelli@xbox:/tmp$ cd  ~/.avfs/home/muelli/qemu
muelli@xbox:~/.avfs/home/muelli/qemu$ sudo losetup /dev/loop1 XP-4G.ntfs.dd.gz#
muelli@xbox:~/.avfs/home/muelli/qemu$ sudo mount /dev/loop1 -oro,noatime /home/muelli/empty/

Note that the filename I’m accessing is suffixed with a hash.

OpenPGP Key Rollover from D3492A2A to 1BF98D6D

September 24th, 2012 by muelli

Public Service Announcement: I am deprecating my old key 0xD3492A2A in favour of a newly generated key 0x1BF98D6D. I have uploaded a copy here. It is signed with my old key, too. FTR: It involved exporting the old secret key and the new public key to a temporary directory, change the expiry date of the old key, sign the new key and import the new signed key *sigh*. It’s only 11 years that --allow-expired-keys was discussed.

The new fingerprint is:

$ gpg --fingerprint --list-key 1BF98D6D
pub   3072D/1BF98D6D 2012-05-10 [expires: 2017-05-09]
      Key fingerprint = FF52 DA33 C025 B1E0 B910  92FC 1C34 19BF 1BF9 8D6D
uid                  Tobias Mueller tobias.mueller2  mail.dcu.ie
uid                  Tobias Mueller 4tmuelle  informatik.uni-hamburg.de
sub   3072g/3B76E8B3 2012-05-10 [expires: 2017-05-09]
$

It’s 2012 already and apparently there ain’t such a thing as best practices for rolling over your OpenPGP key. I’m thinking about something that discusses whether or how to

  1. create a new key
  2. adding old UIDs to the new key
  3. sign the new key with the old one
  4. sign the old key with the new one
  5. probably sign the new key with other secret keys in your keyring
  6. preparing a small text file stating the rollover
  7. sign that so that you can upload it to the public
  8. inform people that have signed your old key that a new one is in place

I do think the steps mentioned make sense and should be implemented to easy the key transition. I started with something very simple; you can find the code here. You are welcome to discuss what’s needed in order to properly move from one key to another.

Updating Bylaws of the GNOME Foundation

September 9th, 2012 by muelli

The GNOME Foundation Bylaws are currently in an ugly PDF which you can see here or from our website here.

I’ve just sent a mail to foundation-list asking for feedback on our proposed changes.

I want to explain the changes we made to hopefully clear some points up that might arise. So let’s walk through the diff, hunk by hunk.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -1,10 +1,60 @@
+.. comment:
 
+        You can compile this document using Python's docutils like this:
+        
+                rst2latex --documentclass=scrartcl --documentoptions=a4paper,10pt,bigheading   --no-section-numbering bylaws-simple.rst > bylaws.tex
+          
+        Then you'll get a .tex file which you can compile using pdflatex. You probably need to have a couple of packages installed.
+        If it complains about a missing .sty file, you can install it using yum:
+        
+                yum install -y 'tex(pdfcomment.sty)'
+
+
+
+        The HTML version compiles similarly:
+        
+                rst2html --no-section-numbering --stylesheet=bylaws.css bylaws-simple.rst > bylaws.html
+
+
+.. role:: raw-html(raw)
+        :format: html
+
+.. role:: raw-latex(raw)
+        :format: latex
+
+.. role:: comment
+.. role:: huge
+.. role:: uppercase
+.. role:: hugeuppercase (huge)
+
+
+.. To turn off the comment function, uncomment (remove the first two leading dots and the white space) the following
+
+.. :raw-latex:`\renewcommand{\DUrolecomment}[1]{}`
+
+.. this sets the title
+
+        =============================
+        Bylaws of GNOME Foundation
+        =============================
+
+.. contents::
+
+        
+-----------------------
+
+.. for some weird reason, the order of the classes is important. Maybe fix it anyway, by patching \maketitle
 .. class:: centered
         
         :hugeuppercase:`Bylaws of GNOME Foundation`
         :raw-latex:`}\\% There's weird behaviour in docutils, i.e. every paragraph would get centered on its own`
         Initially Adopted on March 16, 2001.
         As Amended on April 5, 2002.
+        As Amended on November 11, 2005.
+        As Amended on October 22, 2007.
+        As Amended on [October 30, 2012.]
+        
+
 

So this is just some commentary to enable you to make a nice looking document from that .rst file.

Well, the filename in the comment will most likely be different. But that’s a very minor change. And the date indicated in square brackets is preliminary. So that will be replaced with a proper date once it’s set.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -12,7 +62,7 @@
 ==================================================================
 
 
-The name of the Corporation shall be Gnome Foundation (the "**Corporation**"), a California
+The name of the Corporation shall be GNOME Foundation (the "**Corporation**"), a California
 Nonprofit Public Benefit Corporation.
 
 

Since we use GNOME all over the place, we should not propagate “Gnome” any further.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -107,15 +164,17 @@
 Other Classes of Membership 
 -----------------------------------------
 
-. The Board may, from time to time, establish another class or classes of members, with or
+The Board may, from time to time, establish another class or classes of members, with or
 without voting rights. The privileges, rights and duties of such other class or classes of members
 shall be as provided by the Board, subject to the terms of the Bylaws, as amended from time to time.
 The Board may thereby confer some or all of the rights of the members upon any person or persons.
-If such person or persons do not have the right to vote for either: (i) the election of a Director or
-Directors, on a disposition of all or substantially all of the assets of this corporation, on a merger, on
-a dissolution or (ii) the selection of delegates who possess any such voting rights or (iii) changes to
-the corporation's Articles of Incorporation or Bylaws, such person shall not be a member within the
-meaning of Section 5056 of the Nonprofit Corporation Law of the State of California.
+If such person or persons do not have the right to vote for either:
+
+1. the election of a Director or Directors, on a disposition of all or substantially all of the assets of this corporation, on a merger, on a dissolution or
+
+2. the selection of delegates who possess any such voting rights or
+
+3. changes to the corporation's Articles of Incorporation or Bylaws, such person shall not be a member within the meaning of Section 5056 of the Nonprofit Corporation Law of the State of California.
 
 
 

The first change is just a whitespace.

The other changes should just be a conversion of the format. That is, the list is now a proper list as opposed to the inline notation.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -141,7 +198,7 @@
 Admission and Removal 
 -----------------------------------------
 
-Admission or removal from membership shall be by the vote of a majority of the number of
+Admission or removal from membership shall be by the vote of a majority of the 
 Directors then in office.
 

This is meant to be a minor language cleanup. I was confused of the double speak with the “number of”.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -171,20 +226,18 @@
         that the member no longer meets the qualification requirements for membership in the
         Corporation.
 
-
 #.      **Removal or Suspension**.  Membership shall terminate upon the determination of the Board
-        or Membership Committee after a hearing duly held in accordance with this Section 6(c), that
+        or Membership Committee after a hearing duly held in accordance with this Section 6.7.3, that
         the member has failed in a material respect to observe the rules of conduct promulgated from
         time to time by the Board and applicable to members, or otherwise has failed in some
         material respect to merit continued membership privileges in the Corporation. In the event of
         a removal or suspension of a member, the following procedures shall be implemented:
 
-        a)      A notice shall be sent by prepaid, first-class, certified or registered mail to the most recent
-                address of the member as shown on the Corporation's records, setting forth the removal or
-                suspension and the reason therefore. Such notice shall be sent at least fifteen (15) days
+        a)      A notice shall be sent by electronic mail and prepaid, first-class, certified or registered mail to the most recent
+                address of the member, if known to the Corporation, setting forth the removal or
+                suspension and the relevant reason. Such notice shall be sent at least fifteen (15) days
                 before the proposed effective date of the removal or suspension.
 
-
         #)      The member being expelled or suspended shall be given an opportunity to be heard, either
                 orally or in writing, at a hearing to be held no fewer than five (5) days before the removal.
                 The hearing shall be held by the Board or Membership Committee. Any such hearing may

The section 6(c) is wrongly referenced.

We first require an email to be sent. On top, we clarify the requrement of a snail mail to the point that we have to sent a regular mail if we do know the address. So far, we do not really collect address data (well, the travel committee does and the Friends of GNOME programme generates address data, too). And I don’t think we want to. Hence we specify that we need to know the address in first place.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -192,10 +245,9 @@
                 participants in the hearing can hear one another. The notice to the member of his or her
                 proposed removal or suspension shall state that such member is entitled, upon request, to
                 such hearing, shall state that a date, time and place of hearing will be established upon receipt
-                of request therefor, and shall state, that in the absence of such request, the effective date of
+                of such a request, and shall state, that in the absence of such request, the effective date of
                 the proposed suspension or removal.
 
-            
         #)      Following the hearing, the Board, or Membership committee, as the case may be, shall
                 decide whether the member should in fact be expelled, suspended, or sanctioned in some
                 other way. The decision of the Board or Membership Committee, as the case may be, shall

The “therefor” was quite confusing to me, so I got rid of it everywhere. There will be more changes with either a “therefore” or a “therefor”.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -199,11 +251,10 @@
         #)      Following the hearing, the Board, or Membership committee, as the case may be, shall
                 decide whether the member should in fact be expelled, suspended, or sanctioned in some
                 other way. The decision of the Board or Membership Committee, as the case may be, shall
-                be final.
-
+                be final, subject to any challenge brought pursuant to this section.
 
-        #)      Any action challenging a removal or suspension of membership, including any claim
-                alleging defective notice, must be commenced within one year after the date of the removal
+        #)      A member may bring an action challenging a removal or suspension of membership, including any claim
+                alleging defective notice, within one year after the date of the removal
                 or suspension.
 
 

I pushed for that change, because it was contradictory to me, that the decision shall be final but can then be challenged. By now, I understand the spirit and the reasoning very well, but nonetheless, I wanted to make it simpler for others (and potentially for me, in a few month) to read. The bylaws simply want to enable someone to claim a defective notice. And it makes perfect sense to me in such a serious cirumstance as a removal. So all the change wants to achieve is to clarify that the decision shall be final, only if there is no defective notice to be claimed.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -252,13 +301,11 @@
 of the Corporation.
 
 
-
-Annual Meetings and Election of Directors
+Annual Meetings
 -----------------------------------------
 
-The annual meetings of members of the Corporation shall be held on the second Saturday
-in November of each year at 10:00 a.m., or at any other time and place determined by the resolution
-of the Board. Directors shall be elected and other proper business may be transacted at the annual
+The annual meetings of members of the Corporation shall be held at any time and place determined by the resolution
+of the Board. Directors may be elected and other proper business may be transacted at the annual
 meeting of members.
 
 

This biggie simply reflects our currect way of working. I actually like the idea of a fixed annual meeting mentioned in the bylaws, but well, reality shows us that what we really do is to meet each year at GUADEC.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -269,7 +315,9 @@
 Special meetings of members, for any lawful purpose, may be called at any time by the
 President or by the Board. Furthermore, special meetings of the members for any lawful purpose
 may be called by, upon request in writing by at least ten percent of the membership, or at least five
-percent of the membership in accordancw with Article XVI, stating the business to be transacted at
+percent of the membership in accordance with
+Article XVI,
+stating the business to be transacted at
 the special meeting, mailed to the principal office of the Corporation, or delivered to the chairman of
 the Board, the President, the Vice President or Secretary. It shall be the duty of the President to
 cause notice to be given, within seven (7) days from receipt of such a request, to be held no more

Accordance was a typo in the original

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -280,12 +328,9 @@
 Notice of Meetings 
 -----------------------------------------
 
-A notice of each annual meeting, written ballot for election of Directors or otherwise, if
-any, and special meeting shall be given by the President or, in case of his or her failure or refusal, by
+A notice of each annual meeting, and special meeting shall be given by the President or, in case of his or her failure or refusal, by
 any other officer or any Director; shall specify the place, time, day and hour of the meeting or the
-date on which the ballot shall be returned, if applicable; in the case of an annual meeting at which
-Directors shall be elected, shall specify the names of all those who are candidates for election of
-Directors at the time the notice is given, and in the case of special meetings, the nature of the
+date on which the ballot shall be returned, if applicable; and in the case of special meetings, the nature of the
 business to be transacted thereat. Such notice shall be given in writing to every member of the
 Corporation who, on the record date for notice of the meeting, is entitled to vote thereat. Such notice
 shall be given either personally or by sending a copy thereof by first-class mail or by telephone

The president was supposed to send the ballots for elections. But we don’t do that anymore. And I do think it makes sense to not require the president to do it. Currently, it is tighly coupled with the rest of the elections, effectively requiring the president to do the elections.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -297,6 +342,13 @@
 all other meetings.
 
 
+Election of Directors
+-----------------------------------------
+
+Directors may be elected at the annual meeting as described herein or otherwise by eletronic mail and electronic voting. Notice of such electronic mail or electronic voting shall be given by the President or
+by anyone duly appointed with the authority to do so by the Directors in accordance with Section 8.3.
+Such notice shall be sent promptly to the membership at least thirty (30) days prior to the last day on which votes may be submitted.
+
 
 Adjourned Meetings 
 -----------------------------------------

And to clarify, that we do our elections via electronic voting (as opposed to the AGM). It might actually be beneficial to the AGM if the directors were elected there, but then again, that would reduce the people being able to vote drastically. But maybe that’s something for the future, i.e. find a mix between e-voting and voting at the AGM.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -341,6 +393,14 @@
 
 
 
+
+
+Quorum for Referenda  
+-----------------------------------------
+
+Any member of the Corporation may propose a referendum. Such request for a referendum must be endorsed by 10\% of the Membership. The overall referendum process shall be conducted by the Membership and Elections Committee, as authorized by the Directors pursuant to Article IX.
+
+
 Record Date 
 -----------------------------------------
 

This is a change just reflects our way of working with referenda since at least 2004. I don’t know the origin and it’d be interesting to know where it came from. In fact, I was hesitating to make that change, but we lived with that rule for so long now, it should be written down then.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -438,7 +499,7 @@
 
 2.      A Director shall be a Member.
 
-3.      The initial number of Directors shall be eleven (11).
+3.      The number of Directors on [October 31, 2012] is seven (7).
 
 4.      No organization, corporation or similar entity, or any affiliate thereof, shall hold, directly or
         indirectly, more than 40\% of the Board seats, regardless of election results. In the event that

As per a referendum, we reduced the number of directors. I’m not really in favour of changing the spirit of the bylaws at this point. But it’s not very intrusive and hopefully removes potential confusion for people reading the bylaws and who wonder why we have 7 and not 11 directors.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -458,7 +519,7 @@
 Election and Term of Office of Directors 
 -----------------------------------------
 
-1.      Each of the directors shall hold office for one (1) year.
+1.      Each of the directors shall hold office for one (1) year, or a period of up to two (2) years as determined by the Board and announced prior to an election being called.
 
 2.      Directors shall be elected by the membership in accordance with the rules set forth on

http://foundation.gnome.org/electionrules.html.

This is another change to the bylaws from a referendum in 2007.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -495,19 +556,18 @@
 3.      **Removals**. A Director may be removed for cause. In the event such removal, the following
         procedures shall be implemented:
 
-        a)      A notice shall be sent by mail by prepaid, first-class, certified or registered mail to the
-                most recent address of the member as shown on the Corporation's records, setting forth the
-                removal and the reason therefore. Such notice shall be sent at least seven (7) days before the
+        a)      A notice shall be sent by electronic mail and by prepaid, first-class, certified or registered mail to the
+                most recent address of the member, if known by the Corporation, setting forth the
+                removal and the relevant reason. Such notice shall be sent at least seven (7) days before the
                 proposed effective date of the removal.
 
         #)      The Director being removed shall be given an opportunity to be heard, either orally or in
                 writing, at a hearing to be held no fewer than five (5) days before the removal. The hearing
                 shall be held by the Board. The notice to the Director of his or her proposed removal shall
                 state that such member is entitled, upon request, to such hearing, shall state that a date, time
-                and place of hearing will be established upon receipt of request therefor, and shall state, that
+                and place of hearing will be established upon receipt of such a request, and shall state, that
                 in the absence of such request, the effective date of the proposed removal.
 
-
         #)      Following the hearing, the Board shall decide whether the Director should in fact be
                 expelled, suspended, or sanctioned in some other way. The decision of the Board shall be
                 final.

Again, email and snail mail, if possible.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -547,11 +606,11 @@
 executive office of the Corporation. Special meetings of the Board shall be held at any place within
 or outside the State of California that has been designated in the notice of the meeting or, if not
 stated in the notice, or if there is no notice, at the principal executive office of the Corporation.
-Notwithstanding the above provisions of this Section 5, a regular or special meeting of the Board
+Notwithstanding the above provisions of this Section  8.5, a regular or special meeting of the Board
 may be held at any place consented to in writing by all the Board members, either before or after the
 meeting. If consents are given, they shall be filed with the minutes of the meeting. Any meeting,
 regular or special, may be held by conference telephone or similar communication equipment, so
-long as all Directors participating in the meeting can hear one another, and all such Directors shall be
+long as all Directors participating in the meeting can communicate with one another, and all such Directors shall be
 deemed to be present in person at such meeting.
 
 

The first change is purely cosmetic.

The second change is about hearing one another. While I do think it is import to actually hear, some people simply cannot. Apparently for US legal reasons, those kind of provisions need to be adapted for the impaired. It has also a benefit of allowing things like IRC meetings.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -578,7 +638,7 @@
         a)      **Manner of giving**. Notice of the time and place of special meetings shall be given to each
                 Director by one of the following methods:
                 
-                i. by personal delivery or written notice;
+                i. by personal delivery;
                 #. by first-class mail, postage prepaid;
                 #. by telephone communication, including a voice
                    messaging system or other system or technology designed to record and communicate

The written notice is redundant information, as there is snail mail mentioned (and email FWIW).

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -623,6 +683,10 @@
 any action taken is approved by at least a majority of the required quorum for that meeting.
 
 
+.. _Section Adjournment: `Adjournment`_
+.. _Article Directors: `Directors`_
+
+
 Waiver of Notice 
 -----------------------------------------
 

This is a technicality for the current reStructuredText parser :-\ The problem is, that there are more than one headings with the same name.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -682,7 +744,7 @@
 Directors as such shall not receive any compensation for their services, but by resolution of
 the Board, expenses of attendance, if any, may be allowed for attendance at regular or special
 meetings of the Board; but nothing herein contained shall be construed to preclude any Director
-from serving the Corporation in any other capacity and receiving compensation therefor.
+from serving the Corporation in any other capacity and receiving compensation for this. 

Another therefor removed.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -697,7 +759,7 @@
 -----------------------------------------
 
 The Board, by resolution adopted by a majority of the Directors then in office, provided a
-quorum is present, may create one or more committees, to serve at the pleasure of the Board.
+quorum is present, may create or remove one or more committees, to serve at the pleasure of the Board.
 Appointments to committees of the Board shall be by majority vote of the Directors then in office.
 The Board may appoint one or more alternate members of any such committee, who may replace
 any absent member at any meeting of the committee.

This is just a clarification as serving “at the pleasure of the board” apparently means to not serve anymore if the board does not want to. But to make it more explicit, we incorporate “remove”.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -777,6 +839,10 @@
 
 
 
+.. The following incoming anchor needs to be defined because reST doesn't like the section and the subsection being named Officers
+
+.. _sec\:officers:
+
 Officers 
 ==================================================================
 

Again, a technical change for reST.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -796,14 +863,20 @@
 Election and Term of Office 
 -----------------------------------------
 
-The officers of the Corporation, except such officers as may be appointed in accordance with
-the provisions of Section 3 or Section 5 of this Article X, shall be chosen annually by the Board, and
-each shall hold his or her office until he or she shall resign or shall be removed or otherwise
+
+The officers of the Corporation, except such officers as may be appointed in accordance
+with the provisions of Section 10.3 or Section 10.5 of this Article X, shall be chosen
+annually by the Board, and each shall hold his or her office until he or she shall resign
+or shall be removed or otherwise
 disqualified to serve, or his or her successor shall be elected and qualified, subject to the rights, if
 any, of an officer under any contract of employment. New offices may be created and filled at any
 meeting of the Board. Each officer shall hold office until that officer's successor shall have been
 duly elected and shall have qualified.
 
+.. _Section Subordinate Officers: `Subordinate Officers`_
+.. _Section Vacancies: `sec\:vacancies`_
+.. _Article Officers: `sec\:officers`_
+
 
 Subordinate Officers 
 -----------------------------------------

Just cosmetic and technical changes to include the section number.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -821,16 +893,16 @@
 1.      **Removal**. Any officer, other than the President, may be removed with or without cause. In
         the event such removal, the following procedures shall be implemented:
         
-        a)      A notice shall be sent by mail by prepaid, first-class, certified or registered mail to the
-                most recent address of the officer as shown on the Corporation's records, setting forth the
-                removal and the reason therefore. Such notice shall be sent at least seven (7) days before the
+        a)      A notice shall be sent by electronic mail and by prepaid, first-class, certified or registered mail to the
+                most recent address of the officer if known by the Corporation, setting forth the
+                removal and the relevant reason. Such notice shall be sent at least seven (7) days before the
                 proposed effective date of the removal.
 
         #)      The officer being removed shall be given an opportunity to be heard, either orally or in
                 writing, at a hearing to be held no fewer than five (5) days before the removal. The hearing
                 shall be held by the Board. The notice to the Officer of his or her proposed removal shall
                 state that such member is entitled, upon request, to such hearing, shall state that a date, time
-                and place of hearing will be established upon receipt of request therefor, and shall state, that
+                and place of hearing will be established upon receipt of such a request, and shall state, that
                 in the absence of such request, the effective date of the proposed removal.
 
         #)      Following the hearing, the Board shall decide whether the Officer should in fact be

Again a therefor, email and snail mail issue.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -845,7 +916,9 @@
         it effective. Any resignation shall be without prejudice to the rights, if any, of the
         Corporation under any contract to which the officer is a party.
 
+.. Again, this reference needs to be explicitely given because there is another "Vacancies" section.
 
+.. _sec\:vacancies:
 
 Vacancies 
 -----------------------------------------

Technical.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 14:16:50.849271582 +0300
@@ -864,8 +937,12 @@
 President 
 -----------------------------------------
 
-The President shall be the chief executive officer of the Corporation and shall in general
-supervise and control all of the business and affairs of the Corporation. The President may sign,
+The President shall act as the chief executive officer of the Corporation
+if no chief executive officer or executive director has been appointed by
+the Board and shall in general supervise and control all of the business
+and affairs of the Corporation. The President shall also act as the
+Chairman if none has been appointed.
+The President may sign,
 with the secretary or any other proper officer of the Corporation authorized by the Board, any deeds,
 mortgages, bonds, contracts or other instruments that the Board of Directors has authorized to be
 executed, except in cases where the signing and execution thereof shall be specially designated by

We do have our own, paid, CEO. I do like the fact though, that we intend the President to be the CEO. It makes a great deal of sense to me to have these kind of priviledges attached to the President. It is also nice, though, to be able to appoint that position. To then fill the role of the President with something, we make it the chairman.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -943,7 +1016,8 @@
 Definitions 
 -----------------------------------------
 
-For the purpose of this Article I:
+
+For the purpose of this Article XI:
 
 1.      "agent" means any person who is or was a Director, officer, employee, committee member
         or other agent of the Corporation; or is or was serving at the request of the Corporation as a

The original probably meant to reference Article XI, not I. Article I is the name of the Corporation. That wouldn’t make much sense.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -977,7 +1053,7 @@
 Actions Brought by Persons Other than the Corporation 
 ---------------------------------------------------------
 
-Subject to the required findings to be made pursuant to Section 5 below, the Corporation
+Subject to the required findings to be made pursuant to Section 11.5 below, the Corporation
 shall indemnify any person who was or is a party, or is threatened to be made a party, to any
 proceeding, other than an action brought by, or on behalf of, the Corporation, or by an officer,
 Director or person granted related status by the Attorney General, or by the Attorney General on the

Cosmetic.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -1051,8 +1130,9 @@
 Limitations 
 -----------------------------------------
 
-No indemnification or advance shall be made under this Article XI, except as provided in
-Section 2 or 5(b) above, in. any circumstance when it appears:
+
+No indemnification or advance shall be made under this Article XI,
+except as provided in Section 11.2 or 11.5.2 above, in any circumstance when it appears:
 
 1.      That the indemnification or advance would be inconsistent with a provision of the Articles
         of Incorporation, a resolution of the Board or an agreement in effect at the time of the accrual

Cosmetic.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -1099,9 +1179,10 @@
 Fiduciaries of Corporate Employee Benefit Plan 
 -------------------------------------------------
 
-This Article XI does not apply to any proceeding against any trustee, investment manager or
+This Article XI
+does not apply to any proceeding against any trustee, investment manager or
 other fiduciary of an employee benefit plan in that person's capacity as such, even though that person
-may also be an agent of the Corporation as defined in Section la of this Article XI. Nothing
+may also be an agent of the Corporation as defined in Section 11.1.1 of this Article XI. Nothing
 contained in this Article XI shall limit any right to indemnification to which such a trustee,
 investment manager or other fiduciary may be entitled by contract or otherwise, which shall be
 enforceable to the extent permitted by applicable law.

Section “la” (lower case L, a) doesn’t make much sense. That must have been a typo.

--- bylaws-2002.rst	2012-08-25 14:04:42.243447405 +0300
+++ bylaws-2012.rst	2012-08-31 03:28:50.518455409 +0300
@@ -1224,20 +1308,20 @@
 Amendments 
 ==================================================================
 
-Bylaws may be adopted, amended or repealed by the membership. In the event of such
-adoption, amendment or repeal, the following procedures shall be implemented:
 
-1.      Any proposal relating to the adoption, amendment or repeal of the Bylaws shall be posted
-        on http://foundation.gnome.org by the Board for a period of twenty one (21) days;
+Any member can propose the adoption, amendment or repealing of the Bylaws.
+In the event of such a proposal, the following procedures shall be implemented:
+
+1.      The members shall be provided with the reasonable means to comment upon and/or object
+        to any such proposal for twenty one (21) days
 
-2.      The members shall be provided with the reasonable means to comment upon and/or object
-        to any such proposal;
+#.	The proposal shall be sent to the membership and shall be posted on http://foundation.gnome.org by the Board
 
-3.      In the event that five percent or more of the members objects to the proposal, a special
+#.      In the event that five percent or more of the members object to the proposal, a special
         meeting of the members shall be convened in accordance with the provisions of Article VII,
-        and the proposal shall be voted upon;
+        and the proposal shall be voted upon
 
-4.      In the event that five percent or more of the members do not object to the proposal, then
+#.      In the event that five percent or more of the members do not object to the proposal, then
         the proposal shall be adopted by the Board to the extent permitted by CNPBCL Section
         5150(a).

The main change here is to make explicit that any member can propose a change. Any member means any member. Including those who cannot vote or do not have any other rights. They may not necessarily vote on the proposed amendments, but they may propose some.

I was thinking long about this, actually. As a security person, my thinking was that we should rather be protective against people proposing changes to the bylaws, because more or less external people could propose amendments and that’s rather expensive in terms of organisational costs. And we don’t necessarily want some malicious member to create a lot of costs. But then I thought that with a rather easy way of changing the bylaws, we can easily fix this issue if if indeed arises. And then I thought that it is way better to not prematurely optimise, but rather enjoy that kind of freedom we have. Let’s hope it lasts long :)

You can have a look at the full new bylaws here as HTML or rendered as PDF

GUADEC 2012 in A Corunha

August 15th, 2012 by muelli


As so many people did, I attended GUADEC in A Conrunha *yay*. Overall, the conference was well organised. The local team was really committed and helped us a lot with all our matters. Little details like providing fruits, some sweets and chocolate for the hacking areas made everything just nice.

They also were very careful about keeping the news updated and the GUADEC website interesting. So they published interviews, photos and announcements regularly so one had an incentive to browse the website often. Very well and smartly done.

While I didn’t attend that many talks, I do think that the first keynote stood out. Jake Appelbaum gave a really inspiring talk about Tor and GNOME. He explained Tor and why it is important to provide anonymous internet access not only for wrongdoers but more so for regular people! For example, he mentioned that he had to use Tor on the venue because the WiFi would block SSH. So to get uncensored access to the network, he would use Tor. Another example was to not tell Google where you are. You authenticate with your credentials, but not from your IP, so you only share your location if you really want to. He had very clear proposals for GNOME and hope to be able to share the list soon. I, personally, would like to see us communicate very clearly, why we spy on our website users using Piwik.

The second keynote was a bit annoying, as she was referring to “open source” all the time although she really meant Free Software. Anyway, at the end of the day, I think her message was that other people exist that want a Free society and that we should not feel alone.

Between the talks, one could have a great time talking to people, especially during lunch. For not talking so much, the WiFi worked pretty well all the time. Quite amazing actually. I am also amazed by the effort people put in to things for GNOME. The locals did, i.e. put some GNOME feet stickers on the ground or hung a daily sheet on the wall to indicate today’s timetable. Daniel created an awesome Yearbook for the GSoC and OPW students and Andreas created an annual report. Thanks for working so hard on cool GNOME things!

It also happened that we had our first in person board meeting and I was very excited about that. We were quite productive during the rather long meeting. But afterwards I was quite exhausted. I guess it was the same for everyone involved. I am also quite happy to see two strong proposals for a GUADEC next year. It will be great.

Also thanks to the GNOME Foundation for sponsoring my travel to this year’s GUADEC!

I realised again, though, that I don’t like the Madrid airport and Iberia all too much. It’s a huge airport with no clear way indications, too few benches and power, and annoyingly loud and pointless passenger announcements. But well, it seems to be the cheapest in Spain…

Another huge round of “thank-yous” must be given to the i18n team. It is just incredible how they manage to cater for so many languages in usually close to no time. I have met many people at conferences or exhibitions that mentioned that if there was a success story to GNOME, it would be the translations. And the very fact that we get mails and bugreports in non english languages shows the success of the team, namely giving a very native feel to the users. To show our appreciation, we went for dinner and had a very good evening with discussions, food and wine. Again: Thanks!

PS: Here the whishlist:

Empathy should support OTR and it should be enabled by default (like adium)
I heard this so many times, I nearly stopped asking for feedback at all!
ZRTP/SRTP/TLS for all VoIP services (forward secrecy and strong crypto)
Tor controller extension for gnome-shell – why settle for only having
Vidalia?
What if we could contextually launch applications anonymously? A 'Launch
Torified' context for applications (perhaps with torsocks?)-
 NAT? Who cares? How about 'single-click file sharing over hidden services?
 Decentralized instant messaging – resist traffic analysis (Federated
XMPP HS? For extra fun add decentralized and anonymous offline message
queuing.)
 network-manager improvements:
Ability to configure wireless networks before connecting to them
VPN 'automatically connect' checkbox should work and no traffic should
leak before the VPN comes up.
 VPN connections must fail closed.	
Ability to override DNS settings for all connections.
macchanger support in network-manager
Random MAC addresses per connection or per if-up
Ability to use a Tor DNS resolver on unpriviliged port
Normal modem support
Full Tor support in NetworkManager
Think of it as a free VPN
Full Guest mode in Gnome/GDM that uses Tor by default for all network
traffic – don't just refuse to write data to the disk, refuse to write
information to the bare network too

Interview for gnome.org

August 3rd, 2012 by muelli

I was interviewed recently for GNOME.org and while you can read the interview over there, I felt like copying it over here. So enjoy the questions and the answers

Why is open source/free software important to you?

I believe that Free Software makes the world a better place. Also, as I am a bit of a computer security person, it is absolutely crucial to be able to see how the software in question works and be able to eventually fix issues (or have someone to fix them).

How/when/why did you become involved in GNOME?

I was using GNOME ever since and started to follow it more and more until I came greatly involved as a Summer of Code student.

Why did you run for the GNOME Foundation Board?

I am sticking around GNOME for about 5 years now and while I enjoy being in the community I do wanted to progress within GNOME and take new responsibilities.

What do you hope to accomplish during your term on the board?

I hope to push the revamp of the bylaws and enable people to work together more effectively.

Do you think GNOME is heading in the right direction? Why or why not?

I think GNOME is doing well so far, but it must not rest (decadence anyone?). We have very smart people in our community and we should enable them to get awesome stuff for GNOME and the Free Software world done.

Have you attended GUADEC in the past? If so, when/where?

My first GUADEC was the one in Birmingham in 2007.

What are you looking forward to most at GUADEC?

To see friends again and having nice discussions.

Any other thoughts on GUADEC and/or GNOME?

GNOME is a great community and GUADEC is a good place to get in touch. Sometimes though, it might not be comfortable for newcomers to chime in. I still remember myself being too shy to talk to some great GNOME people. So while I recommend to young GNOMErs to not be shy, maybe a “This is GNOME” introductory session for new GNOME people might be a good idea.

Keysigning BoF at GUADEC

July 27th, 2012 by muelli

For this year’s GUADEC I like to have a place and time to do some keysigning. I think the last official Keysigning Party was held during the GUADEC in Gran Canaria. So I reserved something on the official BoF wiki, we’ll meet on 30.07 at 16:00 in Room 2.7.

To strengthen the Web of Trust we will have a small Keysigning Party. While we are unfortunately not very good at using OpenPGP, we luckily don’t need to prepare much. So there is no need to send your key to anyone or do anything else, really. We just meet up, exchange key material and convince ourselves about our identities.

FOSS.in 2012 \o/

July 5th, 2012 by muelli

FOSS.IN

After it didn’t happen last year, it will this year! I’m talking about FOSS.in, the premier Free Software conference in India, if not Asia. I’m very pleased to see that this event managed to pull it off again. Also, everything seems to be very much in time this year, so I expect things to go down smoothly.

If you have something cool to share and want to attract a highly motivated audience, which doesn’t only want to listen, but also to do something, then you should consider submitting something. The FOSS.in 2012 takes place, again, in Bangelore, India, from 2012-11-29 until 2012-12-01.

FOSS.IN

The Call for Papers is closing soon, so hurry up!

GNOME.Asia 2012 in Hong Kong

June 20th, 2012 by muelli

I had the great pleasure to be invited to GNOME.Asia taking place in Hong Kong and to give a talk there.

The first day started off with a very nice introduction by the local organizing committee. It is amazing how much energy they invest in Free Software, especially in GNOME. I think it’s outstanding given that I don’t see that many contributers from eastern Asia and that I was told several times that the attitude in Free Software communities is discomforting, at best, to people from eastern Asian cultures. But maybe it’s because of GNOME’s rather friendly community these people feel comfortable in GNOME. Let’s keep it that way.

The organizers greeting us

The main talks were given by westerners and I hope we (the westerners) could encourage the audience to believe in themselves and in GNOME. We, I and my old GNOME friend Andre Klapper, were talking about how to start contributing to GNOME as a member of the Bugsquad. We already talked together a couple of GUADECs back. Our slides can be found here. With probably 75% of the conference attendees the talk was comparately well attended and I think it went well, too. We had a good and very unexpected discussion afterwards, too. That was very refreshing.

The crowd for our talk

The second day was filled with talks, too, although I didn’t find it as interesting as the first one. Mainly because I couldn’t understand many talks. The language barrier was quite high for me as my Chinese isn’t all too good ;-) While I do appreciate the Free Software communities for enabling everyone to have access to computing, i.e. by translating the software into every language in the universe. I do sometimes wonder whether we actually fragment ourselves and should rather concentrate on improving the actual code. Especially since we are an international community having interational conferences. If there were isolated communities, it is crystal clear that translating everything into these languages is a major bonus. But since we eventually want to talk to each other and support each other, the translations are a bit of a hurdle to overcome. But this point is very moot because these people probably wouldn’t even know about Free Software, not to mention want to exchange thoughts, if the software wasn’t translated in first place.

Allan Day talking about Every Detail Matters

There was actually one talk about Asian Women’s participation in Free Software Projects. But the talk disqualified itself quite early by bringing the common biological argument of different brains and that thus women could not code (sic!).

The *Woman are too stupid to code* talk

I enjoyed the stay in Hong Kong so much that I decided to append two weeks of traveling through China. It was very hot and humid and next time I’ll try to carry less things with me (although I do travel very lightly already).

Thanks a lot to the GNOME Foundation for making this possible for me. I also think that it helped to foster Free Software and GNOME in Hong Kong, China and Asia.