The hand's already half-tied. Corporations are special treatment from the government in exchange for additional rules and regulations. This is simply the price of government-protected limited liability.
Uhh... he wasn't talking to you. He was referring to the double-whammy "most OSS e-business/intranet apps are written in Java" and "Apache focuses on this sort of software".
First the yes part. You can take any Linux distro and turn it into any other Linux distro -- or your own distro -- in a few hours. You can create scripts to do it in a few seconds. But it's/easier/ to do that kind of thing if you just start with a distro closer to what you really want or from a clean slate (look up Linux From Scratch).
Now the no part. The only difference between distros are the versions of applications and (more importantly) libraries, the customization thereof (mainly the location config files and in particular the location and arrangement of the startup scripts), and some extra somewhat-distro-specific apps (or more likely scripts). If you change that stuff around too much, you're not really running the distro you started with anymore.
As an analogy, consider a child who's given a (soft) clay Asian elephant. Our protagonist notices there aren't any toes, so he makes marks on the feet that suggest toe. Now we have a "modified Asian elephant". Then the kid makes the ears a little bigger and gives it some tusks. OK, so now it's an African elephant -- still an elephant, but significantly different from what we started with. Calling it an Asian elephant is misleading, but it's not too far from the mark. Then he elongates the body, changes the legs to flippers, and loses the tail. Now it's a walruss; calling it an "elephant" is silly -- the fact that it started as an Asian elephant matters not one iota.
I was going to mention WSH in response to grandparent as well, but since you got there first, I'll play devil's advocate.
WSH is actually more limited than traditional Unix shell scripts because the building blocks of WSH are ActiveX objects, whereas shell scripts are built from text filters. Text filters are generally much easier to write and debug than ActiveX objects (because they're simpler). Plus, it's fairly easy to use any shell scripts as a text filter for another shell script, whereas each WSH script is self-contained (ie, it cannot be used to build more complex WSH scripts) without going through a great deal of extra trouble.
So in short, yes WSH provides lots of functionality -- and it certainly provides the functionality required for the problem at hand. But to say that it's/just as powerful/ as shell scripts is incorrect, I think.
It depends on the standard. I'm not an expert at CSS, but from what I understand it's particularly difficult to implement because it specifies not just what the UA should do for valid CSS but also exactly how it should handle certain classes of invalid CSS as well. So even if your browser were able to correctly render every correct web site, it would still fail the ACID2 test if it didn't handle certain/incorrect/ sites "correctly" as well.
The HTML spec is a different beast, though. It pretty much has the opposite problem: It doesn't specify/anything/ about behavior on failure. As a result, every browser does something slightly different when it encounters a web site that breaks the rules. And the problem is that so many sites do in fact break the rules. Not only that, but quite a few sites rely on a browser rendering certain rule-breakings a certain way! So, for example with IE, MSFT has a huge incentive not just to make the browser more compliant but also to make sure that it is behavior-compatible (sometimes even bug-compatible) with previous versions of IE. And THAT is a tall order!
You can anonymously submit for publication any text you wish and get it distributed if the distributor so desires.
Yes, but that's not speaking *in person* (ie, face-to-face). I wholeheartedly agree that posting online should have the same protections as placing a flyer in public or publishing a pamphlet.
First, GPL-like "forced openness" is not necessary for Open Source. The BSD Unixes and plenty of similarly-licensed projects seem to be doing quite well without it. Second, the Perens quote actually illustrates my point perfectly: "Parties that create modifications have an incentive to write them in such a way that they will be accepted by the other developers on the project and will be merged into the main body of source code that is shared by all developers." Perens is saying that regardless of the legal force, simply having third-party modifications added to the main source tree (so that future versions don't break patched-in features, say) is enough incentive for most people to release derivative works Openly.
If you need laws to support your business model, there's something wrong with it. This is no less true of Free Software than any other industry. I happen to disagree that Open Source needs the backing of copyleft to continue -- and if I'm wrong, we need to come up with something better anyway.
I only mentioned anything because I'm sick of Free Software advocates using misleading terminology. You came sorta-close, but you weren't bad at all compared to most.
Really, my only issue with what you said was the word "keep". Saying the GPL "keeps the source code open" implies that a person may somehow close the source, which they cannot. They can simply fail to open *new* source they create -- the old source stays open no matter what.
No. You must release the source code for free (though you may require reimbursement for distribution costs). However, you only have to give the source code to people you gave the binary to. If you charge for the binary, then you only have to give the source code to people who bought it.
However, there's nothing stopping one of your customers from distributing the stuff for free.
Without copyright law it will be impossible to force anyone who uses GPL code to abide by the guidelines of the license and keep the source code open.
Someone else can't close the source code once it's been opened by its author. All they can do is fail to openly release *new code*. Talking about "keeping" the code open is nonsense -- all the code that was open to begin with stays open regardless of what a third party does or fails to do.
So, trying again, you might say: "Without copyright law, it will be impossible to force anyone who distributes works derived from GPL-licensed code to abide by the guidelines of the license (ie, supply code to recipients of the binary, release under GPL, etc)."
If some frenchman starts selling a slightly-modified version of some piece of Free software, how does that impinge on my ability to use the original version?
God, you have an inflated sense of self-worth. Let me fill you in on a little secret: knowing how to survive by hunting/gathering on the savannah, build a house, or build a car from scratch are much more "elite" skills than being able to write papers about long-term effects of Charles VIII's invasion of Italy in 1494 or even the ability to write your own window manager.
The problem with most garbage-collected languages is that they don't have the concept of a limited-lifetime object. Stacks are a tool, and a damned useful one. We still mostly structure our code in stacks. But the direction of Java and co is to tell the programmer that since he needs some help with non-stack-allocated stuff, well, then he just doesn't get to have use a stack at all. That's just not a useful tradeoff; I'd rather have a proper stack.
Unless you immediately follow your read with an "if(!input) break;", your code is likely to have a logic error (it will "read" the last item twice). ITYM/* read from input */
while(input) {// process the input/* read from input */
}
Though now you have duplicate code. That's why there exists an idiom to avoid it
while(/* read from input */) {// process the input
}
Ever wonder why a stream converts to a Boolean? (Well, technically to a pointer, but that's only to avoid integer semantics.) It's because you're/supposed/ to code that way. It's the idiomatic way to express a read-until-eof loop in C++ (or C.
The hand's already half-tied. Corporations are special treatment from the government in exchange for additional rules and regulations. This is simply the price of government-protected limited liability.
Don't want to follow it? Don't incorporate.
Uhh... he wasn't talking to you. He was referring to the double-whammy "most OSS e-business/intranet apps are written in Java" and "Apache focuses on this sort of software".
Yes and no.
/easier/ to do that kind of thing if you just start with a distro closer to what you really want or from a clean slate (look up Linux From Scratch).
First the yes part. You can take any Linux distro and turn it into any other Linux distro -- or your own distro -- in a few hours. You can create scripts to do it in a few seconds. But it's
Now the no part. The only difference between distros are the versions of applications and (more importantly) libraries, the customization thereof (mainly the location config files and in particular the location and arrangement of the startup scripts), and some extra somewhat-distro-specific apps (or more likely scripts). If you change that stuff around too much, you're not really running the distro you started with anymore.
As an analogy, consider a child who's given a (soft) clay Asian elephant. Our protagonist notices there aren't any toes, so he makes marks on the feet that suggest toe. Now we have a "modified Asian elephant". Then the kid makes the ears a little bigger and gives it some tusks. OK, so now it's an African elephant -- still an elephant, but significantly different from what we started with. Calling it an Asian elephant is misleading, but it's not too far from the mark. Then he elongates the body, changes the legs to flippers, and loses the tail. Now it's a walruss; calling it an "elephant" is silly -- the fact that it started as an Asian elephant matters not one iota.
And this, my friends, is why people think Unix is "hard".
"Guided evolution" isn't an oxymoron. "Guided natural selection" would be, though.
I've never broken a DVD by dropping it.
I was going to mention WSH in response to grandparent as well, but since you got there first, I'll play devil's advocate.
/just as powerful/ as shell scripts is incorrect, I think.
WSH is actually more limited than traditional Unix shell scripts because the building blocks of WSH are ActiveX objects, whereas shell scripts are built from text filters. Text filters are generally much easier to write and debug than ActiveX objects (because they're simpler). Plus, it's fairly easy to use any shell scripts as a text filter for another shell script, whereas each WSH script is self-contained (ie, it cannot be used to build more complex WSH scripts) without going through a great deal of extra trouble.
So in short, yes WSH provides lots of functionality -- and it certainly provides the functionality required for the problem at hand. But to say that it's
It depends on the standard. I'm not an expert at CSS, but from what I understand it's particularly difficult to implement because it specifies not just what the UA should do for valid CSS but also exactly how it should handle certain classes of invalid CSS as well. So even if your browser were able to correctly render every correct web site, it would still fail the ACID2 test if it didn't handle certain /incorrect/ sites "correctly" as well.
/anything/ about behavior on failure. As a result, every browser does something slightly different when it encounters a web site that breaks the rules. And the problem is that so many sites do in fact break the rules. Not only that, but quite a few sites rely on a browser rendering certain rule-breakings a certain way! So, for example with IE, MSFT has a huge incentive not just to make the browser more compliant but also to make sure that it is behavior-compatible (sometimes even bug-compatible) with previous versions of IE. And THAT is a tall order!
The HTML spec is a different beast, though. It pretty much has the opposite problem: It doesn't specify
If you want to program in C++, why not just do so?
// use x ...
{
SomeClass x;
}
You can anonymously submit for publication any text you wish and get it distributed if the distributor so desires.
Yes, but that's not speaking *in person* (ie, face-to-face). I wholeheartedly agree that posting online should have the same protections as placing a flyer in public or publishing a pamphlet.
Speaking in person generally isn't anonymous. And "speech" generally doesn't refer to speaking in person.
Just FYI, your verb tenses were fine.
Nope, I appreciate it! :)
Heh, my $3k used car /is/ a BMW, you insensitive clod! (Ich leben in Deutschland.)
An exhaustive list includes all possible values. An "exhaustive list" of the "top X" of something is an oxymoron.
Girls cost time and money.
girls = time x money
And eveyrone knows that money is the root of all evil.
money = sqrt(evil)
Finally, it is trivially shown that time is money.
time = money
girls = time x time
time = sqrt(evil)
girls = sqrt(evil)^2
Therefore,
girls = evil
First, GPL-like "forced openness" is not necessary for Open Source. The BSD Unixes and plenty of similarly-licensed projects seem to be doing quite well without it. Second, the Perens quote actually illustrates my point perfectly: "Parties that create modifications have an incentive to write them in such a way that they will be accepted by the other developers on the project and will be merged into the main body of source code that is shared by all developers." Perens is saying that regardless of the legal force, simply having third-party modifications added to the main source tree (so that future versions don't break patched-in features, say) is enough incentive for most people to release derivative works Openly.
If you need laws to support your business model, there's something wrong with it. This is no less true of Free Software than any other industry. I happen to disagree that Open Source needs the backing of copyleft to continue -- and if I'm wrong, we need to come up with something better anyway.
I only mentioned anything because I'm sick of Free Software advocates using misleading terminology. You came sorta-close, but you weren't bad at all compared to most.
Really, my only issue with what you said was the word "keep". Saying the GPL "keeps the source code open" implies that a person may somehow close the source, which they cannot. They can simply fail to open *new* source they create -- the old source stays open no matter what.
No. You must release the source code for free (though you may require reimbursement for distribution costs). However, you only have to give the source code to people you gave the binary to. If you charge for the binary, then you only have to give the source code to people who bought it.
However, there's nothing stopping one of your customers from distributing the stuff for free.
Huge pet peeve.
Without copyright law it will be impossible to force anyone who uses GPL code to abide by the guidelines of the license and keep the source code open.
Someone else can't close the source code once it's been opened by its author. All they can do is fail to openly release *new code*. Talking about "keeping" the code open is nonsense -- all the code that was open to begin with stays open regardless of what a third party does or fails to do.
So, trying again, you might say: "Without copyright law, it will be impossible to force anyone who distributes works derived from GPL-licensed code to abide by the guidelines of the license (ie, supply code to recipients of the binary, release under GPL, etc)."
Protect it from what?
If some frenchman starts selling a slightly-modified version of some piece of Free software, how does that impinge on my ability to use the original version?
God, you have an inflated sense of self-worth. Let me fill you in on a little secret: knowing how to survive by hunting/gathering on the savannah, build a house, or build a car from scratch are much more "elite" skills than being able to write papers about long-term effects of Charles VIII's invasion of Italy in 1494 or even the ability to write your own window manager.
The problem with most garbage-collected languages is that they don't have the concept of a limited-lifetime object. Stacks are a tool, and a damned useful one. We still mostly structure our code in stacks. But the direction of Java and co is to tell the programmer that since he needs some help with non-stack-allocated stuff, well, then he just doesn't get to have use a stack at all. That's just not a useful tradeoff; I'd rather have a proper stack.
Unless you immediately follow your read with an "if(!input) break;", your code is likely to have a logic error (it will "read" the last item twice). ITYM /* read from input */ // process the input /* read from input */
// process the input
/supposed/ to code that way. It's the idiomatic way to express a read-until-eof loop in C++ (or C.
while(input) {
}
Though now you have duplicate code. That's why there exists an idiom to avoid it
while(/* read from input */) {
}
Ever wonder why a stream converts to a Boolean? (Well, technically to a pointer, but that's only to avoid integer semantics.) It's because you're
Fucking slashdot. Plain text should mean plain text!
I'll go out on a limb here and suggest that if "x < y" makes sense, then "y > x" also makes sense.