Humans think of the world using language, but we also think of the world using visual, spatial, temporal, sensorial... reasoning.
Do ask a real psychologist, she will say that there are different kinds of think. Textual is best suited for abstract, logical reasoning. But associative thinking is often better done visually. In the Programmer's Guide to the Mind you have an interesting classification of all these.
A programming environment should take care of all these kinds of thought, not just support the logic abstractions as they do now. A promising field of research is Programming By Example. This programming style tries to build the final program by using concrete reasoning over samples of data, instead of forcing you to think of the general, abstract procedure.
Re:Avoidance and respect as alternatives to coerci
on
Tracking GPL Violators
·
· Score: 1
You can always create your own advantages rather that forcing others to give you theirs.
I say again: that's why the GPL exists. You can think of it as designed to create for open source code a business advantage over a "public domain" situation, which is doomed to the "Tragedy of the Commons". There is nothing in the GPL "forcing others" to give away their freedom, since they're free not to use GPL'd code.
Re:Avoidance and respect as alternatives to coerci
on
Tracking GPL Violators
·
· Score: 1
The pool is still there, but the market has changed and the company that forked and closed the code may have a competitive advantage over the people using the community owned code - because it can use the modifications contributed from the pool, but people using the pool can't use the modifications done by the company. This advantage would be considered unfair by many, and the GPL is designed to prevent it.
Well licensing under GPL is not giving it away for free. It is licensing the use of the code.
No, it's licensing the redistribution of the code, something which is usually forbidden by copiright laws. To use the code you don't need the GPL code, just having someone giving it to you (and they are the ones bound by the license, not you).
Re:Avoidance and respect as alternatives to coerci
on
Tracking GPL Violators
·
· Score: 2, Insightful
Then you haven't though what happens when a big player takes your work and don't want to contribute back. A really big company won't care at all if you whine and moan about them not playing credit to you, and you soon will end with a scenario like that of the Unix wars (which lead Stallman to develope the GPL in the first place).
The coertion in the GPL is only to be used against the sharks who don't adhere to the rules and would damage the open, common pool.
Also I don't agree with GP assertion that public domain is libertarian. Closed, proprietary code is libertarian.
Once they do decide to apply their choice of licensing, you should, as a mature and civil person, accept their choice.
You're basically right in that respect. But for your system to work, you need mature and civil persons doing it.
And libertarians already showed us that individual convenience takes priority over civility, and a system that doesn't address that will most likely fail.
Actually not. That would be the uppercase Semantic Web, but the point of the "lowercase" is that it is already working, far away from academia. It's evolutionary, not designed.
The technology for social uses of the network will not belong to a single company - be it Orkut, Yahoo, MS or a startup. It will be built on top of the "lowercase semantic web" the same way that the old Internet was built on top of the open TCP/IP protocol.
This semantic web is the result of integrating lightweight, distributed metadata "miniformats" like the del.icio.us tagged bookmarks, the blog trackbaks, and other task-specific metadata like FOAF. Since nobody can control an open standard and users can easily flee from a centralized server and adopt rival ones, market forces will guarantee that not a single provider will hold all users' data.
I have no problem with that, but let's not drape this self-interest with sanctimonious crap about benefiting humanity.
Wow, thats like saying that a charity is only for self-interest and does nothing to benefit other humans.
Of course using a GPL license does protect one right of the author: the right to ensure that the software, as an evolving system, will remain freely accesible and usable. That right isnt guaranteed with public domain or BSD-like content.
The GPL follows the first one. Libertarians (i.e.e right wing people) follow the second. That's why you don't understand the mismatch, because there isn't one meaning for freedom.
And as positive > negative, *I* would say that GPL has more freedom than BSD.
And at the same time, the planned economy has universal reach (here with the meaning of having a single standard), while the market economy is fragmented into several incompatible sub-markets. As always, there's no single "best for all" solution.
Furthermore, this won't work for finding bugs on concurrent programs due to race conditions or parallel threads corrupting a shared resource.
Those bugs might be catched if the environment would record instructions one-by-one, but as is you may find a bug in your execution, roll back to the checkpoint and find that the bug is gone in the replay. Hey, that would be funny if it happened on a TV football game...
Your concerns are valid, but testing the license in court is not the only solution to solve the problem. The GPL is currently being reworded in order to clarify those issues as well as patents and web services.
Did someone read the title as "Google Ads new personalization"? I was already thinking that I could personalize the ads that I could get from Google...
Finally, testers can use models to generate test coverage and good stochastic tests, and to act as test oracles. A fundamental flaw made by many organizations (especially by management, which measures by numbers) is to presume that because low code-coverage measures indicate poor testing, or that because good sets of tests have high coverage, high coverage therefore implies good testing (see Logical Fallacies sidebar). One of the big debates in testing is partitioned (typically handcrafted) test design versus operational, profile-based stochastic testing (a method of random testing). Current evidence indicates that unless you have reliable knowledge about areas of increased fault likelihood, then random testing can do as well as handcrafted tests.[4,5]
For example, a recent academic study with fault seeding showed that under some circumstance the all-pairs testing technique (see Choose configuration interactions with all-pairs later in this article) applied to function parameters was no better than random testing at detecting faults.[6]
The real difficulty in doing random testing (like the problem with coverage) is verifying the result. A test design implication of this is to create relatively small test cases to reduce extraneous testing or factor big tests into little ones.[9]
Good static checking (including model property checking). If you know the coverage of each test case, you can prioritize the tests such that you run tests in the least amount of time to get the highest coverage. First run the minimal set of tests providing the same coverage as all of the tests, and then run the remaining tests to see how many additional defects are revealed. Models can be used to generate all relevant variations for limited sizes of data structures.[13,14] You can also use a stochastic model that defines the structure of how the target system is stimulated by its environment.[15] This stochastic testing takes a different approach to sampling than partition testing and simple random testing. Code coverage should be used to make testing more efficient in selecting and prioritizing tests, but not necessarily in judging the tests. Test groups must require and product developers must embrace thorough unit testing and preferably tests before code (test-driven development).
Humans think of the world using language, but we also think of the world using visual, spatial, temporal, sensorial... reasoning.
Do ask a real psychologist, she will say that there are different kinds of think. Textual is best suited for abstract, logical reasoning. But associative thinking is often better done visually. In the Programmer's Guide to the Mind you have an interesting classification of all these.
A programming environment should take care of all these kinds of thought, not just support the logic abstractions as they do now. A promising field of research is Programming By Example. This programming style tries to build the final program by using concrete reasoning over samples of data, instead of forcing you to think of the general, abstract procedure.
You can always create your own advantages rather that forcing others to give you theirs.
I say again: that's why the GPL exists. You can think of it as designed to create for open source code a business advantage over a "public domain" situation, which is doomed to the "Tragedy of the Commons". There is nothing in the GPL "forcing others" to give away their freedom, since they're free not to use GPL'd code.
Programming By Example
The pool is still there, but the market has changed and the company that forked and closed the code may have a competitive advantage over the people using the community owned code - because it can use the modifications contributed from the pool, but people using the pool can't use the modifications done by the company. This advantage would be considered unfair by many, and the GPL is designed to prevent it.
Well licensing under GPL is not giving it away for free. It is licensing the use of the code.
No, it's licensing the redistribution of the code, something which is usually forbidden by copiright laws. To use the code you don't need the GPL code, just having someone giving it to you (and they are the ones bound by the license, not you).
Then you haven't though what happens when a big player takes your work and don't want to contribute back. A really big company won't care at all if you whine and moan about them not playing credit to you, and you soon will end with a scenario like that of the Unix wars (which lead Stallman to develope the GPL in the first place).
The coertion in the GPL is only to be used against the sharks who don't adhere to the rules and would damage the open, common pool.
Also I don't agree with GP assertion that public domain is libertarian. Closed, proprietary code is libertarian.
The whole twisted idea of trying to disassociate ownership from original works is a very selfish position
But the problem here is not with the original, it's with the copies!
Once they do decide to apply their choice of licensing, you should, as a mature and civil person, accept their choice.
You're basically right in that respect. But for your system to work, you need mature and civil persons doing it.
And libertarians already showed us that individual convenience takes priority over civility, and a system that doesn't address that will most likely fail.
Actually not. That would be the uppercase Semantic Web, but the point of the "lowercase" is that it is already working, far away from academia. It's evolutionary, not designed.
The technology for social uses of the network will not belong to a single company - be it Orkut, Yahoo, MS or a startup. It will be built on top of the "lowercase semantic web" the same way that the old Internet was built on top of the open TCP/IP protocol.
This semantic web is the result of integrating lightweight, distributed metadata "miniformats" like the del.icio.us tagged bookmarks, the blog trackbaks, and other task-specific metadata like FOAF. Since nobody can control an open standard and users can easily flee from a centralized server and adopt rival ones, market forces will guarantee that not a single provider will hold all users' data.
I have no problem with that, but let's not drape this self-interest with sanctimonious crap about benefiting humanity.
Wow, thats like saying that a charity is only for self-interest and does nothing to benefit other humans.
Of course using a GPL license does protect one right of the author: the right to ensure that the software, as an evolving system, will remain freely accesible and usable. That right isnt guaranteed with public domain or BSD-like content.
without ever really stopping to think that that's not really what "free" means at all.
Then think about this: there at least two mainly known definitions of free: positive freedom and negative freedom.
The GPL follows the first one. Libertarians (i.e.e right wing people) follow the second. That's why you don't understand the mismatch, because there isn't one meaning for freedom.
And as positive > negative, *I* would say that GPL has more freedom than BSD.
There's an old adage saying that capitalism will kill itself when every producer gives their product for free to better competing.
I think we are reaching that era now (at least for information business).
And at the same time, the planned economy has universal reach (here with the meaning of having a single standard), while the market economy is fragmented into several incompatible sub-markets. As always, there's no single "best for all" solution.
No, but with Open Source code (a.k.a. free software) there also could be official non-Microsoft support.
Why do you have to find it? If it exist, it should be enabled by default - and it shouldn't be an option, it should "just work" from start.
With Open Source, this wouldn't have happened.
All of you entrepreneurs can use it under public domain terms.
... of a proprietary-source based community.
Hey, I thought Slashdot had a policy of never removing a posted story. But the dupe article on Israeli Army Bans Dungeons & Dragons Players has totally disappeared, with all the user comments!
Furthermore, this won't work for finding bugs on concurrent programs due to race conditions or parallel threads corrupting a shared resource.
Those bugs might be catched if the environment would record instructions one-by-one, but as is you may find a bug in your execution, roll back to the checkpoint and find that the bug is gone in the replay. Hey, that would be funny if it happened on a TV football game...
I already used all my mod ponts for today, before I found the really interesting post.
Your concerns are valid, but testing the license in court is not the only solution to solve the problem. The GPL is currently being reworded in order to clarify those issues as well as patents and web services.
Wow, and I was afraid Google was going down the Evil slope.
Wait until SW:Episode III is released...
Did someone read the title as "Google Ads new personalization"? I was already thinking that I could personalize the ads that I could get from Google...
... automatically performed by OTS:
Finally, testers can use models to generate test coverage and good stochastic tests, and to act as test oracles. A fundamental flaw made by many organizations (especially by management, which measures by numbers) is to presume that because low code-coverage measures indicate poor testing, or that because good sets of tests have high coverage, high coverage therefore implies good testing (see Logical Fallacies sidebar). One of the big debates in testing is partitioned (typically handcrafted) test design versus operational, profile-based stochastic testing (a method of random testing). Current evidence indicates that unless you have reliable knowledge about areas of increased fault likelihood, then random testing can do as well as handcrafted tests.[4,5]
For example, a recent academic study with fault seeding showed that under some circumstance the all-pairs testing technique (see Choose configuration interactions with all-pairs later in this article) applied to function parameters was no better than random testing at detecting faults.[6]
The real difficulty in doing random testing (like the problem with coverage) is verifying the result. A test design implication of this is to create relatively small test cases to reduce extraneous testing or factor big tests into little ones.[9]
Good static checking (including model property checking). If you know the coverage of each test case, you can prioritize the tests such that you run tests in the least amount of time to get the highest coverage. First run the minimal set of tests providing the same coverage as all of the tests, and then run the remaining tests to see how many additional defects are revealed. Models can be used to generate all relevant variations for limited sizes of data structures.[13,14] You can also use a stochastic model that defines the structure of how the target system is stimulated by its environment.[15] This stochastic testing takes a different approach to sampling than partition testing and simple random testing. Code coverage should be used to make testing more efficient in selecting and prioritizing tests, but not necessarily in judging the tests. Test groups must require and product developers must embrace thorough unit testing and preferably tests before code (test-driven development).