On being excellent to each other

There has been a lot of discussion recently where there is strong disagreement, even about how to discuss the disagreement. Here’s a few thoughts on the matter.

The thing I personally find the most annoying is when someone thinks what someone else says is inappropriate and says so, it seems like the inevitable response is to scream censorship. When people do that, I’m pretty sure they don’t know what the word censorship actually means. Debian/Ubuntu/Insert Project Name Here resources are not public spaces and no government is telling people what they can and can’t say.

When you engage in speech and people respond to that speech, even if you don’t feel all warm and fuzzy after reading the response, it’s not censorship. It’s called discussion.

When someone calls out speech that they think is inappropriate, the proper response is not to blame a Code of Conduct or some other set of rules. Projects that have a code, also have a process for dealing with claims the code has been violated. Unless someone invokes that process (which almost never happens), the code is irrelevant. What’s relevant is that someone is having a problem with what or how you are saying something and are in some way hurt by it.

Let’s focus on that. The rules are irrelevant, what matters is working together in a collegial way. I really don’t think project members actively want other project members to feel bad/unsafe, but it’s hard to get outside ones own defensive reaction to being called out. So please pay less attention to how you’re feeling about things and try to see things from the other side. If we can all do a bit more of that, then things can be better for all of us.

Final note: If you’ve gotten this far and thought “Oh, that other person is doing this to me”, I have news for you – it’s not just them.

Thanks Canonical (reallly)

Some of you might recall seeing this insights article about Ubuntu and the City of Munich.  What you may not know is that the desktop in question is the Kubuntu flavor of Ubuntu.  This wasn’t clear in the original article and I really appreciate Canonical being willing to change it to make that clear.

This hit my “Washington Post Top Stories feed tonight:

The case against software patents

Maybe the word is getting out…

We have a winner (actually three) – Kubuntu Council 2013 elections

The results are in.  The Kubuntu Council is selected from among and by Kubuntu members.  There are six council members.  Each serves a two year term, so we elect half the council each year.  The winners are:

  • Philip Muskovac (yofel)
  • Rohan Garg (shadeslayer)
  • Valorie Zimmerman (valorie)

Congratulations and welcome.  All three are first time council members.

The Kubuntu Council is the governing body of Kubuntu. The Kubuntu Council has three primary roles:

  • Approve development plans for future Kubuntu releases
  • Approve Kubuntu membership applications
  • Resolve disputes within the Kubuntu project

Fortunately, we had our own mini vUDS today so we’ve now got a good idea what we want to have the new council approve.

Polls Closing Soon – Kubuntu Council Elections 2013

As I’ve mentioned before, the 2013 Kubuntu Council elections are underway.  You’ve got just over two days left to vote, so if you’ve been procrastinating, mission accomplished, now go vote.

New ipaddress module in python3.3

Back in 2010 I packaged Google’s ipaddr module because I needed a light weight IP address manipulation library that supported both IPv4 and IPv6 and (at the time) python-subnettree was IPv4 only.  Well, ipaddr is all grown up now and included in python3.3 as the ipaddress manipulation module in the standard library.  You can find details, as well as some description of the differences, in PEP 3144.

I just converted one package that I’m upstream for to use either ipaddr (for python2.6/2.7/3.2) or ipaddress instead of some custom code.  It turned out to be pretty easy to make it work with either.  Other than the name, the only difference I ran into was the removal of the common, generic IPAddress and IPNetwork functions that are replaced by ip_address and ip_network.

-import ipaddr
+    import ipaddress
+except ImportError:
+    import ipaddr as ipaddress

–    address = ipaddr.IPAddress(ip)
–    if isinstance(address, ipaddr.IPv4Address):
+    try:
+        address = ipaddress.ip_address(ip)
+    except AttributeError:
+        address = ipaddress.IPAddress(ip)
+    if isinstance(address, ipaddress.IPv4Address):

Currently, python3-ipaddr has no reverse-dependencies in the archive (python-ipaddr does).  Once python3.2 is dropped from Jessie, I think I’ll drop the python3-ipaddr binary on the assumption people newly coding for python3.3 should use ipaddress.  The python-ipaddr module will stick around for use with python2.7.

Kubuntu Council Elections 2013 – Nomination Period Has Ended

The nominees I have recorded are:

David Wonderly (Darkwing)
Valorie Zimmerman (valorie)
Philip Muskovac (yofel)
Rohan Garg (shadeslayer)

They are all eligible. If somehow you thought you were nominated and you aren’t on this list, contact me immediately. Since there are four nominees for three seats, there will be an election.

I will start working on ballot preparation tomorrow. In order to be eligible to vote, you must be a current Kubuntu member and receive a ballot via CIVS. In order to receive a ballot, we need an email address. If you have a public email address in your Launchpad profile, you need take no action. I will collect them from there. If you do not have one, you will not get a ballot unless you provide me with an email address. You can contact me directly either via email or IRC.

Assuming no foul-ups in preparation, ballots will go out on Saturday and voting will be open until the end (UTC) of May 20th.

Best of luck to all the candidates and if you have anything more to communicate about your candidacy, now’s the time …


Get every new post delivered to your Inbox.