Open Source Drivers?


josch said:
A blob is a piece of binary file(s) that contains the driver. This piece of software is proprietary - you have no sourcecode to build it your self and to use it with your kernel you have to build it as a kernelmodul with kernel sources. This is illegal - against the terms of the gpl.
For example nvidia is suppling a binary driver that forces the user to do illegal actions to use it. But as graphics drivers are needed nvidia is at least tolerated.
the problems with such blobs are:
* you can not fix simple problems yourself
* you cannot improve it
* you cannot learn from it
* you have to rebuild it everytime you change your kernel
* building them is illegal most of the time (there are proprietary firmware solutions which are also bad but not illegal to use as they do not require to be build with gpl'd sources)
It's not illegal the way NVIDIA does it, and I suspect ImgTec will do the same. The GPL prevents a binary blob from being loaded into the kernel, so NVIDIA provides a GPL chunk (don't know the right word for this) that goes in the kernel, and communicates with the blob which remains in userspace. It still has the problems listed above, of course, but no one is actually violating the GPL.
 
Last edited by a moderator:
Chip said:
OK look, if I didn't do it, somebody else would have :p
Heh... Ya beat me to it, brat! :p

Tom` said:
It's not illegal the way NVIDIA does it, and I suspect ImgTec will do the same. The GPL prevents a binary blob from being loaded into the kernel, so NVIDIA provides a GPL chunk (don't know the right word for this) that goes in the kernel, and communicates with the blob which remains in userspace. It still has the problems listed above, of course, but no one is actually violating the GPL.
Keep in mind that your code in the blob has to solidly not be derived from interfaces present in the Linux kernel for that to work that way.

If your code is a common base platform and there's a shim, like it is with NVidia's driver, it's likely (key word there- nobody's tried to challenge that the only intrinsically Linux pieces are in the shim layer and not deeper in the NVidia driver- if there's ANY truly kernel-centric code in there, it could be found that it's not legit after all...) to be legit.
 
Last edited by a moderator:
We can't use Jazelle until some exceptionally bright person comes by and either reverse-engineers it or gets TI to give us code.
 
josch said:
i dont want to offend anyone - i'm more than glad if the hardware drivers are open apart from powervr. i only want to let you know why i think open drivers are important.
Heh... Some of the people working on stuff for the initial rollout know it's important and the people MAKING it know it's important. I wouldn't have done the drivers I've done in the past if I didn't know how it mattered in the long run.
 
Last edited by a moderator:
atomicthumbs said:
We can't use Jazelle until some exceptionally bright person comes by and either reverse-engineers it or gets TI to give us code.
I wasn under the impression that, regarding Jazelle, it was ARM who were being tight-fisted rather than anyone else. I remember reading in another thread that they are *very* protective of the important parts of Jazelle (even if information is available for some of the more useless bits).

So even if TI wanted to open it, they'd still have to persuade ARM to let them, which has historically been impossible thus far...
 
Last edited by a moderator:
Chip said:
OK look, if I didn't do it, somebody else would have :p
It was a little in the form of bait, so yeah.

atomicthumbs said:
We can't use Jazelle until some exceptionally bright person comes by and either reverse-engineers it or gets TI to give us code.
That much I know. Anything else? I had heard about some efforts in making an open source jvm, but had no luck finding it.
 
Last edited by a moderator:
would i be able to install what ever linux distro i like on pandora ? for example gentoo.

ifso then i would hope that all the drivers needed were in the kernel and would not need to install any other binary blobs. i dont do that now and really dont want to. used to have nvidia, ditched that for an ati radeon, easy kernel compile now.

matt
 
mattmatteh said:
would i be able to install what ever linux distro i like on pandora ? for example gentoo.

ifso then i would hope that all the drivers needed were in the kernel and would not need to install any other binary blobs. i dont do that now and really dont want to. used to have nvidia, ditched that for an ati radeon, easy kernel compile now.

matt
You'd have to get the drivers yourself, but I have a feeling that gentoo ebuilds will start showing up relatively soon after the release...

edit: didn't read carefully, sorry. You will almost certainly have to use a binary blob for the accelerated video driver, same as nvidia. It's not really that onerous, though. Do you just like to compile any driver you need right into the kernel? that would be a gpl violation.

edit again: but as has already been said, there's really no need for something like Gentoo on the Pandora, because only the needed drivers are going to be there anyway. I'ts not like a standard desktop. Not that people won't try it anyway, though, probably.
 
Last edited by a moderator:
mattmatteh said:
would i be able to install what ever linux distro i like on pandora ? for example gentoo.

ifso then i would hope that all the drivers needed were in the kernel and would not need to install any other binary blobs. i dont do that now and really dont want to. used to have nvidia, ditched that for an ati radeon, easy kernel compile now.

matt
fullack
 
Last edited by a moderator:
josch said:
* building them is illegal most of the time (there are proprietary firmware solutions which are also bad but not illegal to use as they do not require to be build with gpl'd sources)
How sad that a license that claims to be free , makes something as trival as using a binary driver illegal ...
 
Last edited by a moderator:
warmi said:
How sad that a license that claims to be free , makes something as trival as using a binary driver illegal ...
You're missing the point of the GPL. The point of the GPL is to preserves freedom for users and developers, and the user's and developer's freedoms are severely limited when using binary drivers, for reasons which have already been pointed out in this thread.
 
Last edited by a moderator:
Tom` said:
warmi said:
How sad that a license that claims to be free , makes something as trival as using a binary driver illegal ...
You're missing the point of the GPL. The point of the GPL is to preserves freedom for users and developers, and the user's and developer's freedoms are severely limited when using binary drivers, for reasons which have already been pointed out in this thread.


I know ... I know .. "you will be free OR ELSE " attitude .

Anyway, there is no point arguing , what's done is done.
 
Last edited by a moderator:
warmi said:
Tom` said:
warmi said:
How sad that a license that claims to be free , makes something as trival as using a binary driver illegal ...
You're missing the point of the GPL. The point of the GPL is to preserves freedom for users and developers, and the user's and developer's freedoms are severely limited when using binary drivers, for reasons which have already been pointed out in this thread.


I know ... I know .. "you will be free OR ELSE " attitude .

Anyway, there is no point arguing , what's done is done.

Uh, isn't that better than proprietary licenses that give you no freedom at all? After all, the proprietary licenses are saying "you cannot change this or redistribute it OR ELSE", is that better? What are you asking for - blobs directly in the kernel? If nothing else, that would make kernel developers' lives a LOT harder.
 
Last edited by a moderator:
Tom` said:
Uh, isn't that better than proprietary licenses that give you no freedom at all? After all, the proprietary licenses are saying "you cannot change this or redistribute it OR ELSE", is that better? What are you asking for - blobs directly in the kernel? If nothing else, that would make kernel developers' lives a LOT harder.
No of course not .... but if we are talking freedom then we should be talking something like BSD perhaps ?
 
Last edited by a moderator:
warmi said:
No of course not .... but if we are talking freedom then we should be talking something like BSD perhaps ?
The biggest problem with BSD would be that if I contribute something, you get to take everything I do and keep it solely for yourself.

Is that at all fair to someone who produced it without compensation? I am being altruistic when I license things under the GPL or LGPL- but I'm not without a price for my efforts. Your price is to abide by the terms of that license. Using the code by and of itself isn't restricted- but distributing copies and derivatives thereof IS. BSD doesn't have this restriction, yes- but in the end, all you're getting is a batch of code everybody and his dog is going to mooch off of. For some things (OGG Vorbis, for a good example...) this makes a bunch of sense. For things like Linux, it does not, nor does it contribute to the pool of innovation or work to have it as BSD (You'll note precisely how prolific BSD is compared to Linux- which is to say, much less... There's a good reason WHY...you might want to contemplate the meaning of "freedom" and why the two are the way they are right now...)

warmi said:
How sad that a license that claims to be free , makes something as trival as using a binary driver illegal ...
It's not the usage of the driver that's "illegal" it's the distribution of the Linux kernel combined with that driver that's illegal because you're in violation of the terms of the License for which you gain the rights to distribute the protected work and it's derivatives.

The big problem is that most everyone just simply don't get licensing, Copyright, or Patents- period. Yourself included.

If it's a non-compliant blob... You can use it to your heart's content without issue. The GPL doesn't even prohibit your use thereof.

Just make sure if you hand the unit to someone else that you delete the blob off the machine as you'll be distributing it (Even if you don't keep the copy of code...) and will be infringing on the Kernel developer's Copyrights.

In the same vein, the Pandora team can't distribute it either if the situation is where it's a non-compliant blob at the kernel level.

All the GPL covers is the rights granted to distribute copies and derivative works from the original protected work. Nothing more.
 
Last edited by a moderator:
Svartalf said:
The biggest problem with BSD would be that if I contribute something, you get to take everything I do and keep it solely for yourself.

Is that at all fair to someone who produced it without compensation? I am being altruistic when I license things under the GPL or LGPL- but I'm not without a price for my efforts.
I agree with all of that but is it not what freedom is about ?

My main problem with GPL is that is not free … not in the conventional sense.
It is not different in that regard than for example stuff you get from Microsoft – it has a different agenda and its license reflects that but this is irrelevant.

In the case of Linux (or Pandora), it would have been so much more convenient for both users and distro maintainers to be able to include a binary driver without introducing some technically irrelevant yet legally necessary kludges to allow for distribution of binary modules.

GPL rigidly attempts to enforce an alternative vision of reality and in the process creates completely unnecessary problems for majority of people who live and operate in the real world.
 
Last edited by a moderator:
Svartalf said:
BSD doesn't have this restriction, yes- but in the end, all you're getting is a batch of code everybody and his dog is going to mooch off of.
Yes, look at OS X.
warmi said:
In the case of Linux (or Pandora), it would have been so much more convenient for both users and distro maintainers to be able to include a binary driver without introducing some technically irrelevant yet legally necessary kludges to allow for distribution of binary modules.
There are no kludges that allow distribution. The nvidia driver is illegal to install by default because it is a derived work. The LGPL wrapper they use is a derived work and by extension so is their driver (that uses the wrapper).
And it's a good thing because it's like OpenBSD's policy, only at a legal level as well.
warmi said:
GPL rigidly attempts to enforce an alternative vision of reality and in the process creates completely unnecessary problems for majority of people who live and operate in the real world.
As long as you can use any way you like and you can fork it, it's all the freedom you practically need. GPL3 is indeed a big pit of religious crap, but GPL2 is a very good compromise between the freedom of different developers.
 
Last edited by a moderator:
offtopic.gif


If you wish to discuss licensing issues, please do it elsewhere.
 
Tobriand said:
I wasn under the impression that, regarding Jazelle, it was ARM who were being tight-fisted rather than anyone else. I remember reading in another thread that they are *very* protective of the important parts of Jazelle (even if information is available for some of the more useless bits).

So even if TI wanted to open it, they'd still have to persuade ARM to let them, which has historically been impossible thus far...
ARM is indeed very secretive about Jazelle.

But anyway do we really care? Cortex-A8 only supports Jazelle RCT as opposed to Jazelle DBX, which means it does not directly execute bytecode, but has support to ease code generation from bytecode. I can't say for sure what is public about Jazelle RCT...

Another point of interest: did anyone wonder why Google did not use Jazelle DBX for the Android JVM? ;)
 
Last edited by a moderator:
I didn't know about the different flavours of Jazelle. If it doesn't directly execute bytecode, I doubt it'll be of much use.

I guess Android doesn't use it (at least now) is because not all devices suppport DBX and since android is a framework, it must work on as many devices as possible.
 
Back
Top