| |
RSS
Harald's Web
gnumonks.org
hmw-consulting.de
sysmocom.de
Projects
OpenBSC
OsmocomBB
OsmocomTETRA
deDECTed.org
gpl-violations.org
gpl-devices.org
OpenMoko
gnufiish
OpenEZX
OpenBeacon
OpenPCD
librfid
openmrtd
opentom.org
netfilter/iptables
Categories
Archives
Other Bloggers
David Burgess
Zecke
Dieter Spaar
Michael Lauer
Stefan Schmidt
Rusty Russell
David Miller
Martin Pool
Jeremy Kerr
Tim Pritlove (German)
fukami (German)
fefe (German)
Bradley M. Kuhn
Lawrence Lessig
Kalyan Varma
Aggregators
kernelplanet.org
planet.netfilter.org
planet.openezx.org
planet.openmoko.org
planet.foss.in
identi.ca
twitter
flattr
Linked in
Xing
 Articles on this blog/journal are licensed under a Creative Commons Attribution-NoDerivs 2.5 License.
Contact/Impressum
|
|
|
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 ]
New OsmocomBB RSSI monitor firmware
Jolly has been hacking up a nice new RSSI monitoring
firmware application for OsmocomBB.
I let the pictures speak for themselves:
I really hope this trend continues and we'll get some actual user
interface in OsmocomBB at some point this year..
[ /gsm/osmocom-bb |
permanent link ]
OP25 project joins hosting on osmocom.org
Some days ago, I noticed that the famous OP25 project (a Free Software
implementation of the APCO25 system, a digital trunked radio system) was
no longer reachable on-line. It seems they were running this on a
desktop PC in a university. As nobody in the project still seems to be
at that university, a change in the network configuration had
accidentally rendered the website unreachable.
After some quick e-mails, I offered to host them within the osmocom.org
family of Free Software Projects for mobile communications. This is
when op25.osmocom.org was
created, and a full-site backup uploaded + installed.
I'm really happy that we were able to do a small part to help to make
sure this valuable project remains accessible to interested parties in
the signal processing and mobile communications field.
[ /gsm |
permanent link ]
First osmo-nvs-gps evaluation boards soldered
At the osmocom project, we recently discovered the most interesting NVS
NV08C-CSM module. It not only is a superb GPS receiver, but it includes
GALILEO and GLONASS receivers, too. However, it's only available as an
industry module, or as an expensive (700 EUR or so) evaluation kit.
Given the cheap PCB prototyping service at seeedstudio, I thought I'd
spend an afternoon creating the schematics and PCB layout for an
evaluation board. It exports the two 3.3V UARTs on OsmocomBB-style
2.5mm jacks, so they can be used with the T191 cables. I have the
feeling this 2.5mm jack is becoming a new standard for low-voltage RS232
links ;)
Furthermore, it exports the SPI, I/O and I2C on a 20pin 2.54mm pitch
header, connects to an external antenna via a MCX socket and has an
optional footprint for a CR2032 battery on the bottom side.
So far, the board seems to be working fine. If there is interest in the
bare PCB itself (without components!), please send me an e-mail.
Depending on the amount of interest we might add it to the sysmocom webshop.
Schematics and Gerber files will be available at http://openbsc.osmocom.org/trac/wiki/osmo-nvs-gps
soon.
[ /electronics |
permanent link ]
Having Fun with DHL Express!
This is what I got when tracking one of my inbound shipments:
It seems DHL is having fun bouncing the package back and forward between
Hong Kong and Leipzig(Germany). So far, it started in HK, then arrived
in Leipzig on January 8, went back to HK, back to Leipzig, back to HK,
back to Leipzig and is currently allegedly again in Hong Kong _after_
succesfully passing German customs clearance on January 15.
For the TCP/IP nerds among the readers: I wonder when the TTL expires.
[ /misc |
permanent link ]
First assembled prototypes of osmo-e1-xcvr
I mentioned it briefly before: I've designed a small E1/T1/J1 transceiver
board, which is going to be used for experimentally interfacing such a TDM
line with microcontroller and/or FPGA. The name of this board is osmo-e1-xcvr.
The first prototype PCBs have arrived yesterday, and despite lots of other
more important work I couldn't resist but to actually solder some of the units.
The result can be seen here:
I don't have time to do anything beyond very basic testing right now, but so
far the boards seem to be doing fine. Now we need a driver for the transceiver
chip, and connect its control interface over SPI to some microcontroller
(likely sam7s/sam3s/sam3u in my case). The actual serial bitstream will end up
at the SSC peripheral of the controller.
[ /electronics |
permanent link ]
OsmoSDR status update
It's already two weeks since my last post mentioning OsmoSDR only very
briefly. By now, OsmoSDR is fully public and you can read all about it
on the http://sdr.osmocom.org/
website.
Specifically, the website includes Schematics, and one of my colorful
block diagrams. I am a text guy and really hate to work with graphics,
but the block diagram of the Calypso has helped a lot in the context of
making people understand OsmocomBB, so I tried again for OsmoSDR:
So as you can see, it is a very simple, straight-forward design with a
chip tuner, direct I/Q down-conversion, ADC for differential I and Q
signals as well as a small FPGA for basic filtering and serial format
conversion, followed by a Atmel SAM3U microcontroller (Cortex-M3, high
speed USB).
And yes, it's receive only. However, it has a stacking connector for
later addition of a transmit daughter-board which may eventually follow
later in 2012.
So what is this OsmoSDR going to be used for? Well, for receiving any
kind of signals between 64 MHz and 1700 MHz (possibly up to 1800 MHz,
untested). We don't build it for a specific application, but we simply
thought that for many applications a member of the USRP family is
expensive overkill, and the FCDP has this arbitrary restriction at 96
kHz sampling frequency.
Please note that while I may be the only OsmoSDR developer that blogs
about this project, it is very much a team effort and I'm only a minor
part of that team. Apart from selecting the SAM3U, writing firmware and
drivers for it as well as some discussions early on in the project, I
didn't have any involvement in the Hardware design. Those credits go to
Christian Daniel and Stefan Reimann.
So where do we stand? There are 5 prototypes of the first generation,
they look like this:
There are some smaller hardware issues that were easy to work around,
but one bigger problem related to the fact that the Si570 programmable
oscillator output levels didn't match quite with what the FPGA clock
input requires.
There will be a second generation board fixing this and other problems,
and hopefully we'll see some progress in the weeks to come.
Firmware-wise, the code is currently scattered over a couple of
different repositories, but I'm going to consolidate that soon. If
you've worked with OpenPCD or SIMtrace, you will find some similarities:
We split the flash of the controller into two partitions: One for the
DFU bootloader, and one for the application code. You can then use the
USB DFU (Device Firmware Upgrade) standard to quickly update the actual
firmware of the device, without having to resort to jumpers or
un-plugging and re-plugging of the hardware.
This also meant that I had to re-implement the old sam7dfu code for the
SAM3U, which has considerable differences in the USB peripheral, cpu
core, board startup code, etc. So it's really a reimplementation than a
port. The good news is that I tried to make it as general as possible
and integrate it with at91lib, Atmels reference code. So it should be
easier to use it with other Atmel SoCs like the sam3s which I want to
use e.g. in SIMtrace v2.
[ /electronics |
permanent link ]
|
|