Of Responsabilities

Yesterday, Mozilla Foundation announced that future versions of Firefox will have support for a DRM scheme called EME. By their own blog post — and by several news outlets around — it is not a decision they are happy with and feel they had to add to not force anyone to switch browsers.

(Just small note here: Yes, they don’t want people to switch browsers because that would mean less revenue for them, but at the same time, Firefox is one of the only major browsers that really cares about privacy and not just how their icon looks better in this version. Anyway…)

After the announcement, a lot of people start claiming some stuff like “hey, last CEO was called out for a lot less than this” and “we need a new ‘pure’ browser”.

Yeah, yeah, I get why you are angry. I just think your anger is misdirected.

Imagine this: there is this kid. The kid is bullied non-stop by richer kids, but he’s stoic. He takes the punchs like nothing. You root for the kid, because he never returns violence with violence. Then, one day, the kid kills himself. What happens?

1. You call the kid stupid for killing himself?

2. You go after the rich kids and show them what they did?

The right, moral answer is 2. The kid suffered enough and just saw no other exit. It was not a noble option (or smart, let’s say), but it was the only option he saw.

Now, that’s the same thing: Mozilla had to kill one of its morals because richer kids pushed something made to reduce your freedom just so you wouldn’t need to give up your other freedoms (privacy, for example).

And then people want full rampage on Mozilla for taking this decision.

A decision forced on them by richer kids.

Richer kids like Google, Microsoft, BBC and Netflix.

Now, there is absolutely no one going after Google for backing EME; there is no one saying “Microsoft, always fucking up with the user”; there is no one telling BBC to stick to news and stop messing with IT; there is no one willing to lose watching The Next Generation for the 11th time instead of supporting Netflix. Nope, everyone is against Mozilla decision.

Mozilla is not resposible for DRM on Firefox; Google, Microsoft, BBC and Netflix are.

So, if you’re pissed, go cancel your Microsoft account; delete your Gmail; forget about YouTube; stop getting your BBC news; cancel your Netflix account. Show the rich kids that you don’t accept their actions and don’t want to be around them anymore.

(But, in the end, it’s a lot easier to switch browsers than stop watching cat videos on the internet thanks to YouTube or watching your old series on Netflix. And, thus, it is easier to go after Mozilla than doing what’s right.)

OSDC, Day 3

The last day of OSDC started with Andrew Tridgell, of Samba and Rsync fame, talking about the fight with Microsoft for the protocol documentation. And, just because I wasn’t paying enough attention, I learned that it was Sun who started the request for protocol documentation, not the Samba team, although, in the end, it was only the Samba team and the FSF Europe in court with Microsoft to get the documentation. In the end, they created a foundation, Protocol Freedom Information Foundation (PFIF) to allow anyone to read those documents, which encompass more than just the SMB/CIFS protocol. Also interesting was the fact that Tridgell heard that some people inside Microsoft really wanted to make those protocols open, to prove that they were really good programmers and did not need to hide behind closed doors. The keynote ended with Tridgell pointing that Microsoft did a public release of their protocol documentation, including more protocols than the ones listed in the PFIF directory. And, because they are public now, you don’t need to be a sub-contractor of the PFIF to get the documents.

After the keynote, I went to see the Python presentations. The first one was “The State of Python” by Anthony Baxter. He spoke about the current changes in Python 3.0, which is at full swing in the news (like Reddit, Ars Technica and such) and I knew most of the changes by going to the SyPy meetings. If you’re not aware, Anthony put a collection of a few links in in a TinyURL link. The things you probably don’t know (and I wasn’t aware till I saw the presentation) is that there will be a 2.7 release in about 8 months to provide further information how to convert your applications to Python 3.0, there should be a 3.0.1 release around 6 months with bug-fixes and a 3.1 in about a year with some better standard modules (and I’m guessing it means that modules will adhere more to the PEP8.) He also mentioned that a “Programming in Python 3.0” book should be available in the US in about a month.

Still in the Python line, I went to see Michael Hudson talking about “The PyPy Project And You.” PyPy is a very interesting project but something keep me distracted enough to not take enough notes (note to self: do not open IM when in a conference.) What I noted is that they have what they call LOP architecture/problem: A language L, for an output O, for a platform P. Because of the way PyPy is designed, they can take any language L, generate an output O for a platform P in any possible combination (when they have such L, O and P, of course.) They can do what IronPython and Jython do, taking Python as a language and generating an CIL/JVM output (which are basically “platform-less”, since the VM itself doesn’t change in any platform.)

Last Python talk in the conference was Alex Holkner with “Game development with Pyglet 1.2”. My flatmate keeps talking wonders about Pyglet and, after this, I have to agree with him. The API is incredible clean and, as I’m saying recently about my small projects, it’s pretty cute (and Pyglet having way more lines of code than mine, you can be pretty sure it’s as cute as this.)

After the Python sessions, I went to see Stewart Smith talking about “LD_PRELOAD for fun and profit (or evil)”. For those that don’t know, LD_PRELOAD can be used to load libraries before the code execution, so you can, as Smith shown, create a library with redefines fsync() to not do anything. Just as an example, Smith pointed that some tests, which took around 23 minutes to complete, took only 6 with the “hacked” version of fsync(). He also demonstrated how to use LD_PRELOAD to load a library that overwrote open(), close() and the family to get a backtrace.

Jonathan Lange closed the sessions before the lightning talks with “Your code sucks and I hate you! Code review for human beings”. He spoke about the experience of the Bazaar team with code reviews, not only pointing how you could ask for code reviews when sending patches to other projects but also how to answer code sent by other people for reviewing (kinda like an “etiquette of code reviewing”.)

After the lightning talks (which I won’t say what I saw ’cause I’m still ashamed that I didn’t wrote the speakers names again), Adam Kennedy (which, yet again, I didn’t wrote down, but Slashdot saved me) took the stage to talk about “The Sekrit”. He spoke about this story with Perl, his “distribution” (I think I can call it that) “Strawberry Perl” and how he managed to make a distribution of Perl 6, which he gave to Larry Wall. Also, he told us that he was approached by a Microsoft employee asking if he needed any help. If you clicked the link above, you’ll notice that Microsoft is offering free virtual machines with almost every single supported Windows version for free for all CPAN users to test their modules.

The closing keynote was Pia Waugh talking about the OLPC-AU project. The “One Laptop Per Child” is starting its way into Australia, but Pia followed the distribution of the laptops to children around the Pacific and how kids love their laptops. For us, developers, she pointed the OLPC-Friends website, where we can help improve the OLPC “from the inside”.

And that was it for the OSDC 2008.