A MMORPG is a strange place where to hold a wedding.
Now in SL that sort of thing seems to happen pretty often. I'm not aware of the details because I don't get involved in things of the sort, but I think you can even rent a private simulator (part of SL run on one CPU) and make it private so that there can't be interruptions.
The way I understand it, the "you can't derive physics from math" argument is that there are things that mathematically make sense, but make no sense in reality.
Take Newton's law of universal gravitation for example. You can take that and plug a negative gravitational constant into it, or a negative mass. You can calculate perfectly what would happen if there existed such an object that repelled things instead of attracting them. You could probably make a number of interesting conclusions about what would happen if such a thing was found and what it'd be good for.
Only one little problem: Nobody found anything of the sort yet, so while mathematically it might work OK, it doesn't have much to do with reality, and thus physics.
Isn't that the goal of the vast majority of "successful" Linux applications -- to look just like their Windows counterpart? Afterall, we're trying to get people to switch to a different platform that they will be mostly uncomfortable with if we don't.
There's no such thing as a "Linux application" for the most part.
Most Linux applications are portable, so they're not specifically Linux applications. The vast majority work just fine on any other Unix-like system such as Solaris, many work fine on Windows as well.
Also, there aren't that many ways you can write the same thing anyway. KMail for example looks like a pretty normal mail client that Outlook users should be able to use quite easily. It'd be hard to actually make it look very different.
Now, there are exceptions, Mutt is successful but very un-Windows-like. Vim even with a Windows GUI would be very unfamiliar to Windows users as well.
Why is it so hard to effectively explain to the courts that Spamhaus has nothing to do with whether e360's messages get through or not, other than responding to a query from the receiving end asking if Spamhaus believes they are a spammer?
Because Spamhaus didn't show up in court to explain it. From Wikipedia:
Spamhaus initially succeeded in moving the case from state to federal court, but then stopped defending itself against the lawsuit, because it is based in the United Kingdom and outside the jurisdiction of United States courts. The American court had no choice but to award e360 a default judgment totaling $11,715,000 in damages. Spamhaus subsequently announced that it would ignore the judgment.
There's a very simple way of doing that, each student pays for their copy. Or you make it available as a PDF so whoever wants it can print it. Some teachers at our school did that and it worked fine. A couple had an obsession with the projector for some reason.
Limited rooms in overcrowded schools means a lab room is now a standard classroom, but with equipment on the desks.
But that wasn't the problem, we were leaving our own classroom empty, and taking a shared lab without using it.
And when will this student pre-training take place? After/before school? During a student's lunch period? They'll be *thrilled* by that prospect.
No, at the start of the year. If it's 3 months after the start, people should already understand how to use the computers on a basic level, and we shouldn't have to waste half of it on installing software and trying to figure out why it's not working.
As a teacher, these are the reasons why all of these things are done on a regular basis. Sadly.
As a former student, I can say that sometimes those things are done on a regular basis because teachers are incompetent.
We moved from our own classroom, which then became empty, to the lab, which was shared among the rest. So we were taking something that somebody else could have used in a more productive way. We could have just remained in our own classroom and avoided taking the lab uselessly.
I remember that when I was at school, teachers sometimes would use technology in a pointless way.
For example, pointless way to use a projector: Take your printed/handwritten notes without graphs or drawings and project them. Might just as well distribute copies. Projecting is pointless when there's nothing interesting to see, and the time to set it up takes away from the class.
Pointless way to use a lab: Get everybody into the lab, then tell them to open their books and study theory. Back then I was really puzzled what the point was. Today I'm fairly sure this must have been some way to get the school to claim the lab was used when it really wasn't. As a student, that was seriously annoying. Here I was thinking that we'd actually be testing something today, but no.
Wrong way to use computers: Get everybody into the computer room, then spend half the class messing with software that doesn't work, and going from computer to computer checking who's having what problems. Test before you try to use it in your class, make sure everybody knows how to do what's needed to follow.
All this probably sounds really obvious. But I've seen all of those mistakes done, sadly.
Should be read as "they will gain the possibility of handling that correctly". Doesn't mean they will perform a clean shutdown, but at least they'll be able to if they're programmed correctly.
If the OOM killer kills the process it will immediately terminate without any hope of performing a safe shutdown. That sort of thing is can be quite nasty for some applications. Imagine for example an application getting killed when it's halfway through writing some data file.
Does the BSD license allow people to make extensions and GPL the base code plus those extensions? Absolutely. Do BSD-style developers, then, have a right to be miffed if this is what happens? It's a hard question.
I would say that on the basis of what I've seen lately, the answer should be "no".
The GPL claim is: We don't want people to be able to close our code The BSD answer to that was: But source can't be closed, our version of it will always remain open
Now that was all fine and good, if you don't mind your code being used for whatever you want, then you don't, and there's nothing to argue about that.
But now we've got this curious development: If the BSD code is then integrated into a GPL product, and patches are released under the GPL, then suddenly that's taking away from BSD. This directly conflicts with the previous statement. By all logic, those people shouldn't care, yet they do.
FreeBSD likes lots of extra swap space. An idle system will notice that some process hasn't run in a month and will push it to swap, proactively freeing RAM for something else that might want it. Note that it will only page out a process's data segment; it's code segment uses the filesystem itself for paging (why copy "firefox" into swap when there's already a perfectly readable copy on the filesystem?).
Unless, of course, you unlink its executable file, in which case it allocates swap to hold the file first. Which also illustrates that while unnecessary computational complexity is bad, willingness to do complex things when the situation demands can lead to some pretty cool stuff.
Linux does all that as well.
What I mean here is that there is a limit to the amount of swap space that it makes sense to allow to be used. I've seen people discussing really overkill things like "I'm going to get a 15K RPM SCSI drive for the swap partition and assign all of it to swap". Just that you could assign 40GB to swap (on a 64 bit box you probably can, haven't tried), doesn't mean it'd be a good idea. The system would be as good as dead long before it used any significant fraction of that.
There's a point where adding more swap is only going to allow the system to run even worse instead of having the process die and fix the problem.
Well, I'm not an expert in scheduling stuff, but that sounds pretty complicated.
Say, what if you really need to run a process that causes the box to swap like mad? It could be that you're say, trying to build MAME, which seems to have a couple of files that make gcc consume about 512MB RAM. Now what if you need to do this on a box with just 384MB? Having the scheduler keep pausing it would only make it longer.
Then, the most evil type of swap death is a positive feedback loop. For example, mail servers. Too much mail arrives, resulting in some swapping. This in turn slows down the mail server, spamd, etc. Mail gets processed slower than usual and the number of running processes increases. More mail arrives slows things down even more. And so on until the server dies completely.
On my desktop, swap death ocassionally happens when compiling. kdevelop + second life + vmware + konqueror + kmail + a mono app can quite easily bring my 4GB RAM box very near the limit, but not to swapping just yet. Then if I start the compilation process, it can easily results in 2 copies of gcc wanting 512MB each, and things grind to a halt.
I don't think any scheduler will help you with that. The slowness is due to the swapping in and out from the disk, and that's going to be limited by the horribly slow speed of the disk.
You could tweak things to make this a less likely ocurrence though.
Disable overcommit by echo 2 >/proc/sys/vm/overcommit_memory. No more OOM killer killing some random unrelated process. Memory allocations will fail and programs will be able to handle that correctly.
Set some memory limits in/etc/security/limits.conf
Avoid having too much swap space. It's awfully slow, if you're using it too much all you'll manage is to run more things slower.
Get more RAM, it's cheap. If you're regularly swapping then you definitely should.
For example, I could invite you around my house and say "If you're hungry, grab something from the fridge". While it would be 'legal' for you to empty the entire contents of my fridge in to the back of your car and drive off with all my food, it's not exactly ethical.
Exactly right! Except "grab something from the fridge" is very fuzzy, while the GPL and BSD are very specific about what exactly they mean, and have been debated to death. By now everybody understands exactly what the BSD means.
Now the lesson is this: If what you feel and what say do not match, then you're going to have problems, and they'll only be your fault. If you say "Feel free to borrow my lawnmower whenever you need", and then your friend takes it right when you needed it, and that annoys you, whose fault is that? Your. If you say "Feel free to take my source and do whatever you want with it", and then they do, and the conditions under which they license it annoys you, whose fault is that? Your.
The problem here is exactly this: Some people licensing software under the BSD do it trying to appear more altruistic than they actually are (not saying this is all of them though). In this case Theo seems to be demonstrating that what he thinks should happen with his code, and the terms he actually licensed it under differ.
If there's something you don't want to be done with your software, don't release it into the public domain or under the BSD. If you don't actually want to have your project forked or built upon, don't release it under the GPL. If you don't want to have friends suddenly show up at 3AM, then don't tell them they can do that just because you wanted to look polite. If you offer to drive somebody somewhere, and that they actually accepted your invitation annoys you, then you shouldn't have done that.
IMO, trying to appear more polite and altruistic than you actually are is the cause of much annoyance in the world.
That's just it. Due to the GPL's viral nature, the BSD community cannot just "use it within the GPL limitations". Those "GPL limitations" would reportedly turn around and force the entire OpenBSD source base to be licensed under the GPL.
But the BSD license allows that! It could have well been integrated into some closed source, and then you'd never ever see any improvements to it. And if somebody ever found the source to that, you can bet they'd sue you if you merged it.
What I think annoys Theo about the GPL is the same thing that annoys Microsoft so much: All that source, available out there, yet out of reach! They would even prefer it to be closed, as that it's available out there for other people to use, but not for you must be quite annoying.
Your comment misses the point. What Theo claims (and he is right about it) is that by removing the BSD licence you don't contribute back to the BSD project that created the code you took. In other words you are doing just what you claim companies would be doing, because as soon as you put that under the GPL, the BSD project cannot use it anymore.
Right, but the BSD in fact gives you the permission to do this
What he said is that this type of action is equal to not playing the community game as far as the BSD project is concerned. Your code maybe available for Linux, but it is not available anymore for OpenBSD or other non-GPL project. In essence you are removing freedom on code you did not create. This is what is ironic.
Weirdest thing I've heard lately. This pretty much agrees with the GPL concept of "freedom" and seems to imply that BSD should be GPL licensed.
Your summary makes it crystal clear to me. GPL (copyleft) and its cousin (copyright) are both are subject to being violated the exact same way (theft of IP) and can only be redressed with the same methods (the judicial system).
Right. Which is why I think it's silly when people try to equate the GPL with the attempt to eliminate the ownership of ideas (I say this as an attempt of not saying "IP", which is a confusing term that includes unrelated things). The GPL depends on exactly the same base as copyright does, except takes it in the completely opposite direction. They call it "copyleft".
An abolition of the things underlying copyright wouldn't be a good outcome for GPL supporters. The result would be something much closer to BSD.
Everybody wants to protect their property. I might want to keep people from pirating my property and denying my right to profit while you want to keep people from taking your code without giving back their changes thus stealing by profiting (denying your right to "non-profit" I guess?). I don't like your license so I respect it by not incorporating your intellectual property into my code. If you don't like my license, don't use my binaries or listen to my music without paying me.
In the end... just don't steal peoples shit, okay?
But the problem is that people didn't do that, or we'd still have just the GPL2. The GPL3 is really the same concept as the GPL2 but more explicit. It appeared because Tivo and other companies thought they were awfully clever by following the letter of it, but going completely against the intention. So it had to be spelled out.
I think most of the problem is that forbidding distribution is easy, but forbidding hindering distribution is hard. Things like "you can't touch that" are clearcut. Nothing to argue about. But "You can't forbid touching that" runs into problems -- you don't forbid it, but then build a moat around it with crocodiles and laser turrets, and are technically compliant with the wording but not at all with the intention. "But I'm not technically forbidding touching it, all you have to do is to survive the laser turrets, kill bot and the atomic bomb at the end".
First, RMS fixed the GPL2 with the GPL3. He can make a new version to deal with this just fine.
Second, people who release software under such conditions generally agree with them, and as copyright holders they can change the license to deal with it.
But it still isn't allowed. You can tivoize your own code all you want, but you still must allow the replacement of GPL3 licensed parts.
The way I understand it, the GPL3 means that the device may not refuse to accept modified GPL3 software. Everything else may still be restricted as much as you please. So a device must accept a new version of bash (which I imagine must be GPL3 by now), but may not allow the replacement of a custom coded binary.
No, it works just fine as far as anti-tivoization is concerned.
The important thing here is that the GPL3 is a license that dicates terms only about the thing to which is applied. By that I mean, Samba is now under the GPL3, which means you can't tivoize Samba, but that doesn't say anything about whatever else you happen to include in the box.
GPL2: You can take Samba, modify it, release the patches, but make the hardware refuse to load any other version. So for instance if those patches were needed to run on that specific device, you've effectively closed that branch of the source. Sure your patches are there, but since they're for that specific hardware and you control it, it's absolutely useless for everybody else, and goes against the intention of the GPL.
GPL3: Under the GPL3 you MUST make Samba replaceable, VM or not.
You seem to understand the anti-tivoization as that the whole device must be open if GPL3 software is used. This is incorrect. The GPL3 on Samba only applies to Samba, and that's the only thing that must be replaceable. The GPL intends to keep the software which it applies to "free" (according to the FSF's definition). The hardware only needs to cooperate to comply with the license on the specific code it's applied to. Anything else isn't included.
Seems like the whole GPL 3 thing is "going the other way" if you step back and look at it.
But that was precisely the intention. To take copyright and turn it against itself. Where there was "you may not redistribute or modify without the copyright holder's permission" there's now "you may not forbid redistristibution or modification without the copyright holder's permission"
A MMORPG is a strange place where to hold a wedding.
Now in SL that sort of thing seems to happen pretty often. I'm not aware of the details because I don't get involved in things of the sort, but I think you can even rent a private simulator (part of SL run on one CPU) and make it private so that there can't be interruptions.
The way I understand it, the "you can't derive physics from math" argument is that there are things that mathematically make sense, but make no sense in reality.
Take Newton's law of universal gravitation for example. You can take that and plug a negative gravitational constant into it, or a negative mass. You can calculate perfectly what would happen if there existed such an object that repelled things instead of attracting them. You could probably make a number of interesting conclusions about what would happen if such a thing was found and what it'd be good for.
Only one little problem: Nobody found anything of the sort yet, so while mathematically it might work OK, it doesn't have much to do with reality, and thus physics.
There's no such thing as a "Linux application" for the most part.
Most Linux applications are portable, so they're not specifically Linux applications. The vast majority work just fine on any other Unix-like system such as Solaris, many work fine on Windows as well.
Also, there aren't that many ways you can write the same thing anyway. KMail for example looks like a pretty normal mail client that Outlook users should be able to use quite easily. It'd be hard to actually make it look very different.
Now, there are exceptions, Mutt is successful but very un-Windows-like. Vim even with a Windows GUI would be very unfamiliar to Windows users as well.
Because Spamhaus didn't show up in court to explain it. From Wikipedia:
It's that you can make a text client for them to log in and chat, even if nothing else works.
I don't do that myself, but I've heard people discuss it.
There's a very simple way of doing that, each student pays for their copy. Or you make it available as a PDF so whoever wants it can print it. Some teachers at our school did that and it worked fine. A couple had an obsession with the projector for some reason.
But that wasn't the problem, we were leaving our own classroom empty, and taking a shared lab without using it.
No, at the start of the year. If it's 3 months after the start, people should already understand how to use the computers on a basic level, and we shouldn't have to waste half of it on installing software and trying to figure out why it's not working.
As a former student, I can say that sometimes those things are done on a regular basis because teachers are incompetent.
Oh, that's the funniest thing.
We moved from our own classroom, which then became empty, to the lab, which was shared among the rest. So we were taking something that somebody else could have used in a more productive way. We could have just remained in our own classroom and avoided taking the lab uselessly.
I remember that when I was at school, teachers sometimes would use technology in a pointless way.
For example, pointless way to use a projector: Take your printed/handwritten notes without graphs or drawings and project them. Might just as well distribute copies. Projecting is pointless when there's nothing interesting to see, and the time to set it up takes away from the class.
Pointless way to use a lab: Get everybody into the lab, then tell them to open their books and study theory. Back then I was really puzzled what the point was. Today I'm fairly sure this must have been some way to get the school to claim the lab was used when it really wasn't. As a student, that was seriously annoying. Here I was thinking that we'd actually be testing something today, but no.
Wrong way to use computers: Get everybody into the computer room, then spend half the class messing with software that doesn't work, and going from computer to computer checking who's having what problems. Test before you try to use it in your class, make sure everybody knows how to do what's needed to follow.
All this probably sounds really obvious. But I've seen all of those mistakes done, sadly.
Should be read as "they will gain the possibility of handling that correctly". Doesn't mean they will perform a clean shutdown, but at least they'll be able to if they're programmed correctly.
If the OOM killer kills the process it will immediately terminate without any hope of performing a safe shutdown. That sort of thing is can be quite nasty for some applications. Imagine for example an application getting killed when it's halfway through writing some data file.
Nice way of solving problems.
Clearly the solution to this is yet another license:
"Do what thou wilt except re-license under a license that prohibits re-licensing under a (L)GPL or similarly viral license"
I would say that on the basis of what I've seen lately, the answer should be "no".
The GPL claim is: We don't want people to be able to close our code
The BSD answer to that was: But source can't be closed, our version of it will always remain open
Now that was all fine and good, if you don't mind your code being used for whatever you want, then you don't, and there's nothing to argue about that.
But now we've got this curious development: If the BSD code is then integrated into a GPL product, and patches are released under the GPL, then suddenly that's taking away from BSD. This directly conflicts with the previous statement. By all logic, those people shouldn't care, yet they do.
So why the inconsistency?
Linux does all that as well.
What I mean here is that there is a limit to the amount of swap space that it makes sense to allow to be used. I've seen people discussing really overkill things like "I'm going to get a 15K RPM SCSI drive for the swap partition and assign all of it to swap". Just that you could assign 40GB to swap (on a 64 bit box you probably can, haven't tried), doesn't mean it'd be a good idea. The system would be as good as dead long before it used any significant fraction of that.
There's a point where adding more swap is only going to allow the system to run even worse instead of having the process die and fix the problem.
Well, I'm not an expert in scheduling stuff, but that sounds pretty complicated.
Say, what if you really need to run a process that causes the box to swap like mad? It could be that you're say, trying to build MAME, which seems to have a couple of files that make gcc consume about 512MB RAM. Now what if you need to do this on a box with just 384MB? Having the scheduler keep pausing it would only make it longer.
Then, the most evil type of swap death is a positive feedback loop. For example, mail servers. Too much mail arrives, resulting in some swapping. This in turn slows down the mail server, spamd, etc. Mail gets processed slower than usual and the number of running processes increases. More mail arrives slows things down even more. And so on until the server dies completely.
On my desktop, swap death ocassionally happens when compiling. kdevelop + second life + vmware + konqueror + kmail + a mono app can quite easily bring my 4GB RAM box very near the limit, but not to swapping just yet. Then if I start the compilation process, it can easily results in 2 copies of gcc wanting 512MB each, and things grind to a halt.
I don't think any scheduler will help you with that. The slowness is due to the swapping in and out from the disk, and that's going to be limited by the horribly slow speed of the disk.
/proc/sys/vm/overcommit_memory. No more OOM killer killing some random unrelated process. Memory allocations will fail and programs will be able to handle that correctly.
/etc/security/limits.conf
You could tweak things to make this a less likely ocurrence though.
Disable overcommit by echo 2 >
Set some memory limits in
Avoid having too much swap space. It's awfully slow, if you're using it too much all you'll manage is to run more things slower.
Get more RAM, it's cheap. If you're regularly swapping then you definitely should.
Exactly right! Except "grab something from the fridge" is very fuzzy, while the GPL and BSD are very specific about what exactly they mean, and have been debated to death. By now everybody understands exactly what the BSD means.
Now the lesson is this: If what you feel and what say do not match, then you're going to have problems, and they'll only be your fault.
If you say "Feel free to borrow my lawnmower whenever you need", and then your friend takes it right when you needed it, and that annoys you, whose fault is that? Your.
If you say "Feel free to take my source and do whatever you want with it", and then they do, and the conditions under which they license it annoys you, whose fault is that? Your.
The problem here is exactly this: Some people licensing software under the BSD do it trying to appear more altruistic than they actually are (not saying this is all of them though). In this case Theo seems to be demonstrating that what he thinks should happen with his code, and the terms he actually licensed it under differ.
If there's something you don't want to be done with your software, don't release it into the public domain or under the BSD.
If you don't actually want to have your project forked or built upon, don't release it under the GPL.
If you don't want to have friends suddenly show up at 3AM, then don't tell them they can do that just because you wanted to look polite.
If you offer to drive somebody somewhere, and that they actually accepted your invitation annoys you, then you shouldn't have done that.
IMO, trying to appear more polite and altruistic than you actually are is the cause of much annoyance in the world.
But the BSD license allows that! It could have well been integrated into some closed source, and then you'd never ever see any improvements to it. And if somebody ever found the source to that, you can bet they'd sue you if you merged it.
What I think annoys Theo about the GPL is the same thing that annoys Microsoft so much: All that source, available out there, yet out of reach! They would even prefer it to be closed, as that it's available out there for other people to use, but not for you must be quite annoying.
Right, but the BSD in fact gives you the permission to do this
Weirdest thing I've heard lately. This pretty much agrees with the GPL concept of "freedom" and seems to imply that BSD should be GPL licensed.
*head explodes*
You should compare against VIA hardware. Their CPUs are crap for general usage, but the crypto acceleration is really good:
http://www.logix.cz/michal/devel/padlock/bench.xp
Page doesn't seem to include MD5/SHA1 though, but you can compare that to AES on your box.
Right. Which is why I think it's silly when people try to equate the GPL with the attempt to eliminate the ownership of ideas (I say this as an attempt of not saying "IP", which is a confusing term that includes unrelated things). The GPL depends on exactly the same base as copyright does, except takes it in the completely opposite direction. They call it "copyleft".
An abolition of the things underlying copyright wouldn't be a good outcome for GPL supporters. The result would be something much closer to BSD.
But the problem is that people didn't do that, or we'd still have just the GPL2. The GPL3 is really the same concept as the GPL2 but more explicit. It appeared because Tivo and other companies thought they were awfully clever by following the letter of it, but going completely against the intention. So it had to be spelled out.
I think most of the problem is that forbidding distribution is easy, but forbidding hindering distribution is hard. Things like "you can't touch that" are clearcut. Nothing to argue about. But "You can't forbid touching that" runs into problems -- you don't forbid it, but then build a moat around it with crocodiles and laser turrets, and are technically compliant with the wording but not at all with the intention. "But I'm not technically forbidding touching it, all you have to do is to survive the laser turrets, kill bot and the atomic bomb at the end".
Check maybe, but where'd you get the mate from?
First, RMS fixed the GPL2 with the GPL3. He can make a new version to deal with this just fine.
Second, people who release software under such conditions generally agree with them, and as copyright holders they can change the license to deal with it.
Aha, I think I see now. Pretty clever. Well, I suppose RMS will have to release GPL 3.1 for that. It's still new, so no big deal.
I'll have to make sure to add a clause to my software for that if RMS doesn't get around it first.
But it still isn't allowed. You can tivoize your own code all you want, but you still must allow the replacement of GPL3 licensed parts.
The way I understand it, the GPL3 means that the device may not refuse to accept modified GPL3 software. Everything else may still be restricted as much as you please. So a device must accept a new version of bash (which I imagine must be GPL3 by now), but may not allow the replacement of a custom coded binary.
No, it works just fine as far as anti-tivoization is concerned.
The important thing here is that the GPL3 is a license that dicates terms only about the thing to which is applied. By that I mean, Samba is now under the GPL3, which means you can't tivoize Samba, but that doesn't say anything about whatever else you happen to include in the box.
GPL2: You can take Samba, modify it, release the patches, but make the hardware refuse to load any other version. So for instance if those patches were needed to run on that specific device, you've effectively closed that branch of the source. Sure your patches are there, but since they're for that specific hardware and you control it, it's absolutely useless for everybody else, and goes against the intention of the GPL.
GPL3: Under the GPL3 you MUST make Samba replaceable, VM or not.
You seem to understand the anti-tivoization as that the whole device must be open if GPL3 software is used. This is incorrect. The GPL3 on Samba only applies to Samba, and that's the only thing that must be replaceable. The GPL intends to keep the software which it applies to "free" (according to the FSF's definition). The hardware only needs to cooperate to comply with the license on the specific code it's applied to. Anything else isn't included.
I don't understand what do you mean. Please explain.
But that was precisely the intention. To take copyright and turn it against itself. Where there was "you may not redistribute or modify without the copyright holder's permission" there's now "you may not forbid redistristibution or modification without the copyright holder's permission"