ubuntu politics

Politics is an interesting word. We take it to mean exercising and acquiring power, exerting control, or simply using force. None of us like this notion at all. We like to think of ourselves and independent entities, capable of our own decision making abilities, without any need for outside influence, whether harmful or otherwise. And yet, we have politics, whether it be in our countries, our cities, our workplaces, our hobbyist organizations, or even our homes. Even when considering the battle cry of the early anarcho-punks of the 70s and 80s, "peace & anarchy," there is still a sentiment of using community power to ensure peace. I think, like it or not, politics is something we as humans need to empower us to coexist together. It's the check and balance we need to our own primal selfishness. It's what allows us to exist in community. And that's the really interesting part of the word. Its root lies in the Greek polis, which refers to either a city or a body of citizens. It refers to a community. It's focused on the concerns of the people.

In the world of open source, community often refers to users and volunteers that help development the software (including the people that provide support, documentation, artwork, etc.). The politics that occurs within this community is the leadership that facilitates peace amongst different personalities and expectations and makes the tough decisions about how precious resources are allocated. Usually there is a set of guidelines that allow the leaders (who, again, are often volunteers, thrown into the fire of whatever's happening that development cycle) to judge what decision to make. It's not easy, especially when you have volunteers (have I mentioned this enough yet?) who may have no really formal training or on-the-job experience in management or leadership. It's amazing we can do as much as we can.

This is especially true in that defining poltics as dealing with the concerns of the people does not necessarily say how those concerns are met. This is why we have egalitarianism in one system and dictatorship in another. This is as true in the world of state government as it is in the world of open source community governance. In fact, I have my concerns about our fearless Linux Leader Linus after reading about the concerns behind Matthew Garrett forking the kernel. I do enjoy his bitter diatribes against things I don't enjoy (e.g. "XML is crap") but in reading many of his quotes, I'm really appalled at how terrible he is.

And yet I find myself nearly every day working to encourage users to become contributors, contributors to contribute more, and long-time vets to keep at it. Work is hard. Volunteering is hard. Being in a community is hard. Volunteering to work in a community is downright painful at times. People need encouragement. That may mean a little handholding sometimes, or a simple expression of praise or graciousness. It's not just enough to ensure quality. It's not enough to create a vision and ensure the projects sticks with it. Our open source projects need open source communities and open source leadership. And they all need to work together. The primary responsibility for that cohension is in the hands of the leaders. If they can't lead in a way that empowers the communities to propel the project, then they should move on.

I have a great interest in leadership. Not management. I don't like managing people. I believe that people well suited to a particular project, with the right amount of support and guidance, will manage themselves. Leadership fulfills that conditional. For this reason, I helped create LinuxPadawan, a free Linux mentorship program. But I don't want to just deal with technical issues. I'd like to help with the truly difficult decisions and conversations.

With this in mind, I have joined the Ubuntu Membership Board (which I believe fulfills a similar role as LinuxPadawan, i.e. trying to encourage contributions) and the Ubuntu LoCo Council¹, to help encourage Ubuntu activity on a localized scale. I'm also the Team Leader for the Ubuntu Oregon Team. And though it's more technical, I serve as one of the Release Managers for Lubuntu as well as the Head of QA. I love all of these tasks and have no intention of leaving any one of them, but I'm still hungry to help more.

I recognize that not everyone is a leader. Not everyone wants to try to be. Many don't even want the responsibility. Heck, many folks aren't very social. I have no problem communicating with people, in thinking about things in an objective, balanced manner, and I jump for the opportunity to help in this manner. To be the grease that keeps the community gears turning.

As such, I have accepted a nomination to the Ubuntu Community Council. Armed with the values of the Ubuntu Code of Conduct, their job is to handle both the most high level of concerns (intellectual property rights) as well as dealing with resolving conflict. Ensuring that the community has the tools and resources it needs to function well is what they do. And I couldn't be more excited to join them.

In any case, votes are required from Ubuntu Members² to decide which nominees will go on to hold a seat on the council. That being said, I encourage you to consider me for the task³. You can read more about me, especially as it relates to Ubuntu, on my wiki page (including testimonals from others I've worked with, which you're welcome to add to!). Feel free to use any of those methods and/or the comments on this blog to ask any questions you might have.

¹For those unfamiliar with governance in Ubuntu, the Community Council delegates to boards such as the Membership Board and LoCo Council, so I'm not taking over the whole governance structure. From what I understand, this has been a fairly common model for folks, perhaps a sign of how needed leaders are.

²If you're not an Ubuntu Member, come chat with me about becoming one. It's easy and is not without its benefits!

³As a member, you will get an automatic email with a personal link to make the vote. The results will appear here here (corrected at 15:02pm in response to this). I'd also recommend viewing the official announcement.

Read and Post Comments

where Mailman and Launchpad memberships meet

Around the time of OSCON this year, it came to my attention (thanks belkinsa!) that Ubuntu Oregon was in need of leadership. They were one of many Local Communities (or to adapt the more common parlance, LoCo) around the world seeking to spread the word of Ubuntu on a local scale. I didn't even know they existed in Oregon or otherwise, so I naturally jumped at the opportunity.

There were some challenges, many of which I discussed at our Ubuntu Online Summit (UOS) session, but I feel like we've got some good momentum going at this point. I think that being the only LoCo worldwide to have a UOS session helped quite a bit.

Much thanks is due to the LoCo Council who have been very friendly and encouraging. They even recently accepted our re-verification which, like Ubuntu Membership, is a recognition of sustained contribution.

After going through the process, it became apparent to me that metrics are good to have. Launchpad provided easy tools to figure out membership numbers and a script existed to use its API to cross reference group membership with Ubuntu Membership. Additionally, Launchpad mailing lists allowed one to easiliy figure out how many of its members were on the list.

However, using Launchpad lists is pretty darn deprecated. Instead, Ubuntu hosts its own series of lists, all using the ever-popular GNU Mailman. A much more full-featured set of tools exists for handling your mailing list this way, so it's a good thing. Additionally, it allows non-members to subscribe, which is not a bad thing.

So this leaves us with one problem: how do you equate Mailman membership to Launchpad membership? Well, your answer can be found in the mailgroupxref repo I created in the ubuntu-locoteams project (which is technically a pseudo-project, but it seemed the most fitting place). It uses a script by Mark Sapiro (included in the repo for your convenience) that can get Mailman subscriber lists and the rest of the code builds upon the aforementioned membership cross referencing script.

It turns out the Launchpad API (in the package python-launchpadlib) is very useful and easy to use. The meat of the code is pretty simple:

from launchpadlib.launchpad import Launchpad

teamemails = []

# login
lp = Launchpad.login_with('testing', 'staging')

# get the people objects of the team
team = lp.people['ubuntu-us-or']

# iterate through people objects
for member in team.members:
if member.hide_email_addresses is False:
teamemails.append(member.preferred_email_address)

# this function just calls mailman-subscribers.py, so nothing exciting
listemails = get_list_emails(hostname, listname)

for email in teamemails:
if email in listemails:
print email

Some things to note:

  • Technically there is no preferred_email_address attribute. It's actually preferred_email_address_link but that needs to be converted from Unicode and parsed. I wanted to avoid these technicalities to show how easy it is to get information from Launchpad.
  • You can login with anything instead of 'testing', but you will get a request for your personal credentials.
  • 'staging' may be down during periodic maintainence, but you can use 'qastaging' if need be.
  • If you get SSL errors, you might look to see if you installed httplib2 from outside the repos.
  • I'm not a Python wizard. Feel free to offer constructive advice, but don't lambast me for not being 'pythonic.' Someday I'll reach enlightenment.

So what is the end result of this? I found that the feature that allows Launchpad users to hide their email address is a bigger problem than I thought. Even my own email address is hidden I discovered! ☺

I think in the future I may have to look at using the name attribute and searching for it within email addresses. If you guys have any suggestions, patches are welcome. Meanwhile, I hope this is useful for your LoCo and/or Launchpad group.

Read and Post Comments

happy Ubuntu Community Appreciation Day, phillw!

I swear, I find out about some new event Ubuntu does every day. How is it that I've been around Ubuntu for as long as I have and I've only now heard about this?

Well, in any case, today is Ubuntu Community Appreciation Day, where we give thanks to the humans (remember, ubuntu means humanity!) that have so graciously donated their time to make Ubuntu a reality.

I have a lot of people to thank in the community. We have some really exceptional people about. I really feel like I could make the world's longest blog post just trying to list them all. Several folks already have!

Instead, I'll point out a major player in the community who is pretty unseen these days.

Phill Westside was a major contributor to Lubuntu. He was there when I first came to #lubuntu so many moons ago. His friendly, inviting demeanour was one of the things that kept me sticking around after my support request was met. Phill took it upon himself to encourage me just as he had with others and slowly I came to contribute more and more.

Sadly, some people in high rankings in the community failed to see Phill's value for whatever reason. I'm not sure I totally understand but I think the barrage of opinions that came from Jono Bacon's call for reform in Ubuntu governance may offer some hint. Phill's no longer an Ubuntu member and is rarely seen in the typical places in the community.

Yet he still helps out on #lubuntu, still helps with Lubuntu ISO testing, still reposts Lubuntu news on Facebook, still contributes to the Lubuntu mailing lists, still tries to help herd the cats as it were, though he's handed off titles to others (that's how I'm the Release Manager and Head of QA!). tl;dr, Phill is still a major contributor to Ubuntu.

Did I mention he's a great guy to hang out with, too? I've never met him face to face, but I'm sure if I did, I'd give him one heck of a big ole hug.

Thanks, Phill!

Read and Post Comments