An inventor has exactly ONE right in respect of their invention; and that is the right to have their name associated with their invention, for as long as anyone gives a damn. Anything else -- including making money out of it -- is just a bonus.
On that basis, I would have no quarrel with the idea of making patents non-transferrable, except that they may used as collateral for a loan -- on the understanding that a patent is akin to perishable goods and may become worthless while held in lien. What happens then is of course up to the borrower and lender.
Also, the Patent Office -- and not the patent holder -- should set royalty fees for use of patents, based on their own assessment, and be responsible for their collection and distribution. This would prevent differential licencing arrangements {charging different prices to different customers -- a blatantly anti-competitive practice} and outright blocking of licencing attempts. It ought also to simplify the process of getting a patent for individuals with little money {since one could borrow the cost of getting a patent, against the promise of royalties to come if the invention is successful}.
..... but isn't a patent supposed to cover one specific means to an end rather than an end in itself? In which case this ought to be struck right down.
But if that's not enough, then there is plenty of evidence that this is not novel {KWord, anyone? OOWriter?}.
And if the prior art is not enough, this sort of thing should be obvious to an expert in the field. In fact, all of mathematics is obvious to a mathematician.
How obvious need obvious be? It's obvious that fire conducts electricity, even if you have never thought about it; because fire is a chemical reaction, a chemical reaction contains charged particles in motion, and charged particles in motion can carry an electrical current.
It's not that we need more women in IT. What we need is more people that know just a bit more about computers than that if they go wrong, all you need to do is turn the power off and back on again, and if that doesn't work you need to reinstall Windows, but that means losing all your work. I don't care whether they're women, men or trained monkeys {in fact, you probably could train a monkey to reboot a Windows box}.
There is only one reason why you should care what lies between another person's legs: because you are intending to have sexual relations with them. Even then, some people would say you're just being too fussy by half.
Sometime somebody somewhere had an idea that we need more women in certain fields. So the idea was born of preferring to employ a woman who might not be the best match for a job over a man who would be a better match, because of her sex: it simply looked better on the statistics {and therefore probably helped conceal some other problem that may have been present}. This in turn bred a resentment of women, who were seen -- rightly or wrongly, but unfortunately, mostly rightly -- as only having to do a job half as good as a man to be thought twice as good. This "artificial" resentment is greater than any "natural", background resentment that may have been present. People do actually tend to respect others who are good at their jobs, in the absence of any compelling reason not to, such as unfairly favourable treatment by management.
The fact is that in a truly non-sexist society, nobody would be bothered what percentage of the workforce in any given field of endeavour was of what sex. Since we do have people who are bothered, that just goes to show we have a sexist society. That's a problem that doesn't have any quick solutions, I'm afraid.
They won't become live -- they will become dead, and existing patent holders will have to re-apply for their patents. There is precedent for that already. Some company made some stuff that violated an existing patent that was due to expire; planning to keep it in storage till the patent expired and ship it to retailers in time to have it on sale the very next day after the patent expired. The original patent holder caught wind of this, took the second manufacturer to court, and the court ordered the stock destroyed because the second manufacturer would have benefitted from what was effectively an abuse of the patent system.
If that's a patent abuse, then expecting a patent you knew to be unlawful when you filed it suddenly to become lawful must also be an abuse. Everyone should have to go through the proper procedure, and apply for their patents after they become valid in law.
Just because the law changes, you can't apply it in retrospect. You can't be prosecuted for things you did before they were banned; and if you were in the middle of being prosecuted for something when it was legalised, the case won't be dropped.
If the directive is approved, it will make it clear that any software patent granted up until now was unlawful and is therefore null and void. This will mean that patent holders will be forced to re-apply for their patents as soon as the directive is made law!
Meanwhile, anything that would have violated one of the unlawful patents is now legitimate prior art for blocking the re-application.
This is why I believe in Source Code Escrow for closed source projects {though I'd favour a simple outright ban on Closed Source even more}. If you aren't willing to give out your source code to every user of your software, then you should be forced to place a sealed copy in the care of some trusted third party. In the event of any dispute, this copy can be unsealed, and the dispute resolved by independent experts. Likewise, the very same day your copyright expires {whether as a matter of time, or sooner if a court so orders} this copy can be unsealed to ensure its entry into the Public Domain.
The GPL also stipulates in clause 3 that the source code must be "machine-readable" and "on a medium customarily used for software interchange". So you might be expected to produce an "alphabit soup reader" in court.
Don't forget that there isn't really such a thing as "violating the GPL". The GPL is a licence to do something above and beyond your "fair dealing" rights -- determined by the courts -- applicable to copyright law. If you aren't in compliance with the GPL, and what you're doing isn't considered "fair dealing", then you're in breach of plain old copyright law.
They used to say somewhat cynically that the freedom of the press only applied to those who owned one.
Today, many, many people have the ability to publish information to a wide audience. Ever since the late 1970s, when someone found that a dot matrix printer would punch stencils for a Gestetner machine, personal computers have been instrumental in the dissemination of information. Since then we have seen photocopying become the dominant method for short-run printing, printing quality get better..... and then since the mid-1990s, when everyone who was anyone went on the 'net, no need for centralised printing anymore.
Nowadays everyone who wants to be is potentially not just a journalist, but the editor-in-chief of their own newspaper. Nobody controls the media anymore.
At least, that was how it was until this ruling. Now, the old scandalum magnatum law is well and truly back on the statute books. In fact, there's an idea for a protest: Walk around with a receipt pinned to yourself, because you've been sold to the corporations.
{And please, please, please don't kid yourself that it's OK for Apple to behave this way because of who they are. The same laws apply to everyone. Next time someone throws their weight around, it might not be someone "nice" like Apple. Microsoft have just sent their Second XI in to bat, is how you should see this.}
Or how about just stopping the javascript interpreter when the window isn't in focus.
As another poster has pointed out, this could break timing-based stuff..... for instance, you could not simply background a tab until the enforced-view adverts disappeared:)
Nonetheless, it'd be a good idea to allow as an option.
And if a child window is being viewed make sure thats its parent windows gain focus behind it or something to that affect.
I thought of this too..... if a tab wants to bring up any kind of requester {for a JavaScript prompt, or for a login and password} then it should come to the foreground {or wait, if there is already a requester showing from another tab}.
This however might conceivably create a new "deadly embrace" vulnerability, if two tabs are demanding to raise requesters and each depends on the other. But if the present system allows only one requester to be showing anyway, perhaps this isn't newly-introduced after all.
Compilation is merely translation, and does not solve any problem with finality in the way you suggest NX does not. What can be expressed in one Turing-complete language (your C source code) can be done in another (your CPU machine code), including expoits and hacks. Isn't your CPU, after all, just an "emulator" for the original source code?
I never said compilation by itself solved anything. You're right, it doesn't: you could in theory build a processor which natively executed C instructions, with no need for a compiler or interpreter. Traitionally, instruction sets have always been designed more with speed of execution in mind than with human-readability {though some drum-memory machines from the pre-ASCII days actually had a character set chosen so that certain letters' codes corresponded to the instruction represented by that letter; for instance, the code for "A" meaning "add" might actually indicate the add instruction}.
What I'm talking about, as a way to bypass the protection offered by NX, is an emulator running in execute-enabled space to allow the execution of code marked as non-executable. If your architecture won't allow even this, then it's computationally incomplete. {Does that mean there will necessarily be other gaps in its repertoire? I honestly don't know. If computational incompleteness can be partitioned and isolated, so that the insoluble problems are all ones that you don't need to attempt, then this might well be an acceptable compromise: a "just complete enough" computer. Maybe someone deeper into theory can answer this one.} If a user can be persuaded quietly to install such an application, then any protection afforded by NX is ultimately lost. It needn't even be a full emulator; just a dodgy exception handler which does something fancy when you hit a section of NX code. Now the vulnerability has just become a distributed one. So you might have one piece of malware causing the initial buffer overflow, and triggering off another piece of malware in the NX exception handler. If you decide the NX exception is too serious to allow any software to deal with it, and just stop the computer dead, then you turn an arbitrary code execution vulnerability into a denial-of-service vulnerability.
I've hardly ever looked at the source code for the apps I compile routinely in Gentoo Linux; who's to say that I haven't compiled a rootkit inadvertently?
In theory, not a lot.
In practice, the probability that someone else might have downloaded the same rootkit, noticed it and told someone.
Given how many people have access to the source code of all the stuff in the Gentoo repository vs. how many people have access to the source code of certain Windows applications -- not to mention their motivations -- I know which one I trust more.
There is NO FINAL ANSWER to the problem of security, and there never will be. Just like terrorism, you work around the problems as they arise and keep moving forward.
Basically, then, you want to encrypt executables so that they can only run on the CPU they're compiled for.
In other words, you want your code to be Trusted before the CPU could even think about Computing it. By Dicky, that's a Really Meaningful suggestion!
Yes, that's exactly what I'm saying. After I, or a team of experts acting at my behest, have audited the source code and made a triage decision {use it as it is; use it, but modify it first; or don't use it at all}, then I would compile it; in the course of which it would be tied to my processor using my Private Key. The version I compiled would not work on any other computer, and code compiled by other people would not work on my computer. Well, not unless they had my Private Key, anyway, and you can assume I'm going to be careful with that.
I can change my Private Key anytime; but to do so, I would have to perform some hardware action. If I'm installing software on a whole office full of computers, I'll lay the same key on all of them; but I probably won't install the properly-keyed compiler on any of them.
That way, I know I can trust what my computer is doing; and my rights to choose what software I run and to audit source code before I compile it are managed digitally for me.
Sorry, but the whole "No Execute" thang is aceite de serpiente, as they say in Madrid. Even the much-vaunted {by people who don't understand it, anyway} Harvard Architecture {i.e. using separate buses for data and instructions, thereby breaking the Neumann principle totally} doesn't work. If the computer can make some kind of decision based on the content of memory location x, then this is tantamount to x being an executable location.
Now, if you had a "Take no action whatsoever based on the content of this location, in fact, whenever you are asked even to read it, always return the same value" flag -- that might prevent the execution of unwanted code. Chances are your system would also be computationally incomplete.
As it stands, NX is trivially defeated by persuading the user to install a simple piece of code -- effectively an emulator.
Basically, NX is answering the wrong question. The question that needs to be asked is "How can we best persuade users not to run arbitrary code when they don't know what the hell it does?" My own answer would be for every processor to have its own, unique instruction set; so only code compiled for that one particular individual processor would ever run on it. {Obviously you'd have to have a compatibility mode for bootstrapping, so you could compile the compiler to compile the unique-ified software; but this would have to be accessed by some deliberate hardware action that no software could get around.} I'm sure that is not impossible; but I'm not sure that it's feasible as long as the likes of Microsoft want to do things their way.
We all know the whole 80x86 architecture is bodgey and suboptimal..... people only stick with it because that's what Windows runs on. Why don't we just go out of our way to create a brand new, streamlined design for a hardware platform, using something like Power G5 processors? {And you'll note the plural there.} Not just the BIOS, but the whole motherboard. We could start from scratch, make it totally legacy-free if we so desired; though it'd be stupid not to support USB, SATA and one of the graphics card busses. The entire spec could be open. We could probably even specify repair-friendly stuff like "All ICs to be socketed, all jumper points to be labelled, LED indicators required on foo and bar".
Put down the crack pipe. The "49.7 days" bug you mention was manifested in Windows 95 {49.7 days is about 2**32 milliseconds}. It may also be present in 98 and ME; at any event, it's a rare event indeed for a Windows box to stay up long enough to be affected. I have seen, with my own eyes, Linux boxes with a two-year uptime.
Your ISP probably runs Linux, so why not ask them?
I don't see how it can be called "piracy" when you are talking about broadcast media, which potentially can be received by anyone. As long as your TV licence is up to date, and your satellite subscription is also up to date {which it would have to be, otherwise you would not be able to get a picture}, then surely you have a right to watch the programmes being broadcast? And, as the saying goes, all means to the same end are equally valid.
There's half an argument about people who have not paid their TV licence watching programmes, but it doesn't hold up to scrutiny. Does not having a TV licence mean you are not allowed to watch TV in someone else's home, a bar, or an electronics store? Real-life example: One of my friends has no TV set. He doesn't pay any TV licence {and incidentally has great fun with the enforcement people when they come around..... but that's another story}. If he comes around to my house and watches my TV {on which I have paid the licence}, is he doing anything he shouldn't? What if he watches Sky {which he is definitely not paying for}?
What if I lend him a DVD I made, of a broadcast programme, that he can watch using VLC on his PC, or on a portable DVD player with no broadcast receiver? As far as I can tell, my licence and my Sky subscription covered me making the recording in the first place; and if my friend would be allowed to watch it in my house, then why shouldn't he be allowed to watch it anywhere else?
Please don't compare the GPL to a typical end-user "licence" agreement. The GPL really is a licence -- it grants you permission to do something you otherwise would not be allowed to do. An EULA is an unenforcible piece of toilet paper. It typically does not give quid pro quo; it attempts to limit your exercise of statutory rights; and to cap it all, it is not even a legally signed document. About the only thing it gives you permission to do is make a copy of the programme in your computer's RAM so you can actually run it. And making a copy of the programme in RAM for the purpose of running it would be considered fair dealing by any court in the land {especially if two members of the jury have a cassette player in their car..... } so you needn't even agree to the EULA to use the software..... tell them "bollocks!"
But still, it ain't the EULA you need to read..... it's the source code you need to read.
Well, I have read them; and I can summarise them both in four words each. The BSD licence boils down to "Sharing is not stealing". The GPL boils down to "Not sharing is stealing".
Beside which, if I want to find out whether or not an application contains spyware, I won't look at the licence agreement; I'll look at the source code. And if they won't show me that, there's no freakin' way I'm installing it.
You can have tremendous fun with other people's pay-per-click adverts if you have an ADSL connection and spend time not using it every day {like when you're at work, or asleep}. All it takes is a list of open proxies and a list of known PPC adverts. Then you write a little script that goes around "clicking" on PPC adverts via various proxies. Of course, you don't have to do anything useful with the "data" you retrieve.
One day, I might even write a screensaver that does exactly this.
There is a small company that makes a template for routers -- the woodworking kind, not the networking kind -- for cutting dovetail joints. It's basically a piece of plastic that you clamp onto a piece of wood to guide the router. If you wanted to, you could use the template to make an identical template out of another piece of plastic. To guard against this possibility the manufacturer encloses a license agreement with the template, stating that the customer is specifically not allowed to do this. It further says you are authorized to use the template for personal woodworking projects only, not for business use.
Yeah, but that's as illegal as fuck, and it would be laughed out of any sane court. You paid for it, with money you earned, by hand or by brain; you own it, and the only way it's any of their business what you do with it is if you throw it through one of the windows of their corporate headquarters.
Trees are today being cut down ten times the rate they are being reproduced!
Erm..... no.
Paper is made exclusively from softwood {obtained from evergreen trees}. The trees used for making the paper used in the Western world* are grown on privately-owned land -- moreover, this is land which has value only if it is being used for growing something. There is thus a very strong financial incentive to replace every tree you cut down as soon as possible.
You have to plant approximately three times as many trees as you harvest, in order to be sure of having a viable replacement for every one. Young, fast-growing trees abstract CO2 from the atmosphere faster than old, established ones. Printing on paper is actually more energy-efficient than displaying stuff on electronic screens. Used paper is a clean fuel, suitable for power plants in populated areas -- meaning the waste heat from electricity generation can be used for heating buildings. {There is little energy saving to be had by recycling paper multiple times; high grade paper -> low grade paper -> toilet paper is about the best you can get. It keeps the logistics simple, and cuts down energy consumption, if it is burned in a power plant near to the point of usage.}
Please stop thinking of trees as anything other than big, slow-growing plants. Or if you're going to complain everytime someone cuts down a tree, at least be consistent and protest just as loudly every time someone pulls up a carrot.
* Trees not being replanted are mostly tropical hardwoods, which {in case you missed it the first time} are unsuitable for papermaking. The West has limited control over this, but can and should institute restrictions on the import of goods produced using techniques which would be unacceptable in the destination country.
Either solely functional data is copyrightable, or the GPL is worthless. You cannot have it both ways. Congress made this absolutely clear when they explicitly extended copyright to software. (There having been several court decisions that all software was public domain.)
Duh..... If all software really were Public Domain, then it wouldn't matter if the GPL were worthless. The GPL is just a Letter of Permission describing the conditions under which copies of a copyrighted work may be distributed. If software were not copyrightable anyway, then there would be no need for the GPL. And the source code to MS Windows would be in the public domain.
Much as it would delight me for all software to be in the Public Domain, I seriously doubt that this would hold up in court today, especially not in the USA. OTOH, as long as MS et al use copyright to restrict access to their software, the Open Source / Free Software Community will use copyright to ensure access to their software.
Chances are the following byte would be zero, which is a BRK instruction -- the 6502's version of a software interrupt, which placed a call to some known address. Dunno what it did on the 64; but on the Beeb, BRK used to be used by the BASIC interpreter for chucking an error and giving you back the command prompt. Assuming the C64 did something sensible with a BRK, it shouldn't cause too severe an error.
Believe it or not, not only was it possible for interested amateurs to build their own equipment capable of playing analogue gramophone records, it was actually encouraged! See, in those days, nobody ever tried to flout common law by pretending that you were not privy to a secret embodied in an article which you rightfully owned.
And every LP you bought was even labelled with the proper address to write to if you needed to obtain permission for making copies, broadcasting &c.
EULAs are legally unenforceable and therefore meaningless in many jurisdictions. If you do not accept the EULA {which ostensibly grants you permission to make a copy of the software in your computer's memory for the purpose of running it}, then you can still legally run the software. Yes, you have to make a copy in order to do so; but that copy is explicitly permitted under the doctrine of fair use / fair dealing / any necessary step, and so does not infringe copyright.
An inventor has exactly ONE right in respect of their invention; and that is the right to have their name associated with their invention, for as long as anyone gives a damn. Anything else -- including making money out of it -- is just a bonus.
On that basis, I would have no quarrel with the idea of making patents non-transferrable, except that they may used as collateral for a loan -- on the understanding that a patent is akin to perishable goods and may become worthless while held in lien. What happens then is of course up to the borrower and lender.
Also, the Patent Office -- and not the patent holder -- should set royalty fees for use of patents, based on their own assessment, and be responsible for their collection and distribution. This would prevent differential licencing arrangements {charging different prices to different customers -- a blatantly anti-competitive practice} and outright blocking of licencing attempts. It ought also to simplify the process of getting a patent for individuals with little money {since one could borrow the cost of getting a patent, against the promise of royalties to come if the invention is successful}.
..... but isn't a patent supposed to cover one specific means to an end rather than an end in itself? In which case this ought to be struck right down.
But if that's not enough, then there is plenty of evidence that this is not novel {KWord, anyone? OOWriter?}.
And if the prior art is not enough, this sort of thing should be obvious to an expert in the field. In fact, all of mathematics is obvious to a mathematician.
How obvious need obvious be? It's obvious that fire conducts electricity, even if you have never thought about it; because fire is a chemical reaction, a chemical reaction contains charged particles in motion, and charged particles in motion can carry an electrical current.
What the hell does it matter anyway?!
It's not that we need more women in IT. What we need is more people that know just a bit more about computers than that if they go wrong, all you need to do is turn the power off and back on again, and if that doesn't work you need to reinstall Windows, but that means losing all your work. I don't care whether they're women, men or trained monkeys {in fact, you probably could train a monkey to reboot a Windows box}.
There is only one reason why you should care what lies between another person's legs: because you are intending to have sexual relations with them. Even then, some people would say you're just being too fussy by half.
Sometime somebody somewhere had an idea that we need more women in certain fields. So the idea was born of preferring to employ a woman who might not be the best match for a job over a man who would be a better match, because of her sex: it simply looked better on the statistics {and therefore probably helped conceal some other problem that may have been present}. This in turn bred a resentment of women, who were seen -- rightly or wrongly, but unfortunately, mostly rightly -- as only having to do a job half as good as a man to be thought twice as good. This "artificial" resentment is greater than any "natural", background resentment that may have been present. People do actually tend to respect others who are good at their jobs, in the absence of any compelling reason not to, such as unfairly favourable treatment by management.
The fact is that in a truly non-sexist society, nobody would be bothered what percentage of the workforce in any given field of endeavour was of what sex. Since we do have people who are bothered, that just goes to show we have a sexist society. That's a problem that doesn't have any quick solutions, I'm afraid.
They won't become live -- they will become dead, and existing patent holders will have to re-apply for their patents. There is precedent for that already. Some company made some stuff that violated an existing patent that was due to expire; planning to keep it in storage till the patent expired and ship it to retailers in time to have it on sale the very next day after the patent expired. The original patent holder caught wind of this, took the second manufacturer to court, and the court ordered the stock destroyed because the second manufacturer would have benefitted from what was effectively an abuse of the patent system.
If that's a patent abuse, then expecting a patent you knew to be unlawful when you filed it suddenly to become lawful must also be an abuse. Everyone should have to go through the proper procedure, and apply for their patents after they become valid in law.
Just because the law changes, you can't apply it in retrospect. You can't be prosecuted for things you did before they were banned; and if you were in the middle of being prosecuted for something when it was legalised, the case won't be dropped.
If the directive is approved, it will make it clear that any software patent granted up until now was unlawful and is therefore null and void. This will mean that patent holders will be forced to re-apply for their patents as soon as the directive is made law!
Meanwhile, anything that would have violated one of the unlawful patents is now legitimate prior art for blocking the re-application.
This is why I believe in Source Code Escrow for closed source projects {though I'd favour a simple outright ban on Closed Source even more}. If you aren't willing to give out your source code to every user of your software, then you should be forced to place a sealed copy in the care of some trusted third party. In the event of any dispute, this copy can be unsealed, and the dispute resolved by independent experts. Likewise, the very same day your copyright expires {whether as a matter of time, or sooner if a court so orders} this copy can be unsealed to ensure its entry into the Public Domain.
The GPL also stipulates in clause 3 that the source code must be "machine-readable" and "on a medium customarily used for software interchange". So you might be expected to produce an "alphabit soup reader" in court.
Don't forget that there isn't really such a thing as "violating the GPL". The GPL is a licence to do something above and beyond your "fair dealing" rights -- determined by the courts -- applicable to copyright law. If you aren't in compliance with the GPL, and what you're doing isn't considered "fair dealing", then you're in breach of plain old copyright law.
They used to say somewhat cynically that the freedom of the press only applied to those who owned one.
..... and then since the mid-1990s, when everyone who was anyone went on the 'net, no need for centralised printing anymore.
Today, many, many people have the ability to publish information to a wide audience. Ever since the late 1970s, when someone found that a dot matrix printer would punch stencils for a Gestetner machine, personal computers have been instrumental in the dissemination of information. Since then we have seen photocopying become the dominant method for short-run printing, printing quality get better
Nowadays everyone who wants to be is potentially not just a journalist, but the editor-in-chief of their own newspaper. Nobody controls the media anymore.
At least, that was how it was until this ruling. Now, the old scandalum magnatum law is well and truly back on the statute books. In fact, there's an idea for a protest: Walk around with a receipt pinned to yourself, because you've been sold to the corporations.
{And please, please, please don't kid yourself that it's OK for Apple to behave this way because of who they are. The same laws apply to everyone. Next time someone throws their weight around, it might not be someone "nice" like Apple. Microsoft have just sent their Second XI in to bat, is how you should see this.}
Nonetheless, it'd be a good idea to allow as an option. I thought of this too
This however might conceivably create a new "deadly embrace" vulnerability, if two tabs are demanding to raise requesters and each depends on the other. But if the present system allows only one requester to be showing anyway, perhaps this isn't newly-introduced after all.
What I'm talking about, as a way to bypass the protection offered by NX, is an emulator running in execute-enabled space to allow the execution of code marked as non-executable. If your architecture won't allow even this, then it's computationally incomplete. {Does that mean there will necessarily be other gaps in its repertoire? I honestly don't know. If computational incompleteness can be partitioned and isolated, so that the insoluble problems are all ones that you don't need to attempt, then this might well be an acceptable compromise: a "just complete enough" computer. Maybe someone deeper into theory can answer this one.} If a user can be persuaded quietly to install such an application, then any protection afforded by NX is ultimately lost. It needn't even be a full emulator; just a dodgy exception handler which does something fancy when you hit a section of NX code. Now the vulnerability has just become a distributed one. So you might have one piece of malware causing the initial buffer overflow, and triggering off another piece of malware in the NX exception handler. If you decide the NX exception is too serious to allow any software to deal with it, and just stop the computer dead, then you turn an arbitrary code execution vulnerability into a denial-of-service vulnerability. In theory, not a lot.
In practice, the probability that someone else might have downloaded the same rootkit, noticed it and told someone.
Given how many people have access to the source code of all the stuff in the Gentoo repository vs. how many people have access to the source code of certain Windows applications -- not to mention their motivations -- I know which one I trust more. Indeed.
I can change my Private Key anytime; but to do so, I would have to perform some hardware action. If I'm installing software on a whole office full of computers, I'll lay the same key on all of them; but I probably won't install the properly-keyed compiler on any of them.
That way, I know I can trust what my computer is doing; and my rights to choose what software I run and to audit source code before I compile it are managed digitally for me.
Sorry, but the whole "No Execute" thang is aceite de serpiente, as they say in Madrid. Even the much-vaunted {by people who don't understand it, anyway} Harvard Architecture {i.e. using separate buses for data and instructions, thereby breaking the Neumann principle totally} doesn't work. If the computer can make some kind of decision based on the content of memory location x, then this is tantamount to x being an executable location.
Now, if you had a "Take no action whatsoever based on the content of this location, in fact, whenever you are asked even to read it, always return the same value" flag -- that might prevent the execution of unwanted code. Chances are your system would also be computationally incomplete.
As it stands, NX is trivially defeated by persuading the user to install a simple piece of code -- effectively an emulator.
Basically, NX is answering the wrong question. The question that needs to be asked is "How can we best persuade users not to run arbitrary code when they don't know what the hell it does?" My own answer would be for every processor to have its own, unique instruction set; so only code compiled for that one particular individual processor would ever run on it. {Obviously you'd have to have a compatibility mode for bootstrapping, so you could compile the compiler to compile the unique-ified software; but this would have to be accessed by some deliberate hardware action that no software could get around.} I'm sure that is not impossible; but I'm not sure that it's feasible as long as the likes of Microsoft want to do things their way.
We all know the whole 80x86 architecture is bodgey and suboptimal ..... people only stick with it because that's what Windows runs on. Why don't we just go out of our way to create a brand new, streamlined design for a hardware platform, using something like Power G5 processors? {And you'll note the plural there.} Not just the BIOS, but the whole motherboard. We could start from scratch, make it totally legacy-free if we so desired; though it'd be stupid not to support USB, SATA and one of the graphics card busses. The entire spec could be open. We could probably even specify repair-friendly stuff like "All ICs to be socketed, all jumper points to be labelled, LED indicators required on foo and bar".
Try looking in /dev/zero on your own box.
The command to play it is
dd if=/dev/zero bs=1024 count=47025 |play -r 44100 -c 2 -s w -t sw -
Put down the crack pipe. The "49.7 days" bug you mention was manifested in Windows 95 {49.7 days is about 2**32 milliseconds}. It may also be present in 98 and ME; at any event, it's a rare event indeed for a Windows box to stay up long enough to be affected. I have seen, with my own eyes, Linux boxes with a two-year uptime.
Your ISP probably runs Linux, so why not ask them?
I don't see how it can be called "piracy" when you are talking about broadcast media, which potentially can be received by anyone. As long as your TV licence is up to date, and your satellite subscription is also up to date {which it would have to be, otherwise you would not be able to get a picture}, then surely you have a right to watch the programmes being broadcast? And, as the saying goes, all means to the same end are equally valid.
..... but that's another story}. If he comes around to my house and watches my TV {on which I have paid the licence}, is he doing anything he shouldn't? What if he watches Sky {which he is definitely not paying for}?
There's half an argument about people who have not paid their TV licence watching programmes, but it doesn't hold up to scrutiny. Does not having a TV licence mean you are not allowed to watch TV in someone else's home, a bar, or an electronics store? Real-life example: One of my friends has no TV set. He doesn't pay any TV licence {and incidentally has great fun with the enforcement people when they come around
What if I lend him a DVD I made, of a broadcast programme, that he can watch using VLC on his PC, or on a portable DVD player with no broadcast receiver? As far as I can tell, my licence and my Sky subscription covered me making the recording in the first place; and if my friend would be allowed to watch it in my house, then why shouldn't he be allowed to watch it anywhere else?
Please don't compare the GPL to a typical end-user "licence" agreement. The GPL really is a licence -- it grants you permission to do something you otherwise would not be allowed to do. An EULA is an unenforcible piece of toilet paper. It typically does not give quid pro quo; it attempts to limit your exercise of statutory rights; and to cap it all, it is not even a legally signed document. About the only thing it gives you permission to do is make a copy of the programme in your computer's RAM so you can actually run it. And making a copy of the programme in RAM for the purpose of running it would be considered fair dealing by any court in the land {especially if two members of the jury have a cassette player in their car ..... } so you needn't even agree to the EULA to use the software ..... tell them "bollocks!"
..... it's the source code you need to read.
But still, it ain't the EULA you need to read
Well, I have read them; and I can summarise them both in four words each. The BSD licence boils down to "Sharing is not stealing". The GPL boils down to "Not sharing is stealing".
Beside which, if I want to find out whether or not an application contains spyware, I won't look at the licence agreement; I'll look at the source code. And if they won't show me that, there's no freakin' way I'm installing it.
You can have tremendous fun with other people's pay-per-click adverts if you have an ADSL connection and spend time not using it every day {like when you're at work, or asleep}. All it takes is a list of open proxies and a list of known PPC adverts. Then you write a little script that goes around "clicking" on PPC adverts via various proxies. Of course, you don't have to do anything useful with the "data" you retrieve.
One day, I might even write a screensaver that does exactly this.
Paper is made exclusively from softwood {obtained from evergreen trees}. The trees used for making the paper used in the Western world* are grown on privately-owned land -- moreover, this is land which has value only if it is being used for growing something. There is thus a very strong financial incentive to replace every tree you cut down as soon as possible.
You have to plant approximately three times as many trees as you harvest, in order to be sure of having a viable replacement for every one. Young, fast-growing trees abstract CO2 from the atmosphere faster than old, established ones. Printing on paper is actually more energy-efficient than displaying stuff on electronic screens. Used paper is a clean fuel, suitable for power plants in populated areas -- meaning the waste heat from electricity generation can be used for heating buildings. {There is little energy saving to be had by recycling paper multiple times; high grade paper -> low grade paper -> toilet paper is about the best you can get. It keeps the logistics simple, and cuts down energy consumption, if it is burned in a power plant near to the point of usage.}
Please stop thinking of trees as anything other than big, slow-growing plants. Or if you're going to complain everytime someone cuts down a tree, at least be consistent and protest just as loudly every time someone pulls up a carrot.
* Trees not being replanted are mostly tropical hardwoods, which {in case you missed it the first time} are unsuitable for papermaking. The West has limited control over this, but can and should institute restrictions on the import of goods produced using techniques which would be unacceptable in the destination country.
Much as it would delight me for all software to be in the Public Domain, I seriously doubt that this would hold up in court today, especially not in the USA. OTOH, as long as MS et al use copyright to restrict access to their software, the Open Source / Free Software Community will use copyright to ensure access to their software.
Chances are the following byte would be zero, which is a BRK instruction -- the 6502's version of a software interrupt, which placed a call to some known address. Dunno what it did on the 64; but on the Beeb, BRK used to be used by the BASIC interpreter for chucking an error and giving you back the command prompt. Assuming the C64 did something sensible with a BRK, it shouldn't cause too severe an error.
Believe it or not, not only was it possible for interested amateurs to build their own equipment capable of playing analogue gramophone records, it was actually encouraged! See, in those days, nobody ever tried to flout common law by pretending that you were not privy to a secret embodied in an article which you rightfully owned.
And every LP you bought was even labelled with the proper address to write to if you needed to obtain permission for making copies, broadcasting &c.
EULAs are legally unenforceable and therefore meaningless in many jurisdictions. If you do not accept the EULA {which ostensibly grants you permission to make a copy of the software in your computer's memory for the purpose of running it}, then you can still legally run the software. Yes, you have to make a copy in order to do so; but that copy is explicitly permitted under the doctrine of fair use / fair dealing / any necessary step, and so does not infringe copyright.