Ok I had to respond to this since you mention my home town (Endicott). Endicott was where IBM started and the reason I grew up here (my father was an IBM manager). IBM is all but gone here, not only did they layoff over 500 employees here, but they sold what was left to a local business. Their only presence here after this deal is finished is leasing a few buildings.
As for what Upstate New York is defined as, well that is pretty much anything north of the Bronx. I live 10 miles from the Pennsylvania border and I'm still upstate! A friend of mine from Queens was shocked to here that the it's over 280 miles from Albany to Buffalo. He didn't realize how big New York is. But then again half the population in New York is south of and including the Bronx.
It really is the openness of the code that attracts many to Linux. As to create a new RTOS from scratch, well that's a lot of work and not many companies will fund it. Someone did mention eCos from RedHat, but it's still not Linux.
What I mean is that Linux has a lot of drivers. To use another OS, you will not get as many drivers that come with linux.
Some say that Linux is "too big" for an embedded system. But today's embedded systems are not you daddy's embedded systems. They have more power and more memory.
Also you have the buzz word of Linux. We get a lot of reaction when we mention useing Linux for a device. There are a lot of managers out there that have heard the benefits of Linux, real or otherwise, and want to jump on it if they can.
I don't have much to say about Wind River. I use to work for Lockheed Martin, and had to deal with them quite a bit. The vxWorks we had had no support for virtual memory, and only supported FAT filesystems, which gave us a problem with a database server that had thousands of files. We had found a bug in their code and since our department wasn't a big customer, the support we got was to modify the source code ourselves (we had an NDA). This was pretty much the same as an open-source project answer, but we had to pay for the code, not to mention the "support"! Also, I might add that I got the impression that Wind River was pretty at ease with their monopoly on the embedded market that they didn't progress as much as they can/should. They seemed stuck in there ways of doing things, being a monopoly, and unless you were a GM, or maybe another department of LM, you really didn't get much out of them.
Sorry for the rant, and a little disclosure: I work for TimeSys.
You'd be amazed at all the embedded products out there. Cell phones, gas pumps, car navigation units, switch boards, traffic lights, answering machines, computer games, electronic toys, and this is just what I can think of at the moment, and there's much more. The PDA's may be overpriced, but there are not more of them out there then other embedded products, and I'm not counting the large DoD portion of embedded devices.
Now some of these can be used with Windows Embedded, but they are not that competitive price wise, nor do they offer anything better then what's already out there. You don't do well with "user friendly" interfaces when you are dealing with the embedded world.
Also what Gates mentions doesn't help any either.
Mr Gates pointed out that Windows XP Embedded required considerable testing after the options had been selected, and would not allow third-party software to be subsequently added
Who wants a product where you can't add third-party software on top.
Thanks, I now understand where you are coming from. Sorry I was mainly debating the way things work in Linux. I don't use Robert's kernel, since I use my companies. We have our own version of the Linux kernel that handles preemption.
The point still stands though for basically any resource that has a long (time-wise) lock on it.
This is a resource management issue and not a preemptive issue. Yes if you can make the locks on a resource shorter, the better. But most of the resources in the kernel are not protected by non preemption, and those that are are mainly just the global data. Now Linux is already made to work on a SMP, and with SMP processors you don't have the protection of non-preemption on your data as you did on UP. So spin_locks were made to do a busy loop on processors that were going to modify data that was currently being worked on by another processor. For UP these smp_locks are just nulled out (do { } while(0)). So what Robert (and others) have done is use the smp_locks as the places to protect data in a preemptive kernel. Most notably link lists.
What my point is, is that its not resources that can be accessed quicker, but that higher priority tasks can be accessed quicker. The locks on resources are not shortened by the preemptive kernel, but higher priority tasks are not postponed just because a lower priority task is in kernel mode.
Although a naive kernel could use non-preemption to protect resources, but that would be just silly (it may end up being windows 95;)
Maybe Roberts patches don't, but I know my OS does.
Really? why. Doesn't this mean higher cost of context switching. And if one preempts the other, doesn't this cause a back and forth infinit loop? What OS is yours?
I did continue to say that one would preempt the other, but only when its time ran out and not by the other one just becoming active. Now I would be curious to know of another algorithm and how it would be better.
The flaw is in 'Then app(b) will get a turn'. How can it if the device is locked by app(a).
This comment has nothing to do with a kernel being preemptive or not. This comment deals with resource management.
app(a) doesn't "Lock" the device for the entire read. The read calls for one block of data and then yes the device is blocked. When the data is returned, the next request is handled which may also be the request from app(b). The device is only blocked when it is receiving one block of data of a fixed size. The system call read will only block the device while grabbing one block of data, and that will allow other apps to be interleaved with the device.
Really? So what about tasks that are of equal priority?
So what's your point, a preemptive kernel will not preempt a task for a task with the same priority. These would be treated the same as if the kernel was not preemptive. Actually, this is not quite true. The one task would be preempted when its quanta runs out. And with a preemptive kernel this would even happen if the one task was in a system call. But that's the only difference between two tasks of equal priority running on a preemptive kernel, and two tasks of same priority running on a non preemptive kernel.
Preemtive kernels also improve responsiveness between equal priority tasks
I wouldn't say responsiveness but maybe something like smoother or more consistent. But I'm not sure you'll improve responsiveness on a kernel that's preemptive. If task (a) is waiting for an interrupt and it happens while task(b) of same priority is running. Task (a) is placed on the run queue, but needs to wait for task (b) to finish its quanta or go to sleep. This doesn't even matter if task (b) is in userland. Task (a) will still wait for task (b), unless task(a) is of higher priority. So this is no more responsive than a non preemptive kernel.
This is fine except the way the linux kernel works (as well as most others). When app(a) calls the IDE to get the data, it goes to sleep (calls schedule) and won't wake up until it gets the received data. When schedule is called, it can go back to user land. app(b) will now do its call and it will be queued up and blocked until app(a) gets its data. Then app(b) will get a turn and this goes on and app(b) will not be affected by the big read of app(a). Your situation would happen if the kernel didn't call schedule while waiting for data. Thus that would really hurt the performance of the kernel.
The real problem is if you have a periodic program that needs to make a deadline. What a non preemptive kernel does is place in too many varients. You can't guarentee that the program will make its deadlines when you have other lower priority tasks running.
Say you have a period of 10 ms and your task needs 3 ms to do its job, and it must be done within the first 5 ms. So your app starts and gets priority, and you do what needs to be done in the first 3 ms and easily makes your 5 ms deadline. Now you may run other task for the next 7 ms. Come the next period, you start your 3 ms task and repeat.
But lets say you have a system call that takes 4 ms, and one of your non priority tasks calls it at the 9 ms time. With out being able to preempt it, your priority task will start at the 3 ms time and it won't finish until the 6 ms time and thus you missed your deadline.
The reason you have preemtive kernels is so that priority tasks are not affected by lower prioriy tasks. Not the reason you gave above.
I know a stock broker that would abuse that same information. He would call up that person that bought the BMW and say, "Hi, I'm just responding back to tell you that I found a stock that is perfect for you."... "What? You don't remember? Well the last time we spoke, you told me about the BMW you just bought...". Believe it or not, this would work. Usually the people he calls are very busy and interact with lots of people. So the person on the other end would think "Yeah I did buy a BMW last year, I must have spoken to him". This doesn't always work, but when it does, he does well.
Actually, you still can sell it. Nothing says that you can't sell free software. If you try to sell it as a closed source solution, or your own version of some open source license then you have to buy their license.
Although the FAQ is a little confusing. But its not what they mean the license says, its what the license actually does say. The GPL was an added addition to Qt to help simmer the flames. I don't know if the FAQ was written before the GPL was added, but that might explain it.
If you take the Qt under GPL, then you have all the rights as is stated under the GPL. So yes you can sell it, but what you sell must also be under the GPL.
My sister-in-law, who is a secretary, was sent to some type of MSC class to become "certified" to use Excel! I don't know the cost, but I believe it wasn't cheap.
Our company ordered 8 of these for our department. 7 seem to be good so far, but one was bad. It had the clicking sound and such. Although we keep most of our work on these machines in a CVS server that is backed up daily. Most of us are developers, and do most of our work on our own machines, and when we get something working, we check it in. So if we lose a HD, then we will probably lose a day or two. Not that bad but still bad enough. We may need to invest in some tape machines for these machines, but it will be hard to get procurement to agree. We each have about a gig of work so we would need a tape to do the backups.
Although you were marked as funny, I'll assume you were being sarcastic.
I believe that the above poster was refering to library routines such as sprintf and scanf which do not check the size of the buffer that it is about to write a variable length item into.
If you use glibc, then you have some available library calls such as snprintf which fix the some of the problems.
I've come to the conclusion that those that expected Episode I to be a mind alternating experience, really hated the movie, and those like myself, not expecting much, actually enjoyed it.
I grew up with star wars. I loved the trilogy. But when Episode I came out, I was married and had kids. I thought "about time" but didn't expect more than an over special effects movie to fill in the gaps of the first movies. And I received what I expected. It's like the first Batman. It couldn't live up to the hype, and I saw it after it was criticized, and didn't expect much of it. I ended up enjoying it, since it went over my expectations.
I also know that RedHat was criticized for having Apache and several other services running as the default behavior. So the later versions (7.x) don't default as web servers, and the users need to configure them to get them started.
I also believe that this is true for the other distros. Now with XP coming with sockets, I can just imagine the new impact that will have.
I understand your point if Microsoft didn't do the same thing themselves. They tried very hard to prevent their competitors from getting onto the desktop. But when a OEM does it to them, they cry murder.
I don't buy your analogy. MS has a monopoly on the windows desktop. Now if McDonalds made buildings, and BurgerKing had to buy one of these MD buildings, and then McDonalds told BurgerKing that they must sell Big Macs along with their Woppers, or not sell anything at all. Then you would have a similar analogy.
The difference here is that the desktop is not just a medium for marketing. But it is an active place where the consumer does their work. Having that icon is not just advertising, it is a medium to actually sign up. Microsoft plays this game so much, when removing their competetors from the desktop and placing them into the start menu only, and they say they are cleaning the desktop. MS just says, that the user can still put the icon on the desktop and calling it "consumer choice". Now the shoe is on the other foot. The OEM decides what is on the desktop and MS is up in arms.
As the name suggests the "Free" in Free Software is for the software and not the programmer. The source must remain free, and all that goes with it must too be free. The user of the software is free to use it and distribute it as long as the software remains free. So, no, the user is not free to do what he/she wants with it, but the software itself is to be free.
Now, I don't agree with the philosophy behind this, but I do prefer to use the LGPL. The code I write should be free, but what you link to it can be whatever you choose to be. Mr Stallman, doesn't care for this license, and that's why he changed it from "Library General Public License" to "Lesser General Public License" to try to prevent people from choosing it as the default. I think that more should go under the LGPL since the code itself won't be legally used in closed form, but it still can be used with other parts of code that is closed.
One last point, and this goes with some things that Dan mentioned. Is the GPL legally enforceable? If I were to write code that interacts directly with the GPL and shrink wrap it and make it only proprietary, but it does not use any GPL code itself, but links to GPL code. If I ship it without the GPL part, and just tell users to link it with a GPL library (not LGPL). Have I done anything legally wrong?
The point I'm making is that if I wrote a program, that can be linked to a GPL library, but did not use any GPL code, could I sell it and tell users how to link to the GPL part. I would do nothing to link to the GPL, that would be the users doing. So if anything, the user would break the GPL and not I. For those that talk about the headers I used, I could just write my own, like Lesstif did with Motif. I'm not sure you can restrict the API. So if you can't limit the API, then you really can't limit the linking.
This is just hypothetical, but I've always been curious to what would happen if this did go to court. I'm not sure if the GPL can enforce this part of the license, unless the DMCA had something to do with it. Steven Rostedt
My main concern is with the GPL. Those that put their code under the BSD don't care if there code is used in proprietary applications. But what about those that licensed their code under GPL thinking that their code will always be free for open use.
Of course this is to say that MS does succeed in getting the GPL made illegal or at least not enforceable. Which hopefully will not be likely.
They were expecting us to be a lot more brash than we were
And I thought it was a very appropriate letter.
Please do be careful, since it does seem that MS is trying to get you into some sort of trap.
I believe the original poster is correct in saying that MS is aiming at the top execs, but I would also say they are aiming at two other groups. The non-techies and the congress. They want the non-techies (general public) to have a bad association with Open Source, kind of like the association to Communism. Thus, when you have public opinion on your side (whether correct or not) you can then persuade the Congress to pass a law in your favor.
This is where the main damage can occur. If they were to get the GPL struck down as being illegal (there are sillier laws on the book) then basically most of Open Source is dead. You may get the die hards still developing and maintaining the software, but the industry will love to take it and abuse it.
So what I'm saying is that this is a very dangerous war. MS is a very strong (and smart) opponent, and must be dealt with cautiously.
I'll have to agree with you. I'm one of the 600 who still use Netscape. I like the e-mail client. The only reason I haven't dropped Netscape is because of their e-mail client. I use it along with pine, and I'm happy. But it is convenient to just pop up their browser when I'm viewing e-mail.
When Evolution is finally out of beta, I'll probably drop Netscape then.
WRONG!
Endicott was where it all began!
Ok I had to respond to this since you mention my home town (Endicott). Endicott was where IBM started and the reason I grew up here (my father was an IBM manager). IBM is all but gone here, not only did they layoff over 500 employees here, but they sold what was left to a local business. Their only presence here after this deal is finished is leasing a few buildings.
As for what Upstate New York is defined as, well that is pretty much anything north of the Bronx. I live 10 miles from the Pennsylvania border and I'm still upstate! A friend of mine from Queens was shocked to here that the it's over 280 miles from Albany to Buffalo. He didn't realize how big New York is. But then again half the population in New York is south of and including the Bronx.
It really is the openness of the code that attracts many to Linux. As to create a new RTOS from scratch, well that's a lot of work and not many companies will fund it. Someone did mention eCos from RedHat, but it's still not Linux.
What I mean is that Linux has a lot of drivers. To use another OS, you will not get as many drivers that come with linux.
Some say that Linux is "too big" for an embedded system. But today's embedded systems are not you daddy's embedded systems. They have more power and more memory.
Also you have the buzz word of Linux. We get a lot of reaction when we mention useing Linux for a device. There are a lot of managers out there that have heard the benefits of Linux, real or otherwise, and want to jump on it if they can.
I don't have much to say about Wind River. I use to work for Lockheed Martin, and had to deal with them quite a bit. The vxWorks we had had no support for virtual memory, and only supported FAT filesystems, which gave us a problem with a database server that had thousands of files. We had found a bug in their code and since our department wasn't a big customer, the support we got was to modify the source code ourselves (we had an NDA). This was pretty much the same as an open-source project answer, but we had to pay for the code, not to mention the "support"! Also, I might add that I got the impression that Wind River was pretty at ease with their monopoly on the embedded market that they didn't progress as much as they can/should. They seemed stuck in there ways of doing things, being a monopoly, and unless you were a GM, or maybe another department of LM, you really didn't get much out of them.
Sorry for the rant, and a little disclosure: I work for TimeSys.
You'd be amazed at all the embedded products out there. Cell phones, gas pumps, car navigation units, switch boards, traffic lights, answering machines, computer games, electronic toys, and this is just what I can think of at the moment, and there's much more. The PDA's may be overpriced, but there are not more of them out there then other embedded products, and I'm not counting the large DoD portion of embedded devices.
Now some of these can be used with Windows Embedded, but they are not that competitive price wise, nor do they offer anything better then what's already out there. You don't do well with "user friendly" interfaces when you are dealing with the embedded world.
Also what Gates mentions doesn't help any either.
Mr Gates pointed out that Windows XP Embedded required considerable testing after the options had been selected, and would not allow third-party
software to be subsequently added
Who wants a product where you can't add third-party software on top.
Thanks, I now understand where you are coming from. Sorry I was mainly debating the way things work in Linux. I don't use Robert's kernel, since I use my companies. We have our own version of the Linux kernel that handles preemption.
You can get it at my company's site
The point still stands though for basically any resource that has a long (time-wise) lock on it.
This is a resource management issue and not a preemptive issue. Yes if you can make the locks on a resource shorter, the better. But most of the resources in the kernel are not protected by non preemption, and those that are are mainly just the global data. Now Linux is already made to work on a SMP, and with SMP processors you don't have the protection of non-preemption on your data as you did on UP. So spin_locks were made to do a busy loop on processors that were going to modify data that was currently being worked on by another processor. For UP these smp_locks are just nulled out (do { } while(0)). So what Robert (and others) have done is use the smp_locks as the places to protect data in a preemptive kernel. Most notably link lists.
What my point is, is that its not resources that can be accessed quicker, but that higher priority tasks can be accessed quicker. The locks on resources are not shortened by the preemptive kernel, but higher priority tasks are not postponed just because a lower priority task is in kernel mode.
Although a naive kernel could use non-preemption to protect resources, but that would be just silly (it may end up being windows 95;)
Maybe Roberts patches don't, but I know my OS does.
Really? why. Doesn't this mean higher cost of context switching. And if one preempts the other, doesn't this cause a back and forth infinit loop? What OS is yours?
I did continue to say that one would preempt the other, but only when its time ran out and not by the other one just becoming active. Now I would be curious to know of another algorithm and how it would be better.
The flaw is in 'Then app(b) will get a turn'. How can it if the device is locked by app(a).
This comment has nothing to do with a kernel being preemptive or not. This comment deals with resource management.
app(a) doesn't "Lock" the device for the entire read. The read calls for one block of data and then yes the device is blocked. When the data is returned, the next request is handled which may also be the request from app(b). The device is only blocked when it is receiving one block of data of a fixed size. The system call read will only block the device while grabbing one block of data, and that will allow other apps to be interleaved with the device.
Really? So what about tasks that are of equal priority?
So what's your point, a preemptive kernel will not preempt a task for a task with the same priority. These would be treated the same as if the kernel was not preemptive. Actually, this is not quite true. The one task would be preempted when its quanta runs out. And with a preemptive kernel this would even happen if the one task was in a system call. But that's the only difference between two tasks of equal priority running on a preemptive kernel, and two tasks of same priority running on a non preemptive kernel.
Preemtive kernels also improve responsiveness between equal priority tasks
I wouldn't say responsiveness but maybe something like smoother or more consistent. But I'm not sure you'll improve responsiveness on a kernel that's preemptive. If task (a) is waiting for an interrupt and it happens while task(b) of same priority is running. Task (a) is placed on the run queue, but needs to wait for task (b) to finish its quanta or go to sleep. This doesn't even matter if task (b) is in userland. Task (a) will still wait for task (b), unless task(a) is of higher priority. So this is no more responsive than a non preemptive kernel.
This is fine except the way the linux kernel works (as well as most others). When app(a) calls the IDE to get the data, it goes to sleep (calls schedule) and won't wake up until it gets the received data. When schedule is called, it can go back to user land. app(b) will now do its call and it will be queued up and blocked until app(a) gets its data. Then app(b) will get a turn and this goes on and app(b) will not be affected by the big read of app(a). Your situation would happen if the kernel didn't call schedule while waiting for data. Thus that would really hurt the performance of the kernel.
The real problem is if you have a periodic program that needs to make a deadline. What a non preemptive kernel does is place in too many varients. You can't guarentee that the program will make its deadlines when you have other lower priority tasks running.
Say you have a period of 10 ms and your task needs 3 ms to do its job, and it must be done within the first 5 ms. So your app starts and gets priority, and you do what needs to be done in the first 3 ms and easily makes your 5 ms deadline. Now you may run other task for the next 7 ms. Come the next period, you start your 3 ms task and repeat.
But lets say you have a system call that takes 4 ms, and one of your non priority tasks calls it at the 9 ms time. With out being able to preempt it, your priority task will start at the 3 ms time and it won't finish until the 6 ms time and thus you missed your deadline.
The reason you have preemtive kernels is so that priority tasks are not affected by lower prioriy tasks. Not the reason you gave above.
Unless you don't use it.
Then it sucks.
I know a stock broker that would abuse that same information. He would call up that person that bought the BMW and say, "Hi, I'm just responding back to tell you that I found a stock that is perfect for you." ... "What? You don't remember? Well the last time we spoke, you told me about the BMW you just bought...". Believe it or not, this would work. Usually the people he calls are very busy and interact with lots of people. So the person on the other end would think "Yeah I did buy a BMW last year, I must have spoken to him". This doesn't always work, but when it does, he does well.
So there are ways to abuse this.
Actually, you still can sell it. Nothing says that you can't sell free software. If you try to sell it as a closed source solution, or your own version of some open source license then you have to buy their license.
Although the FAQ is a little confusing. But its not what they mean the license says, its what the license actually does say. The GPL was an added addition to Qt to help simmer the flames. I don't know if the FAQ was written before the GPL was added, but that might explain it.
If you take the Qt under GPL, then you have all the rights as is stated under the GPL. So yes you can sell it, but what you sell must also be under the GPL.
(the fscking lizards on one level gave me a laugh)
Ok, I played through the game twice (once at medium, and again at hard), and I don't remember seeing this. What level was that on?
Well, actually...
My sister-in-law, who is a secretary, was sent to some type of MSC class to become "certified" to use Excel! I don't know the cost, but I believe it wasn't cheap.
Our company ordered 8 of these for our department. 7 seem to be good so far, but one was bad. It had the clicking sound and such. Although we keep most of our work on these machines in a CVS server that is backed up daily. Most of us are developers, and do most of our work on our own machines, and when we get something working, we check it in. So if we lose a HD, then we will probably lose a day or two. Not that bad but still bad enough. We may need to invest in some tape machines for these machines, but it will be hard to get procurement to agree. We each have about a gig of work so we would need a tape to do the backups.
Although you were marked as funny, I'll assume you were being sarcastic.
I believe that the above poster was refering to library routines such as sprintf and scanf which do not check the size of the buffer that it is about to write a variable length item into.
If you use glibc, then you have some available library calls such as snprintf which fix the some of the problems.
I've come to the conclusion that those that expected Episode I to be a mind alternating experience, really hated the movie, and those like myself, not expecting much, actually enjoyed it.
I grew up with star wars. I loved the trilogy. But when Episode I came out, I was married and had kids. I thought "about time" but didn't expect more than an over special effects movie to fill in the gaps of the first movies. And I received what I expected. It's like the first Batman. It couldn't live up to the hype, and I saw it after it was criticized, and didn't expect much of it. I ended up enjoying it, since it went over my expectations.
I also know that RedHat was criticized for having Apache and several other services running as the default behavior. So the later versions (7.x) don't default as web servers, and the users need to configure them to get them started.
I also believe that this is true for the other distros. Now with XP coming with sockets, I can just imagine the new impact that will have.
Steven Rostedt
I understand your point if Microsoft didn't do the same thing themselves. They tried very hard to prevent their competitors from getting onto the desktop. But when a OEM does it to them, they cry murder.
I don't buy your analogy. MS has a monopoly on the windows desktop. Now if McDonalds made buildings, and BurgerKing had to buy one of these MD buildings, and then McDonalds told BurgerKing that they must sell Big Macs along with their Woppers, or not sell anything at all. Then you would have a similar analogy.
The difference here is that the desktop is not just a medium for marketing. But it is an active place where the consumer does their work. Having that icon is not just advertising, it is a medium to actually sign up. Microsoft plays this game so much, when removing their competetors from the desktop and placing them into the start menu only, and they say they are cleaning the desktop. MS just says, that the user can still put the icon on the desktop and calling it "consumer choice". Now the shoe is on the other foot. The OEM decides what is on the desktop and MS is up in arms.
Steven Rostedt
Don't put windows on this machine, it would be easier to steal than to upgrade the hardware :)
What, have little "brick" components. Fill the harddrive with gravel? Install with a little mortar?
Steven Rostedt
As the name suggests the "Free" in Free Software is for the software and not the programmer. The source must remain free, and all that goes with it must too be free. The user of the software is free to use it and distribute it as long as the software remains free. So, no, the user is not free to do what he/she wants with it, but the software itself is to be free.
Now, I don't agree with the philosophy behind this, but I do prefer to use the LGPL. The code I write should be free, but what you link to it can be whatever you choose to be. Mr Stallman, doesn't care for this license, and that's why he changed it from "Library General Public License" to "Lesser General Public License" to try to prevent people from choosing it as the default. I think that more should go under the LGPL since the code itself won't be legally used in closed form, but it still can be used with other parts of code that is closed.
One last point, and this goes with some things that Dan mentioned. Is the GPL legally enforceable? If I were to write code that interacts directly with the GPL and shrink wrap it and make it only proprietary, but it does not use any GPL code itself, but links to GPL code. If I ship it without the GPL part, and just tell users to link it with a GPL library (not LGPL). Have I done anything legally wrong?
The point I'm making is that if I wrote a program, that can be linked to a GPL library, but did not use any GPL code, could I sell it and tell users how to link to the GPL part. I would do nothing to link to the GPL, that would be the users doing. So if anything, the user would break the GPL and not I. For those that talk about the headers I used, I could just write my own, like Lesstif did with Motif. I'm not sure you can restrict the API. So if you can't limit the API, then you really can't limit the linking.
This is just hypothetical, but I've always been curious to what would happen if this did go to court. I'm not sure if the GPL can enforce this part of the license, unless the DMCA had something to do with it.
Steven Rostedt
My main concern is with the GPL. Those that put their code under the BSD don't care if there code is used in proprietary applications. But what about those that licensed their code under GPL thinking that their code will always be free for open use.
Of course this is to say that MS does succeed in getting the GPL made illegal or at least not enforceable. Which hopefully will not be likely.
Steven Rostedt
They were expecting us to be a lot more brash than we were
And I thought it was a very appropriate letter.
Please do be careful, since it does seem that MS is trying to get you into some sort of trap.
I believe the original poster is correct in saying that MS is aiming at the top execs, but I would also say they are aiming at two other groups. The non-techies and the congress. They want the non-techies (general public) to have a bad association with Open Source, kind of like the association to Communism. Thus, when you have public opinion on your side (whether correct or not) you can then persuade the Congress to pass a law in your favor.
This is where the main damage can occur. If they were to get the GPL struck down as being illegal (there are sillier laws on the book) then basically most of Open Source is dead. You may get the die hards still developing and maintaining the software, but the industry will love to take it and abuse it.
So what I'm saying is that this is a very dangerous war. MS is a very strong (and smart) opponent, and must be dealt with cautiously.
Steven Rostedt
I'll have to agree with you. I'm one of the 600 who still use Netscape. I like the e-mail client. The only reason I haven't dropped Netscape is because of their e-mail client. I use it along with pine, and I'm happy. But it is convenient to just pop up their browser when I'm viewing e-mail.
When Evolution is finally out of beta, I'll probably drop Netscape then.
Steven Rostedt