Not logged in
Log in now
Create an account
Subscribe to LWN
Pencil, Pencil, and Pencil
Dividing the Linux desktop
LWN.net Weekly Edition for June 13, 2013
A report from pgCon 2013
Little things that matter in language design
It is, and is sold as, "a system on a chip" near enough. If I buy a Pi, *I* have to provide the SSD. *I* have to program the SSD. etc etc.
In other words, as supplied, the Pi is as functional as a normal desktop without a hard disk.
I can then turn it into an embedded system (for which purpose it is eminently suitable), but it isn't that in and of itself.
Digia acquires Qt
Posted Aug 16, 2012 13:34 UTC (Thu) by krake (subscriber, #55996)
From my point of view the Raspberry Pi, the Beagleboard/Pandaboard, Shiva Plug and similar are classical embedded systems: more or less fixed hardware (often no such things as an PCIe slot), to be used without a screen or hooked up to a screen that is not a traditional PC monitor, etc.
Posted Aug 16, 2012 15:01 UTC (Thu) by mikov (subscriber, #33179)
A PC without a general purpose OS is embedded and the Raspberry PI with Debian and Gnome desktop isn't.
In any case it doesn't matter how you call it, as that is the kind of system I meant in my initial post. We use words to convey shared meaning and that is what embedded means traditionally.
Posted Aug 16, 2012 16:01 UTC (Thu) by krake (subscriber, #55996)
A lot of systems used in modern control panel type applications run general purpose operating systems such as Windows CE, Linux, or QNX and on COTS (commerical off the shelf) boards. Most machine vendors deploying such panels for their machines are investing in DRM measures to prevent system alteration.
I consider those to be embedded systems as well, thus disagreeing with the statement that all embedded systems be unmodifyable.
Posted Aug 16, 2012 16:50 UTC (Thu) by mikov (subscriber, #33179)
The issue at hand is using LGPL on the very common type of system where the software is not end user serviceable. It doesn't matter whether we call that "embedded" or not.
Posted Aug 16, 2012 18:02 UTC (Thu) by krake (subscriber, #55996)
An unmodifiable system will never satisfy the requirement, a modifiable system will.
There is no passus in either the LGPL or the GPL that says it has to be easy.
If you want to modify any Free Software program on a Linux Live CD, you have to copy the software from CD to modifiable media, apply your changes, remaster the CD image and burn that new image.
Modifying an OS image and reflashing a device is no different.
"It doesn't matter whether we call that "embedded" or not"
Indeed. Embedded does not imply unmodifiable or vice versa. Hence my objection to the original statement. Neither embedded nor mobile devices are by definition unmodifiable.
Posted Aug 16, 2012 19:11 UTC (Thu) by mikov (subscriber, #33179)
Clearly such a definition is meaningless.
What matters is the intent. Does the device deliberately provide the user with the ability to service the software? A desktop PC running a standard desktop does. A desktop PC running kiosk software *does not*.
Granted, Jonno has posted some thoughtful arguments that modifying the actual device might not be strictly required in the legal sense for LGPL2. That is a line of reasoning that deserves serious consideration.
Posted Aug 16, 2012 19:51 UTC (Thu) by krake (subscriber, #55996)
"What matters is the intent."
"A desktop PC running kiosk software *does not*."
I think you are over generalizing again. I know of quite some Kiosk PCs which are installed, configured and updated by their respective owners or their employees and have not been rendered unmodifiable (neither technically nor legally) by the device's manufacturer.
Just like with embedded devices, the device category does not imply the availability or absence of customizability.
Some systems detect updates on a server (or even boot through from server), some require remote access (e.g. SSH), some can be updated through a physically connected media, some need swapping of their system drive, some need to be powered down, connected to an updater device and reprogrammed through that.
Since you like general statements so much I'd say that the majority of systems is designed that way and only a very small portion has been artifically restricted by technical (e.g. cryptography) or legal (e.g. renting instead of selling) measures.
Posted Aug 16, 2012 23:25 UTC (Thu) by Wol (guest, #4433)
Let's take a PC. I build my own, put my own software on it, do as I like. THIS IS THE RASPBERRY PI! It comes with a slot for an SD card or whatever, which you use as your hard disk, and you have FULL CONTROL over it. What goes on the raspberry pi's "hard drive" is fully under the owner's control.
Then you get locked systems. My wife's just acquired a Google Nexus 7. I'm not going to bother rooting it, but the point is that it is not easy to access its "hard drive" and change the OS or stuff like that. Would you call a Nexus 7 embedded? To my mind it's far closer to embedded than the Pi!
Then there's what most people consider embedded systems. That come, for all intents and purposes, with the software hard-coded in ROM.
By my definitions, an embedded system is perfectly okay with the GPL - no-one can update the software, so there's no problem.
Equally, an open system is perfectly okay. Whether it's a PC or a Raspberry Pi, the user has FULL ACCESS to the hard drive or equivalent, so can update things as they please.
It's the things in the middle, like the Nexus 7, that are the problem. If I can download apps, and get access to the source, then that's fine with GPL2. If I can cross-compile the source and replace the original version of the app with my version that's okay with GPL3 too. That's probably possible with the Nexus. It's probably NOT possible with the iPad.
And that is the crux of the problem with these locked systems. The LGPL requires that you have the ability to modify PART of the app. So if you can't replace the LGPL library (like you probably can't on an iPad), then the LGPL is useless for iPad apps.
I think the trouble with your view is that your definition of "embedded" is very different from most. To me, the Pi is very much an open system - I have full access to the hard disk. Its small size makes it very easy to embed it in a box and make physical access difficult, to the extent that it would be reasonable to call it an embedded system WHEN PART OF SOMETHING ELSE, but the Pi on its own is, imho, absolutely NOT an embedded system - as I say, it's an OPEN system.
Posted Aug 17, 2012 0:13 UTC (Fri) by hummassa (subscriber, #307)
Yes, it's possible with the iPad, just it's not encouraged and Apple will try to break it with every update. That is what jailbreaking is: running in the iPad software not signed by Apple.
> I think the trouble with your view is that your definition of "embedded" is very different from most.
I think your definition is different from "most", but "most" is a weasel word. I'll say that you and krake just are telling different things about different things that both of you *think* can be called by the same name ("embedded systems") and the discussion will get nowhere, because you lack a common vocabulary to discuss issues with...
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds