The Fellowship / Fellows / ciaran / Ciarán's free software notes

Ciarán's free software notes

Ciaran O'Riordan's irregularly kept software freedom journal

Limit entries displayed: [ 2 ] [ 4 ] [ 6 ] [ 8 ]

GPLv3 embedded in devices

At last week's GPLv3 conference, the topic of embedded GPLv3 software came up a few times. Below is something of a summary of those discussions. Georg Greve blogged about the conference, so I'll avoid repeating what he covered. Suffice to say, it was an event the organisers can be proud of, and Tokyo is a lovely and interesting place.

I think the issue of GPLv3 in embedded software falls into two categories: warranties, and regulated hardware.

The warranties issue is quite simple. If a hardware vendor wants to say that installing modified software voids the warranty, that's ok with GPLv3. GPLv3 says that if the software is modified, it must be able to interact with the same online services. Warranties are not an online service, so the warranty can be changed or voided when modified software is installed and that won't violate GPLv3.

The more complex issue is with regulated devices such as mobile phones, wireless cards, voting machines, and medical devices. If a company decides to produce mobile phones, how can they use GPLv3'd software if they are required to prevent customers from transmitting or receiving signals outside of the permitted ranges?

With GPLv2, they could have built the phone to stop functioning if it detects that the software has been modified. This is what has become known as "tivoisation". This solves their regulatory problem, but it means that the GPL has not done its job of ensuring the recipient has the freedom to modify the software.

It may seem that these two goals are fundamentally incompatible, but they are not. A solution is that the phone manufacturer can put the part of the software which sets the signal transmission/reception into unmodifiable memory (ROM - read-only memory), and the remaining majority of the software can go in modifiable memory. Thus, the phone will not be used to break regulations, and the recipient has the freedom to modify most of the software, with the exception of the small part which it would have been illegal to modify anyway.

This is not immune to abuse. Phone manufacturers could put all of the software in unmodifiable memory. If they do this, we are no worse off, and no better off, than we are today. However, it seems more likely that they will opt to split the software between modifiable and unmodifiable, because that way.bugs can be fixed, and software updates can enable new services, etc.

So the deal is, if they want to retain the ability to modify the software, they have to let you modify it too. The second example of wifi cards is the exact same.

The third example is medical devices. This issue is quite similar, just with different hardware sizes. People have asked how certified medical devices could ever be allowed to have modifiable software.

Maybe it's interesting to note that I haven't heard of a medical devices manufacturer raise this issue. Maybe they know that this isn't an issue. GPLv3 just prevents tivoisation. Do we have any evidence that current medical devices use tivoisation?

But that's a side point. To answer the question directly, again the device manufacturer can use unmodifiable memory. Memory can be made unmodifiable by putting it into a ROM chip, but for medical devices, there is also the possibility of putting a lock on the box, and/or put the box in an area not accessible to non-certified people. I suspect that this is already the case and that even doctors and hospital IT departments do not have access to the firmware of X-ray machines etc.

And then the fourth example is voting machines. For this, the two key issues are when does distribution occur, and the difference between publication and supplying to the recipient.

If a government develops software for use on electronic voting machines, and if it produces a thousand voting machines and sends them to each region of the country, will the government have to give the source code, passwords and/or encryption keys to the staff at the voting centre? According to GPLv3, these things have to be made available to anyone you distribute the software to, but, according to copyright law, AFAIK, no distribution has occurred. This is just the government using the software on multiple machines. The government has not distributed copies of the software to the voting centres.

The second case is where a company develops the software and supplies it to the government. Here, distribution does occur between those two parties. However, the company only has to make the passwords and encryption keys available to the government. If the company has a second customer, it can set up the hardware to use different passwords or encryption keys. The government could event make a contract with the company saying that the company cannot give the passwords or encryption keys necessary for the government's system to anyone else. Or further, the company can give the government (or any recipient) the ability to change what password or encryption keys are necessary. So even when distribution occurs, the use of DRM for security purposes is not restricted.

If there's a case I didn't cover, please email me: ciaran-at-fsfe-dot-org. And if you have a comment on the licence, please submit it to the gplv3.fsf.org comment system.

From the Tokyo event, here's my explanation in other words.

There's also a transcript of Richard Stallman's talk from last week's event.

-- 
Ciarán O'Riordan,
Support free software: Join FSFE's Fellowship

FSFE's Freedom Task Force to make licensing easier

FSFE's Freedom Task Force was announced on Monday ...an announcement slightly overshadowed by SUN promising to GPL Java. What is FTF?

Shane Coughlan - our main FTF guy - will publish more information on this in the next few days, but there is an explanation here:

The idea is that the freedom of our developers, distributors, and users is protected by our licences. In our perfect world, we wouldn't need licences, but we do. So that programmers can focus on programming, we're going to try to make licensing as simple as possible by publishing educational info and by building a team of experts that can do this work.

How does this relate to gpl-violations.org? FSFE's FTF will work with Harald Welte, and will try to reduce his licensing workload so that he can do more coding. We'll be in close contact though - there are not many in the World with his knowledge and experience on GPL compliance.

How does this relate to FSF's GPL compliance Lab? (who recently updated their webpage) The two are similar in that FSFE's FTF will become another shoulder for the burden of bringing people into compliance with the GPL. To the extent that they will differ in method, FSFE's FTF will probably focus more on the education side of GPL compliance, such as gathering best practices and publishing guides. Another difference is that we won't only be working on GNU licences, we'll also help free software projects that use other licences.

That's the plan, and the direction FTF is starting in. Where it goes could depend on what needs arise and what people ask for help with. Shane's contact details are on the webpage.


[ RSS Feed ]

Right menu

Fellow Events

<< July 2008 >>
Mon Tue Wed Thu Fri Sat Sun
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 
Selected Day Today


FSFE Card


DRM.info
© FSFE