I *have* read the license, and everything you say is true. But also be aware that CherryOS came out in *OCTOBER* and we did not do anything until *MARCH* when they released the code to the public.
I, and the other developers are keenly aware of the nature of the GPL, and what our rights and obligations are. But fact is, that if Maui X-Stream is claiming that it's not even PearPC code, then they're not going to be respecting the GPL. (If you're complying with the GPL, then why even claim that you wrote it yourself?)
We're upset, because we've recieved a demo copy of the program, and contacted them and told them to comply with the GPL, and their response is: "CherryOS is not a derivative work of PearPC."
They *are* violating the GPL, and if they weren't, and made serious and honest improvments to the code, I would seriously consider purchasing the binaries, and using that code (which is GPL licensed by necessity) to the benefit of PearPC.
But MXS is denying that CherryOS is even based on PearPC, and that it contains absolutely no code from PearPC. This is *wrong*. But to get back on topic, I *do* know what the GPL stiputlates, and what my and their requirements, and allowances, and rights are. This is why we did not do anything while it was a private demo (internal use, and also limited exposure out to some press sources), because we had no right to claim that they were breaking the GPL... just that they were claiming it was not PearPC, when it obviously was. But still, we had no right at that time to do anything.
Re:Legitimate question: what's the opposing argume
on
CherryOS On Hold
·
· Score: 1
Near as I can tell, he just thought he could get away with it.
Us PearPC authors are out of all the changes that they have made to the code, and thus are shorted by the information or possible existance of benefits to our code that they may have made to their code.
By terms of our license, whatever you build upon our code must be released to the public, so that we all may benefit from your better code, and you can't just horde away your own special upgrades, and sell it out.
We *are* deprived of something. It's just not monetary. It's improvements to the code. Which is the only damn thing we were even asking for in the first place, and they didn't want to comply with even that.
I mean, come on, how much of a jerk do you have to be to steal something that's free!?
Why are you modding my parent comment down? I am the AltiVec Developer for PearPC, I am the one collecting the donations, I am the one who's webserver was crushed by the slashdotting.
If you do not believe me, check the address that I put in my comment: krach42@gmail.com
Now, go to the pearpc-devel mailing list (hosted by sourceforge) and look for any emails sent out by krach42@gmail.com
If you keep looking hard enough, you might just see that I am, who I say I am, and not some troll who's trying to get you to donate money to PearPC, when you're actually not.
GOD! Will you Mods put the crack pipe away and actually REFERENCE some information before you act upon it?
Despite the odd italic usage, (I hate HTML for this reason) I get what you're saying.
Well, I wouldn't claim the necessity to comply with GPL on their GUI, when it's not really doing anything that would benifit us. We could easily write a better GUI.
Because my contribution under the GPL says that what I've done is everyones, and that everyone has a right to view, use, and redistribute changes to it. (Free as in Speech)
One could quite possibly have the personal morals that all work should be community property, and thus they would support copyleft, but not closed copyrights.
Don't think someone is a hypocrite just because they support copyright in one situation, but not in another.
I on the other hand, respect copyright, and copyleft, and I feel others should do the same. (My music is downloaded from internet radio, and not stored to my computer. So it's legal:P)
No, only those that link with the software. If it can be demonstrated that their GUI is entirely their code, and is independent from development of PearPC, then that's fine.
But regardless of that, they still need to release the changes that they've made to the PowerPC CHRP emulation, and give proper accrediation of who wrote it (simple enough in including the source code)
The thing is that nVidia can get away with their binary X11 driver, because X11 allows them to use a binary interface, which speaks to their open-source kernel driver, which does hardly anything but provide a callback so that parts of the binary driver can run in kernel mode.
Well, just to get pedantic. It's a PowerPC CHRP emulator. We don't emulate just the PowerPC processor, but rather the whole surrounding platform according to the available specifications online.
This is my analysis of the "speed" claims of MXS. Turns out PearPC AltiVec (once I actually fixed a number of bugs) is almost 15 times faster than CherryOS's.
So, CherryOS can bite their "our code is faster." No, it's not, because it's my code, and a lot of it was turned off.:P
And I'd like to let people be aware, that I wrote the AltiVec code, and Sebastian insisted that I retain copyright of my code. Thus, I have claim against Maui X-Stream, also.
Both me and Sebastian are speaking with lawyers, who specialize in representing open source projects against license infringement. We were recommended to them by the Free Software Foundation.
We will find out what our options are, and then choose a course of action. We *are* looking into what we can do to protect our rights.
/me pulls up his trusty x86 architecture reference
Hm... hm... HMM...... yep... movl doesn't change any flags at all.
There is literally no way to guarantee the output of a set of flags on the x86 architecture. Now, DOS, and the BIOS use numerous calls that do return values in the flags, but those are defined flag values same as a return value. The C library must convert these flag values into value passed through EAX, such that the C programmer can actually deal with them.
So, again. The MOVL instruction involving putting the ptr value into EAX does not affect flags at all. (On the HC11 it does, but the Z80 doesn't. By and in large most architectures do not update flags on a simple move to register instruction)
So, let's look at a malloc() wrapper, that qualifies in all ways the necessary criteria to be a proper malloc, but would kill all flag results.
_malloc: call _the_real_malloc orl %edx, %edx ret
Wow, look at that. It just calls the real malloc, and then kills all the flags. Now, in regards to C/C++, we don't care as flags and condition codes are not visible to the programmer. So, this function has 0 effect on all C code generated complying with standards. Now, let's take a look at the code that YOU'RE saying it should generate.
call _malloc jnz _skip call _barf ret _skip:
This code would *fail*. And because of that, it is an invalid compilation of ptr = malloc() if(!ptr).
Do not assume because I'm belittling you, that I didn't understand what you were trying to say, or imply. I understood exactly what you meant. And you're wrong, and anyone who understands computer architectures can see why. My post is an attempt to enlighten you as to why your code, that you're so confident would work, wouldn't.
Which, would be the chosen code for either if(ptr == NULL) or if(!ptr)
The only way you could entirely eliminate a compare would be on an architecture with auto-flag maintenance with tracking of the values. Thus, your code:
ptr = ptr & 0xffff0000; if (ptr == NULL) {
}
on an x86 processor should result in the assembly:
This being the only situation where a check can be entirely removed. Given the code:
ptr = malloc(sizeof(object)); if (ptr == NULL) {
}
You would require a compare anyways as there is no way to be entirely certain that the flag values contained in the flag register are consistant with the value of ptr. Thus, one would still need to perform a orl %eax, %eax in order to bring the flags into an assured consistence before performing the jnz.
On any architecture with a combined compare and branch, the issue is entirely moot, as if(!ptr) could not be more optimizably rendered as anything but a compare and branch if (not) equal.
Basicly, your arguement that the existance of a conditional jump/branch on zero/not-zero instruction in any architecture having an impact as to the usefullness of if(!ptr) vs. if(ptr == NULL) is ill-founded. There is nothing in the existance of any such instruction (unless copled with a flag status upon arithmetic actions, which are not contained in a non-inlined subroutine) that would provide any benefit to one choice as to another.
People today think too often that compilers and optimizers are stupid, (with some good reason if they're old enough programmers, who were not able to trust their compilers) and it frustrates me. Compilers now-a-days are awesome tools. Trust them, don't try to out-think them most times.
Well, my beliefs are that as a matter of tradition, we have a very christian background, and there are going to be a number of things in our government, which have traditionally mentioned God. That's our TRADITION, and whether you agree with the truth of the Bible, I doubt that there are very many kids that have not heard about Noah's Ark.
What I was really attempting to show with the grammatical breakdown of the wording, was to show that it's pretty much ineffective for deciding what the phrase MEANS. Just what it SAYS.... that and I just wanted to bitch about Nominalized Verbs... heh
I definately agree that breaking people's right to express and excercise their religion in order to protect the right of people to not be influenced by another's religion to be bunk. But then I'm not in the minority as far as my relgion here in the US
Yes, "establishment" is a noun, not a verb, but guess what? It's a nominalization of a verb. "establishment" is inarguablly related to "establish" the verb. And in fact, "Establishment" refers quite specifically to the action performed in the verb "establish."
Now, let's go over nominalization of a verbal phrase. A verbal phrase usually has a subject, and a predicate, the predicate being composed of a verb and some number of objects or prepositional phrases. "of religion" in this case is a prepositional phrase, but there's something interesting about nominalization of a verbal phrase, and that's that neither the subject nor object of said phrase is allowed to remain un-affixed. (More so the subject across languages, but unmarked objects also show the same grammatical change)
Thus let's look at the whole phrase, "Congress shall make no law respecting the establishment of religion, or prohibiting the free exercise thereof..."
Congress (subject) shall make (verb with modal) no law (shall make no law may sound funny now, but predicate negation is quite common in Germanic languages, and was so in English) respecting (adverb, meaning in regards to) the establishment of religion (nominalized verbal phrase of the meaning: establish a religion) or prohibiting (they can't make a law that doesn't allow...) the free excercise thereof (freedom to practice it as one will)
Thus, the phrase could be accurately rendered into modern English with the phrase:
"Congress cannot make a law that would establish a religion, or prohibit the expression of religion."
Some info: http://www.gpoaccess.gov/constitution/html/amdt1.h tml
Madison wanted it to say: the government may not make a state religion, while later revisions brought us to the wavy, and uncertain phrasing we have now.
If you want *real* seperation of church and state, then you need to go to France, where the free but conspicious expression of a student's religous beliefs was banned from school. Because it was deemed that any relgiously affiliated action, or dress at school was a violation of seperation of church and state.
Interesting story. In my short one-month stay in Germany, I watched a lot of TV. One of the shows I liked was a Quiz Show, called, ominously "Das Quiz Show". I like this more than "Wer wird ein Millionaer?" (Who wants to be a Millionaire?) The reason why?
I would have a chance at winning on "Das Quiz Show". The questions were generally quite general knowledge, and nothing too culture specific.
In "Wer wird ein Millionaer?" the first questions up to 1.000 would kill me. I'd have no idea what the answers were, and would never have a chance at ANYTHING. Because so many of these questions are highly specialized into general public culture. Me, having not been a part of this culture for long enough, I have no idea what the correct answer is.
Think about it. First, throw out all your knowledge about our Fairy Tales, then answer the question: "Who was with Hansel in the woods?" You'd not have a clue!
Similarily, in a particular version of an IQ test, it asked, "What is the color of an orange?" Well, down in Florida, and other places where they grow oranges, most people eat GREEN oranges. They've often had to reevaluate intelligence tests, because of this dependence on a cultural baseline.
Where the person says: "You are confused. Fraternal twins always have the same genetic structure."
So, this person (samantha, slashdot id: 68231) wasn't just just *implying* that Fraternal twins have the same genetic structure, she outright DECLARED it.
In the future, please RTFPP (Read the Parent Posts)
I *have* read the license, and everything you say is true. But also be aware that CherryOS came out in *OCTOBER* and we did not do anything until *MARCH* when they released the code to the public.
I, and the other developers are keenly aware of the nature of the GPL, and what our rights and obligations are. But fact is, that if Maui X-Stream is claiming that it's not even PearPC code, then they're not going to be respecting the GPL. (If you're complying with the GPL, then why even claim that you wrote it yourself?)
We're upset, because we've recieved a demo copy of the program, and contacted them and told them to comply with the GPL, and their response is: "CherryOS is not a derivative work of PearPC."
They *are* violating the GPL, and if they weren't, and made serious and honest improvments to the code, I would seriously consider purchasing the binaries, and using that code (which is GPL licensed by necessity) to the benefit of PearPC.
But MXS is denying that CherryOS is even based on PearPC, and that it contains absolutely no code from PearPC. This is *wrong*. But to get back on topic, I *do* know what the GPL stiputlates, and what my and their requirements, and allowances, and rights are. This is why we did not do anything while it was a private demo (internal use, and also limited exposure out to some press sources), because we had no right to claim that they were breaking the GPL... just that they were claiming it was not PearPC, when it obviously was. But still, we had no right at that time to do anything.
Near as I can tell, he just thought he could get away with it.
That or he would be stupid.
Us PearPC authors are out of all the changes that they have made to the code, and thus are shorted by the information or possible existance of benefits to our code that they may have made to their code.
By terms of our license, whatever you build upon our code must be released to the public, so that we all may benefit from your better code, and you can't just horde away your own special upgrades, and sell it out.
We *are* deprived of something. It's just not monetary. It's improvements to the code. Which is the only damn thing we were even asking for in the first place, and they didn't want to comply with even that.
I mean, come on, how much of a jerk do you have to be to steal something that's free!?
Why are you modding my parent comment down? I am the AltiVec Developer for PearPC, I am the one collecting the donations, I am the one who's webserver was crushed by the slashdotting.
If you do not believe me, check the address that I put in my comment: krach42@gmail.com
Now, go to the pearpc-devel mailing list (hosted by sourceforge) and look for any emails sent out by krach42@gmail.com
If you keep looking hard enough, you might just see that I am, who I say I am, and not some troll who's trying to get you to donate money to PearPC, when you're actually not.
GOD! Will you Mods put the crack pipe away and actually REFERENCE some information before you act upon it?
Well, let me try and Karma whore a little. I'm the guy who's webpage you all made cry like a poor old 486.
Since the donation stuff is essentially completely down now, I'll post it here for anyone who wishes to donate.
The email address for the PayPal account is krach42@gmail.com
Just send money to that address, title it something like "PearPC/GPL Defense Fund" and it'll get used for that.
In fact, I don't use my paypal for anything else, so even if you don't title the money like that, it'll still get used for PearPC/GPL defense.
Despite the odd italic usage, (I hate HTML for this reason) I get what you're saying.
Well, I wouldn't claim the necessity to comply with GPL on their GUI, when it's not really doing anything that would benifit us. We could easily write a better GUI.
The issue here is for me protecting the GPL.
I could care less about making money myself.
Yes, we do have other options. Like having Eben Moglen represent us directly.
Because my contribution under the GPL says that what I've done is everyones, and that everyone has a right to view, use, and redistribute changes to it. (Free as in Speech)
:P)
One could quite possibly have the personal morals that all work should be community property, and thus they would support copyleft, but not closed copyrights.
Don't think someone is a hypocrite just because they support copyright in one situation, but not in another.
I on the other hand, respect copyright, and copyleft, and I feel others should do the same. (My music is downloaded from internet radio, and not stored to my computer. So it's legal
My lawsuit isn't intended to make money, it's intended to get them to respect the GPL, and get the GPL verified in courts.
That's what I'm shooting for. Any money made is entirely coincidental.
No, only those that link with the software. If it can be demonstrated that their GUI is entirely their code, and is independent from development of PearPC, then that's fine.
But regardless of that, they still need to release the changes that they've made to the PowerPC CHRP emulation, and give proper accrediation of who wrote it (simple enough in including the source code)
The thing is that nVidia can get away with their binary X11 driver, because X11 allows them to use a binary interface, which speaks to their open-source kernel driver, which does hardly anything but provide a callback so that parts of the binary driver can run in kernel mode.
My email address is krach42@gmail.com
If you send money to my paypal account at that address, it will be taken for the PearPC defense, as I don't use PayPal for anything else.
Well, just to get pedantic. It's a PowerPC CHRP emulator. We don't emulate just the PowerPC processor, but rather the whole surrounding platform according to the available specifications online.
I have spoken with the EFF, and the FSF, and softwarefreedom.org
In fact, the latter is specifically the person that informed me that I will likely need some legal funds.
http://starport.dnsalias.net/index.php?submit=comm ent&parent=356
:P
This is my analysis of the "speed" claims of MXS. Turns out PearPC AltiVec (once I actually fixed a number of bugs) is almost 15 times faster than CherryOS's.
So, CherryOS can bite their "our code is faster." No, it's not, because it's my code, and a lot of it was turned off.
His name is Biallas.
And I'd like to let people be aware, that I wrote the AltiVec code, and Sebastian insisted that I retain copyright of my code. Thus, I have claim against Maui X-Stream, also.
Both me and Sebastian are speaking with lawyers, who specialize in representing open source projects against license infringement. We were recommended to them by the Free Software Foundation.
We will find out what our options are, and then choose a course of action. We *are* looking into what we can do to protect our rights.
We don't need to put an easter-egg for playing annoying sounds, the sound support we have plays not so well anyways. heh.
We don't have to put obscure bugs in the code to make sure it's ours. A simple strings analysis is sufficient.
Actually, PearPC does not hardcode the MAC address, it's a configurable option in the config file.
/me pulls up his trusty x86 architecture reference
Hm... hm... HMM...... yep... movl doesn't change any flags at all.
There is literally no way to guarantee the output of a set of flags on the x86 architecture. Now, DOS, and the BIOS use numerous calls that do return values in the flags, but those are defined flag values same as a return value. The C library must convert these flag values into value passed through EAX, such that the C programmer can actually deal with them.
So, again. The MOVL instruction involving putting the ptr value into EAX does not affect flags at all. (On the HC11 it does, but the Z80 doesn't. By and in large most architectures do not update flags on a simple move to register instruction)
So, let's look at a malloc() wrapper, that qualifies in all ways the necessary criteria to be a proper malloc, but would kill all flag results.
_malloc:
call _the_real_malloc
orl %edx, %edx
ret
Wow, look at that. It just calls the real malloc, and then kills all the flags. Now, in regards to C/C++, we don't care as flags and condition codes are not visible to the programmer. So, this function has 0 effect on all C code generated complying with standards. Now, let's take a look at the code that YOU'RE saying it should generate.
call _malloc
jnz _skip
call _barf
ret
_skip:
This code would *fail*. And because of that, it is an invalid compilation of ptr = malloc() if(!ptr).
Do not assume because I'm belittling you, that I didn't understand what you were trying to say, or imply. I understood exactly what you meant. And you're wrong, and anyone who understands computer architectures can see why. My post is an attempt to enlighten you as to why your code, that you're so confident would work, wouldn't.
You mean basicly, like?
...
bne r0, r3, target
Which, would be the chosen code for either if(ptr == NULL) or if(!ptr)
The only way you could entirely eliminate a compare would be on an architecture with auto-flag maintenance with tracking of the values. Thus, your code:
ptr = ptr & 0xffff0000;
if (ptr == NULL) {
}
on an x86 processor should result in the assembly:
movl %eax, ptr
andl %eax, $0xffff0000;
jnz _skip
_skip:
This being the only situation where a check can be entirely removed. Given the code:
ptr = malloc(sizeof(object));
if (ptr == NULL) {
}
You would require a compare anyways as there is no way to be entirely certain that the flag values contained in the flag register are consistant with the value of ptr. Thus, one would still need to perform a orl %eax, %eax in order to bring the flags into an assured consistence before performing the jnz.
On any architecture with a combined compare and branch, the issue is entirely moot, as if(!ptr) could not be more optimizably rendered as anything but a compare and branch if (not) equal.
Basicly, your arguement that the existance of a conditional jump/branch on zero/not-zero instruction in any architecture having an impact as to the usefullness of if(!ptr) vs. if(ptr == NULL) is ill-founded. There is nothing in the existance of any such instruction (unless copled with a flag status upon arithmetic actions, which are not contained in a non-inlined subroutine) that would provide any benefit to one choice as to another.
People today think too often that compilers and optimizers are stupid, (with some good reason if they're old enough programmers, who were not able to trust their compilers) and it frustrates me. Compilers now-a-days are awesome tools. Trust them, don't try to out-think them most times.
Well, my beliefs are that as a matter of tradition, we have a very christian background, and there are going to be a number of things in our government, which have traditionally mentioned God. That's our TRADITION, and whether you agree with the truth of the Bible, I doubt that there are very many kids that have not heard about Noah's Ark.
... that and I just wanted to bitch about Nominalized Verbs... heh
What I was really attempting to show with the grammatical breakdown of the wording, was to show that it's pretty much ineffective for deciding what the phrase MEANS. Just what it SAYS.
I definately agree that breaking people's right to express and excercise their religion in order to protect the right of people to not be influenced by another's religion to be bunk. But then I'm not in the minority as far as my relgion here in the US
Yes, "establishment" is a noun, not a verb, but guess what? It's a nominalization of a verb. "establishment" is inarguablly related to "establish" the verb. And in fact, "Establishment" refers quite specifically to the action performed in the verb "establish."
h tml
Now, let's go over nominalization of a verbal phrase. A verbal phrase usually has a subject, and a predicate, the predicate being composed of a verb and some number of objects or prepositional phrases. "of religion" in this case is a prepositional phrase, but there's something interesting about nominalization of a verbal phrase, and that's that neither the subject nor object of said phrase is allowed to remain un-affixed. (More so the subject across languages, but unmarked objects also show the same grammatical change)
Thus let's look at the whole phrase, "Congress shall make no law respecting the establishment of religion, or prohibiting the free exercise thereof..."
Congress (subject) shall make (verb with modal) no law (shall make no law may sound funny now, but predicate negation is quite common in Germanic languages, and was so in English) respecting (adverb, meaning in regards to) the establishment of religion (nominalized verbal phrase of the meaning: establish a religion) or prohibiting (they can't make a law that doesn't allow...) the free excercise thereof (freedom to practice it as one will)
Thus, the phrase could be accurately rendered into modern English with the phrase:
"Congress cannot make a law that would establish a religion, or prohibit the expression of religion."
Some info: http://www.gpoaccess.gov/constitution/html/amdt1.
Madison wanted it to say: the government may not make a state religion, while later revisions brought us to the wavy, and uncertain phrasing we have now.
If you want *real* seperation of church and state, then you need to go to France, where the free but conspicious expression of a student's religous beliefs was banned from school. Because it was deemed that any relgiously affiliated action, or dress at school was a violation of seperation of church and state.
Interesting story. In my short one-month stay in Germany, I watched a lot of TV. One of the shows I liked was a Quiz Show, called, ominously "Das Quiz Show". I like this more than "Wer wird ein Millionaer?" (Who wants to be a Millionaire?) The reason why?
I would have a chance at winning on "Das Quiz Show". The questions were generally quite general knowledge, and nothing too culture specific.
In "Wer wird ein Millionaer?" the first questions up to 1.000 would kill me. I'd have no idea what the answers were, and would never have a chance at ANYTHING. Because so many of these questions are highly specialized into general public culture. Me, having not been a part of this culture for long enough, I have no idea what the correct answer is.
Think about it. First, throw out all your knowledge about our Fairy Tales, then answer the question: "Who was with Hansel in the woods?" You'd not have a clue!
Similarily, in a particular version of an IQ test, it asked, "What is the color of an orange?" Well, down in Florida, and other places where they grow oranges, most people eat GREEN oranges. They've often had to reevaluate intelligence tests, because of this dependence on a cultural baseline.
He's refering to http://science.slashdot.org/comments.pl?sid=137422 &cid=11489515
Where the person says: "You are confused. Fraternal twins always have the same genetic structure."
So, this person (samantha, slashdot id: 68231) wasn't just just *implying* that Fraternal twins have the same genetic structure, she outright DECLARED it.
In the future, please RTFPP (Read the Parent Posts)