Back from FOSDEM 2013
As (almost) every year, I attended the annual incarnation of FOSDEM. It is undoubtedly (one of?) the most
remarkable events about Free Software in existence. No registration, no fees,
24 tracks in parallel, an estimated 5000 number of attendees. I also like that
it brings together people from so many different communities, not _just_ the Linux or Gnome or KDE or Telephony or Legal people, but a good mixture of everything.
I have to congratulate the organizers, who manage to pull this off, year after
year again. And as opposed to many other events, they do so quietly and
without much recognition, I feel. I'd also like to thank the many volunteers
working tirelessly before, at and after the event. Last, but not least, I'd
like to thank the local university (ULB Solbosch) hosting the event.
What made me truly sad though, is the amount of littering that surprisingly
many of the attendees did. This was particularly visible in the Cafeteria.
Imagine an event run by volunteers, who put in a lot of time and effort.
Imagine an event where food and drinks are sold by volunteers at such low
prices that there can barely be any profit at all. And then imagine people
eating there and leaving all their rubbish around, as if they were in some kind
of restaurant where they are being served and where somebody is cleaning up
after them. It really makes me feel very bitter to see this. Don't people
realize that those very volunteers who are creating the event will then have to
put in _their_ spare time just because those who just enjoyed their coffee or
lunch didn't have the extra 30 seconds of bringing their trash to the trashcan?
I feel ashamed for members of our community who behave this way. Please think
next time before acting and show your respect to the people behind FOSDEM.
[ /linux/conferences |
permanent link ]
Talk Idea: How to write code to make later enforcement easy
During FOSDEM 2013, I spoke with some fellow Free Software developers
about how my knowledge on copyright and specifically legal aspects of
software copyright has influenced the way how I write code, and
particularly how I design architecture of programs.
This made me realize that this would probably make a quite interesting
talk at Free Software conferences: How to architect and write code in
order to make later [GPL] enforcement easy.
Of course there are all the general and mostly well-known rules like
keeping track of who owns which part of the copyright, having proper
copyright claims and license headers, etc.
But I'm more thinking in the sense of: How do I write code in a way to
make sure people extending it in some way with their own code will be
forced to create a derivative work. If that is the case, they will have
absolutely no choice but to also license that under GPL.
This is particularly important in the case of GPL licensed libraries.
The common understanding in the community is that writing an executable
program against a GPL licensed library will constitute a derivative work
and thus the main program must be licensed under the GPL, if it is ever
distributed.
However, in reality there is of course no precedent, and in some
particular cases, the legal framework, depending on the jurisdiction,
might come to different conclusions if it ever ended up in court. The
claim of a 'derivative work' would be particularly weak if the main
program is only using a set of standard function calls whose function
declarations are the same in many versions of the GPL licensed library
you link against. So let's assume there was a GPL licensed standard C
library for stuff like open(), close(), printf() and the like. I think
it would be very difficult to argue in court that a program written
against those functions and linked against such a library would
constitute a derivative work of the library. As in fact, there are many
other implementations providing the exact same interface, under
different licenses, and the API was not even drafted by the author of
the GPL licensed implementation.
So I think there are some things that an author of an (intentionally)
GPL licensed library can do while writing the code, which will later
help him to establish that an executable program is a derived work.
The same is true to some extent for executable programs, too. I
very intentionally did not introduce a plug-in interface for BTS drivers
in OpenBSC, even though while technically it would have been possible.
I _want_ somebody who adds code for a different BTS to touch the main
code of the program instead of just writing an external plugin. The
mere fact that he has to edit the main program in order to add a new BTS
driver indicates that he is creating a derivative work.
So I'll probably try to submit a talk on this topic to some
upcoming conference[s]. If you think this is an interesting topic and
want me to talk about it at a FOSS related event, please feel free to
send me an e-mail.
[ /linux/gpl-violations |
permanent link ]
Some comments on the heated debate on SFC / Busybox / Linux GPL enforcement
During the past week[s], there has been a heated debate on the alleged
methods of GPL enforcement as it is performed by the Software Freedom Conservancy on
behalf of the Busybox copyright holders.
The extent of license enforcement on Busybox has apparently triggered the proposal to
create a non-GPL replacement for it, which in turn has received
quite harsh responses e.g. from Matthew Garrett.
It's been relatively difficult for me to figure out what is really going
on here. It is well-known that the Free Software Conservancy has been
actively enforcing the GPL on Busybox. But then, at the same time
gpl-violations.org has been (and still is!) similarly active in
enforcing the GPL on the Linux kernel. Still, I haven't yet seen calls
to write a non-GPL Linux kernel replacement. Of course, the complexity
is on an entirely different scale, so this point is moot.
However, for quite some time there have been rumors about the intensity
(some would say aggressiveness) of the enforcement. I don't want to
accuse anybody of anything, so I'm going to write speculatively about
it.
This post is to summarize my thoughts on all of this:
It is well within the right of each author / copyright holder to
decide on the enforcement strategy and license interpretation. As such,
I respect the decision of the authors. It is their work, they should
decide what to do.
In any kind of GPL enforcement, you of course not only want the
complete corresponding source code to one program, but to all of the
GPL/LGPL/AGPL or otherwise copyleft licensed programs contained in the
product. We at gpl-violations.org have always been requesting the
complete corresponding source code to all GPL licensed software during
our communication with the infringing companies. This request was
typically honored by everyone, without the need to apply any pressure
onto it. After all, releasing only one bit of code causes the risk to
get sued by somebody else who owns the other not-yet-compliant part of
the code.
Now there have been rumors that SFC was not only requesting non-Busybox
source code, but also making it a condition for the explicit
re-instatement of the license on Busybox. Whether or not there was
such a hard condition is subject to debate and there are different
opinions on it. For those in the field of FOSS licensing, it has always
known that there are different lines of thought with regard to the
requirement to explicit reinstatement. We in Germany generally think
that it is not required at all, and the existing preliminary injunctions
at least implicitly acknowledge that as they enjoin companies from
distributing a product as long as it is not in compliance with the
license. In other (particularly the U.S.), it is generally assumed
that explicit reinstatement is required. In such a case, it may very
well be legally possible to use it as a lever to obtain source code for
other programs like the Linux kernel. However, I am personally not sure
if that really is the right strategy. Not everything that is possible
legally is ethically the right thing to do. But then, ethics and legal
customs differ widely in the FOSS communities, as they do in society in
general. Some countries and communities believe in the death penalty,
others don't. Some countries allow abortion, others don't. Some allow
prostitution, others don't. So when judging about whether that
"reinstatement lever" is acceptable or not, we have to accept that there
may be different lines of thought. I for my part definitely think that
the far superior method is, beyond doubt, to have a rights holder on
those other program in order to make any demand for source code (as
opposed to a mere request without implicit or explicit legal threat).
There also have been rumors about a requirement on submitting future
source code releases to a compliance audit by the Conservancy.
According to SFC sources, there never was any such demand, and the
rumors are likely spawned by some incorrect claims of a defendant in a
court case, which ended up in the public record. If there was such a
requirement, I wouldn't think it is just - at least not for a first-time
non-intentional infringement case. If there was repeated infringement
and a clear sign that it would happen again and again, such a
requirement for future audits may be justified, depending on the case.
People who claim that GPL enforcement is scaring away companies from
using Linux and/or other Free Software also have to be careful in what
they say. If a commercial entity enters a new market (let's say Android
Tablets), then there is a certain due diligence required before
entering that market. So if you don't understand Free Software and
particularly GPL licensing, then you shouldn't place a Linux-based
device on the market. Just think about an analogy: If you have a
recycling company and enter a new market (disposal of hazardous
chemicals), then you cannot simply treat those chemicals as regular
waste, wait until you run into legal trouble and expect to get away with
it.
I think there are still far too many GPL violations out there, and we
need to see more enforcement in order to get all the major players in
their respective lines of business into compliance. But come on,
dealing with embedded devices in 2012 and still getting compliance
outright wrong really means that there has not been the least bit of
attention on this subject. And without enforcement, it is never going
to change. People who want no enforcement should simply use
MIT-style licenses.
Last, but not least, I also think GPL compliance is a matter of fair
competition. There are some companies who really do a good job in
ensuring compliance with the various Free Software licenses. If their
competition doesn't invest the funds into the respective skills,
procedures and business processes, they are getting an unfair
competitive advantage against those who are doing it right. If there
was no enforcement, the motivation would be to reduce efforts in
compliance, not increase it.
Let me conclude with a clear statement to anyone who thinks that by
replacing Busybox with a non-GPL licensed project they can evade GPL
enforcement: It will not work. There are others out there enforcing
the GPL. Last but not least gpl-violations.org. Despite the
notoriously outdated webpage, we are still alive and kicking, churning
down on the violation reports that we receive. Armijn Hemel, Joachim
Steiger, Tim Engelhardt, Julia Gebert and Till Jaeger deserve much of
the credit for all that work, while I'm mostly spending each awake
minute hacking Free Software for mobile
communications. Yes, we should publish more about our activities,
and I hope to find the time to do so. There should at least be an
annual report with the number of cases...
[ /linux/gpl-violations |
permanent link ]
HTCs delays in releasing Linux source code are unacceptable
The Taiwanese smart phone maker HTC is widely known to be delaying its
Linux kernel source code releases of their Android products. Initially,
this has been described to to the requirement for source code review,
and making sure that no proprietary portions are ending up in the
release.
While the point is sort-of moot from the beginning (there should be no
proprietary portions inside the Linux kernel for a product that wants to
avoid entering any legal grey zone in the first place), I was willing to
accept/tolerate it for some time.
At one point more than one year ago, gpl-violations.org actually had the
opportunity to speak in person to senior HTC staff about this. I made
it very clear that this delay is not acceptable, and that they should
quickly fix their processes in order to make sure they reduce that
delay, eventually down to zero.
Recently, I received news that the opposite is happening. HTC still has
the same delays, and they are now actually claiming that even a 120 days
delay is in compliance with the license.
I do think neither the paying HTC customers, nor tha Free Software
community as a whole have to tolerate those delays. It is true that the
GPLv2 doesn't list a deadline until when the source code has to be
provided, but it is at the same also very clear what the license wants:
To enable people to study the program source code. Especially in todays
rapid smart phone product cycles, 120 days is a very long time.
So I hereby declare my patience has ended here. I am determined to
bring those outrageous delays to an end. This will be one of my new
year resolutions for 2012: Use whatever means possible to make HTC
understand that this is not how you can treat Free Software, the
community, its customers, the GPL and in the end, copyright itself.
[ /linux/gpl-violations |
permanent link ]
Back home after successful KOSS Legal Conference
The first incarnation of the KOSS Legal
Conference was a big success. There were many participants from a
variety of backgrounds, such as
- Independent Korean legal experts
- Legal scholars from Korean law schools
- International legal experts (e.g. Till Jaeger, Carlo Piana, etc.)
- Representatives from the major Korean IT industry
- Representatives of the community organizations like FSFE
- Independent technical experts like Armijn Hemel and myself
The discussions have been a big success, with significant participation
from the floor. There are many events that I attended where it was hard
to actually get any participation from the audience - but the KOSS Law
conference was definitely not one of them. Some of the questions were
easy to respond to, some other questions really tackled the difficult
issues in Free Software License Compliance.
What was clear to see from the Industry participants: FOSS License
Compliance has become an important topic in the last couple of years:
One the one hand as a result of virtually no TV set / mobile phone / PMP
or other device running without Linux or other FOSS. On the other hand,
I'm sure that the enforcement efforts of gpl-violations.org and the SFLC
also have had significant impact on that.
What I personally find important is that compliance is only considered
as part of the overall FOSS picture. Complying with the license text is
the minimum that companies involved with FOSS should do. Rather, they
should look beyond mere compliance and consider the benefit of engaging
more actively with the community, contribute code back upstream/mainline
and really becoming a first-class citizen of the Free Software world.
As a big surprise to everyone, Jim Zemlin of the Linux Foundation made a
surprise visit towards the end of the second day of the conference.
Many thanks to the KOSS Law center for bringing this together and
organizing such an event. Thanks also to the Korean NIPA (National IT
Industry Promotion Agency) and the FSFE for their support of the event.
[ /linux/gpl-violations |
permanent link ]
Going to attend Korean FOSS legal conference
Recently I had been invited by the Korean Open Source Software (KOSS) Law
Center to attend their 2011 KOSS conference scheduled for November 17
and 18 in Seoul, Korea.
This conference is organized by the KOSS Law Center with support by the
Korean Government (National IT Industry Promotion Agency). Its primary
purpose is to share best practises in terms of FOSS licensing, license
compliance but also FOSS community interaction within the Korean IT
industry and the public sector.
I'm happy to present on Beyond Legal Compliance - Embracing the FOSS
community, where I will outline that the primary focus should not be
on to-the-letter legal compliance, but to a proactive way of interacting
with the FOSS community. After all, collaborative development is what
FOSS is all about...
However, due to a schedule conflict with the DeepSec 2011 conference in
Vienna (where I'm giving a two-day GSM security workshop), I'm only able
to attend the second day of the KOSS conference.
The speaker line-up for the KOSS conference is quite impressive, and it
includes Karsten Gerloff (FSFE), Till Jaeger (JBB), Carlo Piana (FSFE),
Keith Bergelt (OIN), Armijn Hemel (gpl-violations.org/Tjaldur) and others.
Unfortunately there seems to be no homepage, at least none with an
English language title that Google would be able to find. Carlo Piana
has mentioned the event in his
blog four days ago.
UPDATE: There now is a conference
page, although in Korean language only ;)
[ /linux/gpl-violations |
permanent link ]
Some thoughts on the Erlang User Conference 2011
It seems I'm really getting too lazy to update this blog more
frequently, which is a pity. Last week I was in Stockholm attending the
Erlang
User Conference 2011. This was the first Erlang conference I ever
went to, and it was the first conference in many, many years where I was
not speaking but merely a normal attendee.
Some of the readers of this blog will already have noticed my
microblogging updates on identi.ca and Twitter that I made during the
conference. They were not overly excited about the conference. Let me
write some more details here. I have no idea how many technical
conferences I have attended, but I am typically speaking at something
like 10 to 14 every year, which I believe qualifies me as a
"professional conference participant" ;)
Let me start with some positive feedback: There have been excellent and
technical presentations, particularly by Kostis Sagonas (PropEr), Melinda Toth
(Change impact analysis) and also the talk on Hashes/Frames/Structs as
new built-in Erlang data types by Kenneth Lundin.
However, apart from those, i have quite a bit of criticism:
- Some presentations ended way ahead of their schedule.
This
is a pity, as it means that some hundred-odd highly paid software
developers are then sitting in a room and wasting time. If you hold a
presentation at a conference, you should make sure that this time is
used in the most efficient way. If you have been allocated a 45 minute
slot, please don't make a 15 minute presentation + 5 minute questions
session. That's not what the audience expects!
- Keynote presentation by Ulf Wiger contained lots of hot
air
If I go to a technical conference aimed at Erlang users (i.e. software
developers who write programs using the Erlang language, libraries and
runtime system), then I expect it to be loaded with brilliant, technical
content. I want to get excited about new developments, Erlang software
projects, etc. The last thing that I'd want is having a real Erlang
guru on stage talking about superficial, trivial aspects of embedded
computing. Of course I respect the commercial decision of Ulf and/or
Erlang Solutions to try to create a market for Erlang in the embedded
sphere. But what is the technical relevance of this to the Erlang
community? Ulf did not talk about great new schemes of optimizing the
Erlang VM for battery-powered CPUs, or how he has extended powertop to
give function or line-level accuracy on which of your Erlang code lines
burn most CPU cycles or cause the highest number of CPU wake-ups from
low power mode. That would have been exciting.
- Erlang/OTP Road-map presentation without much technical details
When I see a slide with "Some SCTP improvements" then I want to see what
exactly are those improvements. I think there was more than enough time
to go into more details, if Kenneth would have spoken faster and put
more content into the available time. Once again, the audience is a
room full of intelligent, highly-paid professional software engineers.
If you get their attention for whatever amount of time, I believe you
should pack it as full with information as possible, rather than bore
them with slowly and carefully reading each line from a slide...
- No Internet available at the Tutorials
Can you believe it? In 2011, a technical conference aimed at software
developers hosts tutorials inside a facility owned by one of the largest
communications equipment suppliers (Ericsson) and then there is no
provision for Internet access. It's really ironic, especially since at
least some of the tutorial trainers expected the attendees would be able
to clone git repositories on their laptops during the workshops.
In my hallway conversations with other attendees (who also have a
background outside of Erlang and are more familiar with other
conferences in the FOSS community), they independently observed those
very same issues and agreed with my assessment.
All in all, the conference was a good trigger for me to finally sit down
and start to use dialyzer on the various Osmcoom Erlang-language
projects such as osmo_ss7, osmo_sscp and signerl. I'm already adding
type specifications all over the code and am looking forward to soon
starting with some PropEr test cases in the next couple of days.
[ /linux/conferences |
permanent link ]
FOSS.in is dead, PRODUCTISE.in lives
Team FOSS.in has announced lest year that the successful series of FOSS.in conferences has concluded. I'm still
a bit sad that I was unable to make it to the grand finale.
But now, the very same team announces
a new event called PRODUCTISE.in, with a different focus. It's not
about Free and Open Source Software anymore, but about product
developers - where the respective products of course could be FOSS
based.
I remain curios to see what will happen to the event. Everyone who
knows me knows that I'm probably a slightly pragmatic but otherwise
orthodox Free Software fellow. As far as I can tell, the only
proprietary software that I use (and license) in more than a decade is
IDA Advanced.
But in any case, all the best to Team FOSS.in with their latest
endeavour!
[ /linux/conferences |
permanent link ]
SIM-unlocking the Openmoko phones?
I think it's quite funny that SIM-unlicking vendors like RebelSIM
actually advertise that their products are compatible with Openmoko,
as you can see
in this PDF file.
What's funny about this? Well, Openmoko phones have never been sold
with any form of SIM or Operator locking. The entire idea was to have a
phone that is under the control of the user, not the operator...
[ /linux/openmoko |
permanent link ]
Unbelievable statements in GPL related case in the Supreme Court of Mauritius
I've recently received some documents regarding a court case at the Supreme Court of
Mauritius.
The plaintiff is a company called Linux Solutions Ltd. in
Mauritius. It seems to be covering an alleged breach of an NDA between
a contracted freelancing developer and a company in Mauritius. That
contractor (the defendant) has apparently published some of the work he
had done while contracting for the plaintiff.
While none of that seems to be clearly connected with the GPL, what is
extremely disturbing is the sworn affidavit / oath by one of the
executives of the plaintiff. It says things like:
5. Licenses of open-source software like "Linux" and "Asterisk" have
no copyright restrictions which in effect puts no restrictions
on their use or distribution. As a consequence, any work which is
derived from the open source software as conceptualized, created,
installed and managed, by the Applicant becomes the ownership of the
Applicant.
6. In the light of the above, therefore, the applications,
configuration files and features so developed by the Applicant are the
sole property of the Applicant, make up the knowledge base of the
Applicant, make the basis of its business operations, and are highly
confident in nature. The applications, configurations and features have
been built and acquired by the Applicant through important capital
investments and manpower over a period of time.
So let me phrase this more clearly: Somebody, under oath is
stating at the Supreme Court, that GPL-Licensed software (which the
Linux kernel definitely is), has no copyright restrictions? And
that any derived work is the sole property of whoever created the
derivative? What kind of pot are they smoking in Mauritius?
If there's anyone in the Free Software legal community interested in
filing some kind of legal document to the Supreme Court of Mauritius to
clarify this issue, feel free to contact me for more details on the
case. No matter whether the defendant has broken some NDA, I think it's
unacceptable to see such ridiculous claims being made at a Supreme
Court.
In case you don't believe it, here are some scanned samples:
[ /linux/gpl-violations |
permanent link ]
AVM trying to spread FUD about the Cybits case
Unsurprisingly, AVM
is now trying to claim their legal action is not related to any GPL
violation. This couldn't be further from the truth.
In both the court hearings (in two independent cases), AVM has
repeatedly declined to make a clear statement that the modification and
installation of modified version of the GPL-Licensed parts (like Linux)
is acceptable to them.
We have raised this question in front of court and out of court, and
AVM was not willing to make such a declaration. If they had, I don't
think I would have had much reason to join the lawsuit on the side of
the defendant.
I have no connection to Cybits (the defendant). There has never been
any business or other relationship to them, and they have not been
involved in funding my legal expenses. To be honest, I don't even care
about child filtering software in general, no matter from which vendor.
But I do care about the GPL, and the freedoms it grants. The GPL is
intended to allow any third party to modify, recompile,
re-install and run modified versions of the respective GPL licensed
program. Any court order / verdict / judgement that tries to undermine
this freedom is a substantial danger to the Free Software movement - and
as such I will do what I can to prevent it.
AVM has stated in front of the court that AVM releases the source
code compliant with the GPL, anyone can download, compile and use it -
just not on OUR hardware. There you can clearly see their attitude:
They see the FritzBox as their hardware. Last time I checked,
the unit is not rented by AVM, but is legally sold to the customer. It
is his decision to do with it what he wants. Under the terms of the
GPL, it is his decision to install whatever software on the hardware,
including modified versions of the GPL licensed Linux kernel.
Just imagine a world, where you buy a Laptop from HP, with Windows
pre-installed. Now further imagine that there is a third-party software
vendor (e.g. Canonical with its Ubuntu). Now imagine that HP was suing
Canonical for offering different software that runs on their
hardware. This is the kind of analogy that you need to think about.
I don't think AVM is truly understanding the daemons they are calling
here. If they actually manage to get a finally awarded judgement that
deprives third parties of their rights under the GPL, AVM will have
violated the GPL, specifically clause 6: You may not impose any
further restrictions on the recipients' exercise of the rights granted
herein. And what would that mean? That the GPLv2 is revoked and
AVM looses the right to use the GPLv2 licensed software they use in the
product.
[ /linux/gpl-violations |
permanent link ]
Court hearing in the AVM / Cybits / GPL case
Today was the court hearing at the Berlin district court in the case
that I blogged about yesterday.
Nothing really new happened there. AVM still has a number of claims
that I consider extremely dangerous to Free Software in the embedded
market:
- collective/aggregate work
They claim to have some rights on
the collective work of their own proprietary components and the GPL
licensed components. While that may or may not be true, they also argue
that based on such rights, they can legally prevent anyone from
installing modified versions of those GPL licensed components onto the
device. To me, that would clearly be a further restriction under
the GPL, and thus violate the terns of the License.
- using rmmod on proprietary kernel module is a modification under
copyright law
This is where it starts to get really ridiculous.
Both the module unload feature inside the kernel as well as the rmmod
command itself are licensed under GPL. Their sole intended purpose is
to unload modules from the Linux kernel. AVM now claims that the
defendant is violating AVMs copyright because he unloads a proprietary
AVM kernel module. Not only is it legally extremely questionable to
have binary-only kernel modules at all... but then trying to tell other
people they cannot unload such code is outrageous. AVM seems to not
understand that they have _sold_ the device to the user. He can stop
and unload any program on the device. The device is not owned by or
rented by AVM.
- copying code from NAND flash to RAM requires explicit
permission from the copyright holder
Once again, we have a
situation where the user has bought the AVM product. He has obtained a
license to the software programs. Under German copyright law there is
even no requirement to have a license for 'normal use of the program' as
long as the program was obtained lawfully. The CPU on the AVM device
(like any CPU in any computer) can only execute code that's accessible
to the memory/data bus. Code in NAND flash can never be executed
directly, it always has to be copied into RAM before it can be executed.
The claim that this operation requires separate permission by the
copyright holder is wrong. The copying happens as part of the 'normal
use of the program'.
AVM has filed several other claims against Cybits based on trademark and
competition law. They go as far as to debating whether a certain LED on
the product malfunctions after the user has installed the Cybits
software on the product ;). I don't really want to go into details
here, but I think it's mainly arguing for the sake of the argument. AVM
wants to keep and extend its monopolistic power over those devices, even
after they have been sold. That's where the real anti-competitiveness
here is... If you look at popular alternative firmware projects like
OpenWRT, you will find many vendors and literally hundreds of supported
devices. None of them is from AVM. Isn't that striking, considering
that AVM is told to have > 60% market share in Germany?
The court has heard arguments from all sides and is now adjourned.
All parties are now again going to submit lengthy piles of paper to the
court. Within those originating from my lawyers and myself, we will
definitely once again outline our position. AVM can do whatever it
wants, but it cannot use legal means to disallow the legitimate and
intended modification + use of modified versions of GPL licensed code on
their devices.
The implications of such a legal win for AVM go way beyond AVM or the
DSL router business. They go all over the embedded market, and include
NAS devices, Android smartphones, e-book readers, etc. Just think about
the implications for OpenWRT, Cyanogenmod, Openinkpot and all the other
firmware modification and 'homebrew' projects out there.
[ /linux/gpl-violations |
permanent link ]
German dsl-router vendor AVM seeks to remove the GPLs freedoms
Today, there has been a joint press release of
gpl-violations.org and the Free Software Foundation Europe on a
legal battle that has been ongoing for quite some time:
The German maker of popular dsl-routers (AVM) is using legal means to
try to halt a third party company (Cybits) from modifying the GPL
licensed components (like the Linux kernel) of AVM-branded routers.
Furthermore, it seeks to ask courts to halt Cybits from distributing
software by which end users can modify that GPL licensed software.
This is outrageous! AVM does not own the copyright to that GPL-licensed
software. How can they seek to prevent anyone from exercising their
right to modify the code and run modified versions of it? This is one
of the most fundamental freedoms that Free Software grants its users.
In the last lawsuits (preliminary proceedings) that AVM has brought
about, I have intervened on behalf of Cybits. At that time, the court
was impressed and has restricted a previously-granted preliminary
injunction against Cybits to not include any claims regarding the Free
Software portions of the product.
But meanwhile, AVM has filed for the main/regular proceedings. Tomorrow
(June 21st, 11am), there will be the first hearing at the district
court (Landgericht Berlin, Room 2709, Littenstr. 12-17, Berlin).
I have applied to be a side intervener in those main proceedings, too.
Given that the previous court accepted this, I assume it will be
accepted in the district court, too.
Normally I wouldn't care much if two companies are taking it to court.
But this case is not about Cybits or AVM. This case is about the
fundamental question of whether a device maker using Linux and other GPL
licensed software has the right to use legal means to prevent third
parties from exercising their fundamental rights granted under the GPL.
For more information about the case and background information, please
check out this background page at FSFE.
[ /linux/gpl-violations |
permanent link ]
Interview with German newspaper taz about gpl-violations.org work
There has been an interview for (at least) the online edition of the
German newspaper taz - die tageszeitung. If you understand
German, you can read
it here.
By coincidence, I'm a subscriber to that very same newspaper for more
than 10 years ;)
[ /linux/gpl-violations |
permanent link ]
HTC announcement about no more locked-down phones
As it has been covered at various news site, HTC has apparently announced
that they will not be shipping Android phones with locked-down
bootloaders.
If this is really true, it would mean that more people not only have the
theoretical freedom to run modified versions of Linux (granted by
GPLv2), but also the practical freedom. If there is no cryptographic
restriction on only booting HTC-supplied versions of the Linux kernel
(and other software), this is good news!
It comes as a bit of surprise though. "Traditionally", HTC is known for
behaving unfriendly towards the community. Not only due to their source
code releases being constantly too late, but also due to the fact that
their phones were some of the first to use cryptographic signatures to
keep people from installing their own versions of Linux (and Android).
The other surprising move has come from Motorola, who probably has the
longest tradition of shipping Linux-based phones (in various degrees of
GPL compliance), but then using technical means to deprive their
customers of the Freedoms the GPL wants to grant to them, i.e. the
freedom to run modified versions of the Software (Linux in this case).
They did this with the later models of the EZX range, with their MAGX
phones, as well as now with their Android phones over the last couple of
years. So it was very puzzling to see the same Motorola announce a 180
degree turn in policy at least for their Xoom tablet.
Also, in recent news, Sony Ericsson made a similar announcement that at
least some of
their Xperia models can be bootloader unlocked.
It's really striking. During the least seven years, I used to be
involved in a number of projects that tried to enable the user of mobile
smartphones to have the full source code for (at least) the Linux
kernel, and to be able to modify, tinker and re-program it any way they
want. Now some of the vendors seem to be moving in the right direction.
What's sad is that Samsung is not capitalizing on their potential here.
They have always had very timely and complete source code releases
for all their Linux based phones at http://opensource.samsung.com/, and
they have very rarely tried to lock any of the bootloaders. I don't
know if this is intentional or not. But now the other vendors are
getting good PR for stopping to do something that (to my knowledge)
Samsung has not done, at least not to the extent of the others.
In any case, I still think the Nexus S is the best choice for anyone who
wants to have a developer friendly device. It is fully supported in the
main AOSP tree, everything in the kernel is GPLv2, and those binary
userspace blobs that are required are distributed independently at
https://code.google.com/android/nexus/drivers.html so they can be
integrated into custom builds. This is by no means perfect, but the
best compromise that seems available at this point. I still don't
understand why the userspace drivers for the GSM/3G modem, Wifi,
Bluetooth and GPS would need to be proprietary. Or even the NFC par,
it's sort-of ridiculous to have that proprietary with Free Software RFID stacks like libnfc and
librfid around...
[ /linux/mobile |
permanent link ]
Apple not providing LGPL webkit source code for latest iOS 4.3.x
As some people may know, next to a plethora of BSD licensed code, Apple
is using some LGPL licensed code in their iPhone products.
So far, it seems they have always provided the respective source code in
a timely manner for each and every release they have made on a website
www.opensource.apple.com.
However, in recent months it seems they have deviated from that policy
for unknown reasons. As my
friend and webkit developer zecke has blogged, Apple has stopped to
release their webkit source code with iOS release 4.3.0. The corresponding
website simply states: "coming soon".
iOS 4.3.0 was released on March 10, 4.3.1 on March 25, 4.3.2 on April 14
and 4.3.3 on May 4. For all of those releases, no source code has been
published.
It cannot be a simple oversight, as multiple inquiries have been made to
Apple by interested developers. However, the source code yet has to be
released.
I think it is time that Apple gets their act together and becomes more
straight-forward with LGPL compliance. It is not acceptable to delay
the source code release for 8 weeks after shipping a LGPL licensed
software. Especially not, if you have already demonstrated in the past
that you are well aware of the obligations and have a process and a
website to release the corresponding source code under the license
conditions.
[ /linux/gpl-violations |
permanent link ]
Jounrees Logiciels Libres / ENSA Tetouan, Morocco
I've been invited to Tetouan, Morocco by the organizers of the second
incarnation of the Journees
Logiciels Libres. Tomorrow I'll have the
pleasure of presenting about Free Software projects related to GSM,
including OpenBSC and OsmocomBB.
The organizers have done a great job in caring about the foreign
speakers (who include Richard Stallman and myself).
I've been listening to various talks by RMS RMS over the last 16 years
or so... but right now I'm listening the first time to him giving a
French presentation.
Overall, this trip has done more to improving my understanding French than
anything else in a long time. I once had 4 years of French from 1st to
4th grade in school, but never really continued with it. However, what I
remember, combined with my knowledge of Portuguese (and even English) is
sufficient to e.g. understand all of the French language slides that
have been presented at this conference. However, most spoken
French is too hard to understand for me.
One striking observation is the apparently much higher percentage of women
taking a communications or computer engineering degree here than what I'm used
to in Germany or the so-called western world. It reminds me of India where you
have the feeling that almost 50% of the IT related students are female. It
would still be interesting to see some scientific research why the supposedly
open and anti-discriminating, women-rights-embracing 'western world' is
seeing less women taking up engineering studies...
[ /linux/conferences |
permanent link ]
Deutsche Telekom tried to register a trademark on netfilter
I am currently doing some trademark related research, and just for fun I
queried the database of the DPMA (German trademark and patent office) for
"netfilter".
To my big surprise, you can find this
record, indicating that Deutsche Telekom AG has applied for a trademark
on the word "NetFilter" in July 2006.
I find that quite outrageous, as the netfilter project is using the name since
about 1999, i.e. 7 years earlier. To our luck, the trademark office refused the
application based on the generic nature of the name, i.e. "netfilter" being too
generic for anyone obtaining a trademark on it - at least in Germany, under German
laws.
[ /linux/netfilter |
permanent link ]
Linux Beer, anyone?
During my trademark research, I also discovered: A German beer brewer (St.
Georgen Braeu, Buttenheim) has held a registered trademark "LINUX" from 1999 to
2009. This trademark was restricted to "beverages, beer and other alcoholic drinks".
You can find the respective entry in the DPMA trademark database here.
I am not quite certain whether I would have liked the idea of drinking a pint
of Linux or not. It would certainly have been a popular gift to bring to international
(Linux, Free Software) conferences.
[ /linux |
permanent link ]
Back from the GPL Compliance Engineering Workshop in Taipei
I've been a bit over a week in Taipei, mainly to co-present (with Armijn Hemel)
the GPL compliance
engineering workshop at Academia Sinica. The workshop was attended by more
than 100 representatives of the local IT industry in Taiwan, from both legal
and engineering departments.
I think even only the sheer number of attendees is a great sign to indicate how
important the subject of Free Software license compliance has become in the IT
industry, and specifically in the embedded consumer electronics market.
I would like to use this opportunity again to thank the OSSF
at Academia Sinica for doing a great job in organizing this event.
Thanks also to Armijn, who
not only does excellent work at gpl-violations.org but also covered the
majority of the presentations at the workshop.
So what did I do the remaining week? Lots of meetings, mostly with companies
regarding GPL compliance, but also with old friends like Wolfgang Spraul and Holger Freyther
who happened to be in the city at the same time.
I also had some very exciting meetings related to my various GSM related FOSS
projects, but it is too early to really say anything about them.
[ /linux/gpl-violations |
permanent link ]
ST-Ericsson releases (and submits) Android GStreamer code
Back in October I
blogged about ST Ericsson hooking gstreamer into Android but apparently making
that code proprietary. I may have been a bit opinionated at the time. The
reasons for not disclosing the code allegedly were that it is assumed to be of
no general use. However, it still felt very bad that two Free Software projects
are interacting with each other through a proprietary layer.
I've since had a very pleasant contact with the Head of MeeGo Business
Development at ST-Ericsson and they have now released and submitted the
respective code-bases, like the gst-android git
repository and the Audioflinger
sink in the gst-plugins-bad repository as well as Android makefiles for all
parts of gstreamer.
It is great to see this kind of development, and see that ST-Ericsson is trying
hard to do the right thing: Not only releasing their extensions of gstreamer
under a GPL-compatible license to their customers, but even actively pushing those
changes upstream. Thanks to everyone involved, particularly Andrea Gallo and
Benjamin Gaignard.
[ /linux/mobile |
permanent link ]
Back from DeepSec 2010
I'm back from Vienna where I attended a very exciting DeepSec 2010 conference. This years focus
was clearly on mobile security: The GSM security workshop by Karsten Nohl and
me, the various talks like All your baseband are belong to us by
Ralf-Phillip Weinmann, a talk on Android security auditing / forensics and much
more.
In a few days, I'll be leaving for Taipei/Taiwan again. Apart from the one-day GPL compliance engineering course together with Armijn, there will be a number of meetings with various companies - both GPL as well as GSM/3G related.
It will be great to be back to Taipei - unfortunately only for 10 days, which is
a real pity. I still miss it a lot.
[ /linux/conferences |
permanent link ]
Hashdays 2010 in Lucerne, Switzerland
The last couple of days I've been at #days 2010
in Lucerne / Switzerland. It was the first incarnation of this new IT security
conference.
The conference went great, and I think the close-to-200 attendees were a great
turnout for the first incarnation of an event. The talks were excellent, as
was the delicious food that was served by the Radisson Blu hotel.
The GSM security workshop that David, Karsten and myself held over Wednesday
and Thursday was attended by only 7 people, but we had some very lively
discussions, particularly with some folks who were working for a GSM operator :)
Most notable about the event is the electronic conference badge, which was
developed and produced with a lot of enthusiasm and numerous hours. To be honest,
I think I would not have spent that much time on creating this. I mean, developing
this type of gimmick is interesting, but then actually manually manufacturing
it, without using a SMT line of any sorts - I wouldn't have done that 'just' for
a badge. Respects to the team behind that. Hopefully the source code will still
get released.
We were also running an experimental GSM + GPRS/EDGE network based on OpenBSC,
OsmoSGSN and OpenGGSN, enabling users to run port scans and the like against the
carrier-facing side of the IP stack of their own devices. While running this
network, I discovered a number of new bugs, mostly in the GPRS stacks of various
handsets.
At least one model of Blackberry seems to ignore the MS identity cannot be
derived from the network cause of a Routing Area Update Reject
message, which we send in case the TLLI of the messages from the phone is
unknown. I would expect it to come back with a GPRS Attach Request,
but it never does. All it does is to keep re-trying Routing Area Update
The other funny observation is: Several phones, including some iPhone models,
react in a strange way if you REJECT them from the GSM network but ACCEPT them
on GPRS (Assuming Network Mode of Operation III). They then seem to be perfectly
happy with this connection, but will only supply data services and no voice
service.
Getting back to the conference, though: The Radisson Blu is an quite costly,
upscale hotel. I was really surprised by the type and number of small mistakes
they made, particularly with the catering. One day they forget to put the sour
cream next to the potatoes - despite a written sign indicating that they are
supposed to be with sour cream. Another day they serve some mousse as desert,
but there are no spoons placed at the desert buffet. Furthermore, the number
of tables they provided during lunch time was always insufficient for the number
of people who had lunch. The quantity of food was more than sufficient,
though - indicating that it was not a problem of them not knowing the number of
people who were eating.
[ /linux/conferences |
permanent link ]
The ELCE 2010 keynote by Ari Rauch (Texas Instruments / OMAP)
I've just attended the ELCE
2010 keynote by Ari Rauch, where he was talking about how much TI OMAP is
committed to Linux. This doesn't really come as a big surprise to me. The
OMAP SoCs are used mostly as Application Processors for smart phones. As TI
is not a supplier of APs for Apple, Symbian and Windows Mobile are dead, this
really only leaves Linux-based operating systems like Android, Meego, LiMo &
co.
One of his main points was we have to be pragmatic, i.e. the customer
requirements for performance etc. are key. If there is an open way to fulfill
them: fine. If not: fine, too.
The only real question that was asked after the keynote was the usual question
of whether there will be any Free/Open graphics drivers for the Imagination GPU
thats inside their OMAP3/OMAP4 SoCs. I already predicted the response: We have
to be pragmatic about it. TI is trying to convince Imagination to open up,
but they are afraid of doing so and don't see what this would gain them.
He further added the statement if there is a competitive more open GPU, they
will look into using it.
The other bad taste I got from this keynote is the frequent mention of the
industry embracing innovation provided by the FOSS community.
Embracing was the very term that Microsoft always used when they started to
create their custom versions/dialects of HTML, Kerberos and other standards.
The think that seemed to be missing is any awareness for the sharing
attitude: I.e. the industry using the innovations that the community creates,
but giving back an equal amount, or at least opening up in response. This
cannot be a one-way road where the industry simply taps into the creative
potential of the community, to create closed products and profit from stuff
they have simply scraped off the community backyard.
[ /linux/conferences |
permanent link ]
ST-Ericsson glues gstreamer into Android - and makes it proprietary
It is always surprising what kind of things the industry is coming up with ;)
Here at ELCE, ST-Ericsson has just presented how they replaced OpenCore
with gstreamer as the supplier/provider of multimedia encoding/decoding
to the Android software stack.
This is definitely an interesting technical solution - probably one that makes
sense if you have existing gstreamer modules/drivers.
What really makes me wonder though, is their licensing. To make sure only
ST-Ericsson customers can use it, they have implemented a glue layer library
that ties into android, and this library is binary-only licensed and
distributed under terms that permit to use it together with their hardware.
Isn't it strange? Now the Android software stack is Free Software, and
gstreamer is Free Software. But ST-Ericsson needs to put some proprietary blob
in the middle. Of course, legally they are allowed to do it: Android is
Apache-style licensed and gstreamer is LGPL. But from a
moral/ethical/technical point of view, it still is blasphemy to me.
UPDATE: The license is actually a 'standard' proprietary license.
There seem to be technical reasons that tie this code to the specific SoC of
ST-Ericsson. Nonetheless, I keep my original criticism: It has a bad
aftertaste if you combine two FOSS programs by a proprietary layer in
between
[ /linux/conferences |
permanent link ]
GPL compliance workshop on December 2nd in Taipei, Taiwan
The OSSF at Academia Sinica in Taiwan has kindly organized a full-day GPL compliance
workshop on December 2nd in Taipei, Taiwan.
Armijn Hemel and myself will be presenting on a variety of topics regarding
GPL compliance, both from an administrative/organizational as well as a
technical compliance engineering point of view.
I think this is an excellent opportunity to get in touch with product managers
and engineers in Taiwan's computing and particularly embedded industry. We
definitely still need more awareness in that industry, as the majority of the
products in a variety of IT markets are predominantly designed in Taiwan.
So the better the know-how is there, the less GPL violations we will find
further down the supply chain and finally in the retail-stores around the
world.
Many thanks to the OSSF at Academia Sinica, and specifically Florence Ko and
Lucien Lin for making this workshop possible [and giving me a reason to come to Taipei again ;) ]
[ /linux/gpl-violations |
permanent link ]
The 7th netfilter workshop is coming up
The 7th Netfilter Workshop is
just coming up next week in Seville, Spain. Once again it will be hosted at
the ETS Ingeneria Informatica of
the University of Seville.
I'd like to personally thank Pablo Neira for organizing and hosting the event
again in Seville.
As most readers of this blog will know, my current relationship to
netfilter/iptables is somewhat dormant. I haven't been writing any code for
probably something like five years ago, when I was seriously distracted with
stuff like OpenPCD, OpenPICC, OpenBeacon and later the Openmoko project.
Nonetheless, it is always great to learn what Patrick, Pablo, Martin, Jozsef,
Yasuyuki and the others have been up to. With a slight chance I may actually
still have some advice/ideas or other input I can contribute.
[ /linux/netfilter |
permanent link ]
GPL violation reports in HTC G2 Android phone
There have been various reports and
blog posts about HTC again committing copyright infringement by not fulfilling the GPLv2 license conditions in their latest Android phone, the G2.
While at this point I haven't studied the situation enough in order to confirm or
deny any actual violations, let me state this: The number of GPL Violation
reports/allegations that we receive at gpl-violations.org on HTC by far
outnumber the reports that we have ever received about any other case or
company.
In addition, HTC seems to have had a long trail of problems with GPL compliance
in their devices. Ever since they have started to ship Android devices containing the Linux kernel, licensed under GPLv2+, we have received those reports.
The reason I have never taken any legal action is merely a result of the fact
that HTC seems to first introduce their new devices in the US, then at some
point release the corresponding source code before shipping those devices into
Europe and Germany. So by the time the devices are sold over here, the legal
issues appear to have been resolved before.
Nonetheless, I think it is outrageous for a company of this size and
significance in the market to consistently commit copyright violation (or at
least walk borderline with it) and thus mistreat the very copyright holders
that have created the operating system kernel they use in their devices. The
linux kernel developers and the Free Software community as a whole deserve fair
treatment.
Also, the competitors of HTC deserve fair treatment: Samsung, e.g.
is very forthcoming with their Android phone source code releases. If I was
them and would see HTC to fail to comply with the GPL, I would consider filing
a unfair competition lawsuit...
[ /linux/gpl-violations |
permanent link ]
FOSS.in/2010 CfP is closing
I just want to point out: If you haven't yet submitted a proposal for FOSS.in/2010,
the FOSS.in/2010 Call for Participation is closing in less than 48 hours!
This means you still have a chance to submit a talk, workout or BoF on your
personal FOSS, hacking or otherwise technology related work and actively
participate in the event.
FOSS.in is an excellent chance to spread the word about what technical work you
have been doing, and to motivate others to participate and join your projects.
It's a great opportunity to reach out to the Indian FOSS community, meet old
friends and make new ones. Don't miss it :)
[ /linux/conferences |
permanent link ]
Linux Kongress 2010 in Nuremberg / Germany
Yesterday night I took the train down to Nuremberg, where Linux Kongress 2010 is
taking place. It's always nice to meet old friends and colleagues there,
including Arnaldo Carvalho de Melo, Patrick McHardy, Lars Marowsky-Bree,
Jon Corbet, Jos Vos, Heinz Mauelshagen, Dhaval Giani, Lennart Poettering and
many more...
Being on the programme committee might make me biased, but I really think
that there is a very impressive talk schedule. What makes me a bit sad is
the relatively small audience. I don't know the numbers, but it definitely
feels like the lecture halls could hold many more attendees.
[ /linux/conferences |
permanent link ]
Dell finally releases sources of GPL licensed software on the Streak
Today I have received news that Dell has released the source code of the
GPL licensed software on the Dell Streak at http://opensource.dell.com/releases/streak.
This includes, among other things, the source code to the Linux kernel they are
using on the Qualcomm Snapdragon processor.
This is good news! However, I have not yet checked if that source code release
can be considered complete and corresponding as demanded by the GPL. At
least it includes a small README file explaining how to build the sources.
I'm not very much into the Android world, but I have heard that Dell is already
shipping different Android versions for the Streak. If this is true, then there
should be multiple source code releases, one for each binary release they have.
If you know more about available firmware versions for the streak, feel free to
contact me privately.
Overall, it is great to see this release. On the other hand, it is pretty sad
that we've had to do go down the gpl-violations.org enforcement route.
Ever since the Streak released in the US months ago, customers are claiming to have
contacted Dell forums, emailed Dell Support, asked in the Dell live web-chat and
asked via twitter - without the source code being released.
Also, if you are under the impression that the Dell GPL source code as it has
been released is incomplete, please let me know the exact technical details of
what you think is missing, or why that source code is not matching what is
running on your device. Thanks in advance.
[ /linux/gpl-violations |
permanent link ]
Motorola announces "Ming" phone with Android
For those who don't know: The Motorola Ming was the A1200, a commercially
very successful Linux-based phone in China and other parts of Asia, using the
EZX software platform, i.e. the kind of hardware that we once built the OpenEZX software.
Motorola has recently announced that they will follow-up with some android
based ming phones. It is my suspicion that apart from some mechanical design
aspects, those phones will not resemble the ming in any way, neither on the baseband
hardware side, nor on the application processor side, and particularly not on
the software side.
So it's probably nothing than a marketing coup, trying to connect to successes
of the past. Not interesting from the OpenEZX point of view, I guess.
[ /linux/mobile |
permanent link ]
More GPL enforcement work again.. and a very surreal but important case
In recent days and weeks, I'm doing a bit more work on the gpl-violations.org
project than during the last months and years. I wouldn't say that I'm happy
about that, but well, somebody has to do it :/
Right now I'm facing what I'd consider the most outrageous case that I've been
involved so far: A manufacturer of Linux-based embedded devices (no, I will
not name the company) really has the guts to go in front of court and sue
another company for modifying the firmware on those devices. More specifically,
the only modifications to program code are on the GPL licensed parts of the
software. None of the proprietary userspace programs are touched! None of
the proprietary programs are ever distributed either.
If that manufacturer would succeed with such a lawsuit, it would create
some very nasty precedent and jeopardize the freedom of users of Linux-based
embedded devices. It would be a direct blow against projects that provide
"homebrew" software for embedded devices, such as OpenWRT and many others.
I've seen many weird claims and legal strategies when it comes to companies
trying to deprive developers of their freedom to modify and run modified
versions of Free Software. But this is definitely so weird that I still feel
like I'm in a bad dream. This can't be real. It feels to surreal.
It's a pity that I cannot speak up more about the specific company in question
right now. I'm desperately looking forward to the point in time where I can
speak up and speak out about what has been happening behind the scenes.
[ /linux/gpl-violations |
permanent link ]
Convert RSS feed subscriptions from N810 feed reader to Android com.meecal.feedreader
I'm subscribed to a considerable number of RSS feeds, and so far I actually used
to read them all on my Nokia N810, which is more or less permanently located at
the bedside table
Now I wanted to import all the subscriptions into an Android RSS feed reader on
the Galaxy S. Unfortunately the feed reader that I found most useable doesn't
have OPML import. However, looking at its sqlite3 database for feed
subscriptions, it was pretty easy to come up with a small perl script to
generate "INSERT" statements for all the feeds from the N810 OPML file. In
case anyone is interested, the script is available from here.
If you have any suggestions on a good Android RSS reader that can manage large
number of subscriptions and put them into a tree/hierarchy of groups, feel free
to let me know.
[ /linux/mobile |
permanent link ]
Started to play with the Galaxy S (GT-I9000) phone
For many years I'm on a more or less consistent hunt for finding a
reasonably open and free mobile phone. This started in 2004 with OpenEZX,
has continued with Openmoko, project gnufiish and has resulted in a bit of
peeking and poking in the Palm Pre. However, none of those projects ever had
the success I was hoping for:
- OpenEZX was never really finished, and only for the 1st generation phones (A780) by the time they were long end of life
- OpenMoko Neo1973 and FreeRunner were a great project, and they are still the most open+free mobile phones that ever existed. However, they're GPRS only and the hardware is even more outdated now then it was when we created it.
- gnufiish was an attempt of running software from the Openmoko days (such as freesmartphone.org) on some E-TEN glofiish phones. However, we never could make the SPI-based modem communication work from our re-engineered Linux driver :(
- Palm Pre is an interesting device, in that Palm provides easy root
access, does not attempt to lock the device down with cryptographic signatures
and provides full recovery flashing tools by means of WebOS Doctor. But once
again, the proprietary communication protocol with the 3G Modem was the big
blocker item for using real custom software and not the WebOS stuff they ship.
So I've constantly been on the watch for new devices that are coming out. Most
of the phones you can buy in recent years are either running proprietary
software like Windows Mobile, Symbian, Apples iPhone-OSX - or they run Android
but then use some integrated Qualcomm Smartphone-on-a-chip product. The
problem with the latter (from a Free Software point of view) is that Qualcomm
is very secretive about their products, does not provide any kind of public
documentation, and the ever-increasing integration between application
processor and baseband processor makes it more difficult to run custom software
on them.
The Samsung Galaxy S (GT-I9000) seemed like a good candidate to me, for several
reasons:
- Samsung does not use cryptographic signature techniques and gaining root as well as flashing the AP software is relatively easy
- The phone is based on a traditional separate application processor (AP) and
baseband processor (BP) design. The AP is a Samsung S5PC110, the BP is some
Qualcomm MSM6xxx.
- High-end hardware, with the S5PC110 running at 1GHz and 512MB RAM
- Samsung provides excellent "GPL source code offers" containing the Linux
kernel used in their firmware - including detailed instructions in how to build
it. Also, many of the drivers are included under GPL, such as drivers for all
the integrated peripherals of the SoC, some custom components like the USB
multiplexor ASIC, etc. as well as the driver for the dual-ported RAM between
the AP and BP for the 3G Modem communication
- The Android RIL shipped by Samsung contains lots of debugging/decoding/dumping
code that can make reverse engineering the AP/BP protocol.
So right now I'm in the exploration phase, making myself familiar with the
bootloader, the flashing process, the userspace ABI of the custom (GPL
licensed) kernel drivers, etc. It's a fairly pleasant experience so far,
and I now have a debootstrap'ed Debian lenny on an additional ext2 partition
on the SD card. This provides me with an actually useful userland I can
chroot() into, such as lsof, strace, ltrace, tcpdump, etc. to do some more
exploration of the phone.
The only real ugliness on the software side so far is the use of proprietary
Samsung filesystems (RFS/TFS4). The only reason those filesystems existed,
as far as I can tell, was to run legacy filesystems like FAT on top of raw NAND
or OneNAND flash. This is mainly necessary if you want to export e.g. a FAT
partition via USB Mass Storage to a Windows PC. However, the GT-I9000 doesn't
have any OneNAND, but only an internal moviNAND (basically a SD-Card in a BGA
package that you can solder on the board). MMC/SD cards already include the
wear leveling algorithm, so there is absolutely no point (from what I can tell)
in running the RFS/TFS4 stack.
In fact, in several forums people are complaining about the slow I/O performance
of the Galaxy S, and they have a much better performance when using ext2/ext3
directly on that moviNAND device.
[ /linux/mobile |
permanent link ]
Doing RFID related research and development again
More or less a bit surprising to me, I got again involved in RFID research,
on which I hadn't really done much ever since my involvement in the OpenPCD
and OpenPICC projects some five-to-four years ago.
It's a lot of fun, and I didn't seem to forget much. What really bothers
me a bit is that the OpenPCD / librfid / OpenPCD integration never really
was completed, and that libnfc doesn't work with OpenPCD. Let's hope I'll
somehow find some time to change this. It just feels wrong that OpenPCD
was the first hardware project created to encourage (security) research into
RFID, and now all the current tools only run on the Proxmark or on proprietary
readers...
[ /linux/mrtd |
permanent link ]
Wondermedia WM8505 Linux + u-boot source code
In recent months, a number of alleged GPL-violation reports regarding products
(tablet computers, mini netbooks and the like) using the Wondermedia WM850x
line of ARM SoCs. People have been contacting me, as I was working as VIA
Open Source Liaison, and there is the general belief that VIA and Wondermedia
Technology (WMT) are one company.
I had investigated this issue even before there were any reports, and I'd like
to publicly state that:
- Wondermedia is a separate company from VIA, with independent management, making
their own business decisions. The 850x SoC development was started inside VIA,
but is no longer part of VIA for a long time.
- Any references to VIA in the source code or old data sheets date from that
time before the SoC business became part of Wondermedia
- I have had assurances from Wondermedia, even before there were any allegations,
that similar to VIA they explicitly notify their customers about the GPL
and always provide their SDK / BSP as full corresponding source code.
- Effectively, this means that GPLv2 Section "3a" is used. WMT has provided
the Linux and u-boot source code to its customers, and thus has no obligation
under GPLv2 Section "3b" to provide it to anybody else (any 3rd party)
- So, if you buy a product including a WMT SoC and u-boot/Linux, like always,
GPL compliance of what has been shipped to you has to be assured by the
manufacturer of the product, not the semiconductor maker
Notwithstanding all of the above, Wondermedia was willing to provide the Linux
kernel and u-boot source code of their SDK to me, so I can share it with the
community. As indicated, they're not legally required to do this and I'm happy
they do it anyway to show their good intentions.
You can download the released source code from the gpl-devices.org ftp-server, more specifically here are the latest Linux kernel (modified 2.6.29 android derivative) and u-boot source code archives.
This software is provided without any kind of support. If you see some GPL
related legal problems (i.e. you believe it is incomplete), don't hesitate to
contact me. To the best of my knowledge WMT (basically a small hardware
start-up with small software development team) has no resources to actively
push any of this mainline.
[ /linux/via |
permanent link ]
On my way to Taiwan for COSCUP
Tomorrow early morning I'll be on my way to Tapei/Taiwan. The main reason for
this trip is the invitation to speak at
[ /linux/conferences |
permanent link ]
More musings on locked-down mobile phones
In recent days, the story about Motorola locking out its users (and developers)
from their more recent Droid phones has made big news. As it seems, the exact
functionality implemented by eFuses remains unclear, and the behavior of
Motorola might thus not be too different from what has more or less become
the industry standard.
For those of you who are not following the mobile world as close on a technical
level as people like me do: In the last five years, more and more cellphone
manufacturers have used cryptographic code signing to lock-down the software
that you can run on the phone. Major parts of the system including the software
update mechanism and the bootloader on the device contain a verification process
of those cryptographic signatures to ensure that you can only software signed
by the phone manufacturer.
I have seen this with the MotoMAGX phones like the ROKR2 v8, various Windows
Mobile handhelds from HTC, The non-developer (non-ADP) version of the
Google/Android G1 and many other phones.
This puts the user into a strange situation where he buys some hardware from
the manufacturer, but yet doesn't have control over what this device does.
Just imagine buying a computer, but being limited to run Windows 98 and Office
97 on it. You could not update to a later version of the operating system, and
you could not install an alternative operating system such as a version of
GNU/Linux. If the computer vendor decides that he will drop support for it,
you will not even be able to install security updates to the operating system.
From my point of view, this is an abusive, anti-competitive behavior by the
manufacturer. For no reason but his ever-growing hunger for power he makes
you completely dependent on his decision. It is not in the control of the user,
what operating system or even applications you can install. It is under the
control of the manufacturer.
I would accept this if the phone was rented. In this case, I would
only pay a small rental fee, but the phone is the property of the manufacturer
and I am only using it. But the manufacturer actually sells the device.
He wants to be paid the full price, but still not actually hand control over
to the buyer.
Compare this with buying a CD-player that has arbitrary restrictions so it
would only play CDs from one of the major music labels/distributors like EMI,
but not CDs from any of the other publishers, for no technical reason whatsoever.
Or buying a TV set that is locked down so you can only watch one TV channel,
while you need to buy another TV for a different channel.
I actually think the antitrust authorities should investigate this behavior
of the mobile phone industry. Simply compare it with the PC situation and look
at the fact how often Microsoft has been judged in some kind of
anti-competitive behavior in the PC world. In the mobile phone industry,
the situation is worse than it ever was in the PC world, yet we do not see
big antitrust cases being brought forward.
And please don't buy those pseudo-arguments that this has any relation to
regulatory/FCC approval or the safety of mobile networks themselves. The
entire software stack interacting with the mobile network runs on a separate
processor (the baseband processor) anyway. It doesn't matter what you install
on the application processor. Once again, compare it to laptops: You can
insert a 3G miniPCI, expressCard or USB dongle. Inside this dongle you run
the communications stack on a processor that is completely different from your
main processor that runs your regular OS (be it GNU/Linux, OS X, Windows,
Solaris or whatever makes you happy).
[ /linux/mobile |
permanent link ]
Motorola locking down the DroidX and Droid2 in a nasty way
There are plenty of reports in recent days about the level of locking-down
that Motorola is apparently doing on their most recent Android products,
the Droid 2 and the Droid X.
This goes as far as to an (I believe unconfirmed) slashdot.org
report claiming that not only there is the more or less typical DRM on
software (i.e. cryptographic signature validation chain), but there also is an eFuse
that that is blown if something happens wrong during the booting process.
To the best of my knowledge (and I'm doing mobile phone reverse engineering for
about 6 years now), this is the first time I hear of something like this. If true,
it sounds pretty dangerous to me. What if something goes wrong during an update
(such as a power failure during software update)? What if you really have a
non-correctable multi-bit error in your NAND Flash? In that case,
cryptographic verification of the firmware fails and the eFuse would be blown,
resulting in your device being a brick. This could eventually backfire massively
to Motorola.
The best comment from the slashdot.org thread:
You can legally buy a gun that only shoots in the direction of the person pulling the trigger, but it doesn't mean it's a good idea.
Reading something like this almost makes me very depressed. Motorola is
benefitting from the billions-of-dollar-worth development of existing Free
Software projects like the Linux kernel, but they now want to take away the
fundamental right to run modified versions of that very software. Somebody
needs to slap them with a very large trout.
I'm not really surprised that they are doing it, though. Motorola has shown
that direction even years ago when they first used SELinux as part of their
later pre-Android Linux phones (EZX and MAGX). They didn't use it to enhance
the security of the user, but to enhance the security _from_ the user.
Please also note this great
post by Bradley M. Kuhn on the subject matter. If you don't know Bradley,
he's been doing GPL enforcement for the last 12 years - for the Free Software
Foundation and the Software Freedom Law Center. In his post, he actually
thanks Motorola to publicly state that they actually want to lock their phones
down (as opposed to Apple).
What's even more interesting though is his elaboration on the scripts to
control compilation and installation clause of GPLv2. This is indeed
something that most people tend to overlook when it comes to GPL[v2] compliance
and we see this a lot during our gpl-violations.org work.
And in fact, for a very long time, I have been teaching and educating this fact
during my GPL related talks and trainings: In software specific for embedded
devices, the scripts to control installation are incomplete, if you do not provide
a means to install the software onto the actual device. Where else would you
be reasonably install the Linux kernel image that is made specifically to work
on such a particular mobile phone model? Due to the custom nature of Linux
kernels for embedded targets, it wouldn't even run anywhere else.
I've never taken any such issue to court so far - but it was a frequent dispute
in out-of-court GPL enforcement we've been doing at gpl-violations.org.
I'm definitely curious to see what will be the first court case addressing that
issue. The ever power-hungry manufacturers of mobile phones seem like they
deserve it.
UPDATE:
Apparently Motorola has released some statement that denies they use eFuses to
brick the device. All it does is to render the device unable to boot until
some Motorola-certified/signed/authorized software is loaded on the device
again. They did not specify how that could be done, though. Still, even without
the eFuse bricking, I find it outrageous that the Industry (including Motorola)
expect their customers pay hundreds of dollars for a device that is then
still owned by Motorola rather than that very customer. It's like selling
something but still retaining ownership of it. Doesn't that make you feel
strange, too?
[ /linux/mobile |
permanent link ]
|