That's not QUITE true. There are legally enforced licenses that all copyright holders are required to grant at fixed prices. These organizations collect those fees.
One nasty kicker. These fees are NOT paid to the artist whose work you displayed. They are distributed based on a formula based on what's "popular" now, so that nobody has to do so much record keeping. You only play Techno, but Britney is still the one to get paid.
If you make a deal directly with the copyright holdres, you can tell RIAA/SoundExchange, etc to go to hell. If you only play music from your own band, (or from your own label, if you happen to be Sony), this is feasible.
The problem is that it's really, really, really hard to make a seperate deal with all of the copyright owners that you would like to be able to play. Imagine every radio station individually making deals, individually with every band.
Then imagine trying to keep track of all the different requirements that different bands might ask for.
I agree with your point, but think it's important to understand that there is another view point here as well. They did end up handing over 25 MILLION dollars. They WERE punished.
There tends to be a difference in perception on the value of money based on who has this. This strongly influences legal results, and taxation. Since both sides really, truly believe in their viewpoints, they both tend to consider many decisions unfair.
An argument can be made that if 25 million is a fair fine (which I don't agree with in this case), then it doesn't matter if the company being fined has $12 or 26 million or 26 billion in the bank. The punishment should be the same. Most people who have a lot of money would take this point of view.
After all, if their money is worth less because they are rich, why did they bother to make it in the first place?
Most of the rest of us tend to say.... ah, they're rich, they can afford it, what are they bitching about? I just wish I HAD 25 million in the first place!
Of course, the point of the lawsuit (from a social point of view) is to discourage behavior that is bad for society. I don't see an occasional 25 million penalty as being much of a deterant for Microsoft.
Other people are commenting on the fact that this isn't always true, and that it's usually based on file extentions on the other end.
And it's true that most applications only pay lip service to the MIME/Types.
However, the hardest part is already done. The MIME/Types ARE there, and not following them is generally considered 'the wrong thing', even if people don't get very excited about it.
That means that the infrastructure is there, just not polished. It's a LOT easier to convince people to polish up and properly support something they already have, than it is to add add new infrastructure.
No, the cable version is single tuner, analog input. Anything else would require a deal with the cable companies, and Tivo hasn't been able to get them to sign on yet.
You can watch a recording while recording, and they do have dual tuners (both of which can be doing anything) for DIRECTV.
You should try a TiVo. It's got two weeks of guide data, and intelligent Season Passes. IE: You say 'reacord Series X' and in grabs the episodes intelligently. Even if they shift in time slot, or duration, or whatever.
I don't think any of the Scientific Altanta boxes can do that (at least not well), but maybe I'm wrong.
All the same features are there, but the exact layout varies. Frequently, the number of pages will change from one printer to another, but it usually takes a really complex document to break badly.
We did eventually understand relativistic motion, however, so we probably will eventually understand the extension of subatomic particles into multi-demensional space, too.
Speak for yourself about understanding relativistic montion. I get the basics, but the further I try to get past that, the more my head hurts.
Having looked into starting a gaming company personally, it's already really, really hard to do. Especially for consoles.
It requires millions of dollars investment to produce the first game. Our estimates were $3 million of the game we had in mind (for the PS/2 using a from scratch engine).
There are a variety of ways to get money, but it's definatly not possible to do it nights and weekends, or in a garage. A lot of this is the control that the console makers have over every aspect of the game release.
They get to decide if you CAN release, and they get a big chunk of every game sold (bigger than the developer). The result is that you are forced into only doing blockbuster style games with heavy development costs. No $10 cheapies that are simple but fun are allowed. Nothing that doesn't fit into the model they are working with.
The most common way to get funding (and distribution) is to go through one of the big game labels. You sign contracts similar to the record industry. They fund your development, and you have to pay them back out of your sales. They are also conservative on what they will back, and don't like it when you try something new. After all, if you are trying something different, you might fail and not be able to pay back the 3 million you owe them.
Development companies often lose money. They are usually happy to just pay everyones salary during the development cycle, and then break even. Only with a mega-hit can you hope to really make money on the game.
Low end independant PC games on the other hand can be totally different, and are much more interesting to me.
The only problem with putting your schedule in front of management, is that there are some things they just won't see as important, even if they are to you.
Given a choice between "install security updates", or "install software updates that are 10x easier to manage" or "finish the database conversion that is half way done, awkward to work with, and unstable as hell" and "setup my new shiny toy of the week" they will take the shiney toy, because it's "Okay to put off that other things for a week or two."
This is because they really truly can't see what you are talking about as important, if they don't understand what it is. This is actually fair, since we do the same thing to them.
Unfortunatly, those things you want will keep getting put off for years if you don't fight for them.
The advice listed here is really, really good, and is the way to go. But just remember that sometimes you will have to fight for the stuff that you really need. Don't be inflexible, and don't fight over every issue. Pick your battles, and fight them when it really matters.
It's also easier to say "I just need to do this one really important thing first" than it is to say "I can't handle your shiney toy because I'm too busy".
Plus, putting the disc in IS a pain. I have a couple large harddrives and a lot of games. I don't really feel like grabbing the CD each time I want to play a different one. I want to click and go.
I'll second that. I have a laptop that I frequently use for gaming on the road. Having to carry the CD collection around with me is a real hassle.
I have cracked games and played them myself (without distributing them). I do NOT find this immoral in any way, any more than I find it immoral to have the same game installed on my home machine that I also have installed on my laptop.
As a sanity check here, if I distributed copies of those cracks, or allowed multiple people to play them at the same time, I would not consider that moral.
IANAL, but I think that the legality of those acts (disregarding the DMCA) has not been clearly defined. That's why the DMCA was considered necessary. However, I think the DMCA is a bad law because it disallows far more than is necessary for the common good. Other people are welcome to their own opinions.
Morally speaking, I generally feel that if I paid for something, I have the right to do whatever I want with it, provided I don't hurt anyone. This used to be a common belief in the US, but in recent years, that belief has been changing. I consider that a Bad Thing (TM).
The kit comes with a heavily modified version of RedHat 5.x. You need their CD in the drive at boot time, but you don't actually need to use it for anything, except getting past the requirement for a signed disk to boot.
After that, the kernel is loaded from a memory card. The boot loader is smart enough to let you pick between multiple kernels, and everything.
Since the kit comes with a 40G hard drive, you have room for any distribution you care to get working.
Overall, it's not a bad way to get a linux box that's attached to your network and television. The only problem is that if you lose power, you have to start it back up by hand.
Switch from USB to firewire (which ups the cost), and it sounds great to me! The concept is good. In fact, if you ever build something like this, please post an article to SlashDot about how it turns out. I might even try something similar myself, next time I do a major server upgrade.
That said, USB is just a clunky protocol, and would involve a huge CPU drain to run heavily, especially with multiple buses. Also, because USB is known as being slow, all the people along the way were less worried about being efficient. This means the drivers, the USB to IDE hardware, the USB adapter, everything.
I'd really be suprised if anyone has every examined and optimized drivers (for any OS) to handle multiple adapters well.
Firewire is a smarter protocol, there is less CPU involvement, and it known as a 'higher-end' solution, so most of the people involved would have tried harder to perform well.
I would try it with just two drives to see if the raid software would really work with external devices, especially with live connects and disconnects. I'd be suprised if any raid software could handle having devices created and destroyed under them (as compared to just going into an error status) without some issues, but there is a good chance that the fixes would just be minor tweaks.
So, how well WOULD flash hold up as a replacement for a HD in a special purpose PC?
For example, if I setup a SolarPC with a 256 MB CompactFlash card as it's drive, and install Smoothwall, I end up with a linux firewall that has zero moving parts (no fan, no HD). However, it writes out log messages at LEAST once a minute, 24x7. And I want that logging, though the box can be configured to minimize it.
How long could I hope for such a box to last?
Remember that I'm crippling the write distribution algorithm by having a lot of the disk usage go to files that are static for long periods of time.
Remember that money often (not often) leads to other forms of influence that aren't illegal, or even considered immoral.
Since starting our own small consulting business, my business partner and I have the executives for multi-billion dollar companies, we've met the Mayors for Dallas and Ft. Worth, we've met a lot of people who make important decisions.
Even for us (very small company), there have been chances to express opinions that wouldn't have been heard if we weren't business owners, because we never would have met the people in question.
If we were a multi-billion dollar company, then it's much more likely that these desicion makers would be in our peer circle. They would be people that we saw more often, perhaps knew well. Just knowing such people gives you more influence. It doesn't mean buying votes, or even mean that you are trying to take advantage of a friendship.
People talk about stuff with people they know. That's part of how they form opinions. If you are one of the people they talk to, then your opinions help influence the final decision.
Lobbyists seem to be a very intelligent attempt to take advantage of this aspect of human nature. They seem to do their jobs as much by 'being arround' and just expressing opinions as by any other means. And if they are buying lunch of paying for the golf game to do it.... that's a small price to pay.
Larger compact flash cards are now big enough to act as replacements for hard-drives for small/special purpose PCs. For example, my firewall, even with all of it's logging only needs about 200M of storage.
I could use a CF card to build a small/slow PC with no moving parts (fanless also). That seems like it would be a lot more reliable.
However, how well do Compact Flash cards deal with continuous writing and rewriting? How long could a card handle the data being logging to disk from my firewall before it starting having errors?
How much of a problem would the slower write times be? In the case of the firewall, I would expect there to be enough ram to keep the slow CF read/write times from being a problem, but how much difference is there overall?
I'm visualizing 10 robots sitting at a conference table, while the whole board of directors is sitting at home, naked, drinking their morning coffee, etc.
And I suddenly start visualizing them eating spagette and thinking about philosophy. Now, do they reach to the right, or the left for their forks?
Remember that they patent EVERYTHING they can think of. The arrangement of the buttons in Outlook, the fact that buttons can be rearranged, everything.
There are probabably over 100 patents related to the behavior (not the implementation, the behavior) of the Start menu. I'm sure that most modern Linux desktops conflict with some of those.
I mean, they put a menu at the bottom left of the screen. And Microsoft did they first, so we DID copy from them. The fact that Apple put it at the top left before MS is not relevant.
I think this whole thing is an argument that, given our current setup, line maintainers should do only that, and no more.
There is no way that SBC will not give preference to themselves, when they are in competition with other DSL providers.
Either SBC shouldn't have to share (which I see as bad because there is no competition), or the person owning the lines shouldn't be competing with the other resellers directly.
The only way I can see to do this is to split SBC, and the other line owners into line companies, and resellers. Splitting a company by force strikes me as a bad thing to do, but I think the end results would be good for end users.
It would also help answer questions about things like SBC being forced to sell lines to other companies 'at a loss'. If that's true, then the line companies would just go out of business. If they don't we know that they aren't being forced to subsidize their competitors.
Maybe my last reply was a bit more adamant than it should have been. I get frustrated, because I knew (and said loudly) that NAT was a huge hack when it was new. I knew as it was going to cause problems as it became more popular, but obviously, I could have no effect on the process.
Now that they are popular, most users don't understant that they cause any problems at all, much less what they are or why. And I'm one of the people (like yourself, and other readers here) who gets stuck trying to working around from both a sysadmin point of view, and as a network app developer.
For example, I'm involved in a (closed source) project right now using BitTorrent style technology that will probably fail because it can't handle more than about a third of the users being behind NAT firewalls. And this is after considerable effort to work around limitations of who can connect directly to who.
In particular (without custom port forwarding rules that you can't expect the average user to configure), one box behind a NAT firewall cannot connect directly to another box behind a NAT firewall.
Other effects are things like the fact that games must now use a star connection pattern, not a ring or a mesh (and the improved response times that might come from that). Any technology that allows individuals to communicate without a third party involved becomes either difficult or impossible (instant messaging without a central server, conference software, shared whiteboards, etc).
I just get frustrated about it all, because I see an artificial barrier to entry for an important area of network development.
If the application uses a fixed port number, and if you have enough external IPs to handle all of the internal machines, and if you don't mind having the extra admin work to keep updating your rules, then yes that works.
But if those aren't all true, then it doesn't. And all of those cases are frequently not true.
1) Many useful apps don't have fixed ports to listen on, instead they use lookup services. See anything based on RPC, Corba, etc. If you need to be able to run more than one copy of the application at a time, then multiple ports are REQUIRED.
2) ISPs are significantly limiting the number of IPs available. Like my home network where they charge me $5/month for one additional address. Unless I cough up the money, I can't SSH to more than one machine (and yes, I know the tricks around it, when they work, and when they don't).
Without the crutch of NAT, the address space would be much larger, and ISPs would never have been able to establish charging for address as a legitimate thing.
3) The admin work is a big barrior. If I want to do video chat with my mother, I have to drive 4 hours to her house to reconfigure her firewall. She's smart, but that's more than she can handle technically, and there is nobody else I can ask to do it. And what happens when lightning kills the cable modem, and it all has to be reconfigured?
Many large businesses run NAT for both security, and to deal with address space issues. I've seen a number of these networks through my consulting work. I have never seen network admins that would reconfigure the firewall just because one of their users want's to use AIM file transfers.
They may knowingly allow all kinds of funny things through an SSH port forward, but they won't begin to touch a config file (other than account creation) on a per user basis.
This means that small non-technical users are screwed. Anyone running unusual non-standard applications is screwed, anyone without enough address space that they don't need NAT in the first place is screwed, anyone so lazy that they don't want to have to reconfigure their security everytime they change which network applications they use is screwed, and anyone on a large corporate network is screwed.
Now, are you really so sure that NAT works just fine and that people should just quit complaining?
I once wrote a NAT engine (for the obscure Firewall/Plus), and I use NAT at home since I can't seem to bring myself to pay $5/month for a number.
Regardless, the technology was a bad idea, should never have been implemented, and should never have been allowed to be popular. It's delayed a change that would solve many problems, and gets harder to make the longer we put it off.
Instead most of the people using them have problems, and have applications that are broken without understanding why.
Nowadays, many applications are never written because they just won't work in our modern NAT infested internet.
If we had to have some way to share an IP address SOCKS proxies would have been SUCH a better idea. Your applications (or you IP stack) have to support the proxy, but EVERYTHING works, not just the standard only pull data down stuff.
Seems like it would be a lot smarter if the phone manufactorers and the airlines got together to produce phones that automatically know to switch themselves off, or into airline mode.
In theory, you could have transponders in the planes that told all devices what was currently 'acceptable' usage.
If the standard was widely adapted, it could help with movie theatres and other similar situations.
One nasty kicker. These fees are NOT paid to the artist whose work you displayed. They are distributed based on a formula based on what's "popular" now, so that nobody has to do so much record keeping. You only play Techno, but Britney is still the one to get paid.
If you make a deal directly with the copyright holdres, you can tell RIAA/SoundExchange, etc to go to hell. If you only play music from your own band, (or from your own label, if you happen to be Sony), this is feasible.
The problem is that it's really, really, really hard to make a seperate deal with all of the copyright owners that you would like to be able to play. Imagine every radio station individually making deals, individually with every band.
Then imagine trying to keep track of all the different requirements that different bands might ask for.
Well obviously! You can say the same thing WITHOUT the SSH, OR the morse code!
*big emacs grin*
I agree with your point, but think it's important to understand that there is another view point here as well. They did end up handing over 25 MILLION dollars. They WERE punished.
There tends to be a difference in perception on the value of money based on who has this. This strongly influences legal results, and taxation. Since both sides really, truly believe in their viewpoints, they both tend to consider many decisions unfair.
An argument can be made that if 25 million is a fair fine (which I don't agree with in this case), then it doesn't matter if the company being fined has $12 or 26 million or 26 billion in the bank. The punishment should be the same. Most people who have a lot of money would take this point of view.
After all, if their money is worth less because they are rich, why did they bother to make it in the first place?
Most of the rest of us tend to say.... ah, they're rich, they can afford it, what are they bitching about? I just wish I HAD 25 million in the first place!
Of course, the point of the lawsuit (from a social point of view) is to discourage behavior that is bad for society. I don't see an occasional 25 million penalty as being much of a deterant for Microsoft.
Other people are commenting on the fact that this isn't always true, and that it's usually based on file extentions on the other end.
And it's true that most applications only pay lip service to the MIME/Types.
However, the hardest part is already done. The MIME/Types ARE there, and not following them is generally considered 'the wrong thing', even if people don't get very excited about it.
That means that the infrastructure is there, just not polished. It's a LOT easier to convince people to polish up and properly support something they already have, than it is to add add new infrastructure.
No, the cable version is single tuner, analog input. Anything else would require a deal with the cable companies, and Tivo hasn't been able to get them to sign on yet.
You can watch a recording while recording, and they do have dual tuners (both of which can be doing anything) for DIRECTV.
You should try a TiVo. It's got two weeks of guide data, and intelligent Season Passes. IE: You say 'reacord Series X' and in grabs the episodes intelligently. Even if they shift in time slot, or duration, or whatever.
I don't think any of the Scientific Altanta boxes can do that (at least not well), but maybe I'm wrong.
All the same features are there, but the exact layout varies. Frequently, the number of pages will change from one printer to another, but it usually takes a really complex document to break badly.
Still, they DO sometimes break badly.
Speak for yourself about understanding relativistic montion. I get the basics, but the further I try to get past that, the more my head hurts.
Having looked into starting a gaming company personally, it's already really, really hard to do. Especially for consoles.
It requires millions of dollars investment to produce the first game. Our estimates were $3 million of the game we had in mind (for the PS/2 using a from scratch engine).
There are a variety of ways to get money, but it's definatly not possible to do it nights and weekends, or in a garage. A lot of this is the control that the console makers have over every aspect of the game release.
They get to decide if you CAN release, and they get a big chunk of every game sold (bigger than the developer). The result is that you are forced into only doing blockbuster style games with heavy development costs. No $10 cheapies that are simple but fun are allowed. Nothing that doesn't fit into the model they are working with.
The most common way to get funding (and distribution) is to go through one of the big game labels. You sign contracts similar to the record industry. They fund your development, and you have to pay them back out of your sales. They are also conservative on what they will back, and don't like it when you try something new. After all, if you are trying something different, you might fail and not be able to pay back the 3 million you owe them.
Development companies often lose money. They are usually happy to just pay everyones salary during the development cycle, and then break even. Only with a mega-hit can you hope to really make money on the game.
Low end independant PC games on the other hand can be totally different, and are much more interesting to me.
The only problem with putting your schedule in front of management, is that there are some things they just won't see as important, even if they are to you.
Given a choice between "install security updates", or "install software updates that are 10x easier to manage" or "finish the database conversion that is half way done, awkward to work with, and unstable as hell" and "setup my new shiny toy of the week" they will take the shiney toy, because it's "Okay to put off that other things for a week or two."
This is because they really truly can't see what you are talking about as important, if they don't understand what it is. This is actually fair, since we do the same thing to them.
Unfortunatly, those things you want will keep getting put off for years if you don't fight for them.
The advice listed here is really, really good, and is the way to go. But just remember that sometimes you will have to fight for the stuff that you really need. Don't be inflexible, and don't fight over every issue. Pick your battles, and fight them when it really matters.
It's also easier to say "I just need to do this one really important thing first" than it is to say "I can't handle your shiney toy because I'm too busy".
I'll second that. I have a laptop that I frequently use for gaming on the road. Having to carry the CD collection around with me is a real hassle.
I have cracked games and played them myself (without distributing them). I do NOT find this immoral in any way, any more than I find it immoral to have the same game installed on my home machine that I also have installed on my laptop.
As a sanity check here, if I distributed copies of those cracks, or allowed multiple people to play them at the same time, I would not consider that moral.
IANAL, but I think that the legality of those acts (disregarding the DMCA) has not been clearly defined. That's why the DMCA was considered necessary. However, I think the DMCA is a bad law because it disallows far more than is necessary for the common good. Other people are welcome to their own opinions.
Morally speaking, I generally feel that if I paid for something, I have the right to do whatever I want with it, provided I don't hurt anyone. This used to be a common belief in the US, but in recent years, that belief has been changing. I consider that a Bad Thing (TM).
The kit comes with a heavily modified version of RedHat 5.x. You need their CD in the drive at boot time, but you don't actually need to use it for anything, except getting past the requirement for a signed disk to boot.
After that, the kernel is loaded from a memory card. The boot loader is smart enough to let you pick between multiple kernels, and everything.
Since the kit comes with a 40G hard drive, you have room for any distribution you care to get working.
Overall, it's not a bad way to get a linux box that's attached to your network and television. The only problem is that if you lose power, you have to start it back up by hand.
Switch from USB to firewire (which ups the cost), and it sounds great to me! The concept is good. In fact, if you ever build something like this, please post an article to SlashDot about how it turns out. I might even try something similar myself, next time I do a major server upgrade.
That said, USB is just a clunky protocol, and would involve a huge CPU drain to run heavily, especially with multiple buses. Also, because USB is known as being slow, all the people along the way were less worried about being efficient. This means the drivers, the USB to IDE hardware, the USB adapter, everything.
I'd really be suprised if anyone has every examined and optimized drivers (for any OS) to handle multiple adapters well.
Firewire is a smarter protocol, there is less CPU involvement, and it known as a 'higher-end' solution, so most of the people involved would have tried harder to perform well.
I would try it with just two drives to see if the raid software would really work with external devices, especially with live connects and disconnects. I'd be suprised if any raid software could handle having devices created and destroyed under them (as compared to just going into an error status) without some issues, but there is a good chance that the fixes would just be minor tweaks.
So, how well WOULD flash hold up as a replacement for a HD in a special purpose PC?
For example, if I setup a SolarPC with a 256 MB CompactFlash card as it's drive, and install Smoothwall, I end up with a linux firewall that has zero moving parts (no fan, no HD). However, it writes out log messages at LEAST once a minute, 24x7. And I want that logging, though the box can be configured to minimize it.
How long could I hope for such a box to last?
Remember that I'm crippling the write distribution algorithm by having a lot of the disk usage go to files that are static for long periods of time.
Remember that money often (not often) leads to other forms of influence that aren't illegal, or even considered immoral.
Since starting our own small consulting business, my business partner and I have the executives for multi-billion dollar companies, we've met the Mayors for Dallas and Ft. Worth, we've met a lot of people who make important decisions.
Even for us (very small company), there have been chances to express opinions that wouldn't have been heard if we weren't business owners, because we never would have met the people in question.
If we were a multi-billion dollar company, then it's much more likely that these desicion makers would be in our peer circle. They would be people that we saw more often, perhaps knew well. Just knowing such people gives you more influence. It doesn't mean buying votes, or even mean that you are trying to take advantage of a friendship.
People talk about stuff with people they know. That's part of how they form opinions. If you are one of the people they talk to, then your opinions help influence the final decision.
Lobbyists seem to be a very intelligent attempt to take advantage of this aspect of human nature. They seem to do their jobs as much by 'being arround' and just expressing opinions as by any other means. And if they are buying lunch of paying for the golf game to do it.... that's a small price to pay.
Larger compact flash cards are now big enough to act as replacements for hard-drives for small/special purpose PCs. For example, my firewall, even with all of it's logging only needs about 200M of storage.
I could use a CF card to build a small/slow PC with no moving parts (fanless also). That seems like it would be a lot more reliable.
However, how well do Compact Flash cards deal with continuous writing and rewriting? How long could a card handle the data being logging to disk from my firewall before it starting having errors?
How much of a problem would the slower write times be? In the case of the firewall, I would expect there to be enough ram to keep the slow CF read/write times from being a problem, but how much difference is there overall?
And I suddenly start visualizing them eating spagette and thinking about philosophy. Now, do they reach to the right, or the left for their forks?
I thought they already HAD stopped publishing music, and turned into a consortium of lawyers.
Oh..... they really think that stuff is music?
Remember that they patent EVERYTHING they can think of. The arrangement of the buttons in Outlook, the fact that buttons can be rearranged, everything.
There are probabably over 100 patents related to the behavior (not the implementation, the behavior) of the Start menu. I'm sure that most modern Linux desktops conflict with some of those.
I mean, they put a menu at the bottom left of the screen. And Microsoft did they first, so we DID copy from them. The fact that Apple put it at the top left before MS is not relevant.
I find that reading 5 articles on slashdot also has a similar effect. ;>
I think this whole thing is an argument that, given our current setup, line maintainers should do only that, and no more.
There is no way that SBC will not give preference to themselves, when they are in competition with other DSL providers.
Either SBC shouldn't have to share (which I see as bad because there is no competition), or the person owning the lines shouldn't be competing with the other resellers directly.
The only way I can see to do this is to split SBC, and the other line owners into line companies, and resellers. Splitting a company by force strikes me as a bad thing to do, but I think the end results would be good for end users.
It would also help answer questions about things like SBC being forced to sell lines to other companies 'at a loss'. If that's true, then the line companies would just go out of business. If they don't we know that they aren't being forced to subsidize their competitors.
Maybe my last reply was a bit more adamant than it should have been. I get frustrated, because I knew (and said loudly) that NAT was a huge hack when it was new. I knew as it was going to cause problems as it became more popular, but obviously, I could have no effect on the process.
Now that they are popular, most users don't understant that they cause any problems at all, much less what they are or why. And I'm one of the people (like yourself, and other readers here) who gets stuck trying to working around from both a sysadmin point of view, and as a network app developer.
For example, I'm involved in a (closed source) project right now using BitTorrent style technology that will probably fail because it can't handle more than about a third of the users being behind NAT firewalls. And this is after considerable effort to work around limitations of who can connect directly to who.
In particular (without custom port forwarding rules that you can't expect the average user to configure), one box behind a NAT firewall cannot connect directly to another box behind a NAT firewall.
Other effects are things like the fact that games must now use a star connection pattern, not a ring or a mesh (and the improved response times that might come from that). Any technology that allows individuals to communicate without a third party involved becomes either difficult or impossible (instant messaging without a central server, conference software, shared whiteboards, etc).
I just get frustrated about it all, because I see an artificial barrier to entry for an important area of network development.
If the application uses a fixed port number, and if you have enough external IPs to handle all of the internal machines, and if you don't mind having the extra admin work to keep updating your rules, then yes that works.
But if those aren't all true, then it doesn't. And all of those cases are frequently not true.
1) Many useful apps don't have fixed ports to listen on, instead they use lookup services. See anything based on RPC, Corba, etc. If you need to be able to run more than one copy of the application at a time, then multiple ports are REQUIRED.
2) ISPs are significantly limiting the number of IPs available. Like my home network where they charge me $5/month for one additional address. Unless I cough up the money, I can't SSH to more than one machine (and yes, I know the tricks around it, when they work, and when they don't).
Without the crutch of NAT, the address space would be much larger, and ISPs would never have been able to establish charging for address as a legitimate thing.
3) The admin work is a big barrior. If I want to do video chat with my mother, I have to drive 4 hours to her house to reconfigure her firewall. She's smart, but that's more than she can handle technically, and there is nobody else I can ask to do it. And what happens when lightning kills the cable modem, and it all has to be reconfigured?
Many large businesses run NAT for both security, and to deal with address space issues. I've seen a number of these networks through my consulting work. I have never seen network admins that would reconfigure the firewall just because one of their users want's to use AIM file transfers.
They may knowingly allow all kinds of funny things through an SSH port forward, but they won't begin to touch a config file (other than account creation) on a per user basis.
This means that small non-technical users are screwed. Anyone running unusual non-standard applications is screwed, anyone without enough address space that they don't need NAT in the first place is screwed, anyone so lazy that they don't want to have to reconfigure their security everytime they change which network applications they use is screwed, and anyone on a large corporate network is screwed.
Now, are you really so sure that NAT works just fine and that people should just quit complaining?
I once wrote a NAT engine (for the obscure Firewall/Plus), and I use NAT at home since I can't seem to bring myself to pay $5/month for a number.
Regardless, the technology was a bad idea, should never have been implemented, and should never have been allowed to be popular. It's delayed a change that would solve many problems, and gets harder to make the longer we put it off.
Instead most of the people using them have problems, and have applications that are broken without understanding why.
Nowadays, many applications are never written because they just won't work in our modern NAT infested internet.
If we had to have some way to share an IP address SOCKS proxies would have been SUCH a better idea. Your applications (or you IP stack) have to support the proxy, but EVERYTHING works, not just the standard only pull data down stuff.
Seems like it would be a lot smarter if the phone manufactorers and the airlines got together to produce phones that automatically know to switch themselves off, or into airline mode.
In theory, you could have transponders in the planes that told all devices what was currently 'acceptable' usage.
If the standard was widely adapted, it could help with movie theatres and other similar situations.