Actually, I'm not sure they aren't right about the GPL being viral. Although this EULA steps beyond that, with the provision about using to develop, which includes editors.
Consider that section 3 of the GPL has the necessity of stating the special exception:
"...However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable."
So, if ANYONE were to distribute binaries of a GPL work that included library code which was not part of the "operating system" on which the executable runs, then that library would immediately fall into the public domain. Preventing this is a resonable stance for Microsoft to take, as they do not want their library, which is not part of the operating system, to fall under the license restrictions of someone else's GPL program.
Section 2 tries to remove that restriction from a company like Microsoft with:
"Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program." (where the Program is the program licensed under the GPL)
Section 3 puts that requirement back on Microsoft, as soon as anyone distributes a binary.
Thus, since you couldn't ever put that kind of license restriction on them, they have EXPLICITLY stated that their library cannot be used in an open source program.
It never could have been used with a GPL program which is distributed as a binary, due to section 3 of the GPL.
One of the problems here is that we're talking about two different audiences. However, Java is not good for either of these audiences.
For AP computer science, where most of the focus seems to be more on programming than algorithms, C/C++ is more appropriate. This allows students to understand pointers/etc, while still allowing some higher level concepts such as OOP. Pascal was not a bad choice either, it's just a little outdated these days.
For a first year CS course, the rules are a little different. Teaching in a language like C/C++ would be good if the focus is more on programming than algorithms. If it's more on algorithms, I would suggest something more like SML.
Java is seldom a good choice. I can remember CMU having a problem that everyone who took sophomore CS in Java (it was offered in Java or SML) was significantly less prepared for later classes than those who took SML. Part of this was that some later classes were in SML, but another part was that using a functional language with a fairly simple type system allowed professors to explain these concepts in detail, which improved people's understanding of what the language was doing under the covers, and how to use that to their advantage.
Okay, so you're saying that your question was not:
Microsoft seems to have erred and released products with significant security flaws which should have been discovered during the design process. As this has happened in many products, it seems to be a problem with how Microsoft designs software, and not just a few isolated incidents.
Which was answered by saying that useability and features had been the focus, but that that is changing as Microsoft is becoming aware that security is important, and that they need more focus on it.
(which is the way many here interpreted it.)
Instead, you were saying:
Microsoft has serious flaws in the way they design software. These flaws result in software with shoddy security. If Microsoft had not ignored "basic security principles," they wouldn't have these problems.
Or perhaps you meant:
Microsoft has intentionally ignored serious security flaws in their software and included them anyways to allow more user "convenience" ("features").
I don't really understand your question at this point. You seem to be making an accusation of Microsoft design practices (as opposed to just calling them poor). Are you trying to imply that "basic security principles" were consciously ignored in Microsoft's design process (as opposed to simply not emphasized or being overlooked), or are you implying that Microsoft released software with known security holes?
Remember, it's easy in hindsight to say that a security hole should have been obvious, but if you're not used to considering security when releasing products, you may simply not recognize a problem.
This is a really great idea. My wife and I had discussed something similar (she has a dairy allergy, but seems to get mac&cheese at least once every time we're at the hospital).
The problem is, I don't think the people actually preparing the food care enough to do anything about it. They make next-to-nothing, (except the dietician) and so don't care whether they kill you by giving you peanuts or not... it's not like they've ever met you or anything.
Perhaps I overstate the problem, but, truthfully, most people in healthcare (besides the doctors and the higer-up administrators) aren't paid enough to care about your treatment. Thank goodness for those who really do seem to care, and make the healthcare system work, despite it's deficiencies.
Jenga is often not a zero-sum game. I know we often play to try and collectively build the highest tower more than to not be the loser. This makes it more cooperative than competitive.
Also, even when playing the game competitively, moving a block to the top creates more blocks that others can move, even though it removes one (or two, or three) blocks from the set of blocks that they could have moved earlier. I.E. NOT zero-sum, since moving blocks up creates new resources (movable blocks) as it uses them.
Although only one person gets to go to "Millionare Estates", they don't get there by taking from the other players, they get there by doing stuff themselves. There are a few problems with it, but it wouldn't take much to dispose of most of those (like make duplicates of the salary cards, so two people can have the same salary.)
I run into this problem a lot. Desktop users don't need most of the junk that a typical install puts on their system (heck, I don't need most of it, although I often don't get something I need, thus forcing a custom install and having to wade through a huge number of packages that I often don't understand, much less the typical user.) The default install really should be pretty much nothing, as the article suggests, with good, usable menus to install the rest later. Too often I discover that finding the package I want is extremely difficult. Sure, I can get a list of web servers, but most other network applications are in some catchall called net/network or something, and it's really hard to find what I'm looking for. It should be easier to find what you want and install it when you need it, without having to look through a lot of packages you don't.
Seriously, does your grandmother/grandfather really need SMTP/HTTPD/telnetd/ftpd...? Why should they be taking up space on their system, then?
For server users, there should be some semi-custom installs that install based on specific uses. I think debian was moving in this direction last time I checked.
Actually, if you do go see if they're alive, or especially if you call the police, you probably will become the prime suspect. It's the problem of the killer calling the cops and saying "Ahhh, I found a dead body... no, I don't know how it got there."
Actually, if I remember correctly, they did copy the hardware, or at least the case. IBM proved it by showing a screw hole that was originally included to hold an external battery pack, and remained although the battery pack had been redesigned. Not to be left out of some important new technology, the clones dutifully replicated the useless hole, thus showing that it was in fact a copy.
Well, I saw a presentation on this once at CMU, about a project they were doing to significantly lower computing resource consumption (Power was just a small part of it). From what I remember, the processor and the screen are the two big power hogs in a laptop. So lowering power usage for the processor can make a big difference, but it isn't everything. Even a laptop with a sleeping processor uses a lot of power, but not NEAR as much as one doing heavy workload. However, it takes a processor like Transmeta's to really get a power-consumption/compute-cycle savings. Most of the other processors (at least at the time of the presentation) actually used more power/compute at low power settings.
So, yes, using a Crusoe will significantly improve battery life over other processors, but the screen still uses up a lot of power, so you can only get so far.
Oops, didn't know that. I had seen it so much, and it did have the ring of truth to it.
I can't think of a real example... plenty of examples when somebody markets for someone else, but I can't remember changed names sold by the same company in two markets.
The Chevy nova, when marketed in Latin American countries, did poorly until Chevy realized that "no va" in Spanish means "no go" and thus changed the name.
Actually, I'm not sure they aren't right about the GPL being viral. Although this EULA steps beyond that, with the provision about using to develop, which includes editors.
Consider that section 3 of the GPL has the necessity of stating the special exception:
"...However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable."
So, if ANYONE were to distribute binaries of a GPL work that included library code which was not part of the "operating system" on which the executable runs, then that library would immediately fall into the public domain. Preventing this is a resonable stance for Microsoft to take, as they do not want their library, which is not part of the operating system, to fall under the license restrictions of someone else's GPL program.
Section 2 tries to remove that restriction from a company like Microsoft with:
"Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program." (where the Program is the program licensed under the GPL)
Section 3 puts that requirement back on Microsoft, as soon as anyone distributes a binary.
Thus, since you couldn't ever put that kind of license restriction on them, they have EXPLICITLY stated that their library cannot be used in an open source program.
It never could have been used with a GPL program which is distributed as a binary, due to section 3 of the GPL.
GREG
IANAL
One of the problems here is that we're talking about two different audiences. However, Java is not good for either of these audiences.
For AP computer science, where most of the focus seems to be more on programming than algorithms, C/C++ is more appropriate. This allows students to understand pointers/etc, while still allowing some higher level concepts such as OOP. Pascal was not a bad choice either, it's just a little outdated these days.
For a first year CS course, the rules are a little different. Teaching in a language like C/C++ would be good if the focus is more on programming than algorithms. If it's more on algorithms, I would suggest something more like SML.
Java is seldom a good choice. I can remember CMU having a problem that everyone who took sophomore CS in Java (it was offered in Java or SML) was significantly less prepared for later classes than those who took SML. Part of this was that some later classes were in SML, but another part was that using a functional language with a fairly simple type system allowed professors to explain these concepts in detail, which improved people's understanding of what the language was doing under the covers, and how to use that to their advantage.
Okay, so you're saying that your question was not:
Microsoft seems to have erred and released products with significant security flaws which should have been discovered during the design process. As this has happened in many products, it seems to be a problem with how Microsoft designs software, and not just a few isolated incidents.
Which was answered by saying that useability and features had been the focus, but that that is changing as Microsoft is becoming aware that security is important, and that they need more focus on it.
(which is the way many here interpreted it.)
Instead, you were saying:
Microsoft has serious flaws in the way they design software. These flaws result in software with shoddy security. If Microsoft had not ignored "basic security principles," they wouldn't have these problems.
Or perhaps you meant:
Microsoft has intentionally ignored serious security flaws in their software and included them anyways to allow more user "convenience" ("features").
I don't really understand your question at this point. You seem to be making an accusation of Microsoft design practices (as opposed to just calling them poor). Are you trying to imply that "basic security principles" were consciously ignored in Microsoft's design process (as opposed to simply not emphasized or being overlooked), or are you implying that Microsoft released software with known security holes?
Remember, it's easy in hindsight to say that a security hole should have been obvious, but if you're not used to considering security when releasing products, you may simply not recognize a problem.
Just trying to understand.
This is a really great idea. My wife and I had discussed something similar (she has a dairy allergy, but seems to get mac&cheese at least once every time we're at the hospital).
The problem is, I don't think the people actually preparing the food care enough to do anything about it. They make next-to-nothing, (except the dietician) and so don't care whether they kill you by giving you peanuts or not... it's not like they've ever met you or anything.
Perhaps I overstate the problem, but, truthfully, most people in healthcare (besides the doctors and the higer-up administrators) aren't paid enough to care about your treatment. Thank goodness for those who really do seem to care, and make the healthcare system work, despite it's deficiencies.
Jenga is often not a zero-sum game. I know we often play to try and collectively build the highest tower more than to not be the loser. This makes it more cooperative than competitive.
Also, even when playing the game competitively, moving a block to the top creates more blocks that others can move, even though it removes one (or two, or three) blocks from the set of blocks that they could have moved earlier. I.E. NOT zero-sum, since moving blocks up creates new resources (movable blocks) as it uses them.
Although only one person gets to go to "Millionare Estates", they don't get there by taking from the other players, they get there by doing stuff themselves. There are a few problems with it, but it wouldn't take much to dispose of most of those (like make duplicates of the salary cards, so two people can have the same salary.)
Except that the Whiskey Rebellion (right rebellion?) proved that the right to bear arms doesn't really guarantee anything.
I run into this problem a lot. Desktop users don't need most of the junk that a typical install puts on their system (heck, I don't need most of it, although I often don't get something I need, thus forcing a custom install and having to wade through a huge number of packages that I often don't understand, much less the typical user.) The default install really should be pretty much nothing, as the article suggests, with good, usable menus to install the rest later. Too often I discover that finding the package I want is extremely difficult. Sure, I can get a list of web servers, but most other network applications are in some catchall called net/network or something, and it's really hard to find what I'm looking for. It should be easier to find what you want and install it when you need it, without having to look through a lot of packages you don't.
Seriously, does your grandmother/grandfather really need SMTP/HTTPD/telnetd/ftpd...? Why should they be taking up space on their system, then?
For server users, there should be some semi-custom installs that install based on specific uses. I think debian was moving in this direction last time I checked.
Actually, if you do go see if they're alive, or especially if you call the police, you probably will become the prime suspect. It's the problem of the killer calling the cops and saying "Ahhh, I found a dead body... no, I don't know how it got there."
Actually, if I remember correctly, they did copy the hardware, or at least the case. IBM proved it by showing a screw hole that was originally included to hold an external battery pack, and remained although the battery pack had been redesigned. Not to be left out of some important new technology, the clones dutifully replicated the useless hole, thus showing that it was in fact a copy.
Well, I saw a presentation on this once at CMU, about a project they were doing to significantly lower computing resource consumption (Power was just a small part of it). From what I remember, the processor and the screen are the two big power hogs in a laptop. So lowering power usage for the processor can make a big difference, but it isn't everything. Even a laptop with a sleeping processor uses a lot of power, but not NEAR as much as one doing heavy workload. However, it takes a processor like Transmeta's to really get a power-consumption/compute-cycle savings. Most of the other processors (at least at the time of the presentation) actually used more power/compute at low power settings.
So, yes, using a Crusoe will significantly improve battery life over other processors, but the screen still uses up a lot of power, so you can only get so far.
Oops, didn't know that. I had seen it so much, and it did have the ring of truth to it.
I can't think of a real example... plenty of examples when somebody markets for someone else, but I can't remember changed names sold by the same company in two markets.
The Chevy nova, when marketed in Latin American countries, did poorly until Chevy realized that "no va" in Spanish means "no go" and thus changed the name.