Right, you're invested in the Linux is Free (as in beer) camp. You don't care about the Freedom that we're trying to advance for you. You just want something that's free (as in beer) and efficient.
Surprisingly a number of people feel the same way as you, and I find it an eternal testament to the stupidity of mankind, that most of the people who preach about having a higher intellect than the average human, don't understand the basic ideological notions behind Free and Open Source Software.
The F/OSS group hasn't gotten where it's at now, because they just want something that doesn't cost money.
See, this is why the real F/OSS advocates are ok with people earning money on free and open source software. If they're respecting the Freedom then who cares if they're making money off it. But the second these goals conflict with the people who just want something that doesn't cost money, those people go off and rant about how the people looking for Freedom are zealots.
If wanting to be Free is Zealotry, then I'm a Zealot, because I want Freedom beyond what I would lose monetarily just for taking that position.
It's a slippery slope, I agree. But fundamentally, a driver is like say, an alternator of the car. It's required for the car to run, but it's just a piece of the engine. Giving access to the engine is good, and that's open, but if it's just composed of closed parts, then it's not open is it? To be open, the kernel has to have all parts be open, not just the things that people are willing to open up, and then hobble together closed parts for.
Meanwhile, an application running on Linux is more like the seats. It's not necessary to run, neither is it fundamental to a car. If you want to replace your seats with proprietary closed source seats, then by all means, if it makes you more comfortable.
But if someone wants to contribute anything to engine, then it darn well should be accessible.
Because Linux is about having an Open Operating system, and this isn't possible with closed drivers.
It's like being given the permission to pop the hood, look around, fix your car, but don't open up that alternator, because it's off limits!
It's a slippery slope. At what point can one say that a system isn't open when a part of it isn't open itself.
Allowing binary drivers may hinder the adoption of Linux, but while that's what some Zealots want (Linux everywhere) I strive for a different goal, Freedom Everywhere.
If that means that it effects the adoption of my code, then well... too bad. I'm giving everyone the same Freedom that I have, if they're unwilling to accept it, then I can't force them to.
I'm not a linux kernel developer, but I am an Open Source developer, and have made significant contributions to at least a few projects.
What ideological position is Linux forwarding ?
That binary drivers are bad (see reason #1 why Linus doesn't want an stable binary ABI)
Where do you get the right to dictate to me what operating systems I may or may not use ? Your autocratic language makes Microsoft sound positively benevolent.
I have every right to say that you can't use a particular operating system that I wrote.
I personally don't think that the (in this case exaggerated) statement "give me liberty or give me death" is in any way autocratic. But this is the same way that I feel. If you're going to participate then give me Open Software, or don't give me anything at all.
What gives you the right to impose that restriction on me ?
What right do you have to tell me what I must do with my code to make you feel better?
I wouldn't have any right, but then again at NO TIME have I told you what to do with your code. Why throw up these silly straw men ?I wouldn't have any right, but then again at NO TIME have I told you what to do with your code. Why throw up these silly straw men ?
My question is in response to your original question: "What gives you the right to impose that restriction on me ?" The right given to the Copyright holder to restrict your usage of their work outside of the realm of Fair Use.
You may not think you *told* me what I can do with my code, but this original question implies that that I have no right to restrict your usage of my code. That *is* tellimg be what I can do with my code.
As I posted above, if being free (as in speech) and open provides a chilling effect for a company to contribute, and they don't contribute, then we didn't want them anyways.
The rest of the free world doesn't seem to have a problem using force of economics or force of military to assert the rights of people outside of their nation. Yet the second anyone talks about free and open source people insisting that all software be free that they're labeled nuts.
Well, if I'm a nut for believing that software should be Free, then I'm a nut.
Imagine if the Mozilla plugin API changed with every new version of Firefox. And look at all the complaints when a new Firefox version doesn't work with all the old extentions. It is the exact same.
Imagine if you will a windowing system not unlike X86Free that allows binary drivers, and imagine along with that, a kernel not unlike Linux that makes binary drivers such a PITA, that they're impractical.
Now, imagine a driver not unlike nVidia's graphics driver, that has a closed source driver for the windowing system, because they can, and an open sourced driver for the kernel, because they must.
Do I think that it's the best way to do software to break driver compatibility every version? No, but if ones stance is that an open kernel is better than any closed kernel, then one would have to agree that forcing open source drivers is the only real option.
The Open Source community can't do that. They can just say, "if you don't like the way we play the game, then your rules say you can't play with us."
I'll give you a good analogy that you can use to understand this concept. Linux is like democracy, free and open to anyone to use, but first, you have to accept it. Closed source software and Windows is much like China, where they say "our way, or not at all, and don't listen to those open source people, because they're a bunch of rebel rousers"
Linux and Open Source is giving all the rights to the people, everyone who has a problem with that refuses to play along because they just don't "get it".
It's like people saying that a dictatorship is better because it's more efficient, and it can do things like in Cuba, where no one dies from hurricanes, because the government forces you out of harm, whether you want to go or not.
Telling a facist they can't play because they're not respecting people's freedom isn't wrong, and if it keeps the facists away, then I think the proper response is, "good riddance."
Why would you change the interface 'in order to prevent people from not making their drivers open source'. Um, wouldn't that ALSO force people to fiddle with their drivers everytime someone decides to poke something and ends up breaking everything else?
You answered your question with your second question. Forcing this munging of drivers after a kernel update ensures that no one can write a binary driver, becuase the next version of the kernel may break it. This means you need to have your source on hand, and you'd need to release a new kernel driver everytime a new kernel comes out.
Basically, the idea is to make binary drivers such a PITA that no one does it.
Is it a counter-intuitive idea? Yeah. Doesn't it go against modern programming doctrine? Yeah, but so does the whole monolithic kernel design that Linux uses. Would the world be better if Linux could trust people to make Open Source drivers using a standard binary driver ABI, and not drive people hard like this? Yeah, life would be better.
Life would be better without Software Patents, also, but we don't have a way to fight those.
No, nVidia's driver "cheats" but it's still technically legal. They do everything they are willing to share in their open source kernel driver, and provide an ABI for their X11 driver to hook into certain normally restricted memory accesses.
The binary driver that nVidia is bugged about is their X11 driver, not their kernel driver.
In fact, to the point, their kernel driver has had some bugs fixed by one astute programmer who bothered to look at it. Their X11 driver though is closed source, and thus no one has been able to assist them.
This is also a perfect example. If given the option of open source, vs closed source drivers, a company will pick closed source if they can. (Because nVidia released a binary driver for X11, which supports them, but couldn't for the kernel because of the nature of the Linux kernel.)
*Open* Software, not *Free* Software in this instance, and it's an ideological argument.
What gives you the right to impose that restriction on me ?
Um... I write the code? If you don't like it, then you can go use something with better driver support, like Windows.
If binary drivers were supported and it were up to companies to choose to support them or not, then they wouldn't
Again, this is all an ideological argument. If you don't like the ideological position that Linux is forwarding, then you're free to use only operating systems that do support binary drivers. What right do you have to tell me what I must do with my code to make you feel better?
This is very welcome but unfortunately, I think they'll fail. There is just too much politics surrounding Linux these days.
It is not welcome. Linux is about Open Source, and allowing people to link-in binary closed drivers goes against this.
Too much politics surrounding Linux? Where have you been? It has been the policy of the Linux kernel for a long time that it would never stablize a binary driver interface, in order to prevent people from not making their drivers open source.
The idea behind Linux is that an Operating System should be Open, and Free (as in speech), and that nothing should hinder this. Binary drivers are exactly this sort of hinderance.
You may be upset that you don't have drivers for product XY because that company doesn't want to play along, but if you're trying to change the way the world does software, you can't go "ok, just because we *really* want your drivers, we're going to bend the rules for you."
Not just Heresy, but Linus has said directly that he doesn't want a stable binary kernel driver API percisely so that people *can't* write binary drivers for Linux.
Not to mention that in AltiVec you only have one vxor (vector xor), while in SSE you have three, pxor*, xorps, and xorpd. Note that the second two are floating point, and mixing the integer version with the floating point versions, while producing correct behaviour, may cause slow-downs (because persumably, the SSE cores may be seperated such that there is no allowing for forwarding from the FPU SSE to the integer SSE)
AltiVec emulation in SSE is hard. PearPC has a good implementation, but it's pretty slow, uses lots of memory (as often times an instruction cannot be performed in SSE, and must be dumped to memory to be performed scalarly, before being loaded back into SSE so that it can continue being used as an SSE variable).
Yes, theoretically, it's possible to implement these vec_blah instructions into SSE and x86 equivalent code. This would be a) slower than equivalent x86-centric code, and b) more of a hassle to developers to ensure that the simulation is correct enough.
This article may be too technical for most readers to understand. Please expand it to make it accessible to non-experts, without removing the technical details.
They need to put that on the article: http://en.wikipedia.org/wiki/SU(3)XSU(2)XU(1) I'll be damned if I can understand anything but individual words on that article, and I had just spent hours reading about that stuff.
I think they're mostly going there to see how much there is there, not to start trucking it back.
First you have to know how abundantly you can get a fuel before you start using all of it. It'd be stupid to work on a fusion reactor that burns He-3 when it would just run out of fuel when we stopped being able to get ahold of the stuff...
"Each version of the GPL won't take rights away from the original author (that's pretty much, literally impossible.)"
Please reread. My rights on the original code that I released are always protected, and they're mine, and no one can take those rights away.
I could give a god damn shit about the chilling effect of companies contributing. If they don't believe in free software they can go write their own code. Meanwhile, I'm committed to free software, and I have no problem surrendering that any patents that I might be able to claim upon my software are forfeit.
The GPL already has a chilling effect upon contribution from companies. If they don't want to play along, then fine, that's their rights. But if you're going to use our Free software, then use it right, and they shouldn't be allowed to use Patents against it.
Because as the author you hold all rights to your work. This is why the MySQL people can relicense their code under a non-GPL license to another company.
As the copyright holder you can pick what licenses you want everyone else to use your work with, but none of those licenses can ever take away your fundamental rights as the copyright holder to do whatever you want with that code.
Now remember, some of us have studied IP law (however limited it may have been) and actually understand that the compyright holder cannot be denied any rights by a third party (unless it's the government, and there was due process involved.)
I never really bothered to disambiguate them in my head. I think it's the "r" in both of them. Of course, I don't confuse either with RTH (Roger Hartley, a professor at the uni that I graduated from)
So I think it's just because I've not bothered to taken the time to learn which is which. Of course, I think a good mnemonic would be that ESR is a arrogant prick, and RMS is trying to do some good.
Right, you're invested in the Linux is Free (as in beer) camp. You don't care about the Freedom that we're trying to advance for you. You just want something that's free (as in beer) and efficient.
Surprisingly a number of people feel the same way as you, and I find it an eternal testament to the stupidity of mankind, that most of the people who preach about having a higher intellect than the average human, don't understand the basic ideological notions behind Free and Open Source Software.
The F/OSS group hasn't gotten where it's at now, because they just want something that doesn't cost money.
See, this is why the real F/OSS advocates are ok with people earning money on free and open source software. If they're respecting the Freedom then who cares if they're making money off it. But the second these goals conflict with the people who just want something that doesn't cost money, those people go off and rant about how the people looking for Freedom are zealots.
If wanting to be Free is Zealotry, then I'm a Zealot, because I want Freedom beyond what I would lose monetarily just for taking that position.
It's a slippery slope, I agree. But fundamentally, a driver is like say, an alternator of the car. It's required for the car to run, but it's just a piece of the engine. Giving access to the engine is good, and that's open, but if it's just composed of closed parts, then it's not open is it? To be open, the kernel has to have all parts be open, not just the things that people are willing to open up, and then hobble together closed parts for.
Meanwhile, an application running on Linux is more like the seats. It's not necessary to run, neither is it fundamental to a car. If you want to replace your seats with proprietary closed source seats, then by all means, if it makes you more comfortable.
But if someone wants to contribute anything to engine, then it darn well should be accessible.
Because Linux is about having an Open Operating system, and this isn't possible with closed drivers.
It's like being given the permission to pop the hood, look around, fix your car, but don't open up that alternator, because it's off limits!
It's a slippery slope. At what point can one say that a system isn't open when a part of it isn't open itself.
Allowing binary drivers may hinder the adoption of Linux, but while that's what some Zealots want (Linux everywhere) I strive for a different goal, Freedom Everywhere.
If that means that it effects the adoption of my code, then well... too bad. I'm giving everyone the same Freedom that I have, if they're unwilling to accept it, then I can't force them to.
I'm not a linux kernel developer, but I am an Open Source developer, and have made significant contributions to at least a few projects.
What ideological position is Linux forwarding ?
That binary drivers are bad (see reason #1 why Linus doesn't want an stable binary ABI)
Where do you get the right to dictate to me what operating systems I may or may not use ? Your autocratic language makes Microsoft sound positively benevolent.
I have every right to say that you can't use a particular operating system that I wrote.
I personally don't think that the (in this case exaggerated) statement "give me liberty or give me death" is in any way autocratic. But this is the same way that I feel. If you're going to participate then give me Open Software, or don't give me anything at all.
I wouldn't have any right, but then again at NO TIME have I told you what to do with your code. Why throw up these silly straw men ?I wouldn't have any right, but then again at NO TIME have I told you what to do with your code. Why throw up these silly straw men ?
My question is in response to your original question: "What gives you the right to impose that restriction on me ?" The right given to the Copyright holder to restrict your usage of their work outside of the realm of Fair Use.
You may not think you *told* me what I can do with my code, but this original question implies that that I have no right to restrict your usage of my code. That *is* tellimg be what I can do with my code.
As I posted above, if being free (as in speech) and open provides a chilling effect for a company to contribute, and they don't contribute, then we didn't want them anyways.
The rest of the free world doesn't seem to have a problem using force of economics or force of military to assert the rights of people outside of their nation. Yet the second anyone talks about free and open source people insisting that all software be free that they're labeled nuts.
Well, if I'm a nut for believing that software should be Free, then I'm a nut.
Imagine if the Mozilla plugin API changed with every new version of Firefox. And look at all the complaints when a new Firefox version doesn't work with all the old extentions. It is the exact same.
Imagine if you will a windowing system not unlike X86Free that allows binary drivers, and imagine along with that, a kernel not unlike Linux that makes binary drivers such a PITA, that they're impractical.
Now, imagine a driver not unlike nVidia's graphics driver, that has a closed source driver for the windowing system, because they can, and an open sourced driver for the kernel, because they must.
Do I think that it's the best way to do software to break driver compatibility every version? No, but if ones stance is that an open kernel is better than any closed kernel, then one would have to agree that forcing open source drivers is the only real option.
Your key here, is that you feel that the experience of the user is more important than the rights of the user.
I'm imagining that you'd rather be ruled by a charismatic dictator rather than an unpopular democratically elected leadership.
they're taking their ball and going home.
The Open Source community can't do that. They can just say, "if you don't like the way we play the game, then your rules say you can't play with us."
I'll give you a good analogy that you can use to understand this concept. Linux is like democracy, free and open to anyone to use, but first, you have to accept it. Closed source software and Windows is much like China, where they say "our way, or not at all, and don't listen to those open source people, because they're a bunch of rebel rousers"
Linux and Open Source is giving all the rights to the people, everyone who has a problem with that refuses to play along because they just don't "get it".
It's like people saying that a dictatorship is better because it's more efficient, and it can do things like in Cuba, where no one dies from hurricanes, because the government forces you out of harm, whether you want to go or not.
Telling a facist they can't play because they're not respecting people's freedom isn't wrong, and if it keeps the facists away, then I think the proper response is, "good riddance."
I would like to see it since last time I checked people where already producing closed source drivers.
No, they're not. nVidia's closed source driver is for X11, their kernel driver is open source.
Would it make everyone's life better to have a stable driver ABI for Linux? Yes.
Would it accomplish the ideological goals of Open Source software? No.
Also, your other comment is just crazy.
Fair argument.
Why would you change the interface 'in order to prevent people from not making their drivers open source'. Um, wouldn't that ALSO force people to fiddle with their drivers everytime someone decides to poke something and ends up breaking everything else?
You answered your question with your second question. Forcing this munging of drivers after a kernel update ensures that no one can write a binary driver, becuase the next version of the kernel may break it. This means you need to have your source on hand, and you'd need to release a new kernel driver everytime a new kernel comes out.
Basically, the idea is to make binary drivers such a PITA that no one does it.
Is it a counter-intuitive idea? Yeah. Doesn't it go against modern programming doctrine? Yeah, but so does the whole monolithic kernel design that Linux uses. Would the world be better if Linux could trust people to make Open Source drivers using a standard binary driver ABI, and not drive people hard like this? Yeah, life would be better.
Life would be better without Software Patents, also, but we don't have a way to fight those.
No, nVidia's driver "cheats" but it's still technically legal. They do everything they are willing to share in their open source kernel driver, and provide an ABI for their X11 driver to hook into certain normally restricted memory accesses.
The binary driver that nVidia is bugged about is their X11 driver, not their kernel driver.
In fact, to the point, their kernel driver has had some bugs fixed by one astute programmer who bothered to look at it. Their X11 driver though is closed source, and thus no one has been able to assist them.
This is also a perfect example. If given the option of open source, vs closed source drivers, a company will pick closed source if they can. (Because nVidia released a binary driver for X11, which supports them, but couldn't for the kernel because of the nature of the Linux kernel.)
*Open* Software, not *Free* Software in this instance, and it's an ideological argument.
What gives you the right to impose that restriction on me ?
Um... I write the code? If you don't like it, then you can go use something with better driver support, like Windows.
If binary drivers were supported and it were up to companies to choose to support them or not, then they wouldn't
Again, this is all an ideological argument. If you don't like the ideological position that Linux is forwarding, then you're free to use only operating systems that do support binary drivers. What right do you have to tell me what I must do with my code to make you feel better?
Exactly. Linus himself said that he doesn't want to formalize the driver API because it would lead to binary closed source drivers.
No, the two aren't mutally exclusive, but Linus is trying to use the design of the kernel as a tool towards insuring open source contributions to it.
This is very welcome but unfortunately, I think they'll fail. There is just too much politics surrounding Linux these days.
It is not welcome. Linux is about Open Source, and allowing people to link-in binary closed drivers goes against this.
Too much politics surrounding Linux? Where have you been? It has been the policy of the Linux kernel for a long time that it would never stablize a binary driver interface, in order to prevent people from not making their drivers open source.
The idea behind Linux is that an Operating System should be Open, and Free (as in speech), and that nothing should hinder this. Binary drivers are exactly this sort of hinderance.
You may be upset that you don't have drivers for product XY because that company doesn't want to play along, but if you're trying to change the way the world does software, you can't go "ok, just because we *really* want your drivers, we're going to bend the rules for you."
Not just Heresy, but Linus has said directly that he doesn't want a stable binary kernel driver API percisely so that people *can't* write binary drivers for Linux.
In Programming, and Computers in general, spelling need not always be correct, it need only be consistent.
There are a lot of people who are talk about AltiVec vs SSE, I have the background to back myself up...
vmhraddshs: vector multiply high and round then add with signed half-word saturate
sint32 res = ((sint16 vA_i * sint16 vB_i + 0x4000) >> 15) + sint16 vC_i
vD_i = (res > 0xffff) ? (VSCR |= vsat, 0xffff) : (res > sint16 vB_i)
Ooo, this one is fun: vperm: vector permutate (note this is endian dependant)
For little-endian systems:
map i (0 -> 16): vT_i = (uint8 vC_i & 0x10) ? vB_(uint8 vrC & 0xf) : vA_(uint8 vrC & 0xf);
vD = vT
For big-endian systems:
map i (0 -> 16): vT_i = (uint8 vC_i & 0x10) ? vB_(15 - (uint8 vrC & 0xf)) : vA_(15 -(uint8 vrC & 0xf));
vD = vT
Not to mention that in AltiVec you only have one vxor (vector xor), while in SSE you have three, pxor*, xorps, and xorpd. Note that the second two are floating point, and mixing the integer version with the floating point versions, while producing correct behaviour, may cause slow-downs (because persumably, the SSE cores may be seperated such that there is no allowing for forwarding from the FPU SSE to the integer SSE)
AltiVec emulation in SSE is hard. PearPC has a good implementation, but it's pretty slow, uses lots of memory (as often times an instruction cannot be performed in SSE, and must be dumped to memory to be performed scalarly, before being loaded back into SSE so that it can continue being used as an SSE variable).
Yes, theoretically, it's possible to implement these vec_blah instructions into SSE and x86 equivalent code. This would be a) slower than equivalent x86-centric code, and b) more of a hassle to developers to ensure that the simulation is correct enough.
Well, you could just put it on the far side of the moon, and then it would never rotate into earth view.
Problem solved, let the strip mining begin!
I like the warning at the top of the page:
They need to put that on the article: http://en.wikipedia.org/wiki/SU(3)XSU(2)XU(1) I'll be damned if I can understand anything but individual words on that article, and I had just spent hours reading about that stuff.
I think they're mostly going there to see how much there is there, not to start trucking it back.
First you have to know how abundantly you can get a fuel before you start using all of it. It'd be stupid to work on a fusion reactor that burns He-3 when it would just run out of fuel when we stopped being able to get ahold of the stuff...
you know... like coal, and gasoline.
But since it's a fermion, it can't become a Bose-Einstein Condensate.
:(
Sorry... too much Wikipedia
"Each version of the GPL won't take rights away from the original author (that's pretty much, literally impossible.)"
Please reread. My rights on the original code that I released are always protected, and they're mine, and no one can take those rights away.
I could give a god damn shit about the chilling effect of companies contributing. If they don't believe in free software they can go write their own code. Meanwhile, I'm committed to free software, and I have no problem surrendering that any patents that I might be able to claim upon my software are forfeit.
The GPL already has a chilling effect upon contribution from companies. If they don't want to play along, then fine, that's their rights. But if you're going to use our Free software, then use it right, and they shouldn't be allowed to use Patents against it.
Because as the author you hold all rights to your work. This is why the MySQL people can relicense their code under a non-GPL license to another company.
As the copyright holder you can pick what licenses you want everyone else to use your work with, but none of those licenses can ever take away your fundamental rights as the copyright holder to do whatever you want with that code.
Now remember, some of us have studied IP law (however limited it may have been) and actually understand that the compyright holder cannot be denied any rights by a third party (unless it's the government, and there was due process involved.)
I never really bothered to disambiguate them in my head. I think it's the "r" in both of them. Of course, I don't confuse either with RTH (Roger Hartley, a professor at the uni that I graduated from)
So I think it's just because I've not bothered to taken the time to learn which is which. Of course, I think a good mnemonic would be that ESR is a arrogant prick, and RMS is trying to do some good.
Self Correction, I'm pretty sure it's RMS not ESR.