Open Source


quindo

Still Fresh
Joined
Jan 15, 2008
Messages
12
Hello,

Owning a Nokia 770 and having been shutout by Nokia when the N800 came out I've got some bad experiences with proprietary 'extensions' of open source software.

From what I understand from previous threats the Pandora team is trying to get as much parts of the Os open source/free as they can. I would like to know if they expect that a 'power' user will be able to compile a new kernel and still be able to use the features of the pandora (BT, wireless, 3d etc.)?

With the Nokia 770 a few parts rely completely on proprietary code (wireless for example).
This has limited the lifespan of the 770 considerably. No new kernel can be compiled without losing vital parts of the system (an internettablet without wireless?).

I can understand that parts will have to be closed because vendors will not allow it to be opensourced but I hope that those parts will not inhibit a new kernel from being compiled that can use the complete system.
(Vmware springs to mind, there software is closed but a new kernel can be compiled with vmware-modules included).
 
I don't really understand how they can release a kernel that's hard compiled against open source components and still comply with the GPL in the first place. My understanding is that there will be open source glue components that are freely available for accessing the proprietary logic which will be loaded as kernel modules. So long as the abstraction remains there I don't see any reason why you shouldn't be able to build your own kernel in exactly the same way.
 
QUOTE
I don't really understand how they can release a kernel that's hard compiled against open source components and still comply with the GPL in the first place.


Well the kernel is compiled and then the closed source module components are compiled against it as loadable kernel modules, therefore you're not hiding the kernel source. There's still the ever-present wonder about using the kernel structures and whether that should make the kernel module code GPL licensed, but lots of companies do it (e.g. nVidia) so it's pretty much par for the course.

QUOTE
My understanding is that there will be open source glue components that are freely available for accessing the proprietary logic which will be loaded as kernel modules. So long as the abstraction remains there I don't see any reason why you shouldn't be able to build your own kernel in exactly the same way.


As long as this is the case, all is fine, often the closed source kernel module is monolithic with no way of using it with a different kernel.
 
Exophase said:
I don't really understand how they can release a kernel that's hard compiled against open source components and still comply with the GPL in the first place.
It is possible. Including linux header with some definition is not considered derived work.
See this (and followup) http://lists.maemo.org/pipermail/maemo-dev...May/033261.html

To the original poster: Lets wait how open Pandora will be. I wouldn't hold my breath. Wi-fi may be closed too. If not, there may be same problem with PowerVR which will be binary blob for sure. Let's hope they will solve it better on kernel level than Nokia/Prism/Conexant did with umac.ko.

Also the kernel level development around Pandora currently doesn't look very open to me (unlike e.g. Beagleboard). Lets wait how this will improve when they start shipping real devices to random people.
 
Last edited by a moderator:
For the time being I'm trusting Crag and co. to release the pandora as open as they can.
We'll have to wait and see how open for development that will be.
I really hope they will release information about this BEFORE the pre-orders begin.
This machine has tremendous possibilities but not being able to compile a new kernel will hamper it a lot.
I would love to able to connect this gadget to my tv/surround/network and boot freevo on it :)
 
BTW as for 770 I wouldn't say closed parts limited its lifespan. It is definitely harder to workaround closed bits but IMO bigger problem is that it it is outdated hardware now and not enough people are interested in reverse engineering/replacement efforts. Sticking with older kernel is good enough and more practical. Today I'd say there is enough information for making 770 significantly more open. Also as for kernel and wi-fi - Nokia people gave few hints that in next release (Fremantle?) wi-fi driver won't be such big problem on N8x0 (maybe dumping umac.ko and using native linux wi-fi stack?). As the wi-fi chip in 770 and N8x0 is using same driver we may have solution for 770 too.
 
QUOTE
Also the kernel level development around Pandora currently doesn't look very open to me (unlike e.g. Beagleboard). Lets wait how this will improve when they start shipping real devices to random people.


Yeah, I tried to join there (the site in the linked post) and it said no more registrations allowed, so as you say, not overly open.

Anyone know why that's the case?

QUOTE
Sticking with older kernel is good enough and more practical.


Still troublesome as certain bits of software won't work, will need work-arounds, etc. This just makes it more awkward to work on the platform (and devs tend to want the newest and shiniest, so these platforms with limited kernel choices are already a step behind in terms of their appeal for low/intermediate-level developers (as opposed to users/people compiling apps).
 
Last edited by a moderator:
You will be able to recompile the kernel and still keep all existing functionality. Upgrading the kernel to a newer version should be possible too (as all proprietary modules should be independant of the kernel as the parts which compile into the kernel will be open source).
 
Of course, you should be able to patch the kernel source for the supplied kernel (just as long as you don't modify anything that the modules need). This is the case with the SDHC support. There are also some steps on the 770 to supply the wifi/BT kernel modules as awrapper + binary blob (which allows you to compile a later kernel).

The question was more about changing kernel versions, and it looks like Squidge has cleared that up with a positive yes it will be possible (in the same way as for the 770). Thanks.
 
There is a hacked version of os2008 that runs on 770. Is that applicable to this discussion?
 
quindo said:
With the Nokia 770 a few parts rely completely on proprietary code (wireless for example).
This has limited the lifespan of the 770 considerably. No new kernel can be compiled without losing vital parts of the system (an internettablet without wireless?).

Not being able to upgrade to the latest operating system != limited lifespan

I'm typing this message on an Eee PC running Windows XP. Now, the Eee PC came out *after* Vista. This model (701 4GB Surf) will most likely never run Vista. Does that mean the life span was dead before it ever shipped?

There are plenty of devices that can't run the latest version of whatever software they use - but they still work. I'm sure that there are plenty of people on this very list that have computers, game systems, calculators, PDAs, cell phones, etc. - that can't run the latest version of their OS - but they are far from being dead.

But you need to know that this has nothing to do with the Pandora, since any Pandora OS will run on all Pandoras - obviously. This isn't Nokia. They won't have a new version out in less than 18 months. You will be able to update to whatever firmware/OS they come out with. And the fact that people are still writing code for the once, and almost a second time, replaced GP32, should be encouraging to you.
 
Last edited by a moderator:
palmertech said:
There is a hacked version of os2008 that runs on 770. Is that applicable to this discussion?
I think it is :)
What you are talking about is called os2008HE
The reason it needs to be hacked to work on the 770 is that it has to use the old kernel from os2006.
I have os2008HE on my 770, it works nice but with an extremely low volume level that can't be altered.

It also shows nicely why I was asking about the kernel :)
To keep the 770 a bit up to date it has to be hacked instead of just upgraded.
The kernel can't be updated just altered a bit (the sdhc hack).
You can run debian on it, just without sound and wireless (both proprietary).

QUOTE

You will be able to recompile the kernel and still keep all existing functionality. Upgrading the kernel to a newer version should be possible too (as all proprietary modules should be independant of the kernel as the parts which compile into the kernel will be open source).


That's very good to hear. Thanks!
 
Last edited by a moderator:
ashaw said:
on linux it does.
It must suck to use an operating system that stops working when the newer version comes out.
 
Last edited by a moderator:
chad78 said:
ashaw said:
on linux it does.
It must suck to use an operating system that stops working when the newer version comes out.

Yeah, I wasn't quite sure what ashaw meant by that. Personally I always update to the newest kernels when they are released, but for the most part Joe Sixpack™ is not going to notice the difference between say 2.6.25 and 2.6.26. I don't remember what kernel version the gp2x is using, but it sure as hell isn't the latest one. And if for example all you're using a computer for is a webserver, and it runs fine, why would it matter if the kernel is 3 years old?

I mean, sure, it's nice to be able to have the latest versions of everything, and I'm quite happy that we can compile our own kernels for the Pandora without too much hassle. However, as far as I know, there's no code in the kernel to check whether a newer version has been released and if it has stop working...
 
Last edited by a moderator:
BigTruck said:
I don't remember what kernel version the gp2x is using
2.4.25, over 4 years old now and still works perfectly well as long as you aren't too eager to use newer USB drivers.
 
Last edited by a moderator:
quindo said:
The reason it needs to be hacked to work on the 770 is that it has to use the old kernel from os2006.
I doesn't need to use it. It was just easier to use older kernel. Nokia guys started with 2.6.18 (current on N800 at that time) but went back to 2.6.16 to save time. Also it is much more practical - kernel is shared so same kernel allows you to dualboot with older stable systems (until someone makes kexec working).

quindo said:
The kernel can't be updated just altered a bit (the sdhc hack).
You can run debian on it, just without sound and wireless (both proprietary).
It can be updated. Poky guys have 2.6.18 kernel on 770 with wi-fi working. I guess that with enough efforts one could go to 2.6.21 (current for OS2008 for N8x0). But true that you cannot go to any random kernel until the issue with umac.ko is solved.

As for sound this is handled by dsp and the system running on DSP is not open source. One can write additional dsp tasks but the sound API of (proprietary) DSP kernel is not documented so you need to send decoded data back to ARM side and then send it back to pcm dsp task (unless you figure out how mp3/aac audio dsp sink does it directly). As for audio in debian, it is possible to do it, dspgateway and dsp loader (and esd and gstreamer modules calling dsp) are open source. You just need to copy over blobs of dsp kernel and dynamic DSP task modules.

BTW how closed will be the kernel running on Pandora DSP? How the audio HW is managed on Pandora (from arm or dsp side)?
 
Last edited by a moderator:
@BigTruck kernel uptodateness on a webserver may be paramount... and often they are VMs anyway for security reasons for instance the vmsplice hack affects all 2.6x kernels up to 2.6.22 unless they have been specifically patched and that is just one example

and i think it is netbsd that uses root jails to quarantine all the applications from each other.... pretty slick
 
Back
Top