The chance of accidentally bumping into offensive stuff is not as low as most would like to beleive out here.
I agree you can come across dodgy stuff on the Internet, but I think you're much more likely to come across dodgy stuff at school. Schoolkids talk graphically about sex all the time. They can get pornographic magazines from newsagents. And you experience far more violence in the average playground than it's possible to experience through a computer screen. So I think real life and school is far more dangerous.
I'm amused by the Linux Communities turn around here. [...] As soon as they're [the ACLU] willing to help out in something the Linux Community, suddenly everything turns around and they're hailed as heroes.
Excuse me, but I don't see anyone here hailing the ALCU as heroes. Not the front page story and not any of the posts (at the time of writing). Even the ACLU press release didn't exactly hail the ALCU as heroes.
Besides, it is possible to agree with one act someone does, but disagree with another. That's not hypocrisy, that's just having an opinion.
At the worst, you would be disallowed from combining the two.
Assuming that copyleft-style licenses are capable of standing up in court, that's what would happen.
But in that case it's a very simple matter of making a distinct library that links to the original Qt and QPLed athena widgets.
On a desktop machine it would be. A random palmtop platform might not have any facility to do dynamic linking.
But I think the QPL is much more dangerous for applications than for libraries. As you say, generally you use a library by linking to it. Troll say that "We feel [the QPL] is particularly well suited for anyone who wants to run an Open Source project and still have the possibility to earn some money to eat from sales to closed source commercial developers." Other people on the net are starting to take that opinion. If two equivalent programs were both QPLed it would be very annoying, because there are many times when you'd want to share the code. E.g. you might want to rip xemacs's context highlighting code, modify it and then stick it into Abiword or KWord. If these were QPLed you couldn't. As a result, it becomes very hard to share new features without a complete rewrite, which is one of OSS's principal technical advantages.
he did issue a poison pill by declaring that GPL applications must have special permissions before they can link to a GPL library.
He's not alone; the Debian project, with some legal advice, agreed. See their statement about the issue. Section 2 of the GPL and section 3 of the QPL are mutually exclusive.
If you link *your own* GPLed app to QT, that's perfectly legal. If you give others permission, then they can do it too.
They can't proprietarize your code unless it is a modification to their code
I was indeed talking about this scenario; if I gave the impression that I meant merely linking to libraries then that's my mistake.
Here's a relevant example of this being a problem. I want to do away with X. I want to modify QT to work without X, but in my modified version I want to support other toolkits such as Athena. I find a QPLed implementation of Athena. I want to merge these two codebases and create my own derivative codebase. I can't, because the QPL won't let me. If the toolkits were GPLed, this wouldn't be a problem.
Just because the QPL makes you open up your source code, it does not follow that Troll gets any rights to patch it into their proprietary version.
The QPL insists you give the initial developer these rights in your derivative works. In the case of QT, that means Troll. The relevant paragraph is 3c:
When modifications to the Software are released under this license, a non-exclusive royalty-free right is granted to the
initial developer of the Software to distribute your modification in future versions of the Software provided such versions remain available under these terms in addition to any other license(s) of the initial developer. [emphasis added]
This means exactly that they get the right to patch it into their proprietary version.
Do you have a problem with them eating? The levels of intolerance here at Slashdot have reached an all time low.
I don't think the original poster was objecting to them eating, merely to their use of proprietory licensing.
Most people in the world get paid without creating proprietory software. Even software developers (most of them write in-house software, which is not licensed *at all* - and hence does not have the same socially divisive effects that non-free packaged software does).
In any case, this claim that people will `starve' if they don't write proprietory software is completely false, especially in Norway.
It's an asymmetric license - Troll can use your derivatives in a non-free product, but you can't use theirs in a non-free product.
This means that you can't combine code from both QT and a QPLed product from someone else. You'd have to give both original authors rights over each other's code which the QPL doesn't let you give.
Compared to standard proprietory licenses, the QPL is a good deal. But don't mistake it for a license which allows the community-style code reuse which has made OSS mushroom so fast.
It would usually be silly to choose BSD if what you want is compatibility with desktop software (but that applies to Linux too). BSD has other strengths. For example, you can get FreeBSD to webserve happily on a 3MB 386/12, which is really a bit too small for Linux. To be specific to NetBSD, it is the most widely ported OS in the world, so depending on your hardware it may be the only free unix which runs on it. OpenBSD has been security audited line-by-line so is probably the most secure free unix available.
My opinions have been consistent throughout my posts [...] How on earth does that make me a troll?
Whether or not you are a troll is nothing to do with what your opinions are. It's how you voice them that counts - someone who shouts "LINUX ROOLZ" is a troll and so is someone who shouts "IE ROOLZ".
"You must use NT" specifies a single product from a single vendor.
"You must use OSS" specifies a whole class of products from many different vendors/sources.
So I don't think the latter is two-faced. If they said "you must use Linux" then I would call it two-faced, and if they said "You must use SuSE Linux" I'd strongly consider it to be two-faced.
I wonder if SuSE/Redhat/... are all out because they are not 100% open-source? If so then Stampede, Debian and *BSD will get a sudden surge in popularity:-)
Thanks, Craig, that was very informative and I stand corrected.
Trusting GCC to reliably catch all violations of the standard is unwise.
Understood: gcc's job is to compile, not to validate. But is there any foolproof way to validate your code (manually or automatically) without having a copy of the ISO standard or any other non-free documentation? (I'm not saying others should consider non-free documentation bad, I just don't want to use it myself). One great thing about HTML is being able to automatically validate it against the DTD using, say, validator.w3.org.
Not in ISO C in doesn't; it's undefined. In "pidgin C" it does [...] Specifically, operators lik ^= do not define sequence points, so there's no assurance that the inner assignment will happen before the outer one.
Well I don't have a copy of the standard, but my fragment compiles without warnings on gcc 2.95.2 using the -pedantic option. Since that's meant to make gcc complain about non-ANSI (i.e. ISO) extensions, does that mean this is a bug in gcc? Are you sure it hasn't been added to the standard since the version you've seen?
Hmm the standard says that ^= and -= are right-associative and have the same precedence. The associativity should force the expression to be evaluated as I claim.
Of course, my version hasn't been carefully analyzed, but I wouldn't make it my.sig.;-)
Would you care to provide a reference saying where in the ISO standard I should look to see what you're saying?
_Why_ is the prime factorization theorem so fundamental to arithmetic? [...] Nobody ever explained why [factoring] is useful to anyone outside of number theory.
Factorising isn't exactly very "useful". It's more that it's kind of the underlying thing that causes the numbers to work like they do. Without the Fundamental Theorem, mathematicians couldn't have any sort of a grip on what the hell multiplication "is". With the Fundamental Theorem, we know that multiplication has this nice, orderly property which allows us to understand it well enough to prove more difficult stuff.
So you're right, to an engineer, or a scientist, factorization isn't very useful, because these people just "use" arithmetic, as a sort of contraption that works. The Fundamental Theorem is only Fundamental to a mathematician, who is interested in studying the contraption itself.
what's the piece of code in your.sig supposed to do?
If a and b are two non-zero integers, it replaces a with the highest common factor of a and b (clobbering b in the process).
Ok, I lied slightly, it is more normal to say "any *natural* number" rather than "any number". A natural number means 1, 2, 3,... . So yes, 0 is excluded from this theorem.
What about the primes themselves if 1 is not a prime [...]? What are the prime factors of 5?
Again, the definitions are tailored specially so that things are neat to state. To a mathematician, "a product" doesn't neccessarily mean two or more numbers. Just "5" by itself gets counted as a product. And the empty product, the product of 0 numbers, is arbitrarily defined as being "1". So the prime factorisation of 5 is "5", and the prime factorisation of 1 is "".
You're probably thinking that the "empty product equals 1" thing is a bit bizzare. It's worth comparing with addition. What do you get if you add zero numbers together? Answer: 0. 0 is the number that makes no difference when you add it to things. Similarly, 1 is the number that makes no difference when you multiply things by it. Hmmm, I'm not sure if that makes it any clearer, but hey.
I just looked it up so I'll correct myself. The conjecture was Bertrand's, and it was first proved by Chebyshev. Erdös found a shorter, neater proof when he was 20, causing some witty soul to come up with the following rhyme:
Chebyshev said it, and I say it again,
There is always a prime between n and 2n.
"Words have their meanings to help you understand", as Lauren Savoy would have it. The word "prime" is defined in the way which makes the word most useful. The central fact about primes is that "any number can be expressed uniquely as a product of prime factors" (ignoring the order in which you write the factors). This is regarded as so fundamental that it's called "The Fundamental Theorem of Arithmetic".
If we were to accept 1 as a prime, there'd be lots of ways to prime-factor a number, e.g. 9 = 3*3 = 3*3*1 = 3*3*1*1*1*1. So to keep the Fundamental Theorem true, we'd have to say "except 1" in it. There's also lots of other theorems where you'd need to say "except 1" for similar reasons, so it works out as more convenient to exclude 1 when defining the word "prime".
For this reason also, we exclude negative numbers from being prime. Otherwise, 9 = 3*3 = -3*-3 etc.
I'm assuming you're not trolling, or I'm replying for anyone else who's wondering.
every Even number can be written as the sum of not more than 300,000 primes
That means that "there is some way to get to any even number by adding together less than 300,000 primes". It doesn't mean "no number can be obtained by adding more than 300,000 primes". The second statement is clearly false. e.g. if
With a conjecture such as this, isn't it impossible to find a proof without trying every even number bigger than 4, up to infinity?
No, you can do tricks like "proof by contradiction". That works as follows:
You pretend the claim isn't true. In that case there must be some number x which isn't the sum of two primes.
This is the clever bit: you find a logical argument which shows that if such an x existed then, consequentially, something impossible would happen. So you might find a logical argument that says if you have such an x then 1=0.
You conclude that, therefore, there can't possibly be any such x. Hence you've proved the conjecture.
I agree you can come across dodgy stuff on the Internet, but I think you're much more likely to come across dodgy stuff at school. Schoolkids talk graphically about sex all the time. They can get pornographic magazines from newsagents. And you experience far more violence in the average playground than it's possible to experience through a computer screen. So I think real life and school is far more dangerous.
Excuse me, but I don't see anyone here hailing the ALCU as heroes. Not the front page story and not any of the posts (at the time of writing). Even the ACLU press release didn't exactly hail the ALCU as heroes.
Besides, it is possible to agree with one act someone does, but disagree with another. That's not hypocrisy, that's just having an opinion.
Assuming that copyleft-style licenses are capable of standing up in court, that's what would happen.
On a desktop machine it would be. A random palmtop platform might not have any facility to do dynamic linking.
But I think the QPL is much more dangerous for applications than for libraries. As you say, generally you use a library by linking to it. Troll say that "We feel [the QPL] is particularly well suited for anyone who wants to run an Open Source project and still have the possibility to earn some money to eat from sales to closed source commercial developers." Other people on the net are starting to take that opinion. If two equivalent programs were both QPLed it would be very annoying, because there are many times when you'd want to share the code. E.g. you might want to rip xemacs's context highlighting code, modify it and then stick it into Abiword or KWord. If these were QPLed you couldn't. As a result, it becomes very hard to share new features without a complete rewrite, which is one of OSS's principal technical advantages.
He's not alone; the Debian project, with some legal advice, agreed. See their statement about the issue. Section 2 of the GPL and section 3 of the QPL are mutually exclusive.
If you link *your own* GPLed app to QT, that's perfectly legal. If you give others permission, then they can do it too.
I was indeed talking about this scenario; if I gave the impression that I meant merely linking to libraries then that's my mistake.
Here's a relevant example of this being a problem. I want to do away with X. I want to modify QT to work without X, but in my modified version I want to support other toolkits such as Athena. I find a QPLed implementation of Athena. I want to merge these two codebases and create my own derivative codebase. I can't, because the QPL won't let me. If the toolkits were GPLed, this wouldn't be a problem.
The QPL insists you give the initial developer these rights in your derivative works. In the case of QT, that means Troll. The relevant paragraph is 3c:
This means exactly that they get the right to patch it into their proprietary version.
Any idea if this is true using xfree on GNU/HURD?
I can never remember how to spell "proprietary". Oh well.
I don't think the original poster was objecting to them eating, merely to their use of proprietory licensing.
Most people in the world get paid without creating proprietory software. Even software developers (most of them write in-house software, which is not licensed *at all* - and hence does not have the same socially divisive effects that non-free packaged software does).
In any case, this claim that people will `starve' if they don't write proprietory software is completely false, especially in Norway.
It's an asymmetric license - Troll can use your derivatives in a non-free product, but you can't use theirs in a non-free product.
This means that you can't combine code from both QT and a QPLed product from someone else. You'd have to give both original authors rights over each other's code which the QPL doesn't let you give.
Compared to standard proprietory licenses, the QPL is a good deal. But don't mistake it for a license which allows the community-style code reuse which has made OSS mushroom so fast.
It would usually be silly to choose BSD if what you want is compatibility with desktop software (but that applies to Linux too). BSD has other strengths. For example, you can get FreeBSD to webserve happily on a 3MB 386/12, which is really a bit too small for Linux. To be specific to NetBSD, it is the most widely ported OS in the world, so depending on your hardware it may be the only free unix which runs on it. OpenBSD has been security audited line-by-line so is probably the most secure free unix available.
Whether or not you are a troll is nothing to do with what your opinions are. It's how you voice them that counts - someone who shouts "LINUX ROOLZ" is a troll and so is someone who shouts "IE ROOLZ".
"You must use NT" specifies a single product from a single vendor.
"You must use OSS" specifies a whole class of products from many different vendors/sources.
So I don't think the latter is two-faced. If they said "you must use Linux" then I would call it two-faced, and if they said "You must use SuSE Linux" I'd strongly consider it to be two-faced.
I wonder if SuSE/Redhat/... are all out because they are not 100% open-source? If so then Stampede, Debian and *BSD will get a sudden surge in popularity :-)
Understood: gcc's job is to compile, not to validate. But is there any foolproof way to validate your code (manually or automatically) without having a copy of the ISO standard or any other non-free documentation? (I'm not saying others should consider non-free documentation bad, I just don't want to use it myself). One great thing about HTML is being able to automatically validate it against the DTD using, say, validator.w3.org.
Most people have several billion.
But = also does not define a sequence point, so by that argument "a=b=c=d=2" is also undefined. What am I missing here?
Well I don't have a copy of the standard, but my fragment compiles without warnings on gcc 2.95.2 using the -pedantic option. Since that's meant to make gcc complain about non-ANSI (i.e. ISO) extensions, does that mean this is a bug in gcc? Are you sure it hasn't been added to the standard since the version you've seen?
Hmm the standard says that ^= and -= are right-associative and have the same precedence. The associativity should force the expression to be evaluated as I claim.
Would you care to provide a reference saying where in the ISO standard I should look to see what you're saying?
Factorising isn't exactly very "useful". It's more that it's kind of the underlying thing that causes the numbers to work like they do. Without the Fundamental Theorem, mathematicians couldn't have any sort of a grip on what the hell multiplication "is". With the Fundamental Theorem, we know that multiplication has this nice, orderly property which allows us to understand it well enough to prove more difficult stuff.
So you're right, to an engineer, or a scientist, factorization isn't very useful, because these people just "use" arithmetic, as a sort of contraption that works. The Fundamental Theorem is only Fundamental to a mathematician, who is interested in studying the contraption itself.
If a and b are two non-zero integers, it replaces a with the highest common factor of a and b (clobbering b in the process).
Ok, I lied slightly, it is more normal to say "any *natural* number" rather than "any number". A natural number means 1, 2, 3,
Again, the definitions are tailored specially so that things are neat to state. To a mathematician, "a product" doesn't neccessarily mean two or more numbers. Just "5" by itself gets counted as a product. And the empty product, the product of 0 numbers, is arbitrarily defined as being "1". So the prime factorisation of 5 is "5", and the prime factorisation of 1 is "".
You're probably thinking that the "empty product equals 1" thing is a bit bizzare. It's worth comparing with addition. What do you get if you add zero numbers together? Answer: 0. 0 is the number that makes no difference when you add it to things. Similarly, 1 is the number that makes no difference when you multiply things by it. Hmmm, I'm not sure if that makes it any clearer, but hey.
Who says mathematicians can't write poetry? Hmmm.
This is true; IIRC it was proved by Ramanujan.
Another useful fact: (number of primes less than N) tends to N / log(N) as N tends to infinity. This is called the prime number theorem.
"Words have their meanings to help you understand", as Lauren Savoy would have it. The word "prime" is defined in the way which makes the word most useful. The central fact about primes is that "any number can be expressed uniquely as a product of prime factors" (ignoring the order in which you write the factors). This is regarded as so fundamental that it's called "The Fundamental Theorem of Arithmetic".
If we were to accept 1 as a prime, there'd be lots of ways to prime-factor a number, e.g. 9 = 3*3 = 3*3*1 = 3*3*1*1*1*1. So to keep the Fundamental Theorem true, we'd have to say "except 1" in it. There's also lots of other theorems where you'd need to say "except 1" for similar reasons, so it works out as more convenient to exclude 1 when defining the word "prime".
For this reason also, we exclude negative numbers from being prime. Otherwise, 9 = 3*3 = -3*-3 etc.
That means that "there is some way to get to any even number by adding together less than 300,000 primes". It doesn't mean "no number can be obtained by adding more than 300,000 primes". The second statement is clearly false. e.g. if
then a is the sum of 300,001 primes.
No, you can do tricks like "proof by contradiction". That works as follows:
That depends on whether you're allowed to distribute the beer when you've finished it.