Hey, it works for atoms when we can't even solve the three body problem analytically. And yet somehow when there's 10^23 of the things, we can get the scaling laws, phase diagrams, equations of state, etc with pen and paper. I don't find it hard to believe at all that while one person's behavior may be very hard to predict well, the average behavior and even scale of the fluctuations in behavior of a few billion people would be very easy to predict.
Population density seems to be a good place to start... so many things seem to be tightly coupled to population density. If you look at political affiliations in the US for example, there's a correlation between liberal/conservative and population density. Crime, etc of course scales with population density.
In a sense its a measure of 'how much am I affected by other people'. In a low density area, encounters with other people that have a significant unintentional and undesired effect are low. In a high density area, you can't help but press up against dozens of people a day who might mug you, smoke near you, transmit a disease to you, or whatever.
So thats one variable; there's likely to be two or three that are really important, and the rest are sort of small perturbations. Second might be economic level perhaps? Or technological? Get some output data like crime rate, distribution of causes of death, education levels, job occupancies, population density, tech level, economic level, and so on and do a principle component analysis on that. Maybe it'll reveal the significant contributors, or maybe not, but it's probably worth a shot for some grad student doing social science.
Then you can do fun things like construct a phase diagram from your data and find out little factoids like 'if the population density rises above X, dictatorships become fundamentally unstable!' that let the more power hungry analysts set up a perpetual dynasty with rules controlling population growth or something like that.
Yeah, fortunately thinking the way to a problem is usually faster than gradient descent. The problem isn't exponential growth of computers v. linear growth of brains, but rather that you're not going to get away with simulating _one_ brain. If you build em this way you're going to have to simulate a hundred billion different brains and compare their performance. Which means that while computer power may be growing exponentially, your algorithm itself isn't going to converge exponentially any more than evolution's development of a brain converged exponentially.
That is to say, doing it via an evolutionary algorithm is linear when taken in context of the growth of computing power, while putting in the information we already know about the brain from studying the actual working models we've got all around us and constructing an artificial brain based on those principles is an exponential growth _on top of_ the exponential growth of computing power. So rather than throw up my hands and say 'well, I'll just wait till the linear process gets there and hope its within my lifetime' I think I'd place my bets on active engineering getting there first. After all, we managed to make those light sensors in decades by that method whereas an evolutionary-algorithm approach would take millions of years.
There is a problem with using a set goal to achieve intelligence. Any sort of scheme where the programmer has to supervise learning is going to run into problems, not necessarily because you don't have the computing power or the intelligence in-neurons to achieve the goal, but because defining a goal that requires 'be creative, with all of these different faculties' is almost as hard of a problem to actually do as designing the intelligence from the ground up. We want the things to speak languages, be able to write poems, symbolically solve math problems and move virtual crates to reach virtual bananas. And we'd like them to do it in about 10 years of training at most, not the hundred thousand years that might be reasonable for these things to develop in nature (and thats given an existing brain-schematic by that time that already has most of the signal processing stuff!)
What you're proposing is essentially an evolutionary algorithm to arrive at a properly structured brain. So be prepared to wait as long as it took for the brain to evolve in the first place.
Well, that works as long as you ignore the fact that the brain is differentiated and modular. We have a chunk of flesh for language, a chunk of flesh for smells, a chunk of flesh to keep our heart beating, and all of these have different internal organization which is formed at the genetic level. So it goes a bit beyond 'stick a bunch of neurons together and you've got an AI'. You have to stick them together in the right initial structure so that they can fill in with something resembling a functioning intelligence. Or prepare to wait a very very long time for some evolutionary algorithm to figure out just what those structures should be.
Modelling a single neuron has been done decently when it comes to the thresholding behavior, transmission of signals, etc. The chemical responses I'm not so sure are well-modelled at this point, though it wouldn't surprise me if a number of them are. But you still need to know 'okay, I need to arrange these cells in a series of columns so they can process different angled structures in my visual field', 'these cells need to be in sequence so I can have a working memory', etc. At least, unless you find some very different way of obtaining human-level intelligence which hasn't been exhibited in nature.
Okay, so what's the computer equivalent? Most spam is about the same size as my regular email. Actually, a lot of it is smaller since people sometimes send me papers, which are usually about a megabyte. So perhaps there should be some required file size limit to prevent swamping a connection, the same as there is a difference between a DDOS and sending a ping request. But I don't see any individual piece of spam as getting anywhere near that limit, nor is the quantity I get - pre filtering - even a fraction of the bandwidth I use to receive a single email with a paper attached to it.
I think there's a bit of a problem in concept here. The lack of a guarantee to be heard means that you don't have to listen, it doesn't mean that you have the right to shut up anyone who is speaking nearby. Just like with your house, if you lock down the doors and put up no trespassing signs, then no, someone can't come in and speak to you at their will. But an email server without a whitelist or other kind of selective reception policy is like throwing open your door and putting up a 'strangers are welcome to come in and speak' sign. It is a service that that machine provides that listens to ANY incoming communication. It seems hypocritical to me to complain that other people should incur liability for taking advantage of the offer that your server has made to the world just because you don't happen to like the things they chose to say to it.
Well, the way I see it a good model will tell you a bit of both - what to expect and why. You can use simulations to get to the heart of behaviors and then match it against the huge slew of things going on in any real physical system. For example, in crystal growth. You can get dendrites and fingering instabilities from a huge number of different systems. It could be fluid flow (pressure field) or solidification (temperature field) or accretion (concentration field). But these all end up being treated by the same mathematics, and the mechanism is quite general.
So what does that let you know that you couldn't know before? Well, if you have a system with multiple such fields you can perhaps determine which one is significant by looking at the selected wavelength and comparing to the predictions from the model based on the diffusion coefficients. So given a complicated physical system that exhibits particular qualitative behavior you can narrow down the possible causes of that behavior.
If you have absolutely new qualitative behavior that you simply cannot understand, a computer model lets you change things which aren't physically possible to change in order to determine what the relevant degrees of freedom are. If I have some block of superconductor, I can't normally change the coherence length or penetration depth and see what happens (at least, not without changing other variables, e.g. the temperature). In a computer model I can do this and see how the behavior of the system changes with those alterations.
It's true though that it's less useful when there isn't some qualitative behavior you want to explain, but rather a single number - there might be many difference causes for a Tc being 10K above or below where you expect, and it would be nigh impossible to say 'well, I adjusted my model and got this Tc so I must understand the source of that'. But if you have something more distinct - a discontinuity in some property that shouldn't otherwise exist, then you're looking at a qualitative change in the behavior which might point to some underlying change in the symmetries of the system - e.g. a phase transition of some sort. In which case constructing a series of models to find out just what sort of symmetry breaking gives you that discontinuity can shed light on what the underlying physical mechanism is.
In this article, what's interesting is more that this is a new numerical technique at measuring the properties of a class of models, rather than this being the solution of a particular model. It's akin to a new experimental technique - on it's own, it doesn't tell you anything, but when you apply it to a system of interest... For instance, while one might argue that regular liquid-gas transitions have been studied to death, you could probably apply this sort of thing to more exotic things such as multi-species fluids, charged fluids, granular fluids, fluids dominated by quantum mechanical effects e.g. electron gasses, etc. Time will tell.
I don't know that science makes any assertions about 'true' reality though. I mean, the way to falsify the assumption you're stating is if what we see and experience is all illusion and there is some underlying 'true' reality in which we actually exist which does not affect the illusion. And science makes no claim about such a thing.
But science does make statements such as 'if I can observe a certain thing occuring consistently, I can make predictions about my future observations'. Which I think neatly gets around the issue of a 'true reality'.
The basis of natural science (and atheism too, if you like) is that if you cannot observe something nor observe its effects on anything (this includes making accurate predictions which would otherwise be impossible in the absence of such a thing) then it does not effect your observations. That seems to me a tautology, as long as it's applied to a single observation and not as forward knowledge.
The assumption there is 'if I've measured X 99 times, I expect to measure it again the 100th time because (as far as I know) nothing has fundamentally changed'. And while that is an assumption, it has worked quite well. The true measure of science isn't an abstract truth which it delivers, but its ability to predict and manipulate events successfully. Although this is philosophically unsatisfying, a totally false theory which allows one to predict things with 100% accuracy (down to some specific quantity, not in the sense of 'I predict that its random') would be better science than a 50% true theory (I don't know how you'd measure this quantity though...) which only gives 90% accurate predictions given the same basic information.
Well then, to prevent cops from zeroing in on the sender you need to have some form of onion routing. That wrecks triangulation unless you have a sufficient density of compromised agents that all stops in the route go through compromised agents and the route length is known. In fact, this makes even more sense given the nature of this technology:
Distribute a song by sending to nearest nodes, then those nodes send to all nearby nodes, and so on. If it matches preferences then keep a copy, otherwise delete once the send is done. Then you get a bit of natural cover. There's still a bit of risk that you could be detected by some sort of hot/cold method, looking at the transfer rates at different points in the room and finding the center of that pattern. But that might be possible to defeat by random delays or buffering between receiving a data stream and resending, so that the output rate is the same as the input rate.
Anyhow, it makes for some interesting games to play. I rather like the idea, especially if it's easy to hack like unencrypted wireless, giving everyone a good bit of deniability.
It's an interesting thought, but the real question is 'how?'. You're basically describing a 'stabilized anarchy'. Normally if you have an anarchy, the first pair of people who realizes they can team up and repress the rest can gain all of the power. If the government is eliminated entirely then it can't prevent corporations from forming. If corporations (read large groups of people acting towards the same goal) are eliminated entirely then there's no check on government.
With libertarianism, the idea is to just keep a sufficient government to prevent mob rule by associations of individuals, but severely curtail it in all other fields, so that those associations can still do large projects which would be impossible for individuals.
I find the question of how to stabilize an anarchy quite compelling though. I don't think the last word has been said on that topic by any means. In some way, one has to ensure that force cannot be applied by any group on any other. Without the ability to enforce laws, there can be no government. But that assurance of non-forcing has to be implemented in such a way that it doesn't require the ability to apply force to be given to any person or group of people in the system.
The internet seems to have that property for the most part. So one might say the internet qualifies as a stabilized anarchy, though since everyone has to go through businesses in their home countries and can be locked up by their own governments, it is perhaps only metastable. And it's hard to see how to apply the properties of the internet to any real-life interaction.
The question you should ask is, should I be demanding that everyone release their secret information? I'd tend to think not. If someone releases something to the wide world, its perfectly justifiable to me to do anything with that information that you can, but I don't see it as reasonable to demand that if they release something, they also release everything related to it. That crosses the line between non-restriction and entitlement. The issue for me with copyright is that I cannot abide a law which lets people control how another person uses information which they are aware of. So whether or not that leads to more or less sharing is irrelevant to me.
But even then I don't really think it will lead to less sharing. Yes, some programs will be released as binary-only and no source will accompany it. But on the other hand, there will be no laws against reverse-engineering the binaries, redistributing the binaries, etc. Any limitation a company attempts to place on that process will have to be purely technological, not legal, but thats a realm in which there is a large body of people eminently able to compete.
Also, right now if a company wishes to go binary-only, they simply have to not use any GPL code. Then there is absolutely no leverage on them. At least in the absence of copyrights (and patents, lets not forget patents) no restrictions can be placed upon our parallel development. What I mean to say is, if a company releases something which has a feature, and they manage to get a software patent on that feature or perhaps they release a program with lush copyrightable graphics - we run into a legal wall if we wished to make an opensource duplication of that program. But in the absence of copyright/patents, the worst that can happen is that we need to reconstruct the functionality from scratch to make an opensource alternative, which is something that can be done (and has been done repeatedly, including some legally grey examples).
So what happens is, companies sell binaries, but they can't make much money because people keep redistributing the binaries legally, so they need to go to some other model. They could sell the sourcecode - that would be one way to adapt, but they would sell it for a very large price to recoup the development costs. And of course, what this is looking like is a commission-style development scheme. You pay me X and I write code that does what you want. Without giving you that code, why would you pay me? So in that case, sourcecode makes it out.
This doesn't even bother to mention those people who will distribute their program but then sell services, or those people who don't care about making money from their code one way or another and just put the entire thing online for everyone to grab. Without the GPL, there will still be sourcecode distributed because not everyone cares so strongly about maintaining control. If this doesn't make sense to you, just compare it to the step up. You ask 'why would you surrender your secret information and void its value'. Well, when you go to a GPL license you surrender your control over the redistribution of your stuff, which means you've lost whatever value you could have extracted by limiting the supply of binaries or source and making a sale to each individual. Yet people still do that. The answer to why people put code under the GPL will also answer why people would put code into the public view in the absence of copyrights.
I think we need to get away from this 'lets motivate this action by passing a law to benefit it' approach. It seems to work very well in the short term, but in the long term conditions change and the original purpose of the law disappears. It leads to very twisted and strange legalities, where the continued existance of the law becomes the purpose of the law. This is, I believe, the case with copyright and could very well become the case with the GPL. Perhaps what's needed is a unrevocable sunset clause.
The trick is in how your structure changes with evidence. Science is never about absolute proof, because that's impossible for the reason you just gave. I can do an experiment 2x10^9 times and get the same thing, but that doesn't guarantee I get it the very next time. However, what one does in science is construct models that maximize the likelyhood of a correct prediction that next time based on every single piece of data that one has acquired before (ideally). One can test these models by, for instance, dividing one's data into two subsets which are 'unaware' of eachother. I take 1x10^9 experiments, build a model from those, and then test it against the other 1x10^9 experiments. In that sense, one can determine the best empirical model, based on how well the model can predict things which were not directly used to derive it. That doesn't mean that its 'right'. And if a measurement occurs which falsifies it, it must be replaced/improved.
Causality happens to be a very good predictor, though you have to be careful about things like simultaneity when dealing with very large distances and things like mutual information and what degrees of freedom are actually independant when dealing with very small lengths. The experiment to test Bell's inequality for instance is an experiment that probes the nature of causality.
Now, in practice, there is an article of faith that comes into it, but it's not really causality or homogeneity of time (though those can be related to it). It's simplicity. This is where you get things like Occam's Razor, which are used as guidelines but are not provably true - that is, from fundamental logical principles we cannot show that the simplest explanation is always the correct one given equal predictive power.
There is even a principle that the simplest explanation can trump even a complex one with better accuracy. The reason for that principle is that scientists become very very good at constructing models that do exactly what they want. The requirement of simplicity is a check against ourselves, because something very complicated with 200 free parameters gives us 200 ways of forcing it to fit the data - in our experience this also means the fit will be fragile to new data, whereas something with zero free parameters gives us no leverage. It is our mistrust of our own thought processes that rationalizes holding such a rule.
On the other hand, we do have a lot of evidence that very simple models _can_ be very good predictors. That sort of thing can even be formalized - in some cases, for instance around critical points in systems with phase transitions. You can prove mathematically given some particular large set of complex (but well-defined) models that have that critical point, they will all reduce to a single simple model as you approach the point. While that does not prove that nature follows that simpler model to a 't', it does show that (in situations where models of that broad class are indicated) making the assumption of the simplest model will not cause a large (or any!)difference in the resulting predictive power.
The point of all this is, I guess, that since 'absolute truth' is completely out of the question, there is philosophical leeway in finding the best predictor instead. And the true test of that best predictor is in fact how it predicts future events which, as you point out, may not follow the same rules as all the past events.
Again, there is not requirement that anyone enforce the GPL. When you distribute software you derived from GPL'd code, you are only required to do provide sources &c. Those are the only requirements. In no way are you obliged to defend your rights---those given to you by the copyright owner.
Here's the trick though. If thats the case, then I can un-GPL any piece of code by including it with code that I have the copyright to and then simply refusing to enforce the GPL on my combined program. Now, I don't think thats realistic - it would likely not hold up in court. But the question is, who gets to bring it to court?
I'd guess that the most likely interpretation under the law would be that if I create some combined program with my copyrighted code (which it will turn out that I must put under a GPL compatible license) and GPL code by some other author, then the original author of that GPL section is the one who would do the enforcing should my combined program be modified and distributed as binary-only by some third party. However, I'm not a lawyer - I don't know if that interpretation is correct. I'm not even entirely sure that the GPL is incompatible with me placing the combined work under the public domain and not putting any limits to its distribution - those limits would be in place implicitly due to that segment of GPL code which I do not have the right to public domain. But if the third party then stripped out that segment...
The consequence of that is that you need to keep track of a long chain of contributors and developers. It's the sort of thing the linux kernel to make any change in license, even to GPL 3 since the kernel license specifies a particular version of the GPL that its under.
Here's another one. The LGPL allows dynamic linking to non-GPL-compatible code. But the GPL does not. So, what if I make a multi-layer program?
I take the GPL code and I create a wrapper around it which takes the various major functions of that code and processes data that it is passed as an argument when it is run on the console. I now have a simple GPL program which I can call through system() from a piece of proprietary code. When I distribute, I include the source to that simple GPL program and the binaries, but the proprietary stuff I leave closed. Have I just violated the GPL, or did I just find a loophole?
IANAL and all, but I'd imagine no right comes with a legal obligation to defend it (I can imagine cases in which the moral obligation might be arguable...)
It's an interesting question isn't it. I can think of a few cases like that however. Failure to secure one's vehicle and it's used for a crime. Probably the same sort of ruling would follow from failure to secure a firearm, and its used to commit a crime.
I just hope that we're not looking at the sort of future where every creative work is required by law to be locked down in some way, lest it be used by someone to violate the copyright of a many-person-removed author who may have contributed something to a project from which a different part was used in a third project, part of which became part of my creative work.
The thing is, some people will want not to tell others what they modified while at the same time distributing the code; if they are allowed to do whatever they want with it, this is fine. That is one thing the GPL does not want to allow.
Yes, which I always took to simply be a self-stabilizing measure. The first few programs I distributed I put under the GPL not because I was concerned with someone changing the binary without sending me the source of their modifications, but to prevent someone from taking the code, claiming it as their own, and using legal pressures to prevent _me_ from distributing it. Then I realized that even public domain would give that much protection. I have to wonder how the set of programmers who release GPL code is divided between those who use
Legalisms are the language in which such things are written. This is a in a way a sad situation, because legalese is not understood by common mortals. But carefully crafted legalese is the only way to function in this context.
I object to the use of "virus" or "covert" because those words imply the wrong intent. Any good specification out there is obscured by the technical analogue of legalisms, yet you would not call,say, XML Schema Part 1 a "covert" spec---and you will agreee, upon inspection of that spec, that common mortals cannot understand that thing.
However, that's written in a language which is understandable to the people that document is targetted to. It's technical writing, targetted to people who wish to implement XML. The GPL however is not targetted solely to lawyers.
The GPL requires no one to sue no one. It is a grant of distribution rights from the copyright owner to the licensee.
This is not clear to me, for the following reason. I create a derived work from some GPL program. Clearly and obviously derived under any interpretation. But that work also contains some of my own code. Now, I want to release that. According to the GPL, I must GPL my own code to be permitted to release it. But, what if I don't care to enforce the license on my own code - namely, I say 'I promise not to sue anyone over any use of this program'. Haven't I just violated the GPL by effectively permitting usages (i.e. closed-source redistribution) of my program that violate the GPL? So on whose head does it fall on to enforce the GPL? The original author? Me? It doesn't seem clear to me, but maybe it would be clear to a lawyer.
My problem is that nowadays programmers are being forced to turn into lawyers. It shouldn't be an issue which opensource license I choose to use, but if I use license A which could be incompatible with B and C because C has an attribution clause and.... well, you get the idea. It's not fantasy, this shows up all the time. Debian's restrictiveness about what packages they can include, compatibility between the Apache license and others, and so on. It just bogs everything down.
Ideally (well my ideal at least) everything is just public domain and everyone does with it what they want. This state would not suffer from the fear of being taken advantage of because there would be no legal pressures that could be applied to you to prevent you from remodifying code.
So the real question for me is, how do we get to that state. It isn't something which can be reached via continuous processes because of people's fear of being taken advantage of. Anything that weakens copyright also weakens people's ability to prevent others from just taking their code and losing the ability to make successive changes. Unless at some point people let go of their fear and take the chance that their code will be misused - in that case it might be possible. Making decisions based on that fear means holding on to the means to control how one's code is used, which means that we'll never be free of restrictions on the transmission of information.
But it is covert, in the sense that it is obscured by legalisms. Perhaps not so much as the various EULAs out there. The fact that 50% of the time when someone posts something about the GPL they've misunderstood its implications in a legal sense means that the requirements of the licensee are obfuscated in such a way that they may easily catch a new developer unaware.
For instance, I still can't figure out whether, if I were to use a piece of GPL code in the creation of a public domain program, what would the legality and my responsibilities under the law be? Would I be prevented from placing _any_ section of my code into the public domain? Or just the stuff that directly interacts with the GPL part? Or just the GPL part?
If I did such a thing, could I be required by law to go after someone who violated the license that I have given them to use my sections of the code? For instance, I take program X, crop out a function, stick it in my code and inform the reader that that particular function falls under GPL even if the rest of the code is public domain. Then, if someone uses my entire program in a way that isn't permitted by the GPL, am I required to sue them, or does it fall to the original author of that GPL segment?
The real problem with the GPL is that basically it is a construct of legalisms, not a construct of technology. The plethora of licenses out there and the requirement of programmers to evaluate licenses means that a programmer must have an exceptional understanding of the law to even safely consider using ANY of this code thats out there. Legally, there is no problem with that - you can put any license on your stuff that you want within the broad limitations of copyright law.
But the real question we have to ask is - does this go against the original intent of the GPL? This may not be historically accurate, but the way I see it, the idea was to get people writing source code and exchanging it for eachother's use, with its ultimate ideal being 'all code is out there in some form or another and we can all learn from eachother's work'. The GPL was created as something which would spread by applying a certain avenue of force (copyright law) and create large groups of people where the code was shared.
The problem as I see it however is that the GPL can never be more than a _local_ maximum towards that goal. The endstate of the GPL spreading is that copyright law is still required, and the usage of code limited by license. Because the GPL propagates itself so well, it preserves itself even if the majority of people wanted to PD their code. So we will never reach a state where a programmer doesn't need to worry about licenses through this process.
Unfortunately, I'm not sure there's a practical solution to that. As long as copyright law exists, this will be a problem. And as the community of GPL-users grows, there will be a vested interest in _keeping_ copyright law, to protect GPL'd programs.
We already see this sort of thing pointed out by trolls on/. who complain about how people supporting the GPL but not supporting the prohibition-to-copy of other things are hypocrites. I say, those trolls have already bought into this mindset. They've lost sight of the point that the GPL was designed to weaken copyright restrictions in general (by setting a clause that on GPL software the restrictions can never grow). But that clause also means the restrictions can never decrease.
I think, if and when we move to a point where a majority of software is opensourced, this catch is going to come back and bite us.
No, I don't think I'm entitled to free music. But I don't think artists should be entitled to a monopoly on how their creations are used. What I mean is, if no one wants to make music because they can't protect it, I'm willing to live with that as a consequence of removing that protection. And I'm willing to donate my income to support or commission work from artists who I want to encourage. But as part of that, I expect that that work becomes uncontrolled once it is released. Let those who still want to make music do so, and if no one does then so be it.
Yes, I currently do have a stick to get such things as a freely-given multimillion dollar idea or a piece of music I have composed or sourcecode or research or whatever back. That is the sort of law I am arguing against.
If I spend forty hours a week painting graffiti on public property, why should someone be able to just go and look at it without paying me? Or, if I spend forty hours a week establishing a cult, why should somebody be able to un-brainwash some of those people I've spent so much effort brainwashing, or...
Yes, I realize these aren't great analogies, but my point is that just become someone spends time and effort on something doesn't mean they deserve to have everything related to it go exactly as they desire. If I posess an object, it doesn't matter if I spent one minute or one year coming into posession of it, the law protects me from theft the same regardless. If I write a song, and someone sneaks into my house and steals the sheet music, well, thats one thing.
But if I play it to someone, either for a fee or for free, then that information is theirs to do with as they will. They can think about it, they can replay it in their head, they can hum it. And, if they have the right equipment, I don't see why burning a copy of it to a CD is any different. They certainly aren't depriving me of my own physical copy of my song, so it isn't theft. And I don't buy that just because I made that thing, automatically all of the income I could _potentially_ make from it is my property, before I've even made it. That screams 'entitlement' to me.
If I decide to give away a multimillion dollar idea by accident or intentionally, I don't see that the law should step in and give me a stick to use to get it back. If I've told a friend, sold it to someone untrustworthy, etc, then its on my head when it gets spread around. If you sell a CD to a customer who is going to copy it, regardless of what the current laws says about that, I see it as the same deal. You've given them the ability to make duplicates, just as if you had sung the song to someone with a recording device secreted in their vest or the auditory equivalent of a photographic memory and a lot of instrumental skill. Just because one is easy and the other is hard doesn't in my mind make them different from a fundamental perspective, and I certainly think my right to do with the stuff in my head what I will should trump any legal monopoly on content.
The problem with ID isn't just that it has no proof. It's that its unprovable and un-disprovable. THATs what makes it unscientific. For any scientific hypothesis there should be a measurement, analysis, whatever on which its conclusions depend, such that if that measurement is performed and a different result is obtained, it falsifies the hypothesis. It's all well and good to talk about looking at the evidence before you make up your mind, but that has to be within the context of things for which evidence can actually differentiate between different theories.
The way ID is designed, ANY measurement can be explained away by 'oh, the all-powerful intelligence just decided to set it up that way'. On the other hand, evolutionary theory makes predictions about speciation, the connectivity and mutural relations between different species, etc which can - and all HAVE been - attacked. It has withstood those attacks very well - that is what lends credence to it.
Unfortunately, some people look at that and say 'oh, there is controversy - so any old idea I can throw together must be equally valid!'. And if that 'any old idea' is designed in such a way that it is un-attackable, it comes out smelling like a rose 'see how easy it is to attack evolution? but my idea no one has even found a way to attack it yet!'. That's the logical fallacy that leads to this whole mess.
Anyhow, there are MANY problems with education, etc that are leading to the US falling behind. But that seems to me a lesser point (maybe not in 10 years?). At universities at least, large amounts of the graduate research are done by international students, and many professors are immigrants. That number can be as high as 50% in places. If our educational system is so wretched, at least theirs is often not. So we do still have a large number of brains working on problems within US borders, even if (thankfully?) only half of them were actually educated within the US.
However, the US appears less and less inviting every day to people from the rest of the world. Our standing in the international community has fallen because of our recent actions in the Middle East, and our standing in the scientific community has fallen because of the very visible religious zealots frothing at the mouth over stem cells, evolution, etc. Not to mention that the current administration has a bad track record with ignoring science advisors and trying to influence the results of research studies. Even if those zealots comprise a fraction of a percent of the population, they have a lot of clout. There seems to be an underestimation of just how far this ID thing has spread into law, lots of people saying 'its just in court in Kansas'. Well, its also in Pennsylvania
and there have been attempts to push it into law in Michigan (HB 4946).
Scientists in the US are already up in arms about all of these issues - we're nervous and wondering if this country is really a good place be a scientist anymore. If you were a scientist from outside the US, thinking of a place to go to do your research, and you saw this sort of thing going on in the US, would YOU pick it?
In general its a bad idea to try to measure a small quantity by taking the difference of two large quantities, because the error in your measurements of the large quantities will absolutely demolish any information you might have extracted about the small one, unless you take herculean efforts. Similarly, one shouldn't do multiplication by a series of addition operations.
The example you give is like that. You're talking about multiplying a small number by a large one (the molecular mass by the # of things in a mole). That's fine, since if someone were to measure the molecular mass of a compound 10^-15 +/- 10^-30, that 10^-30 part will still be of the same proportion and will still be insignificant with respect to the total mass.
The grandparent post isn't saying that 0.00000001 is always insignificant, but is rather saying that in cases where adding it to a large number produces roundoff it's insignificant (i.e. their relative magnitudes are very different).
Now, a case in which this sort of thing can make a huge difference is if you're talking about things like spectroscopy, where the relative width of an absorption line (in energy units, say) is extremely small compared to the magnitudes of the energies involved. There an extra 10^-10 can make a large difference in the results, and in fact thats why you use spectroscopy to measure extremely small perturbations (Mossbauer effect for the magnetic environment of nuclei, NMR for spin interactions, etc).
Yeah, you're right... I guess acceleration is the best way to measure it with a single number after all (that is, without bringing in geometric details... 75Gs of acceleration of a corner vs a face vs an edge, relative to the free-fall acceleration of the internal components...).
Well, if you have an object that drops for a full second and then comes to a stop in 10 milliseconds, thats 100Gs of shock right there. So dropping it from, say, one meter (0.45 sec) and then stopping in 6 milliseconds would do it. For some uniform resistive force, thats a deformation of the impact surface of about a centimeter. Probably dropping it from chest height onto a wood floor would violate that warranty, assuming it lands edge or face-on (if it lands on a point, it can rotate around and extend the time of the collision a bit).
I'm not sure if the shock is really what you should use to measure sensitivity of a drive, since it can probably survive 75Gs for a short enough time (short enough that the acceleration stops before any two internal components are brought into contact). Total impulse maybe?
Well, the thing that bugs me about vendors doing it is, if the government does it all it does is change the legality, not the possibility. So no matter what the govt wants to do to abuse its list, it still doesn't get to prevent the actual call from being made.
On the other hand, letting a vendor handle blocking means they can make choices that are totally invisible to the client. This happens with ISPs implementing spam filters by default - users don't necessarily know if some essential email isn't getting through because its running up against the filter, and if they don't know that the filter is in place they don't even have the knowledge to check.
Of course, if it ever gets to the point where the government tells vendors to block certain calls under legal threats, thats the time to get antsy.
At present, it would be a lot easier to subvert any abusive attempt at government censorship through this sort of list than any abusive attempt at censorship by a private company encouraged to selectively block calls. Any sufficiently pervasive organized group can be indistinguishable from government.
Not to say that phone companies should be forbidden from offering such a service, but I'd be upset about them doing such things _by default_ and without informing the customer - as some ISPs have done. That seems like a breach of contract to me, in that they're not providing the full service that you signed up for.
The difference is, television and radio are pull forms of communication. You select the channel to process and route that information through your hardware. An advertiser cannot remotely turn on your TV and change its channel. If they could, that would be a violation of your property rights.
It's the same with spyware.
Telephones are push media. Someone remotely controls the operation of your device. Now, you say 'this person can choose to not answer' but I say that still doesn't prevent their hardware from being used in a way that may be against their wishes. A DNC list is essentially a soft (legal, not technological) way of saying 'only these people are permitted to access my hardware'. It's a legal firewall, and the only reason it _has_ to be regulated by the government is that its a legal measure rather than a technological one.
I'd like it better if, for instance, all businesses, charities, etc were required by law to only use numbers visible to caller ID. I think that would probably solve a lot of this automatically especially if that information were accompanied by a few bits describing what type of business/organization/etc it is. Then you could say 'I'm not taking calls from charities, block everything with the charity bit set'. Of course, the phone equipment isn't all at that level yet. For people who still have primitive analog devices not configurable to that level, the only way for such screening to exist is at the legal level.
The thing is, this isn't a matter of the government saying 'organizations X,Y,Z cannot call anyone, organizations U and V can call everyone' (though I think the exemptions given to charitable organizations and political organizations are problematic in that sense, it should be broad spectrum or not at all). This is a matter of a private citizen registering their desire not to be contacted - if they don't take this action, then there is nothing preventing them from being contacted - no suppression of speech.
If however they say 'I do not wish to be contacted by groups in these categories' then doing so IS a violation of their rights, perhaps of a lesser magnitude than but of the same form as trespassing on their property when they have adequate signage up. If you'd respect a no-trespassing sign, why not respect that they've registered in a central location their desire not to be contacted?
In this, the government only acts as the location of the repository, giving you a nice and easy way of checking to see who will 'shoot' you when you step on their property and who will not. They are not adding people to the list by default, or against their wishes. There is still _no penalty assesed_ unless the person being called _against their will_ actually comes foward with the event.
If you trespass on someone's property you shouldn't be surprised if they take legal action against you, even if 'its the first time and I'm just establishing communication'.
Well, it really doesn't matter so much if the 500 year old physicists don't believe anything discovered after they turned 100, because anyone who _does+ use that new knowledge will have a big advantage over them in any kind of related research.
It's a bigger issue if you have someone like that in a position of power of course, but thats a risk you take with _anyone_, 20 years old, 50 years old, whatever. So we'd need to make sure that there are strong competency tests for high up (public) positions - not a bad idea anyhow I'd think.
Brain plasticity is a bit of an issue anyhow, since quality of life is a lot less if you can't learn new things, can't remember new things, etc even though your body is perfectly healthy. And its not just a philosophical viewpoint, decrease in brain plasticity is a biological effect. So there's a chance it can be studied and fixed/adjusted at will along with the other things that the immortality treatment is supposed to repair.
I'd say this is the first step to it though. Lets forget about natural language for a second and look at computer algebra systems, proof generators, etc. How is the inference that you talk about any different than a computerized proof system proving something based on bits of information it has stored away? I think it's pretty similar really, except for the part about knowing what thing you want to prove/confirm.
So how does that sort of thing work? Well, in mathematics you can have something like y=f(x) and substitute f(x) whenever you see y or vice versa. You also know various other rules that are of the same form, e.g. a(b+c) = ab+ac. Then, you can brute-force trying different combinations (or be smart about it and modularize some set of translations to create a new compound rule which is true, e.g. a lemma).
It may not be so easy in languages, but there are transformations you can apply to sentences. For instance, you can do some rearrangements like:
A is under B Under B, there is A.
And there are ways that these relations (spatial relations especially) distribute:
A is in B, B is under C -> A is under C.
So to understand 'Anna has two kids' you have to know: 1. That you want to evaluate the truth/falseness of 'is Anna available to go out' and 2. Various pieces of social information about 'going out', people who are married, people who have kids, etc.
If you have 2 you should be able to use a method in the same vein as a computer algebra system to determine how what was just said applies to your question.
Hey, it works for atoms when we can't even solve the three body problem analytically. And yet somehow when there's 10^23 of the things, we can get the scaling laws, phase diagrams, equations of state, etc with pen and paper. I don't find it hard to believe at all that while one person's behavior may be very hard to predict well, the average behavior and even scale of the fluctuations in behavior of a few billion people would be very easy to predict.
Population density seems to be a good place to start... so many things seem to be tightly coupled to population density. If you look at political affiliations in the US for example, there's a correlation between liberal/conservative and population density. Crime, etc of course scales with population density.
In a sense its a measure of 'how much am I affected by other people'. In a low density area, encounters with other people that have a significant unintentional and undesired effect are low. In a high density area, you can't help but press up against dozens of people a day who might mug you, smoke near you, transmit a disease to you, or whatever.
So thats one variable; there's likely to be two or three that are really important, and the rest are sort of small perturbations. Second might be economic level perhaps? Or technological? Get some output data like crime rate, distribution of causes of death, education levels, job occupancies, population density, tech level, economic level, and so on and do a principle component analysis on that. Maybe it'll reveal the significant contributors, or maybe not, but it's probably worth a shot for some grad student doing social science.
Then you can do fun things like construct a phase diagram from your data and find out little factoids like 'if the population density rises above X, dictatorships become fundamentally unstable!' that let the more power hungry analysts set up a perpetual dynasty with rules controlling population growth or something like that.
Isn't statistical mechanics fun?
Yeah, fortunately thinking the way to a problem is usually faster than gradient descent. The problem isn't exponential growth of computers v. linear growth of brains, but rather that you're not going to get away with simulating _one_ brain. If you build em this way you're going to have to simulate a hundred billion different brains and compare their performance. Which means that while computer power may be growing exponentially, your algorithm itself isn't going to converge exponentially any more than evolution's development of a brain converged exponentially.
That is to say, doing it via an evolutionary algorithm is linear when taken in context of the growth of computing power, while putting in the information we already know about the brain from studying the actual working models we've got all around us and constructing an artificial brain based on those principles is an exponential growth _on top of_ the exponential growth of computing power. So rather than throw up my hands and say 'well, I'll just wait till the linear process gets there and hope its within my lifetime' I think I'd place my bets on active engineering getting there first. After all, we managed to make those light sensors in decades by that method whereas an evolutionary-algorithm approach would take millions of years.
There is a problem with using a set goal to achieve intelligence. Any sort of scheme where the programmer has to supervise learning is going to run into problems, not necessarily because you don't have the computing power or the intelligence in-neurons to achieve the goal, but because defining a goal that requires 'be creative, with all of these different faculties' is almost as hard of a problem to actually do as designing the intelligence from the ground up. We want the things to speak languages, be able to write poems, symbolically solve math problems and move virtual crates to reach virtual bananas. And we'd like them to do it in about 10 years of training at most, not the hundred thousand years that might be reasonable for these things to develop in nature (and thats given an existing brain-schematic by that time that already has most of the signal processing stuff!)
What you're proposing is essentially an evolutionary algorithm to arrive at a properly structured brain. So be prepared to wait as long as it took for the brain to evolve in the first place.
Well, that works as long as you ignore the fact that the brain is differentiated and modular. We have a chunk of flesh for language, a chunk of flesh for smells, a chunk of flesh to keep our heart beating, and all of these have different internal organization which is formed at the genetic level. So it goes a bit beyond 'stick a bunch of neurons together and you've got an AI'. You have to stick them together in the right initial structure so that they can fill in with something resembling a functioning intelligence. Or prepare to wait a very very long time for some evolutionary algorithm to figure out just what those structures should be.
Modelling a single neuron has been done decently when it comes to the thresholding behavior, transmission of signals, etc. The chemical responses I'm not so sure are well-modelled at this point, though it wouldn't surprise me if a number of them are. But you still need to know 'okay, I need to arrange these cells in a series of columns so they can process different angled structures in my visual field', 'these cells need to be in sequence so I can have a working memory', etc. At least, unless you find some very different way of obtaining human-level intelligence which hasn't been exhibited in nature.
Okay, so what's the computer equivalent? Most spam is about the same size as my regular email. Actually, a lot of it is smaller since people sometimes send me papers, which are usually about a megabyte. So perhaps there should be some required file size limit to prevent swamping a connection, the same as there is a difference between a DDOS and sending a ping request. But I don't see any individual piece of spam as getting anywhere near that limit, nor is the quantity I get - pre filtering - even a fraction of the bandwidth I use to receive a single email with a paper attached to it.
I think there's a bit of a problem in concept here. The lack of a guarantee to be heard means that you don't have to listen, it doesn't mean that you have the right to shut up anyone who is speaking nearby. Just like with your house, if you lock down the doors and put up no trespassing signs, then no, someone can't come in and speak to you at their will. But an email server without a whitelist or other kind of selective reception policy is like throwing open your door and putting up a 'strangers are welcome to come in and speak' sign. It is a service that that machine provides that listens to ANY incoming communication. It seems hypocritical to me to complain that other people should incur liability for taking advantage of the offer that your server has made to the world just because you don't happen to like the things they chose to say to it.
Well, the way I see it a good model will tell you a bit of both - what to expect and why. You can use simulations to get to the heart of behaviors and then match it against the huge slew of things going on in any real physical system. For example, in crystal growth. You can get dendrites and fingering instabilities from a huge number of different systems. It could be fluid flow (pressure field) or solidification (temperature field) or accretion (concentration field). But these all end up being treated by the same mathematics, and the mechanism is quite general.
So what does that let you know that you couldn't know before? Well, if you have a system with multiple such fields you can perhaps determine which one is significant by looking at the selected wavelength and comparing to the predictions from the model based on the diffusion coefficients. So given a complicated physical system that exhibits particular qualitative behavior you can narrow down the possible causes of that behavior.
If you have absolutely new qualitative behavior that you simply cannot understand, a computer model lets you change things which aren't physically possible to change in order to determine what the relevant degrees of freedom are. If I have some block of superconductor, I can't normally change the coherence length or penetration depth and see what happens (at least, not without changing other variables, e.g. the temperature). In a computer model I can do this and see how the behavior of the system changes with those alterations.
It's true though that it's less useful when there isn't some qualitative behavior you want to explain, but rather a single number - there might be many difference causes for a Tc being 10K above or below where you expect, and it would be nigh impossible to say 'well, I adjusted my model and got this Tc so I must understand the source of that'. But if you have something more distinct - a discontinuity in some property that shouldn't otherwise exist, then you're looking at a qualitative change in the behavior which might point to some underlying change in the symmetries of the system - e.g. a phase transition of some sort. In which case constructing a series of models to find out just what sort of symmetry breaking gives you that discontinuity can shed light on what the underlying physical mechanism is.
In this article, what's interesting is more that this is a new numerical technique at measuring the properties of a class of models, rather than this being the solution of a particular model. It's akin to a new experimental technique - on it's own, it doesn't tell you anything, but when you apply it to a system of interest... For instance, while one might argue that regular liquid-gas transitions have been studied to death, you could probably apply this sort of thing to more exotic things such as multi-species fluids, charged fluids, granular fluids, fluids dominated by quantum mechanical effects e.g. electron gasses, etc. Time will tell.
I don't know that science makes any assertions about 'true' reality though. I mean, the way to falsify the assumption you're stating is if what we see and experience is all illusion and there is some underlying 'true' reality in which we actually exist which does not affect the illusion. And science makes no claim about such a thing.
But science does make statements such as 'if I can observe a certain thing occuring consistently, I can make predictions about my future observations'. Which I think neatly gets around the issue of a 'true reality'.
The basis of natural science (and atheism too, if you like) is that if you cannot observe something nor observe its effects on anything (this includes making accurate predictions which would otherwise be impossible in the absence of such a thing) then it does not effect your observations. That seems to me a tautology, as long as it's applied to a single observation and not as forward knowledge.
The assumption there is 'if I've measured X 99 times, I expect to measure it again the 100th time because (as far as I know) nothing has fundamentally changed'. And while that is an assumption, it has worked quite well. The true measure of science isn't an abstract truth which it delivers, but its ability to predict and manipulate events successfully. Although this is philosophically unsatisfying, a totally false theory which allows one to predict things with 100% accuracy (down to some specific quantity, not in the sense of 'I predict that its random') would be better science than a 50% true theory (I don't know how you'd measure this quantity though...) which only gives 90% accurate predictions given the same basic information.
Well then, to prevent cops from zeroing in on the sender you need to have some form of onion routing. That wrecks triangulation unless you have a sufficient density of compromised agents that all stops in the route go through compromised agents and the route length is known. In fact, this makes even more sense given the nature of this technology:
Distribute a song by sending to nearest nodes, then those nodes send to all nearby nodes, and so on. If it matches preferences then keep a copy, otherwise delete once the send is done. Then you get a bit of natural cover. There's still a bit of risk that you could be detected by some sort of hot/cold method, looking at the transfer rates at different points in the room and finding the center of that pattern. But that might be possible to defeat by random delays or buffering between receiving a data stream and resending, so that the output rate is the same as the input rate.
Anyhow, it makes for some interesting games to play. I rather like the idea, especially if it's easy to hack like unencrypted wireless, giving everyone a good bit of deniability.
It's an interesting thought, but the real question is 'how?'. You're basically describing a 'stabilized anarchy'. Normally if you have an anarchy, the first pair of people who realizes they can team up and repress the rest can gain all of the power. If the government is eliminated entirely then it can't prevent corporations from forming. If corporations (read large groups of people acting towards the same goal) are eliminated entirely then there's no check on government.
With libertarianism, the idea is to just keep a sufficient government to prevent mob rule by associations of individuals, but severely curtail it in all other fields, so that those associations can still do large projects which would be impossible for individuals.
I find the question of how to stabilize an anarchy quite compelling though. I don't think the last word has been said on that topic by any means. In some way, one has to ensure that force cannot be applied by any group on any other. Without the ability to enforce laws, there can be no government. But that assurance of non-forcing has to be implemented in such a way that it doesn't require the ability to apply force to be given to any person or group of people in the system.
The internet seems to have that property for the most part. So one might say the internet qualifies as a stabilized anarchy, though since everyone has to go through businesses in their home countries and can be locked up by their own governments, it is perhaps only metastable. And it's hard to see how to apply the properties of the internet to any real-life interaction.
The question you should ask is, should I be demanding that everyone release their secret information? I'd tend to think not. If someone releases something to the wide world, its perfectly justifiable to me to do anything with that information that you can, but I don't see it as reasonable to demand that if they release something, they also release everything related to it. That crosses the line between non-restriction and entitlement. The issue for me with copyright is that I cannot abide a law which lets people control how another person uses information which they are aware of. So whether or not that leads to more or less sharing is irrelevant to me.
But even then I don't really think it will lead to less sharing. Yes, some programs will be released as binary-only and no source will accompany it. But on the other hand, there will be no laws against reverse-engineering the binaries, redistributing the binaries, etc. Any limitation a company attempts to place on that process will have to be purely technological, not legal, but thats a realm in which there is a large body of people eminently able to compete.
Also, right now if a company wishes to go binary-only, they simply have to not use any GPL code. Then there is absolutely no leverage on them. At least in the absence of copyrights (and patents, lets not forget patents) no restrictions can be placed upon our parallel development. What I mean to say is, if a company releases something which has a feature, and they manage to get a software patent on that feature or perhaps they release a program with lush copyrightable graphics - we run into a legal wall if we wished to make an opensource duplication of that program. But in the absence of copyright/patents, the worst that can happen is that we need to reconstruct the functionality from scratch to make an opensource alternative, which is something that can be done (and has been done repeatedly, including some legally grey examples).
So what happens is, companies sell binaries, but they can't make much money because people keep redistributing the binaries legally, so they need to go to some other model. They could sell the sourcecode - that would be one way to adapt, but they would sell it for a very large price to recoup the development costs. And of course, what this is looking like is a commission-style development scheme. You pay me X and I write code that does what you want. Without giving you that code, why would you pay me? So in that case, sourcecode makes it out.
This doesn't even bother to mention those people who will distribute their program but then sell services, or those people who don't care about making money from their code one way or another and just put the entire thing online for everyone to grab. Without the GPL, there will still be sourcecode distributed because not everyone cares so strongly about maintaining control. If this doesn't make sense to you, just compare it to the step up. You ask 'why would you surrender your secret information and void its value'. Well, when you go to a GPL license you surrender your control over the redistribution of your stuff, which means you've lost whatever value you could have extracted by limiting the supply of binaries or source and making a sale to each individual. Yet people still do that. The answer to why people put code under the GPL will also answer why people would put code into the public view in the absence of copyrights.
I think we need to get away from this 'lets motivate this action by passing a law to benefit it' approach. It seems to work very well in the short term, but in the long term conditions change and the original purpose of the law disappears. It leads to very twisted and strange legalities, where the continued existance of the law becomes the purpose of the law. This is, I believe, the case with copyright and could very well become the case with the GPL. Perhaps what's needed is a unrevocable sunset clause.
The trick is in how your structure changes with evidence. Science is never about absolute proof, because that's impossible for the reason you just gave. I can do an experiment 2x10^9 times and get the same thing, but that doesn't guarantee I get it the very next time. However, what one does in science is construct models that maximize the likelyhood of a correct prediction that next time based on every single piece of data that one has acquired before (ideally). One can test these models by, for instance, dividing one's data into two subsets which are 'unaware' of eachother. I take 1x10^9 experiments, build a model from those, and then test it against the other 1x10^9 experiments. In that sense, one can determine the best empirical model, based on how well the model can predict things which were not directly used to derive it. That doesn't mean that its 'right'. And if a measurement occurs which falsifies it, it must be replaced/improved.
Causality happens to be a very good predictor, though you have to be careful about things like simultaneity when dealing with very large distances and things like mutual information and what degrees of freedom are actually independant when dealing with very small lengths. The experiment to test Bell's inequality for instance is an experiment that probes the nature of causality.
Now, in practice, there is an article of faith that comes into it, but it's not really causality or homogeneity of time (though those can be related to it). It's simplicity. This is where you get things like Occam's Razor, which are used as guidelines but are not provably true - that is, from fundamental logical principles we cannot show that the simplest explanation is always the correct one given equal predictive power.
There is even a principle that the simplest explanation can trump even a complex one with better accuracy. The reason for that principle is that scientists become very very good at constructing models that do exactly what they want. The requirement of simplicity is a check against ourselves, because something very complicated with 200 free parameters gives us 200 ways of forcing it to fit the data - in our experience this also means the fit will be fragile to new data, whereas something with zero free parameters gives us no leverage. It is our mistrust of our own thought processes that rationalizes holding such a rule.
On the other hand, we do have a lot of evidence that very simple models _can_ be very good predictors. That sort of thing can even be formalized - in some cases, for instance around critical points in systems with phase transitions. You can prove mathematically given some particular large set of complex (but well-defined) models that have that critical point, they will all reduce to a single simple model as you approach the point. While that does not prove that nature follows that simpler model to a 't', it does show that (in situations where models of that broad class are indicated) making the assumption of the simplest model will not cause a large (or any!)difference in the resulting predictive power.
The point of all this is, I guess, that since 'absolute truth' is completely out of the question, there is philosophical leeway in finding the best predictor instead. And the true test of that best predictor is in fact how it predicts future events which, as you point out, may not follow the same rules as all the past events.
Here's the trick though. If thats the case, then I can un-GPL any piece of code by including it with code that I have the copyright to and then simply refusing to enforce the GPL on my combined program. Now, I don't think thats realistic - it would likely not hold up in court. But the question is, who gets to bring it to court?
I'd guess that the most likely interpretation under the law would be that if I create some combined program with my copyrighted code (which it will turn out that I must put under a GPL compatible license) and GPL code by some other author, then the original author of that GPL section is the one who would do the enforcing should my combined program be modified and distributed as binary-only by some third party. However, I'm not a lawyer - I don't know if that interpretation is correct. I'm not even entirely sure that the GPL is incompatible with me placing the combined work under the public domain and not putting any limits to its distribution - those limits would be in place implicitly due to that segment of GPL code which I do not have the right to public domain. But if the third party then stripped out that segment...
The consequence of that is that you need to keep track of a long chain of contributors and developers. It's the sort of thing the linux kernel to make any change in license, even to GPL 3 since the kernel license specifies a particular version of the GPL that its under.
Here's another one. The LGPL allows dynamic linking to non-GPL-compatible code. But the GPL does not. So, what if I make a multi-layer program?
I take the GPL code and I create a wrapper around it which takes the various major functions of that code and processes data that it is passed as an argument when it is run on the console. I now have a simple GPL program which I can call through system() from a piece of proprietary code. When I distribute, I include the source to that simple GPL program and the binaries, but the proprietary stuff I leave closed. Have I just violated the GPL, or did I just find a loophole?
It's an interesting question isn't it. I can think of a few cases like that however. Failure to secure one's vehicle and it's used for a crime. Probably the same sort of ruling would follow from failure to secure a firearm, and its used to commit a crime.
I just hope that we're not looking at the sort of future where every creative work is required by law to be locked down in some way, lest it be used by someone to violate the copyright of a many-person-removed author who may have contributed something to a project from which a different part was used in a third project, part of which became part of my creative work.
However, that's written in a language which is understandable to the people that document is targetted to. It's technical writing, targetted to people who wish to implement XML. The GPL however is not targetted solely to lawyers.
This is not clear to me, for the following reason.
I create a derived work from some GPL program. Clearly and obviously derived under any interpretation. But that work also contains some of my own code. Now, I want to release that. According to the GPL, I must GPL my own code to be permitted to release it. But, what if I don't care to enforce the license on my own code - namely, I say 'I promise not to sue anyone over any use of this program'. Haven't I just violated the GPL by effectively permitting usages (i.e. closed-source redistribution) of my program that violate the GPL? So on whose head does it fall on to enforce the GPL? The original author? Me? It doesn't seem clear to me, but maybe it would be clear to a lawyer.
My problem is that nowadays programmers are being forced to turn into lawyers. It shouldn't be an issue which opensource license I choose to use, but if I use license A which could be incompatible with B and C because C has an attribution clause and.... well, you get the idea. It's not fantasy, this shows up all the time. Debian's restrictiveness about what packages they can include, compatibility between the Apache license and others, and so on. It just bogs everything down.
Ideally (well my ideal at least) everything is just public domain and everyone does with it what they want. This state would not suffer from the fear of being taken advantage of because there would be no legal pressures that could be applied to you to prevent you from remodifying code.
So the real question for me is, how do we get to that state. It isn't something which can be reached via continuous processes because of people's fear of being taken advantage of. Anything that weakens copyright also weakens people's ability to prevent others from just taking their code and losing the ability to make successive changes. Unless at some point people let go of their fear and take the chance that their code will be misused - in that case it might be possible. Making decisions based on that fear means holding on to the means to control how one's code is used, which means that we'll never be free of restrictions on the transmission of information.
But it is covert, in the sense that it is obscured by legalisms. Perhaps not so much as the various EULAs out there. The fact that 50% of the time when someone posts something about the GPL they've misunderstood its implications in a legal sense means that the requirements of the licensee are obfuscated in such a way that they may easily catch a new developer unaware.
/. who complain about how people supporting the GPL but not supporting the prohibition-to-copy of other things are hypocrites. I say, those trolls have already bought into this mindset. They've lost sight of the point that the GPL was designed to weaken copyright restrictions in general (by setting a clause that on GPL software the restrictions can never grow). But that clause also means the restrictions can never decrease.
For instance, I still can't figure out whether, if I were to use a piece of GPL code in the creation of a public domain program, what would the legality and my responsibilities under the law be? Would I be prevented from placing _any_ section of my code into the public domain? Or just the stuff that directly interacts with the GPL part? Or just the GPL part?
If I did such a thing, could I be required by law to go after someone who violated the license that I have given them to use my sections of the code? For instance, I take program X, crop out a function, stick it in my code and inform the reader that that particular function falls under GPL even if the rest of the code is public domain. Then, if someone uses my entire program in a way that isn't permitted by the GPL, am I required to sue them, or does it fall to the original author of that GPL segment?
The real problem with the GPL is that basically it is a construct of legalisms, not a construct of technology. The plethora of licenses out there and the requirement of programmers to evaluate licenses means that a programmer must have an exceptional understanding of the law to even safely consider using ANY of this code thats out there. Legally, there is no problem with that - you can put any license on your stuff that you want within the broad limitations of copyright law.
But the real question we have to ask is - does this go against the original intent of the GPL?
This may not be historically accurate, but the way I see it, the idea was to get people writing source code and exchanging it for eachother's use, with its ultimate ideal being 'all code is out there in some form or another and we can all learn from eachother's work'. The GPL was created as something which would spread by applying a certain avenue of force (copyright law) and create large groups of people where the code was shared.
The problem as I see it however is that the GPL can never be more than a _local_ maximum towards that goal. The endstate of the GPL spreading is that copyright law is still required, and the usage of code limited by license. Because the GPL propagates itself so well, it preserves itself even if the majority of people wanted to PD their code. So we will never reach a state where a programmer doesn't need to worry about licenses through this process.
Unfortunately, I'm not sure there's a practical solution to that. As long as copyright law exists, this will be a problem. And as the community of GPL-users grows, there will be a vested interest in _keeping_ copyright law, to protect GPL'd programs.
We already see this sort of thing pointed out by trolls on
I think, if and when we move to a point where a majority of software is opensourced, this catch is going to come back and bite us.
No, I don't think I'm entitled to free music. But I don't think artists should be entitled to a monopoly on how their creations are used. What I mean is, if no one wants to make music because they can't protect it, I'm willing to live with that as a consequence of removing that protection. And I'm willing to donate my income to support or commission work from artists who I want to encourage. But as part of that, I expect that that work becomes uncontrolled once it is released. Let those who still want to make music do so, and if no one does then so be it.
Yes, I currently do have a stick to get such things as a freely-given multimillion dollar idea or a piece of music I have composed or sourcecode or research or whatever back. That is the sort of law I am arguing against.
If I spend forty hours a week painting graffiti on public property, why should someone be able to just go and look at it without paying me? Or, if I spend forty hours a week establishing a cult, why should somebody be able to un-brainwash some of those people I've spent so much effort brainwashing, or ...
Yes, I realize these aren't great analogies, but my point is that just become someone spends time and effort on something doesn't mean they deserve to have everything related to it go exactly as they desire. If I posess an object, it doesn't matter if I spent one minute or one year coming into posession of it, the law protects me from theft the same regardless. If I write a song, and someone sneaks into my house and steals the sheet music, well, thats one thing.
But if I play it to someone, either for a fee or for free, then that information is theirs to do with as they will. They can think about it, they can replay it in their head, they can hum it. And, if they have the right equipment, I don't see why burning a copy of it to a CD is any different. They certainly aren't depriving me of my own physical copy of my song, so it isn't theft. And I don't buy that just because I made that thing, automatically all of the income I could _potentially_ make from it is my property, before I've even made it. That screams 'entitlement' to me.
If I decide to give away a multimillion dollar idea by accident or intentionally, I don't see that the law should step in and give me a stick to use to get it back. If I've told a friend, sold it to someone untrustworthy, etc, then its on my head when it gets spread around. If you sell a CD to a customer who is going to copy it, regardless of what the current laws says about that, I see it as the same deal. You've given them the ability to make duplicates, just as if you had sung the song to someone with a recording device secreted in their vest or the auditory equivalent of a photographic memory and a lot of instrumental skill. Just because one is easy and the other is hard doesn't in my mind make them different from a fundamental perspective, and I certainly think my right to do with the stuff in my head what I will should trump any legal monopoly on content.
The problem with ID isn't just that it has no proof. It's that its unprovable and un-disprovable. THATs what makes it unscientific. For any scientific hypothesis there should be a measurement, analysis, whatever on which its conclusions depend, such that if that measurement is performed and a different result is obtained, it falsifies the hypothesis. It's all well and good to talk about looking at the evidence before you make up your mind, but that has to be within the context of things for which evidence can actually differentiate between different theories.
The way ID is designed, ANY measurement can be explained away by 'oh, the all-powerful intelligence just decided to set it up that way'. On the other hand, evolutionary theory makes predictions about speciation, the connectivity and mutural relations between different species, etc which can - and all HAVE been - attacked. It has withstood those attacks very well - that is what lends credence to it.
Unfortunately, some people look at that and say 'oh, there is controversy - so any old idea I can throw together must be equally valid!'. And if that 'any old idea' is designed in such a way that it is un-attackable, it comes out smelling like a rose 'see how easy it is to attack evolution? but my idea no one has even found a way to attack it yet!'. That's the logical fallacy that leads to this whole mess.
Anyhow, there are MANY problems with education, etc that are leading to the US falling behind. But that seems to me a lesser point (maybe not in 10 years?). At universities at least, large amounts of the graduate research are done by international students, and many professors are immigrants. That number can be as high as 50% in places. If our educational system is so wretched, at least theirs is often not. So we do still have a large number of brains working on problems within US borders, even if (thankfully?) only half of them were actually educated within the US.
However, the US appears less and less inviting every day to people from the rest of the world. Our standing in the international community has fallen because of our recent actions in the Middle East, and our standing in the scientific community has fallen because of the very visible religious zealots frothing at the mouth over stem cells, evolution, etc. Not to mention that the current administration has a bad track record with ignoring science advisors and trying to influence the results of research studies. Even if those zealots comprise a fraction of a percent of the population, they have a lot of clout. There seems to be an underestimation of just how far this ID thing has spread into law, lots of people saying 'its just in court in Kansas'. Well, its also in Pennsylvania
http://www.msnbc.msn.com/id/9444600/
http://www.geocities.com/lclane2/dover.html
and there have been attempts to push it into law in Michigan (HB 4946).
Scientists in the US are already up in arms about all of these issues - we're nervous and wondering if this country is really a good place be a scientist anymore.
If you were a scientist from outside the US, thinking of a place to go to do your research, and you saw this sort of thing going on in the US, would YOU pick it?
In general its a bad idea to try to measure a small quantity by taking the difference of two large quantities, because the error in your measurements of the large quantities will absolutely demolish any information you might have extracted about the small one, unless you take herculean efforts. Similarly, one shouldn't do multiplication by a series of addition operations.
The example you give is like that. You're talking about multiplying a small number by a large one (the molecular mass by the # of things in a mole). That's fine, since if someone were to measure the molecular mass of a compound 10^-15 +/- 10^-30, that 10^-30 part will still be of the same proportion and will still be insignificant with respect to the total mass.
The grandparent post isn't saying that 0.00000001 is always insignificant, but is rather saying that in cases where adding it to a large number produces roundoff it's insignificant (i.e. their relative magnitudes are very different).
Now, a case in which this sort of thing can make a huge difference is if you're talking about things like spectroscopy, where the relative width of an absorption line (in energy units, say) is extremely small compared to the magnitudes of the energies involved. There an extra 10^-10 can make a large difference in the results, and in fact thats why you use spectroscopy to measure extremely small perturbations (Mossbauer effect for the magnetic environment of nuclei, NMR for spin interactions, etc).
Yeah, you're right... I guess acceleration is the best way to measure it with a single number after all (that is, without bringing in geometric details... 75Gs of acceleration of a corner vs a face vs an edge, relative to the free-fall acceleration of the internal components...).
Well, if you have an object that drops for a full second and then comes to a stop in 10 milliseconds, thats 100Gs of shock right there. So dropping it from, say, one meter (0.45 sec) and then stopping in 6 milliseconds would do it.
For some uniform resistive force, thats a deformation of the impact surface of about a centimeter. Probably dropping it from chest height onto a wood floor would violate that warranty, assuming it lands edge or face-on (if it lands on a point, it can rotate around and extend the time of the collision a bit).
I'm not sure if the shock is really what you should use to measure sensitivity of a drive, since it can probably survive 75Gs for a short enough time (short enough that the acceleration stops before any two internal components are brought into contact). Total impulse maybe?
Well, the thing that bugs me about vendors doing it is, if the government does it all it does is change the legality, not the possibility. So no matter what the govt wants to do to abuse its list, it still doesn't get to prevent the actual call from being made.
On the other hand, letting a vendor handle blocking means they can make choices that are totally invisible to the client. This happens with ISPs implementing spam filters by default - users don't necessarily know if some essential email isn't getting through because its running up against the filter, and if they don't know that the filter is in place they don't even have the knowledge to check.
Of course, if it ever gets to the point where the government tells vendors to block certain calls under legal threats, thats the time to get antsy.
At present, it would be a lot easier to subvert any abusive attempt at government censorship through this sort of list than any abusive attempt at censorship by a private company encouraged to selectively block calls. Any sufficiently pervasive organized group can be indistinguishable from government.
Not to say that phone companies should be forbidden from offering such a service, but I'd be upset about them doing such things _by default_ and without informing the customer - as some ISPs have done. That seems like a breach of contract to me, in that they're not providing the full service that you signed up for.
The difference is, television and radio are pull forms of communication. You select the channel to process and route that information through your hardware. An advertiser cannot remotely turn on your TV and change its channel. If they could, that would be a violation of your property rights.
It's the same with spyware.
Telephones are push media. Someone remotely controls the operation of your device. Now, you say 'this person can choose to not answer' but I say that still doesn't prevent their hardware from being used in a way that may be against their wishes. A DNC list is essentially a soft (legal, not technological) way of saying 'only these people are permitted to access my hardware'. It's a legal firewall, and the only reason it _has_ to be regulated by the government is that its a legal measure rather than a technological one.
I'd like it better if, for instance, all businesses, charities, etc were required by law to
only use numbers visible to caller ID. I think that would probably solve a lot of this automatically especially if that information were accompanied by a few bits describing what type of business/organization/etc it is. Then you could say 'I'm not taking calls from charities, block everything with the charity bit set'. Of course, the phone equipment isn't all at that level yet. For people who still have primitive analog devices not configurable to that level, the only way for such screening to exist is at the legal level.
The thing is, this isn't a matter of the government saying 'organizations X,Y,Z cannot call anyone, organizations U and V can call everyone' (though I think the exemptions given to charitable organizations and political organizations are problematic in that sense, it should be broad spectrum or not at all). This is a matter of a private citizen registering their desire not to be contacted - if they don't take this action, then there is nothing preventing them from being contacted - no suppression of speech.
If however they say 'I do not wish to be contacted by groups in these categories' then doing so IS a violation of their rights, perhaps of a lesser magnitude than but of the same form as trespassing on their property when they have adequate signage up. If you'd respect a no-trespassing sign, why not respect that they've registered in a central location their desire not to be contacted?
In this, the government only acts as the location of the repository, giving you a nice and easy way of checking to see who will 'shoot' you when you step on their property and who will not. They are not adding people to the list by default, or against their wishes. There is still _no penalty assesed_ unless the person being called _against their will_ actually comes foward with the event.
If you trespass on someone's property you shouldn't be surprised if they take legal action against you, even if 'its the first time and I'm just establishing communication'.
Well, it really doesn't matter so much if the 500 year old physicists don't believe anything discovered after they turned 100, because anyone who _does+ use that new knowledge will have a big advantage over them in any kind of related research.
It's a bigger issue if you have someone like that in a position of power of course, but thats a risk you take with _anyone_, 20 years old, 50 years old, whatever. So we'd need to make sure that there are strong competency tests for high up (public) positions - not a bad idea anyhow I'd think.
Brain plasticity is a bit of an issue anyhow, since quality of life is a lot less if you can't learn new things, can't remember new things, etc even though your body is perfectly healthy. And its not just a philosophical viewpoint, decrease in brain plasticity is a biological effect. So there's a chance it can be studied and fixed/adjusted at will along with the other things that the immortality treatment is supposed to repair.
I'd say this is the first step to it though. Lets forget about natural language for a second and look at computer algebra systems, proof generators, etc. How is the inference that you talk about any different than a computerized proof system proving something based on bits of information it has stored away? I think it's pretty similar really, except for the part about knowing what thing you want to prove/confirm.
So how does that sort of thing work? Well, in mathematics you can have something like y=f(x) and substitute f(x) whenever you see y or vice versa. You also know various other rules that are of the same form, e.g. a(b+c) = ab+ac. Then, you can brute-force trying different combinations (or be smart about it and modularize some set of translations to create a new compound rule which is true, e.g. a lemma).
It may not be so easy in languages, but there are transformations you can apply to sentences. For instance, you can do some rearrangements like:
A is under B Under B, there is A.
And there are ways that these relations (spatial relations especially) distribute:
A is in B, B is under C -> A is under C.
So to understand 'Anna has two kids' you have to know: 1. That you want to evaluate the truth/falseness of 'is Anna available to go out' and 2. Various pieces of social information about 'going out', people who are married, people who have kids, etc.
If you have 2 you should be able to use a method in the same vein as a computer algebra system to determine how what was just said applies to your question.