The second case (bytecode language) is clearcut and is the same as if you released the software in binary format and object code format.
Given that you do not program the program in object code/bytecode it is not the "preferred form of the work for making modifications to it" (see section 3 of the GPL) and thus doesn't qualifie as source code (Next tried to release a modified version of GCC supporting a mix of Objective C and C++ with only the object files available and when the FSF lawyers explained to them why it didn't comply with the GPL they also released the source code).
As for your hypothetical language, let's make the example more concrete and say that you ported the Linux kernel to INTERCAL.
One of the properties of INTERCAL is to be almost completely impossible to understand any complex (and even simple one) pieces of code written in it even WITH the documentation.
If you then went and improved that port *in INTERCAL* and released the INTERCAL* source under the GPL you would comply with it (the catch being that the normal Linux kernel development would leave you in the dust through both the number of people working on it vs the number of peole working on the INTERCAL version AND through the slower pace of development when using INTERCAL).
However, if you modified the source code in C and then used a C->INTERCAL code translator then the C version would be the "preferred form of the work for making modifications to it" and the one that you have to disclose (using the C->INTERCAL translator is similar to using an obfuscator before releasing the code under the GPL which is a no-no for the same reason).
Now you might ask how is the community supposed to know whether you modify it in C or in INTERCAL (imagining that the C->INTERCAL translator produces similar output when given two similar input files).
That is a good question and if I suspected that someone was doing it (which I would if someone claimed to be able to develop as complicated a piece of software as the Linux kernel in INTERCAL**) and refused to release the C source (claiming that it doesn't exist) then I would sue them (assuming I had the money and it was my code of course) and in my complaint I would explain all the reasons why I believe that they are in fact developing in C and propose that an easy test as to whether they develop in INTERCAL or not is to have one of their engineer do some more or less trivial development not known in advance so they can't rehearse and trivial enough to take a few minutes to an hour to do in C so one of my guys or me can concurrently develop it in C to compare while their guy tries to do it in INTERCAL.
If their guy (which should be the best INTERCAL guru they have on staff if they are not stupid) is not able to code these small(ish) features in a reasonable time frame it should be much easier to argue that the super duper features that they developed in their released version could not have been developed in INTERCAL given their manpower resource and the time taken to develop it and should be pretty solid ground to get a search warrant for their computers.
Also, given that I will be suing them for copyright infringement and they will respond "not so, we have the permission of the GPL" and I will respond "no, you don't since you don't respect this part of it" they will have to prove that they respect this part of it (the "preferred form of the work for making modifications to it" part, that is) by proving that they are making modifications to it in INTERCAL which can be done by the test described above.
Of course IANAL... but I guess you get the idea of why trying to do that would be a bad idea (without counting the triple damage award the plaintiff would get because if they jumped through so many hoops to infringe one the plaintiff's copyright and not get caught AND knew they had to release the code it most certainly wasn't accidental infringement).
* Yeah, I know, INTERCAL is a language that LIKES TO SHOUT.
"Likewise, the closely linked Whidbey release of Visual Studio is slipping from 2004 until 2005."
"For developers, the tandem Yukon and Whidbey delays underscore the danger of relying too much on one vendor and may play well in IBM Software's attempts to woo ISVs."
Or Real Life might follow myths, a bit like a self-fulfilling prophecy.
Knowing a legend/myth and finding yourself in a situation close to it might make you tempted to "guide" the events to follow it closer still.
Hell, even I could claim to be the guy in the story with a few modifications.
True story: A few years ago, while still at school, we were assigned to do a small "power 4" game in C.
The guy I was working with was to do the keyboard input/console output and I was to do the AI.
During one of the classes he asked me to look at his code because he was having a bug that he wasn't able to solve in the last few days whereas while the screen with the grid for the game was displaying fine in multiplayer it wasn't displaying at all in single player (or vice-versa, whatever)*.
I tell him to wait until I finish what I am doing and I will then look at his code.
After a while, I go over to his station (where he was still sweating over the problem) and ask him to replicate the problem. By that point I already had a pretty good idea what was causing the problem and it (the idea) was reinforced by actually seeing the effect of the problem (gotta check, if somebody doesn't understand a problem he may leave out critical parts of the description because he didn't think they were part of the problem).
Just to be sure I compared the code for displaying in multiplayer and for displaying in single player**.
I then proceeded to add *two* characters to his program.***
Unbelieving that the problem taht plagued him so much might have such a simple solution he replies "If THAT works I'll cut my balls off".
Off course, after a quick recompile the program was fine****, while my friend wasn't believing his eyes.
What was the problem you say?
When he was displaying the grid he was doing it correctly but the buffer the printf function was using wasn't being emptied to the console in single player while it was in multiplayer; or, more accurately, it was only emptying immediately before asking for new keyboard input so that it appeared and disappeared so fast that it wasn't visible.
Simply adding an additional \n caused the buffer to be emptied to the console and therefore made the grid visible.
It's a true story but it fits almost perfectly to the mold (except that I was a student, not retired and not famous and he didn't ask me to break down his bill):
1 problem seemingly unsolvable by rather bright persons*****. 1 person that didn't work on the problem get asked to have a look at it. 1 trivial fix. 1 high price tag (luckily for my friend I still haven't collected on his debt).
And at the time it happened I didn't know about this story and I didn't even need to "adapt" it to better fit the mold.
I think it was in one of the Dune sequel that Frank Herbert talks about the problem of the "master log" where when a bunch of wooden logs are sent down a river and block it somebody has to find the master log which is that log that, if removed, the other logs will not interlock anymore and the flow will resume. This is a similar problem.
So is it a myth? No, it probably happens more frequently than the story seems to imply.
Are all the well-known versions of that story true? Maybe not, some have probably been modified by the knowledge of earlier, similar stories.
* If you know a bit about C you probably know how it will end by that point and you even might have a similar story qualifying you for the "genius engineer knowing ".
** which also makes this story a good example why having duplicated code doing (almost) the same thing is a bad idea as one might have a bud the other doesn't.
*** Can you guess which ones?
**** Wouldn't be much of a story if it didn't.
***** Oh, yeah, did I forget to mention that the guy wasn't stupid, simply ignorant of this little bit of knowledge about C at that point in his education.
Same with IBM and AIX but somehow it didn't stop SCO claiming that IBM's code couldn't be licensed under the GPL.
As for OpenSSI, is it an integral part of the Linux kernel?
If not then it isn't really native given that it is a third party add on to Linux (or we might have a different idea of what native means in this context).
Same with your Unixware example, if it uses a third party product then it isn't really native.
Now, is there an OS out there that natively* implements SSI? (not a rethorical question, I would be interested to know).
Probably nobody will notice this post but if you want to look for prior art there was a comic book where the villain's goal was to put advertisement on the moon.
He used hypnotised henchmen talking drawkcab (backward, that is) which led to a slight problem
I think he means one time penalty as in it will be a penalty going from XP to Longhorn because we go from native code to interpreted but when going from Longhorn to Blackcomb there won't be a similar penalty because Windows will already be mostly interpreted.
I will have to agree with the above poster that Scheme is probably the best language to learn functional programming.
A good introduction to Scheme is Scheme in fixnum days (google for it) it is quite simple to start with but also involves more esoteric example near the end which, while they are a bit harder to comprehend than most imperative algorithms at first give you a small epiphany when you finally grok them.
Similar thing in another movie, but one of the (three) guys doing that turns around and say to the little old granny they had planted with lingerie "you should be ashamed of yourself" before the other two push him near the exit.
Yes, it's a good thing (but don't say that to Sisko) because obviously Janeway DID know about it, which explains the quality of the Borg Episodes in Voyager.
So you should say Debian is outdated XOR unstable (btw, the unstability refers to package versions, not to code maturity).
As for the question "why Fedora rather than Debian?" it would be because of speed of development.
While Debian has Sid (Debian Unstable) and Sarge (Debian testing, mid-way between unstable and stable) that stay quite up to date it takes a long while between each stable release (which I think is good but not everybody does). Fedora doesn't have as many platforms to support as Debian and therefore less synchronisation problems and it is easier for them to release a major version every 5-6 months.
Both are good distros with their set of advantages/shortcomings and I am quite happy that both exist.
Re:A Day without SCO...
on
SCOoby Snacks
·
· Score: 1
A few months, even when going outside... but then I live in England.
Hmmm, isn't it a mirror universe thing where their double are female instead of male and the male gets pregnant?
It's just a little bit different but if you want the real McCoy of fucking yourself you should read "Time Enough For Love" by Robert A. Heinlein in which you have both a guy fucking twin girls cloned from him (with his X chromosome doubled to replace his Y chromosome) AND a pair of twins that are unrelated genetically and can thus breed with as little danger (statistically speaking) as strangers.
While the book is good (unless you are easily shocked by unconventional sex) it is not filled with humour like Red Dwarf is.
"Their Itanic Linux effort is fine but 100% self serving"
In other words: HP had an Linux on Itanium itch that they scratched
OR: Linus's Linux effort is fine but 100% self serving (circa 1991)
Nothing wrong with being self serving as long as you don't try to screw others/your customers to serve yourself.
The second case (bytecode language) is clearcut and is the same as if you released the software in binary format and object code format.
Given that you do not program the program in object code/bytecode it is not the "preferred form of the work for making modifications to it" (see section 3 of the GPL) and thus doesn't qualifie as source code (Next tried to release a modified version of GCC supporting a mix of Objective C and C++ with only the object files available and when the FSF lawyers explained to them why it didn't comply with the GPL they also released the source code).
As for your hypothetical language, let's make the example more concrete and say that you ported the Linux kernel to INTERCAL.
One of the properties of INTERCAL is to be almost completely impossible to understand any complex (and even simple one) pieces of code written in it even WITH the documentation.
If you then went and improved that port *in INTERCAL* and released the INTERCAL* source under the GPL you would comply with it (the catch being that the normal Linux kernel development would leave you in the dust through both the number of people working on it vs the number of peole working on the INTERCAL version AND through the slower pace of development when using INTERCAL).
However, if you modified the source code in C and then used a C->INTERCAL code translator then the C version would be the "preferred form of the work for making modifications to it" and the one that you have to disclose (using the C->INTERCAL translator is similar to using an obfuscator before releasing the code under the GPL which is a no-no for the same reason).
Now you might ask how is the community supposed to know whether you modify it in C or in INTERCAL (imagining that the C->INTERCAL translator produces similar output when given two similar input files).
That is a good question and if I suspected that someone was doing it (which I would if someone claimed to be able to develop as complicated a piece of software as the Linux kernel in INTERCAL**) and refused to release the C source (claiming that it doesn't exist) then I would sue them (assuming I had the money and it was my code of course) and in my complaint I would explain all the reasons why I believe that they are in fact developing in C and propose that an easy test as to whether they develop in INTERCAL or not is to have one of their engineer do some more or less trivial development not known in advance so they can't rehearse and trivial enough to take a few minutes to an hour to do in C so one of my guys or me can concurrently develop it in C to compare while their guy tries to do it in INTERCAL.
If their guy (which should be the best INTERCAL guru they have on staff if they are not stupid) is not able to code these small(ish) features in a reasonable time frame it should be much easier to argue that the super duper features that they developed in their released version could not have been developed in INTERCAL given their manpower resource and the time taken to develop it and should be pretty solid ground to get a search warrant for their computers.
Also, given that I will be suing them for copyright infringement and they will respond "not so, we have the permission of the GPL" and I will respond "no, you don't since you don't respect this part of it" they will have to prove that they respect this part of it (the "preferred form of the work for making modifications to it" part, that is) by proving that they are making modifications to it in INTERCAL which can be done by the test described above.
Of course IANAL... but I guess you get the idea of why trying to do that would be a bad idea (without counting the triple damage award the plaintiff would get because if they jumped through so many hoops to infringe one the plaintiff's copyright and not get caught AND knew they had to release the code it most certainly wasn't accidental infringement).
* Yeah, I know, INTERCAL is a language that LIKES TO SHOUT.
** N
If you had properly RTFA you would have seen:
"Likewise, the closely linked Whidbey release of Visual Studio is slipping from 2004 until 2005."
"For developers, the tandem Yukon and Whidbey delays underscore the danger of relying too much on one vendor and may play well in IBM Software's attempts to woo ISVs."
Or Real Life might follow myths, a bit like a self-fulfilling prophecy.
Knowing a legend/myth and finding yourself in a situation close to it might make you tempted to "guide" the events to follow it closer still.
Hell, even I could claim to be the guy in the story with a few modifications.
True story:
A few years ago, while still at school, we were assigned to do a small "power 4" game in C.
The guy I was working with was to do the keyboard input/console output and I was to do the AI.
During one of the classes he asked me to look at his code because he was having a bug that he wasn't able to solve in the last few days whereas while the screen with the grid for the game was displaying fine in multiplayer it wasn't displaying at all in single player (or vice-versa, whatever)*.
I tell him to wait until I finish what I am doing and I will then look at his code.
After a while, I go over to his station (where he was still sweating over the problem) and ask him to replicate the problem. By that point I already had a pretty good idea what was causing the problem and it (the idea) was reinforced by actually seeing the effect of the problem (gotta check, if somebody doesn't understand a problem he may leave out critical parts of the description because he didn't think they were part of the problem).
Just to be sure I compared the code for displaying in multiplayer and for displaying in single player**.
I then proceeded to add *two* characters to his program.***
Unbelieving that the problem taht plagued him so much might have such a simple solution he replies "If THAT works I'll cut my balls off".
Off course, after a quick recompile the program was fine****, while my friend wasn't believing his eyes.
What was the problem you say?
When he was displaying the grid he was doing it correctly but the buffer the printf function was using wasn't being emptied to the console in single player while it was in multiplayer; or, more accurately, it was only emptying immediately before asking for new keyboard input so that it appeared and disappeared so fast that it wasn't visible.
Simply adding an additional \n caused the buffer to be emptied to the console and therefore made the grid visible.
It's a true story but it fits almost perfectly to the mold (except that I was a student, not retired and not famous and he didn't ask me to break down his bill):
1 problem seemingly unsolvable by rather bright persons*****.
1 person that didn't work on the problem get asked to have a look at it.
1 trivial fix.
1 high price tag (luckily for my friend I still haven't collected on his debt).
And at the time it happened I didn't know about this story and I didn't even need to "adapt" it to better fit the mold.
I think it was in one of the Dune sequel that Frank Herbert talks about the problem of the "master log" where when a bunch of wooden logs are sent down a river and block it somebody has to find the master log which is that log that, if removed, the other logs will not interlock anymore and the flow will resume. This is a similar problem.
So is it a myth? No, it probably happens more frequently than the story seems to imply.
Are all the well-known versions of that story true? Maybe not, some have probably been modified by the knowledge of earlier, similar stories.
* If you know a bit about C you probably know how it will end by that point and you even might have a similar story qualifying you for the "genius engineer knowing ".
** which also makes this story a good example why having duplicated code doing (almost) the same thing is a bad idea as one might have a bud the other doesn't.
*** Can you guess which ones?
**** Wouldn't be much of a story if it didn't.
***** Oh, yeah, did I forget to mention that the guy wasn't stupid, simply ignorant of this little bit of knowledge about C at that point in his education.
Same with IBM and AIX but somehow it didn't stop SCO claiming that IBM's code couldn't be licensed under the GPL.
As for OpenSSI, is it an integral part of the Linux kernel?
If not then it isn't really native given that it is a third party add on to Linux (or we might have a different idea of what native means in this context).
Same with your Unixware example, if it uses a third party product then it isn't really native.
Now, is there an OS out there that natively* implements SSI? (not a rethorical question, I would be interested to know).
*IOW: without third party modifications.
Probably nobody will notice this post but if you want to look for prior art there was a comic book where the villain's goal was to put advertisement on the moon.
He used hypnotised henchmen talking drawkcab (backward, that is) which led to a slight problem
.
I think he means one time penalty as in it will be a penalty going from XP to Longhorn because we go from native code to interpreted but when going from Longhorn to Blackcomb there won't be a similar penalty because Windows will already be mostly interpreted.
"Peter, you're Lucas' successor, not Lucas himself".
I will have to agree with the above poster that Scheme is probably the best language to learn functional programming.
A good introduction to Scheme is Scheme in fixnum days (google for it) it is quite simple to start with but also involves more esoteric example near the end which, while they are a bit harder to comprehend than most imperative algorithms at first give you a small epiphany when you finally grok them.
>>"I'm learning lisp at the univeristy right now, it's really another world, upside down and inside out, for me who's used to c/c++ =)"
>" what are you wearing right now?"
He is wearing things inside out with his underwear over his pants, that's because Lisp (Scheme included) programmers are Superheroes
Similar thing in another movie, but one of the (three) guys doing that turns around and say to the little old granny they had planted with lingerie "you should be ashamed of yourself" before the other two push him near the exit.
"donates enormous amounts of cash to educational facilities (in case you were going to try and suggest that his conscience isn't clear)"
What does it have to do with his conscience?
You don't need to have a good conscience to give to charities, in fact, giving to charity could be a way to clear your conscience.
(all this doesn't mean that he doesn't have a clear conscience either, ofc course).
Sooo, THAT's the site the UK Police want to ban.
Yes, it's a good thing (but don't say that to Sisko) because obviously Janeway DID know about it, which explains the quality of the Borg Episodes in Voyager.
For example: 'sic transit gloria mundi' Thus goes* the glory of the world.
*passes away
1GB per Google Mail user: Yeah, right.
Sure, it's possible that Google will give up to 1GB per user = 1TB per 1000 users = 1PetaByte per million of user, but it does seem VERY unlikely.
Not that I wouldn't like seeing that if you are right.
Does it mean that Bush will declare war on Poland?
I guess it was Klingon code:
It wasn't released, it escaped leaving a trail of bloody developers.
So you should say Debian is outdated XOR unstable (btw, the unstability refers to package versions, not to code maturity).
As for the question "why Fedora rather than Debian?" it would be because of speed of development.
While Debian has Sid (Debian Unstable) and Sarge (Debian testing, mid-way between unstable and stable) that stay quite up to date it takes a long while between each stable release (which I think is good but not everybody does). Fedora doesn't have as many platforms to support as Debian and therefore less synchronisation problems and it is easier for them to release a major version every 5-6 months.
Both are good distros with their set of advantages/shortcomings and I am quite happy that both exist.
A few months, even when going outside... but then I live in England.
It's funny because it's true.
Dude, they say:
"60 per cent of the animals' _non-pig_ cells were hybrids"
They don't say how much pig cells there is but it could well be 90% pig cells, 6% hybrids and 4% humans.
Where does your "60% human" comes from?
Hmmm, isn't it a mirror universe thing where their double are female instead of male and the male gets pregnant?
It's just a little bit different but if you want the real McCoy of fucking yourself you should read "Time Enough For Love" by Robert A. Heinlein in which you have both a guy fucking twin girls cloned from him (with his X chromosome doubled to replace his Y chromosome) AND a pair of twins that are unrelated genetically and can thus breed with as little danger (statistically speaking) as strangers.
While the book is good (unless you are easily shocked by unconventional sex) it is not filled with humour like Red Dwarf is.
Except that the lottery only costs a few dollars, suing somebody for patent infringement is much more expensive.
The view is even better if you run in front of them... backwards.
She might suspect something though.