If you install Java for (GNU/)Linux from Sun's shell script, I believe you must tell the script that you agree to the license agreement. I think Kylix may do this too, but my memory's less reliable than a certain crash-prone OS that will remain nameless.
So there's a precendent console-based clickwrap licenses, at least in large, commercial programs.
tps12 posted: We've discovered that the accused is guilty 99% of the time, and that the other 1% they are only not guilty thanks to some minor technicality.
Sure, statistically speaking, the accused is more often guilty than innocent. That does not mean that you can treat people as such. The moment a person's innocence is not presumed, you open yourself up to being taken from your home in the middle of the night and thrown in a jail cell for who knows how long. Assuming people guilty until proven innocent is NOT something you can do in a free society.
Of course, I understand that the current exception to the rule is that if you're accused of being a terrorist, you can be held for months without trial. That's scary. It makes me glad that I don't live in the U.S.
Isn't this limited to the U.S.? Debian distributes cryptographic software from non-US servers. And OpenBSD is based here in Canada, where we don't have export restrictions on strong cryptography, so crypto is integrated into their OS.
Surely no one is trying to stop this practice? This would raise serious issues of international law. (I'm reminded of the Italian police shutting down a "blasphemous" site on a U.S. server, administered by an Italian in Italy.)
Don't EULA's also have a "to the extent permitted by applicable law"? I doubt that all govenments would consider a clause that forbids publishing a contract legal. (Sort of like New York taking McAffee to court for the "you can't criticize our product" clause.)
Find a country/state/whatever in which such a clause is not legal, put your server there, and presto, no legal troubles. Correct?
Perhaps it would be better to say, "If there were a system for online borrowing similar to the system in place for public libraries, John Q. Public and the goverment would be friendlier to the idea. Industry would then consider blantant attacks on these sites bad publicity." (?)
So if the site is lending ROM images that come from legally-purchased cartridges, we should have a similar situation here, where programmers/game companies benefit.
After all, if you like one game in a series, you'll tend to want more. Isn't that the idea Id had, when they released the first episodes of Doom and the original Wolfenstein as shareware? Boxed copies of Id games are big sellers, in part thanks to this practice.
The thing with public libraries is that they are public in the sense that they are run by governments. People's tax money funds them, and a slice of this money goes to the authors of the books borrowed.
In Canada, for instance, we have an institution called CanCopy. The number of times a given book is borrowed is tracked, and the author gets a slice of the pie based on this.
Music can also be borrowed from libraries, so there is a real precedent for online music-sharing.
I suspect that industry would be more receptive to these online libraries if goverments extended such programs into this area.
You can't have an algorithm that cannot be broken by brute force. Here's the proof:
let S = the set of all possible keys for each key k in S
try k
if (k works)
stop
What we have is algorithms that are *hard* to break by brute force. We make them hard by making S as big as possible. And each time you add another bit to your key, the size of S doubles. Hence cracking is an exponential operation.
Crypto has always been a battle of resources between encoder and cracker. RSA works specifically because, as another post pointed out, factoring an n-bit number is an O(2^n) operation (hence factoring polynomials back in high school is a royal pain). This gives the edge to the encoder, because by increasing his resource usage in a linear fashion, (s)he forces the adversary to pay an exponential increase in resources.
That's why people introduce tricks like this NFS sieve -- the adversary must find a way to cheat.
Of course, since computing power tends to increase exponentially with time, we keep needing bigger keys. And if quantum computing is developed, it'll be a whole new ball game (since the adversary will have an exponential amount of resources).
I disagree. If someone is concerned about their project being cloned, I think junior open source programmers are the least of their worries.
Proprietary software products are often cloned by other proprietary vendors. After Doom was successful, many similar games, such as Rise of the Triad, came out from other software shops - and this was before Id open-sourced Doom. To take another example, the Windows 9x interface was largely a more Macintosh-like replacement for the interface from Windows 3.x; GNOME and KDE also use a similar interface (and I believe this chain goes all the way back to Xerox, who did a lot of research into modern GUIs). Seeing how a product works, from a user's perspective, often gives a good developer enough information as to how to create a clean-room implementation.
Furthermore, cloning a project on which you have worked is a legally risky venture, since you're (ex-)employer can point out that you have insider information as to how the product works. When people were cloning IBM's design of the PC back in the 80s, they made sure that the engineers re-implementing it had no prior exposure to the design.
As for a more modern example, consider the Mono project . These guys are re-implementing Microsoft's.NET development infrastucuture, and they're not the guys who worked on.NET for MS. Furthermore, I believe they avoided looking at MS's Shared Source implementation for BSD, specifically because Mono is to be a complete clean-room implementation.
I do not believe open source programmers are the risk you make them out to be.
After I got my copy of K&R, I was just amazed at how quickly it helped me figure out the more esoteric aspects of the C language.
I'm a comp sci student at present, and I think schools would be doing their students a favour if they made K&R a required text for some course, just to make sure everyone buys a copy. In terms of learning, this book is the equal of many courses.
A good follow-up, IMHO, is Stroustrup's "The C++ Programming Language." I wouldn't rate this text as being as strong as K&R (in large part because it is MUCH more wordy), but it is, I believe, the "definitive" guide to C++. It covers topics like classes, templates, and the STL in a very informative manner.
As for Java, I believe that Sun's "The Java Tutorial" is very good. It's available at http://java.sun.com/docs/books/tutorial/, and can be ordered in hard-copy. It's also available for download in HTMLHelp format at http://www.confluent.fr/javadoc/indexe.html.
If you can't tell the difference between Constitutional rights, and moral high-ground "rights", that's no concern of mine.
Furthermore, since I'm not an American, I don't need to know jack about your Constitution. I do understand, however, that it's honoured beside another American document that makes blatant racial slurs against natives (ie., the Declaration of Independence).
"There's a lot more than I/O and memory management to make up an operating system."
According to Microsoft, for example, an operating system must include an integrated web browser.:P
Since when does Slashdot, the mecca of GNU/Linux, BSD, OSS/free software, etc., need to tell people about the hardware they'll need to run the next version of Windows?
Or, since he probably wants to keep his Linux system, he can slap OpenBSD on an old 486 and use that as a firewall. That's the direction I'd be looking in.
If I can comment on two points I'm seeing people make....
1. "He should switch to MacOSX"
This guy already owns a PC... and from the screenshots his article links to, it looks like a very nice PC that he's put a fair bit of time and/or money into. (Love that case, and the switches on front!)
Since I assume he wants to keep using his box, this is a good reason for him not to want to buy a Mac, even if its hardware does give better performance than a PC (as some comments have said).
2. "He'd be okay if he didn't always run to the lasted Debian/RedHat/Mandrake release"
New *NIX software, in my experience, is usually targetted to the leading(bleading?)-edge new releases. Since OSS is still catching up to established Windows software (by leaps and bounds, I might add!), having the newest versions of the software can give a real boost in productivity to someone using *NIX as a desktop. Hence, you need the new releases (especially if you want to run your box like Joe Blow, and never compile anything from source!).
I'd also like to add a point of my own. I've spent a year using (GNU/)Linux, mostly sticking in KDE, with Mandrake and Red Hat automatically detecting and configuring everything, etc. Getting caught up in trying to set up a nice *NIX desktop takes away time that could be spent learning to be a better hacker.
He also makes another point I've noticed myself: most of the really good open-source desktop software is available for Windows (Mozilla, OpenOffice, GIMP, Dia, for example). So it's entirely feasible to use the OSS you like on a Windows box, while maintaing a *NIX box for servers/programming/learning hacking.
Wholehearted agreement... Windows now seems to have this whole "give the user a pretty interface with a jumble of wires underneath" philosophy. DOS at least made sense.
All XP gives a user is compatibility with other users. Since I started using Linux, I much prefer it.
For anyone who hasn't been introduced to the miracle of Linux, please visit this zxylition introduction to Linux .
If you install Java for (GNU/)Linux from Sun's shell script, I believe you must tell the script that you agree to the license agreement. I think Kylix may do this too, but my memory's less reliable than a certain crash-prone OS that will remain nameless.
So there's a precendent console-based clickwrap licenses, at least in large, commercial programs.
They're not even American citizens so who cares what happens to them?
I care. I care because I'm a Canadian, because I'm a Christian, and because I'm a human being. Killing your enemies is wrong.
tps12 posted: We've discovered that the accused is guilty 99% of the time, and that the other 1% they are only not guilty thanks to some minor technicality.
Sure, statistically speaking, the accused is more often guilty than innocent. That does not mean that you can treat people as such. The moment a person's innocence is not presumed, you open yourself up to being taken from your home in the middle of the night and thrown in a jail cell for who knows how long. Assuming people guilty until proven innocent is NOT something you can do in a free society.
Of course, I understand that the current exception to the rule is that if you're accused of being a terrorist, you can be held for months without trial. That's scary. It makes me glad that I don't live in the U.S.
Dear sir:
We must inform you that this is copyrighted material. Under the terms of the Digital Millenium Copyright Act (DCMA), we must ask that you .....
Isn't this limited to the U.S.? Debian distributes cryptographic software from non-US servers. And OpenBSD is based here in Canada, where we don't have export restrictions on strong cryptography, so crypto is integrated into their OS.
Surely no one is trying to stop this practice? This would raise serious issues of international law. (I'm reminded of the Italian police shutting down a "blasphemous" site on a U.S. server, administered by an Italian in Italy.)
Don't EULA's also have a "to the extent permitted by applicable law"? I doubt that all govenments would consider a clause that forbids publishing a contract legal. (Sort of like New York taking McAffee to court for the "you can't criticize our product" clause.)
Find a country/state/whatever in which such a clause is not legal, put your server there, and presto, no legal troubles. Correct?
Horny young teenagers, so Hollywood teaches us, do perverted things to American Pie. This is Canadian pie. ;-)
Okay, I stand corrected.
Perhaps it would be better to say, "If there were a system for online borrowing similar to the system in place for public libraries, John Q. Public and the goverment would be friendlier to the idea. Industry would then consider blantant attacks on these sites bad publicity." (?)
So if the site is lending ROM images that come from legally-purchased cartridges, we should have a similar situation here, where programmers/game companies benefit.
After all, if you like one game in a series, you'll tend to want more. Isn't that the idea Id had, when they released the first episodes of Doom and the original Wolfenstein as shareware? Boxed copies of Id games are big sellers, in part thanks to this practice.
The thing with public libraries is that they are public in the sense that they are run by governments. People's tax money funds them, and a slice of this money goes to the authors of the books borrowed.
In Canada, for instance, we have an institution called CanCopy. The number of times a given book is borrowed is tracked, and the author gets a slice of the pie based on this.
Music can also be borrowed from libraries, so there is a real precedent for online music-sharing.
I suspect that industry would be more receptive to these online libraries if goverments extended such programs into this area.
You can't have an algorithm that cannot be broken by brute force. Here's the proof:
let S = the set of all possible keys
for each key k in S
try k
if (k works)
stop
What we have is algorithms that are *hard* to break by brute force. We make them hard by making S as big as possible. And each time you add another bit to your key, the size of S doubles. Hence cracking is an exponential operation.
The key phrase is if you had enough resources.
Crypto has always been a battle of resources between encoder and cracker. RSA works specifically because, as another post pointed out, factoring an n-bit number is an O(2^n) operation (hence factoring polynomials back in high school is a royal pain). This gives the edge to the encoder, because by increasing his resource usage in a linear fashion, (s)he forces the adversary to pay an exponential increase in resources.
That's why people introduce tricks like this NFS sieve -- the adversary must find a way to cheat.
Of course, since computing power tends to increase exponentially with time, we keep needing bigger keys. And if quantum computing is developed, it'll be a whole new ball game (since the adversary will have an exponential amount of resources).
What don't I believe? Sheesh, well, for starters, I don't beleive that:
I disagree. If someone is concerned about their project being cloned, I think junior open source programmers are the least of their worries.
Proprietary software products are often cloned by other proprietary vendors. After Doom was successful, many similar games, such as Rise of the Triad, came out from other software shops - and this was before Id open-sourced Doom. To take another example, the Windows 9x interface was largely a more Macintosh-like replacement for the interface from Windows 3.x; GNOME and KDE also use a similar interface (and I believe this chain goes all the way back to Xerox, who did a lot of research into modern GUIs). Seeing how a product works, from a user's perspective, often gives a good developer enough information as to how to create a clean-room implementation.
Furthermore, cloning a project on which you have worked is a legally risky venture, since you're (ex-)employer can point out that you have insider information as to how the product works. When people were cloning IBM's design of the PC back in the 80s, they made sure that the engineers re-implementing it had no prior exposure to the design.
As for a more modern example, consider the Mono project . These guys are re-implementing Microsoft's .NET development infrastucuture, and they're not the guys who worked on .NET for MS. Furthermore, I believe they avoided looking at MS's Shared Source implementation for BSD, specifically because Mono is to be a complete clean-room implementation.
I do not believe open source programmers are the risk you make them out to be.
I agree completely!
After I got my copy of K&R, I was just amazed at how quickly it helped me figure out the more esoteric aspects of the C language.
I'm a comp sci student at present, and I think schools would be doing their students a favour if they made K&R a required text for some course, just to make sure everyone buys a copy. In terms of learning, this book is the equal of many courses.
A good follow-up, IMHO, is Stroustrup's "The C++ Programming Language." I wouldn't rate this text as being as strong as K&R (in large part because it is MUCH more wordy), but it is, I believe, the "definitive" guide to C++. It covers topics like classes, templates, and the STL in a very informative manner. As for Java, I believe that Sun's "The Java Tutorial" is very good. It's available at http://java.sun.com/docs/books/tutorial/, and can be ordered in hard-copy. It's also available for download in HTMLHelp format at http://www.confluent.fr/javadoc/indexe.html.
If you can't tell the difference between Constitutional rights, and moral high-ground "rights", that's no concern of mine.
Furthermore, since I'm not an American, I don't need to know jack about your Constitution. I do understand, however, that it's honoured beside another American document that makes blatant racial slurs against natives (ie., the Declaration of Independence).
If you're not willing to make a public demonstration of violating the DCMA yourself, you have NO RIGHT to call the guy names.
And cute little puppies that help you search for your files....
Of course, MS's Fressner would point out all the extra costs that cute little puppy brings!
"There's a lot more than I/O and memory management to make up an operating system." According to Microsoft, for example, an operating system must include an integrated web browser. :P
This was _supposed_ to be a frickin' joke! Looks like I've gotta work on my delivery!
Since when does Slashdot, the mecca of GNU/Linux, BSD, OSS/free software, etc., need to tell people about the hardware they'll need to run the next version of Windows?
Or, since he probably wants to keep his Linux system, he can slap OpenBSD on an old 486 and use that as a firewall. That's the direction I'd be looking in.
If I can comment on two points I'm seeing people make....
1. "He should switch to MacOSX"
This guy already owns a PC... and from the screenshots his article links to, it looks like a very nice PC that he's put a fair bit of time and/or money into. (Love that case, and the switches on front!)
Since I assume he wants to keep using his box, this is a good reason for him not to want to buy a Mac, even if its hardware does give better performance than a PC (as some comments have said).
2. "He'd be okay if he didn't always run to the lasted Debian/RedHat/Mandrake release"
New *NIX software, in my experience, is usually targetted to the leading(bleading?)-edge new releases. Since OSS is still catching up to established Windows software (by leaps and bounds, I might add!), having the newest versions of the software can give a real boost in productivity to someone using *NIX as a desktop. Hence, you need the new releases (especially if you want to run your box like Joe Blow, and never compile anything from source!).
I'd also like to add a point of my own. I've spent a year using (GNU/)Linux, mostly sticking in KDE, with Mandrake and Red Hat automatically detecting and configuring everything, etc. Getting caught up in trying to set up a nice *NIX desktop takes away time that could be spent learning to be a better hacker.
He also makes another point I've noticed myself: most of the really good open-source desktop software is available for Windows (Mozilla, OpenOffice, GIMP, Dia, for example). So it's entirely feasible to use the OSS you like on a Windows box, while maintaing a *NIX box for servers/programming/learning hacking.
Wholehearted agreement... Windows now seems to have this whole "give the user a pretty interface with a jumble of wires underneath" philosophy. DOS at least made sense. All XP gives a user is compatibility with other users. Since I started using Linux, I much prefer it. For anyone who hasn't been introduced to the miracle of Linux, please visit this zxylition introduction to Linux .