Archive for August, 2011

Why I love Debian

// August 9th, 2011 // 10 Comments » // Free Software

Now and again, someone asks me “Why do you use Debian?” or “What’s so great about it? Why don’t you use (insert any other Linux distribution here)? I never quite know what to say. I’ve gotten so wrapped up in why Debian is great that it has become hard to imagine how someone else couldn’t see what I admire in it.

So.. what IS so great about it?

It’s great for similar reasons as Wikipedia. Wikipedia builds this huge collection of free articles, pictures and videos and assimilate it by making sure the content is free, that statements are properly backed, that there are proper links between articles and probably a few dozen really big things I haven’t even  ever thought about.

Great community. Debian has some parallels to Wikipedia. It’s almost like a Wikipedia but for software instead of articles. It assimilates free software and makes it easy to use on a very wide variety of systems. It does so better than any other system that exists (at least IMHO, I list just some of the reasons for saying that below). Packagers are like editors on Wikipedia. They integrate all kinds of free software into the system, making sure it meets the project’s quality standards and that the licensing is sound.

Operating system support. You can run Debian with a Linux, FreeBSD or GNU/Hurd kernel. FreeBSD and GNU/Hurd is admittedly not as rounded as Linux in all situations, but just the fact that you have a choice of operating system kernel and that the project supports 3 of the most well known ones is amazing. I can’t even think of one other system that actively works on supported different kernels.

Desktop support. Some systems focus on Gnome, KDE or in the case of Ubuntu, Unity. Debian supports a really wide variety of desktop environments. Gnome, KDE, Xfce, LXDE, Fluxbox and more are all fully supported and in the main archive.

Architectures. It runs on a really amazingly wide range of hardware. It runs officially on i386, amd64, armel, sparc, powerpc, ia64, mips, mipsel, and IBM/s390, but you can also run it unsupported on alpha, armhf, avr32, hppa, m68k, powerpcspe, sh4 and sparc64 architectures. Debian scales from some of the tiniest computers that can run an operating system to the world’s most powerful super computers.

The Debian Social contract. Many distributions exist to make profit. There’s nothing wrong with that and I fully support that people use free software to make a living (I’d be a hypocrite if I said otherwise). Unfortunately, many distributions also base their choices on their profit motives. Decisions are often made based on “What’s going to make us profit right now” as apposed to “What will be best for our users now and in the long term?” (I’ll stay away from specific examples for now because this blog post is about Debian and not Oracle, Novell and similar companies). Debian exists for its users. It’s mission is defined in the Debian Social Contract. Decisions are made based on what’s best for the user and not to maximize benefits of the project sponsors.

If I don’t stop here I’ll go on all night. And I haven’t even started talking about how great APT is yet or that Debian has pretty much the largest collection of high quality packages available. Or how reliable upgrades are. But this blog entry isn’t about convincing people to use Debian, it’s about expressing why I like it so much and I’ve probably expressed that sufficiently already.

But.. But…

Oh yeah, I get some uphill from people for liking Debian, I can deal with it.

What about Ubuntu? There are some shortcomings in Debian that can’t really be fixed due to its public commitments, or at least, fixing them would break things in Debian. Apple has created a huge eco-system around the Apple App Store. It’s how people buy applications now on most Apple systems. It’s been so successful that Google has used the same concept on the Android Marketplace. Many other systems are doing it too, Ubuntu is promoting free software and non-free software alike in it’s Software Center. Ubuntu will be making it easier for people to buy and install non-free software. Some critics might say that Ubuntu is promoting non-free software that way, but it’s a good experiment and it’s great that it can happen without having to be part of the Debian project. There are more things that Ubuntu does that would be really difficult to get into Debian, but I don’t want to focus on that because Ubuntu is really a *great* Debian derivative. It has delivered Debian (in some form) to more users than Debian itself has by relentlessly working on making it as easy to install and maintain as possible. On top of that, Ubuntu does a great job of submitting their fixes and improvements back to upstreams and to Debian itself. I use Ubuntu on my home desktop and some servers and support it at clients on a daily basis. I think it’s a worthy project and it’s great that it exists. So why do I sometimes use Debian instead of Ubuntu? On servers, stable releases of Debian and Ubuntu LTS releases are quite close to each other. Debian provides more testing before releasing and only releases when the system is ready, where Ubuntu sticks to a committed release time. Ubuntu’s release cycle also has it’s own benefits, but recently I’ve come to prefer Debian Squeeze on my own machines (I don’t even have to use Plymouth!) and I know many people feel differently about it and that’s fine. On my laptop I’m a bit more risky.. I want new, cutting edge, I don’t mind if there’s some problems now and again and I’m happy to fix it when it does pop up. I run Debian Unstable on my laptop with packages from Experimental. It works great for me. I’ve been running it again (used to do it before Ubuntu started) since late last year and besides a transition to /run that caused dbus to break and gdm not to start for one evening, I haven’t any problems worth mentioning. On development versions of Ubuntu the ride is typically much more bumpy. That’s not a problem for most Ubuntu users since users usually stick with with stable releases, and Ubuntu releases often enough (way more than Debian) so that they could still have newest software on a regular basis. There are many views on Debian and Ubuntu, in my opinion Ubuntu is an important and relevant derivative and even though it’s goals are somewhat different, it compliments and promotes many of the Debian ideals.

It’s old!  Debian’s release cycle isn’t a bug, it’s a feature. I’ve mentioned some of the benefits of releasing when ready above. On top of that, Debian has also made its backports repository an official resource, which makes it easier to get newer software on stable releases. There are also micro-sites like mozilla.debian.net where users can get some specific backports for certain types of packages. I guess Debian could really benefit from  something similar to PPAs for this. Unfortunately Launchpad.net doesn’t support Debian builders (understandably so since waiting times on Ubuntu packages can already be quite high). The concept of another PPA implementation has been bought up on the Debian lists before and I have a lot to say about it, but that will be another blog entry. Also, Debian has something in between stable releases (which can get quite old on desktops) and unstable/experimental (where all the active development is taking place). When a package has been in unstable for a while and doesn’t do harm to your system, it’s promoted to an repository called ‘testing’. In testing you get a good combination of stability and new software. Admittedly you probably don’t want to deploy testing in large corporate environments since it’s officially unsupported, but for personal machines and for the typical hacker, it’s known to work great.

Choose 10 completely random numbers! 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. (I never claimed that Debian is perfect)

In Summary

Debian has a large and vibrant community with a big eco-system around it. It has many derivatives, some of them extremely high-profile and special in their own right. The whole effort is spectacular and awesome- and it’s all from a completely distributed world-wide self-governed community project. Sure, it’s not perfect, but I can’t help to look at it and admire it as one of the wonders of the age of information.

And now I have something to point to when people ask me, “Why do you like Debian?” :)

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon

Dear Gnome: Please listen to your users

// August 8th, 2011 // 24 Comments » // Free Software

Regressions in Gnome 3 from Gnome 2

Keep in mind: much of what I mention the below is done on purpose by design by the Gnome project, and aren’t necessarily bugs per se.

When Gnome 3 was released I pretty much immediately took the plunge and upgraded to it. I initially used the default Gnome Shell for a bit. There were some really big regressions right away. You can’t change your fonts, icon theme, GTK theme… I found a tool called gnome-tweak-tool that does allow changing those things, but I find it annoying that I can’t do it via the default system-settings tool.

Then there’s the screensaver. It just shows a black screen without showing any fancy interesting things on it. Personally I don’t care all that much, but the typical user really values being able to customize their systems. With pretty much every deployment I work with I have clients asking me if they can have their company logo (or something similar) show on the screensaver. Now I have to tell them that I’d have to charge them extra for that because Gnome doesn’t think that people should be able to use their computers the way they want it to.

Then there’s the power settings. Why can’t I choose what my laptop does when I close the lid? In Gnome shell I can’t choose where my clock will be. I can’t even choose where my system notifications will be. To make it worse it’s in a place that requires me to move my mouse to a specific corner that is way out of my way, and once I do that I have to carefully move my pointer over the applets because they change position. I’ll stop about Gnome shell now otherwise I’ll go on about it all day long.

Gnome 3 Fallback Mode

Gnome 3 fallback mode offers some consolation. It gives me a familiar and much more usable desktop than Gnome shell. It’s much better with multiple displays and also larger displays. I can still choose what window manager I want to use (although I’ve noticed when I use compiz then alt+right-click doesn’t work anymore when I want to customize my panels). Sadly, it’s not really the complete old Gnome desktop, it has the same problems as listed above. Some Gnome upstream projects also simply don’t work anymore. Pessulus, Sabayon and Nanny are currently broken. I know it’s open source and I could just fix it myself (that’s probably going to be a whole blog entry on its own), but I don’t have the time maintain that on top of what I’m currently doing. It *SADDENS* me that we’ll have to drop all three tools from Edubuntu 11.10 if we can’t fix it in time (to be honest I don’t think anyone else cares, apologies if I sound like a cynical asshole). Then there’s the migration from gconf to dconf/gsettings. I understand the benefits but it just happened too soon. Dconf is weird, complicated and badly documented. Try doing something like just setting a default position for an icon on a desktop for gsettings for multiple users. I dare you! This used to be something simple that we could take for granted before.

Then there’s the printing configuration!?

None of those buttons work! Well, the on/off button switches but makes no difference. And I can lock/unlock it. Besides that all it does is sit there and thinks it’s printing to no printers that are available. Oh, about that On/Off switches. It’s confusing to some users! Is it “Off” when it shows “Off”? Or will it be “Off” when I click on “Off”? (I know the answer to this, but I know a significant number of users who struggles with it).

Gnome system settings is really weird. There’s a keyboard (…dare I call it snap-in) module), but if I want to choose my keyboard type I have to do it under Region and Languages. There are seperate modules for “Displays” and “Screen”. How would a user know under which one the particular display setting their looking for will be?

Sorry…

Sorry for the rant, I love the Gnome project and the Gnome 2 series delivered exceptionally good software. I realise that some things in Gnome 3 will get better, but the problem is that so many things are bad on a design level already. Gnome Shell for example will never work well on LTSP because it’s not possible to run a local window manager (if you have a gigabit connection to a thin client, it will use 25MB/s just to move a window arround, running compiz or metacity locally uses *nothing*). Eek, I think I started doing it again, I digress.

What I’m asking from Gnome is, please listen to your users. They’re not as dumb as you think.

I’m sure someone will probably jump up in defense and defend some of the decisions that Gnome has made. I think it’s great that Gnome is trying some new and experimental things but at what cost? Also, at some point you kind of have to admit that you made a mistake and move on instead of relentlessly sticking to your principals.

Screw principles. Use science, it works!

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon

Ubuntu Membership

// August 7th, 2011 // 6 Comments » // Free Software

This is a blog entry about Ubuntu membership, and some tips for applicants.

The Membership Concept

The Ubuntu project accepts many kinds of contributions from people all over the world. After time, many contributors develop a sense of belonging and ownership of the project. When someone has been with the project for a long time and have made significant contributions to the project, then they may apply for membership. When you become an Ubuntu member, you become an official part of the project. You become a representative. You get an @ubuntu.com email address, an Ubuntu cloak on Freenode. You even get to vote on who serves on the Ubuntu Community Council, the top-level community governance committee in Ubuntu. For people who are serious about Ubuntu, membership is a big deal. Many people consider Ubuntu membership one of their biggest achievements.

Technical and non-technical contributions

People who become involved on a technical level will typically get membership based on their packaging and bug fixing/triaging work. If you’ve done a significant amount of technical work, you can apply to become an Ubuntu contributing developer via the Developers Membership Board (DMB) . The expectation is that an Ubuntu contributing developer will eventually grow into bigger Ubuntu developer roles (PPU/MOTU/Core-Dev) after time.All MOTUs and Ubuntu Core Developers are Ubuntu members. A technical contributor who contributes significantly to Kubuntu or to Edubuntu can also become members via the membership boards of those projects.

Technical contributions are greatly appreciated, but in Ubuntu we also recognise many other type of contributions equally. Work done inside your LoCo team (organising install fests, Ubuntu hours, setting up booths at local conferences, marketing, release parties, etc), support (on IRC, forums, askubuntu.com, etc), doing translation work, documentation (wiki, yelp, help.ubuntu.com, etc) are just some of the other type of contributions that are also recognised.

Ubuntu greatly benefits from upstream contributions, however, Ubuntu membership is only granted when a person is active within the Ubuntu project itself. If you’ve contributed to upstreams such as the Linux kernel, Gnome or even in Debian significantly but have never done any work in Ubuntu, then it’s probably unlikely that you’ll qualify for Ubuntu membership. Upstream contributions are certainly counted as a positive, it’s just that it’s not enough on its own.

Things to keep in mind when applying

The type of contributions that someone can provide is vast and is sometimes hard to quantify, because of that there’s no simple checklist that someone could just tick off and provide someone with membership. Because of this, a candidate will apply to a board which typically consists of at least 5 people. Board members are often community members themselves. Some boards consist of members with many varying views on many different things, this is often beneficial to candidates since board members can challenge and question each other on decisions that were made. I serve on the EMEA Regional Membership Board. Sometimes after a meeting we ask each other “Why did you give that -1? Wasn’t that a bit unfair?” or “Why did you give a +1 vote for this applicant and a +0 for a similar one last time?”. Discussing this after meetings (outside of the ubuntu-meeting channel) sometimes helps us in being more consistent on the voting process in the future.

Having said all of the above, it’s important to also realise that a membership board *wants* to give you membership. However, the Ubuntu community is ever growing with now thousands of contributors. It’s impossible for the board members to know all the people who contribute.

When applying, a candidate must prepare a wiki page listing their work in the Ubuntu project to date. Even a terse description of future plans is usually not a bad idea (but don’t let it dominate your wiki page, it’s past and current contributions that count). Some work are really easy to quantify and list. It’s easy to point to a launchpad package summary page and say “Here are 128 uploads I’ve made to Ubuntu in the last year!” or a forum page or launchpad questions or askubuntu.com page summarizing how many support questions you’ve helped getting resolves. Or saying how many release parties you’ve organised, how many translation strings you’ve provided and so on.

Gray areas with upstreams

Some contributions are much harder to quantify. IRC support is one of them. Improving documentation or doing marketing as well. Because of this, we don’t rely purely on numbers to judge membership. On your membership application page, you should have the people you have worked with comment on it and let the membership board you are applying to know about the great work that you have done. If someone is well known and respected in the community already, then their comments on your wiki page will go a long way. I’ve seen many members get approved just on reputation and good feedback by existing Ubuntu members alone. Comments from lesser well known contributors also count, but comments from people who are already trusted just counts so much more. Feedback from peers are also invaluable when we encounter gray areas. Above I mentioned that upstream contributions on their own don’t count. Recently things have become more complicated. There has been membership applications where an applicants main contributions were to upstream contributions such as Unity or Launchpad. These are tough because they’re tightly integrated in Ubuntu. An even tougher situation would be if someone who is a contributor to mainly Landscape or Ubuntu One would apply. These are also tightly integrated in Ubuntu but are seperate upstream projects. On top of that they are also non-free. Since membership was originally defined the lines between Ubuntu and what an upstream is has certainly become more complicated, and there are a lot of apposing views covering all the shades ranging from “Give all Debian Developers Ubuntu Membership” all the way down to “Only give membership to people who have strictly contributed to projects that are managed as part of the Ubuntu project!”. Because this has been a tricky issue, I’ve added it to the next Community Council meeting so that we can perhaps have some guidelines regarding upstreams, how we view them and how we look at contributions to those projects.

Closing words

I was only planning on a two paragraph blog entry and I haven’t said everything I want to yet. But… if you’re thinking of applying for membership:

  • Read this wiki page: https://wiki.ubuntu.com/Membership
  • Maintain your Ubuntu wiki page as you contribute. It’s like a resume, it’s easier to keep it up to date than to update it when you actually need it. Get the people who have worked with you to comment on your work. If they can attend the IRC session when your application is reviewed, even better.
  • Be patient. It might be a good idea to attend a membership meeting first before you apply just to get a general idea of how its run. Also, if you don’t get membership the first time, don’t stress. It happens. Many Ubuntu members got it only on their second time. The membership board will also give you advice on what’s lacking or things you can improve on for the next time you apply. Don’t waste that valuable advice, use it!
  • The process isn’t perfect (like anything), but it’s evolving and improving. If you have an issue, don’t be disgruntled about it. Bring it up in the right forum, I assure you that the right people will pay attention to the issue and work towards a solution.
  • If you’re still with me, wow, thanks. I’ve probably made a lot of typos and grammar mistakes. If I tried to get it right before posting it would just end up with my 50+ other blog drafts. Thanks for reading :)
SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon