Sunday, December 1, 2013

My views on DRM in HTML

It's been a long time since my last post, and one issue has been bugging me for a while. Last month at the Mozilla Summit I attended a discussion related to the inclusion of DRM in HTML5 through the new EME draft.

The discussion was lead by Andreas Gal (VP of Engineering) and Gervase Markham (Governator at Mozilla).

In case you don't know what EME implies, you might want to read Henri Sivoen's blog post explaining it all.

First of all, I need to say that all of the opinions expressed in my post are personal, and probably not shared by any company I might be affiliated with. Also, the events I relate might not be completely accurate, as it's been some time since then.

So, here it begins. I am generally opposed to DRM. I see no reason it should exist. Why would the contents of my hard-drive be controlled by someone else but myself? I also feel that DRM does not work as a way of controlling what and how users watch media content. However, according to some, DRM does work, but not how you might expect. "DRM's purpose is to give content providers control over software and hardware providers, and it is satisfying that purpose well."

So, the talk started by Gerv giving us a summary of the topic, more specifically that the W3C is currently considering a proposal by Google, Microsoft and Netflix for including EME (Encrypted Media Extensions) in HTML. This would allow content providers to server encrypted media to users. The W3C is also accepting formal comments on the draft from its members, and Mozilla could potentially submit one.

Also, as mentioned by Amelia Andersdotter, Pirate Party member of the European Parliament, the EFF submitted a formal objection to the draft, but this was mostly met with silence from the W3C and its members. Amelia suggested that the EFF's objection might have a greater impact if supported by Mozilla.

At one point, I took the liberty to ask whether the W3C was looking for technical objections from its members, or if legal and philosophical objections were also accepted. As questions related to the W3C were deferred to Henri Sivoen, he replied that it was only accepting technical objections to the draft.

Henri has in fact commented on the W3C mailing lists (not sure if this counts as an objection) that the draft is clearly underspecified and it would be impossible to be implemented in an interoperable way as it is dependant on a CDM module that is not specified in the standard, nor could it be implemented as open source software (because that would defeat its purpose). Apparently, the proponents of the draft try to cheat around the interoperability requirement by having a "clear key" mode, that is not actually intended for production use.

As another mozillian noted, we are pretty much fighting a loosing battle. In fact, Google and Microsoft already have working implementations of EME, and they are using it on Netflix at the moment. The way Google does this is by having parts of Chrome that are not open source. What these players are doing right now, with the backing of Hollywood is they're trying to use their influence in the industry to standardize DRM in HTML. As you might expect, this would have a devastating impact on the internet as we know it.

The discussion at the Summit lasted for about an hour and a half. People expressed some very interesting points of view.
Amelia noted that DRM in HTML would restrict some very important rights of regular people, like the ability to save a backup copy of their content.
Andreas said that it would be close to impossible to implement the standard as Open Source, as the code could be easily changed to defeat its purpose, and that the Hollywood content providers would never sign off on it.
Gerv remarked that Mozilla's stance on this issue should be carefully considered. On one hand, Mozilla is against DRM as it profoundly damages the web, but on the other hand rejecting W3C's proposal might be just as bad. IE and Chrome already have it, and the ability to play restricted content is clearly a competitive advantage. Rejecting the draft might take EME out of the W3C, into a working group in which Mozilla doesn't have a saying.
Although not present in Brussels during the Summit, Brendan Eich (Mozilla's CTO) posted his thoughts on DRM on his blog (PS. Read post comments) One alternate to DRM for distribution of media content that Brendan supports is watermarking. It does seem to be better than DRM, but its adoption largely depends on the content providers.

So in the end, it seems that Mozilla is against DRM in HTML5, but I doubt it will make a formal objection to the W3C. Meanwhile, since the standardization process can take multiple years, the hope is that other ways of distributing copyrighted content will catch on, and the draft will die a lonely death.

My opinion?  This is a critical moment for the web. DRM would be a huge step back for the web, and Mozilla should be against it. It's true that in order to fight for the open web Mozilla must be relevant as a player in the browser market, but a "me too" approach isn't going to keep the game going. We know the right thing to do concerning this issue, so hopefully Mozilla isn't going to pass over the chance to do it, or we will probably live to regret it. The only other hope I have is that recent technical breakthroughs will make EME irrelevant.

That's just my opinion. Please take the time to form your own.

Thursday, September 26, 2013

ROSEdu Summer of Code

This summer I had the awesome opportunity to be a mentor for ROSEdu Summer of Code. The program is a spoof of the more widely known Google Summer of Code, but it essentially does the same thing. It gives young students the opportunity to work on an open source project for the summer, while getting paid to do it, and with a mentor to guide them through the process.

My trainees for the summer were +Robert Bîndar and +Catalin Iordache, both students at University POLITEHNICA of Bucharest. Robert just finished his first year and Catalin his second. They both worked on Mozilla Firefox at developing the Networking Dashboard, a diagnostics tool for networking related issues. It is currently available on the Nightly and Aurora channels, by typing about:networking in the URL bar.

Things worked out really well. They ended up fixing several bugs and greatly improved the networking dashboard. An overview of their activity over the summer can be seen here and here.
 While not all of their patches have been merged in mozilla-central yet, their coding work has just begun. One thing I can say for sure is that Mozilla Firefox has just won two capable and passionate developers.

If you want more specifics about their work until now, you can visit the RSoC blog:

Tuesday, May 21, 2013

Upstream Challenge

For the past few months I had the honour to be part of +ROSEdu's +Upstream Challenge. This was the second edition of the competition which is meant to encourage students to contribute to Open Source projects and get involved in the communities that surround them. The results were quite pleasing with 253 contributions being made to 17 projects by 23 students.

Mozilla was also part of the competition having received around 35 contributions,  23 of which were made by +Mihnea Dobrescu-Balaur.

I would like to thank each and every student who contributed to an Open Source project and gave their time in order to make the world(-wide-web) a better place.

The contributions are listed here, grouped by contributor.

Sunday, May 12, 2013

RoMoz 2013

My involvement with Mozilla during the past few years has increased in many ways. Last month's  Romanian Mozilla Community meeting has been an incredible experience which has convinced me that I need to do even more.

The meetup was in Cluj, the home town of most of our Romanian members. I can barely imagine the logistics of organising such an event, so I must congratulate our hosts for the incredible job they did.

The meeting was a bit shorter than I would have hoped. There were many issues that we needed to discuss and I feel we touched on the most important, but more time would have been great. Our community has been divided on some topics lately, and while important issues aren't going to be fixed in a couple of days, I think we got the ball rolling.

This was our first national meeting ever. Even though I had met about half of our members before it was great so see them all together, and it gave me great hope for the future.

My feelings are that our community is only going to grow from now on. I will be dedicating the rest of the year to establishing a small developer community in Bucharest, with the hopes of giving back to the project which has brought us all together.

Mozilla FTW

Thursday, April 4, 2013

Mozilla and Me

A few days ago was Mozilla's 15 birthday. Not bad for a company that deals in Open Source software. As a celebration, Mozilla volunteers shared their story with the #webstory tag on twitter. Considering I'm not a big twitter guy, I think a blog post will do.

My first interaction with Mozilla was through Firefox. I was a user since version 1, or even earlier if my memory serves me right. By 2008, when I started university I was already a tried and tested user. However, I had no idea of what Mozilla actually stood for. I then attended a presentation by +Alina Mierlus and +Toni Hermoso Pulido about the Mozilla community and I was hooked. It became my community with the values I supported. Soon enough I started hosting events, became a Mozilla Rep and a small contributor.

My hope is that it won't end here. I have big plans to support Mozilla until the end. I know of no other company that does so much to fight for its users' rights. And I see only good things in Mozilla's future. Stay tuned for more.

Check out 15 awesome Mozilla facts:

Wednesday, April 3, 2013

Programming for kids

It's been some time since I registered this blog, but I've never had any time to write even one blog post. Maybe it's time that changed. So I start my first post with my opinion on programming, and the fact that today's children don't learn nearly enough of it.

First of all, let me take you through my own experience. The first time I wrote a program I was maybe 10 years old. I had an interesting piece of hardware, that was marketed as a "Pre-PC". It had a a 40x2 characters black and white display, a keyboard, and a few buttons where you selected your "game". It didn't do that much. But the best part of it was that one game... that I had no idea what it did at first. For every line I wrote, it replied "SYNTAX ERROR".

A few months passed before I picked up the manual, a nice glossy touch to it. That's where I found a 30 page tutorial of BASIC, complete with the ASCII table and a few very interesting snippets. For the next few months, I would spend about 20 minutes every day with it. It was pretty great. But then, at Christmas, a cool PC awaited in my room, so the BASIC stopped.

I hadn't realized how much impact those few minutes had on me. I never did any other form programming until high-school, when we started with Pascal. It was nothing like BASIC, but unlike my classmates, I already had a basic understanding of imperative programming. It was also useful when I did assembly programming, at university. Somehow it was much easier to compare it to BASIC than any other programming language I knew. Constructing loops was something I was already used to, and the goto instruction was like an old friend.

I am still struck by how much influence this had on me and I can't help thinking that if I hadn't stopped programming, I would be a much better software developer today. I'm also thinking about the newer generations, and what an opportunity we have with them.

If you think about what programming was 15-20 years ago, and what it is today, you can only imagine what it's going to look like in another 20 years. But most likely it's going to be completely different than anything that you could think of. Programming languages, artificial intelligence, algorithms, UIs... These kids should start learning now.

Of course, not every kid will grow up to be a programmer. And I don't think that every kid should. But I feel there are absolutely no downsides to knowing how to code.

So, how young should they start? I think as young as 4-5 years old. And not effective programming. Just concepts. Inheritance, recursion, basic design. Programming should be as basic as math. Every child should know how to write a basic app, and implement a simple algorithm. It might give them the edge, and most of all, it might actually make the entire world a lot better.

So, should it be every child? What about the kids that want to be doctors, or actors? I can think of a lot of cases where a doctor might want to write some code. And regarding actors, I think none of them would mind coding instead of waiting tables until they get their big break.

Hope this makes a good point. If so, please teach your kids how to code. It will make the world a lot better.