Porting Various Operating Systems To Pandora?


Svartalf said:
Chip said:
There has to be a legit way to do it, or it would have already come up with other products. The Nokia N810 has a PowerVR chip and runs a Linux-based OS. They've obviously figured out a way to avoid the wrath of the GPLunatics.
Okay... You need to drop that attitude right now.

If, say for example, you breached the licensing on ImgTec's software, you can very assuredly expect them to sue your backside off with lots of lawyers.

WHY, then is it any different when someone violates the terms of licensing on the GPL?

If it weren't for all that software those "GPLunatics" wrote and assiduously protect, you wouldn't be having a Pandora to even talk about.

Let me tell you a story.

When GPH was getting ready to ship the first batch of GP2X units, they hit a snag. The hardware was done and they had customers clamoring to buy it, but the software wasn't quite finished. So they decided to sell the units early as "beta" models, with the understanding that the software had bugs and the users would need to update it when it was finished.

About three minutes after the first GP2X arrived, somebody asked "Where's the source?"

Fair enough. The GP2X used a Linux-based OS, so GPH was supposed to make the source available. So we asked. GPH is a Korean company, and communication with them has always been sketchy. Craigix was the largest english-speaking (and most community-active) distributer, so he was our go-between when dealing with GPH.

The answer wasn't instantaneous, so there was a couple days worth of grumbling and rumor mongering before the word came down: GPH had every intention of releasing the source code for the OS. They would do so as soon as it was finished. That was the answer.

Maybe something in the GPL rules got lost in translation. Maybe they thought that the rules didn't apply because it was only "beta" software. Maybe they felt people should just be happy they got their GP2X ahead of schedule and wait patiently for the source. Most likely they didn't think about it at all, since Korea was the only market they were actually concerned about, and Korea doesn't have many GPL zealots.

Whatever the reasoning behind it, that answer was NOT acceptable to the GPL devout. Waiting was not an option. They needed that source code now, and nothing was going to stop them. Not reason, not logic, not even basic human decency. The massive flaming diatribes against the horrible software thieves started up almost immediately. Dozens of new members joined the forums to make demands and legal threats, obviously recruited from some GPL forum.

The argument Godwined in record time. Craig and ED were clearly worse than Hitler because they sold a device which sinned unto the holy GPL. The fact that they did not have access to, or control over the source was no excuse. GPH were godless criminals and so was anybody who supported them. Everybody was going to be sued into oblivion.

All this stamping of feet and gnashing of teeth from people who had never heard of the GP2X a week before, had no intention of purchasing one, and wouldn't know what to do with the source if they had it. I have never seen such a disgusting display of rude self-righteousness.

After a couple venomous weeks of threats and name calling, it was all over. GPH released the source code, as they had always intended to. The GPL crusaders rode off to harass some other community, and we got on fine without them. GPH was probably a little less keen to support the English-speaking users (after receiving hundreds of threatening emails in English, who could blame them), but their support was so weak in the first place, it was hard to tell.

So what should have been an exciting product launch ended up as a brutal flame war. Was it because some horrible crime had been committed? Was it over a terrible injustice? Were the demons at GPH really trying to steal the very lifeblood from Linux developers around the world, like IP vampires?

No. It was because some people take things way too seriously. It was because some people don't believe in god, but have a psychological need to worship something, so they worship a licensing agreement. It was because some people are ineffective and impotent in real life, so they compensate by being stupendous assholes on the internet.


If I appear to be less than respectful of the GPL and it's adherents, it is because that disrespect was hard earned.
 
Last edited by a moderator:
Let's not forget how some idiots harassed the initial porter of GPFCE (NES emulator) because he forgot to include the source code in one of his releases. Someone wrote him and called him a thief... I think he left the community because of this.

It's exactly because GPL is not a corporate-backed license but a FSF one that its enforcement should be more humane - by this I do not mean lack of adherence to it, but human understanding and a bit of patience as each individual case dictates.
 
Chip said:
No. It was because some people take things way too seriously. It was because some people don't believe in god, but have a psychological need to worship something, so they worship a licensing agreement. It was because some people are ineffective and impotent in real life, so they compensate by being stupendous assholes on the internet.

If I appear to be less than respectful of the GPL and it's adherents, it is because that disrespect was hard earned.
Haha, I hope you aren't thinking that a belief in God would prevent people from being stupendous assholes on the internet. ;)

But seriously, you're placing the blame in the wrong place.

Provided they don't just use the popular license, developers use the GPL because they want their code to be used only in a system of free software (but compromise and only ask that derived works be free--using the FSF definition of free, btw). It just so happens that these GPL devs have been wronged on a number of occasions (for a sample, try gpl-violations.org), and companies have stolen their work. This can't be emphasized enough--there is a history of these developers being stepped on because their code is available at no monetary cost.

You can't claim those vigilantes are representative of the intent of the GPL. That stupid mob was probably born out of higher profile cases, and now they think they are helping by keeping watch and enforcing the GPL on their own, protecting the poor developers from evil thieves. It's regrettable that the GP2X conflict exploded so quickly, but what else could you expect? They're a stupid mob of vigilantes that don't listen because there are old cases burned into their heads.

But again, note that this has nothing to do with the GPL itself--the GPL is not to be blamed for the mob's problems, and we should be grateful that it's helped create such a popular free operating system. As Svartalf said, we wouldn't have a true Pandora without it.
 
Last edited by a moderator:
proflogic said:
But again, note that this has nothing to do with the GPL itself--the GPL is not to be blamed for the mob's problems, and we should be grateful that it's helped create such a popular free operating system. As Svartalf said, we wouldn't have a true Pandora without it.
Correct. Blame the FSF instead - they are the ones who promote the 'lynch all GPL breakers!!' attitude.
 
Last edited by a moderator:
The way I understand it, the entire source code will be released. The SGX code in the kernel will be completely open-source when built as a module or "compiled in". Therefore you can recompile for different kernel versions, modify the code, etc.

However, that code will depend on a binary file which is loaded into memory and calls made into it at appropriate times. There will never be any disclosed information as to what this file contains or how it works.
 
Svartalf said:
MWeston said:
The hardware specifics and source code behind the GL drivers will never be open source. In fact they are only provided to the development team as binaries compiled into the kernel. This is how they operate with any company as it is critical to protecting their intellectual properties. A complete SDK for OMAP3 will be available and so anyone who has coded for GL before and those new to it will jump into it the same way it has always been done for years.
If they're compiled into the kernel, both you and ImgTec have a serious problem.

What you just described is a full-on violation of the licensing terms of the GPL.

They can't do it, and you can't sell the Pandora, legitimately, in this condition- you'll end up in the same position that Verizon and Actiontec did over Busybox.

As for it being "critical" to protecting their IP... There's a reason AMD's releasing the tech data, etc. It's because it's NOT critical after all. :D

ImgTec code is not GPL'd, Busybox is. What the hell are you talking about? These are two completely different things?

The 3D driver for ES 2.0 isn't ready yet but I am sure it will be exactly like it was for the i.MX31 (which I can draw real life experience on). The driver code is compiled as a module when you build the kernel (ie. part of kernel cofiguration). It's closed source code. It's provided as object data in the kernel source package and you have no right to see it. There's no GPL violation. Why do you think most of these linux packages out there for PMPs, PDAs and phones might build but don't really do anything on the actual hardware? It's because they don't have to give you ALL their code, just the linux stuff covered by GPL.

If you really believe there is a violation then you better start saving your pennies for lawyer fees because the list of licensees is long and made up of multi-billion dollar companies.


EDIT: For more clarity, the SDK that users have access to is open source. It has all the header files and example code that shows you how to access the closed source module.
 
Last edited by a moderator:
Squidge said:
The way I understand it, the entire source code will be released. The SGX code in the kernel will be completely open-source when built as a module or "compiled in". Therefore you can recompile for different kernel versions, modify the code, etc.

However, that code will depend on a binary file which is loaded into memory and calls made into it at appropriate times. There will never be any disclosed information as to what this file contains or how it works.
So that's similar to what nVidia does. I'm fine with that!
Thanks for sharing your insight :)
 
Last edited by a moderator:
It's kind of complex, since we're talking about a GPL kernel. Drivers written for a monolithic kernel are inherently derived works, with a little caveat that lets ATI and nVidia (and others) get their proprietary drivers into the game. Linus puts it this way:
QUOTE
Basically:
- anything that was written with Linux in mind (whether it then _also_ works on other operating systems or not) is clearly partially a derived work.
- anything that has knowledge of and plays with fundamental internal Linux behaviour is clearly a derived work. If you need to muck around with core code, you're derived, no question about it.

So the caveat is... if you've written a library that a GPL'd driver wrapper could hook into, that library could be licensed in some other fashion. The wrapper still has to be GPL, though.

This probably won't prevent some kernel developers from claiming you're violating the GPL. It's been done before.
 
proflogic said:
Provided they don't just use the popular license, developers use the GPL because they want their code to be used only in a system of free software (but compromise and only ask that derived works be free--using the FSF definition of free, btw). It just so happens that these GPL devs have been wronged on a number of occasions (for a sample, try gpl-violations.org), and companies have stolen their work. This can't be emphasized enough--there is a history of these developers being stepped on because their code is available at no monetary cost.
If I released code under the BSD license (and I will with my MMORGPM project) I could care less if I was supposedly "stepped on". Frankly, this is what open-source is all about. This is exactly why most business are leery of the GPL, and open-source in general.

Open-source is this (in my mind): you create code, and contribute it to the world for the further benefit of everyone. And everyone doesn't mean just the open-source developers will also post their code, but the businesses as well. I think the GPL has gone too far: their system has become a paradox of sorts. You either do what they want, or you don't bother. It's a real shame, because I always thought this sort of mentality was what open-source was fighting against. :(
 
Last edited by a moderator:
javaJake said:
Open-source is this (in my mind): you create code, and contribute it to the world for the further benefit of everyone. And everyone doesn't mean just the open-source developers will also post their code, but the businesses as well. I think the GPL has gone too far: their system has become a paradox of sorts. You either do what they want, or you don't bother. It's a real shame, because I always thought this sort of mentality was what open-source was fighting against. :(
Look, you're complaining about the semantics of open source. This is precisely why they call themselves proponents of "free software" instead of "open source software." They wrote their code with the intention of having a completely free system. They're devoting their time to their ideal system instead of money, and if you don't want to be a part of that, you have no right to use their code. It's that simple.

It just happens to be that a lot of people shared this ideal, so they've managed to almost build that system. Businesses have no place making money by subverting their system. In essence, the continuation of their ideals is their pay (paid free software developers aside), and you wouldn't propose businesses taking developers' pay, would you? ;)

I grow tired of the complaints from the BSD-lover camp... If you can't bother to write the code you need for your own work because it's too cumbersome, then think about the amount of labor put into that GPL code that people did write. I know I'm repeating myself here, but really... if they spent all that time for "free software", why should you be able to take that from them?

Their ideal is apparently not yours--they weren't into charity but a completely different software world.
 
Last edited by a moderator:
Squidge said:
The way I understand it, the entire source code will be released. The SGX code in the kernel will be completely open-source when built as a module or "compiled in". Therefore you can recompile for different kernel versions, modify the code, etc.

However, that code will depend on a binary file which is loaded into memory and calls made into it at appropriate times. There will never be any disclosed information as to what this file contains or how it works.
Fair enough. Similar in nature to the situation with NVidia and AMD- but there's still a possible issue there which is why the mainline distros don't ship with the drivers and most of the mainline hardware vendors don't ship with the things installed. It's edging real close to the whole issue I refer to (It's all in whether the driver calling into the kernel edge constitutes "linkage" or not- nobody really wants to be on the wrong end of that stick, so they avoid it...)
 
Last edited by a moderator:
Laurent said:
Squidge said:
The way I understand it ...

So that's similar to what nVidia does. I'm fine with that!
Thanks for sharing your insight :)
Don't forget I could be completely wrong... It's just what I've heard.
 
Last edited by a moderator:
MWeston said:
ImgTec code is not GPL'd, Busybox is. What the hell are you talking about? These are two completely different things?
If ANY of that code from ImgTec is linked directly into the kernel and isn't open source, distributing that Linux kernel is a direct violation of the license terms. ImgTec's code isn't being breached- LINUX is getting that one.

I'll offer you this as a list of comments, etc. from one of the rights holders of importance as an indication of what I'm talking about

If you are unable to comply with the licensing terms for the code for a derivative work of any kind (whether it be a copy or a modified version), you are not licensed for the distribution of the same. Each distribution constitutes an infringement at that point. Why Verizon and Actiontec caved is that they were guilty of willful infringement on the scope and scale of at least a quarter million units or more.

QUOTE

The 3D driver for ES 2.0 isn't ready yet but I am sure it will be exactly like it was for the i.MX31 (which I can draw real life experience on). The driver code is compiled as a module when you build the kernel (ie. part of kernel cofiguration). It's closed source code. It's provided as object data in the kernel source package and you have no right to see it. There's no GPL violation. Why do you think most of these linux packages out there for PMPs, PDAs and phones might build but don't really do anything on the actual hardware? It's because they don't have to give you ALL their code, just the linux stuff covered by GPL.



Then there IS a problem, my friend. That trips right over the Linux license. Linking a binary blob of any kind that is specific to Linux into the kernel as object data IS breaching the kernel license grant. User space stuff isn't covered by that and if that is actually what's going on then it's fine- that's how I suspect MOST of this stuff is getting done in the binary blob space (This is from professional experience with how I've handled client drivers where they wanted to support Linux but didn't want to open up...) But, if it's what you're describing, how you're describing it, that is a serious problem.

QUOTE

If you really believe there is a violation then you better start saving your pennies for lawyer fees because the list of licensees is long and made up of multi-billion dollar companies.



I don't have standing- since the odds of you using the vsbc6 industrial I/O driver or any of the other drivers is nonexistent. However, there ARE others that won't take as kindly to that- especially with your attitude. It's the one that got Actiontec and Verizon in the trouble they were in- those two took up that selfsame position and LOST. I only brought the subject up because I saw a potential real problem and thought it should be brought up. I honestly don't care if the community here or if Gamepark "ran afoul of GPLunatics" as several have pointed out. I'm not one of them.

I'm trying to be you guy's friend here, not the enemy. But, if you don't care...fine.
 
Last edited by a moderator:
Svartalf said:
I'm trying to be you guy's friend here, not the enemy. But, if you don't care...fine.
I've emailed a contact I have access to at Imagination Technologies. Rather than arguing on the internet, I'll try to get something I can quote back. Actually, it might turn out to be a good thing that you bring this up now. I am under the impression that they have done it right as it's how I have seen it done for years, but let's get some more confirmation. I'll post again when I hear back.
 
Last edited by a moderator:
MWeston said:
Svartalf said:
I'm trying to be you guy's friend here, not the enemy. But, if you don't care...fine.
I've emailed a contact I have access to at Imagination Technologies. Rather than arguing on the internet, I'll try to get something I can quote back. Actually, it might turn out to be a good thing that you bring this up now. I am under the impression that they have done it right as it's how I have seen it done for years, but let's get some more confirmation. I'll post again when I hear back.


This DEFINITELY works. :D I'm not trying to cause a fight- I'm trying to kill off objections and problems.

I don't know if you caught that I'm one of LGP's porting developers- it's in my interests to see this
take off bigtime... ;)

I don't want you to run afoul of the same mess that Actiontec brought on themselves- that would be...bad.
 
Last edited by a moderator:
Svartalf, I just read the email from the link you provided. From what I read there, I think we are okay but I also think that you misinterpretted what I wrote.

I didn't mean that the blob is inside the kernel (like kernel_2.6.22.tgz or something). I meant is was more like:
QUOTE

Download these:
kernel_2.6.22.tgz
other_driver.tgz
SGX_driver.tgz

Now uncompress together and use this build script: xxx.sh


You know, like you would find in a big ltib package or something. Then all these code chunks get built together against the kernel being built. Does that sound more reasonable or does not change anything for you?

Actually, for all I know, these other chunks are just getting built in the same script as the kernel but don't actually link to the kernel in any way. That's probably a lot more likely. I just run the script and watch an hours worth of text scroll across the screen until I get the zImage and compiled modules so I will have to wait to hear back from ImgTec on Monday.
 
MWeston said:
You know, like you would find in a big ltib package or something. Then all these code chunks get built together against the kernel being built. Does that sound more reasonable or does not change anything for you?
This sounds suspiciously like the same model that AMD and NVidia are operating under- for them, there's a thin shim that does something like interrupt handling and command dispatch to the GPU hardware. That piece presents a kernel driver that IS open that offers a device edge to hook into from there. While there's some possible issues with a product coming out done that way, it's definitely less certain that it's infringing.

If that's what's going on, I've only the complaint that I've got is that we're beholden to them for fixes, but with NVidia, we're that way and with AMD we're that way until the drivers come to fruition from their tech data dumps that they just did. To be sure, though, there might still be linkage issues if the driver edge isn't done "just right"- so even doing this the way I've described may not get people out of the potential problems.

QUOTE

Actually, for all I know, these other chunks are just getting built in the same script as the kernel but don't actually link to the kernel in any way. That's probably a lot more likely. I just run the script and watch an hours worth of text scroll across the screen until I get the zImage and compiled modules so I will have to wait to hear back from ImgTec on Monday.



/me mutters whether or not he could get access to the stuff you're referring to and the hardware...

Then I'd know for sure. I could tell you with certainty because I've dealt with pretty much everything from the driver/kernel code space all the way to the apps over the years.
 
Last edited by a moderator:
Svartalf said:
This sounds suspiciously like the same model that AMD and NVidia are operating under- for them, there's a thin shim that does something like interrupt handling and command dispatch to the GPU hardware. That piece presents a kernel driver that IS open that offers a device edge to hook into from there. While there's some possible issues with a product coming out done that way, it's definitely less certain that it's infringing.
I thought the folks at GPL (*growl*) covered this already? Kernel is GPL, anything that links into it (however that lingo goes) must maintain the GPL license, and then of course the GPL leaks down the chain into whatever code you decided to link into/against/whatever it.
 
Last edited by a moderator:
Maybe we should just junk Linux and all these possible licensing problems and just use Windows Mobile instead? Sure it costs money for the OS, but time = money, and there will be less time wasted arguing about licensing issues and worrying about whether or not you are going to be sued or not.

Of course, you'll then have the problem that *every* part of the OS will be closed source, but it'll be a lot easier for the developers and a faster TTM.
 
Let me make sure I understand the situation. From what Svartalf is saying, we may be in a position where we have two options:
  1. Artificially cripple the Pandora platform in order to comply with the GPL license
  2. Violate the GPL in order to actually use the hardware we're paying for
I would like to get confirmation that this is the case before I start getting "excited".
 
Back
Top