There are many different possible forms of democracy. A direct vote on all decisions (mob rule) is only one of them. I believe that our laws should represent a long term average of our opinions. This principle has become so ingrained into our modern democracies that most of us see a constitution as the basis of a democracy (while it is a limit on our representatives' power).
As for the wolves and the lamb*, I also believe that the optimal democracy is not a 'winner takes all'-system, but a Poldermodel (decisions are made with as much support as possible). Today you may accept a small deviation from your standpoint (a small loss for you and a big gain for someone else) and tomorrow (or in four years) it's the other way around. While this is difficult to achieve, the optimal outcome can only be achieved if the majority takes the needs of the minority into account.
*Not what you said, but I'll reply to two posts at once;)
Since the UK 'got rid of' handguns in 1996/7, violent crime rate has gone up by about 40%, and handgun crime has doubled.
I have looked into this a while back. The gun laws that were in effect before 1997 were quite strict already (even when compared to other European countries). The guns that were regulated have rarely been used in crimes because of this (there was one nasty incident in 1997 though, which caused the ban). Furthermore, the crime rates were already increasing.
The way I see it, the 1997 ban only hurt hunters and sport shooters, while the number of illegal guns hasn't been reduced because of this ban. It's much easier to import guns from Eastern Europe, both before and after the ban.
The only conclusion that you can draw from these facts is that banning strictly regulated guns doesn't have a substantial effect on crime rates. While gun nuts like to use this example as proof, the pre-1997 UK gun laws were infinitely more strict than the US gun laws, so they really don't tell us much about the current situation in the US. Unless you are willing to defend strict regulation with allowances for sport shooters and hunters, I suggest that you don't bother to use this example in a debate.
If I create something and I want to make it free, why should my work support less free works?
Because it will convince others to share as well. I believe that open source collaboration will often achieve the best results. As such, rational/succesful companies/individuals will use it when appropiate and will share their own changes (if they are useful to others). Usually, it shouldn't be necessary to use the GPL to force people to contribute. Au contraire, the GPL prevents many people from using your software. Those people won't contribute. Why would you want your software to be less used and less contributed to?
Clearly less free than the BSD license, it helps to ensure that my donations to things on the Free side of the line cannot be used to support things on the Non-Free side of the line.
Except that there are two lines (or even more):
BSD | GPL | Proprietary
Your work will not be used by software with a BSD-derived license, nor will it be used and contributed to by proprietary developers. That seems like a hefty loss. Do you believe that you can make up that loss through the few people who are 'forced' to contribute and otherwise wouldn't have?
Furthermore, I don't see why it's bad for proprietary developers to use and contribute to open source software. Proprietary software has its place. Some software simply cannot exist as open source. It seems to me that this calls for a peaceful coexistance between closed source and open source. The closed world uses open source components to improve the quality of its software and reduce the time to market, while it contributes back by improving those open source components. It's not like companies such as Apple, IBM and Sun aren't already contributing quite a bit. Why would you want to keep your code from them when they provide quite a bit of code to you?
No, it's not actually what you said IMHO. His comment on progressive taxation was about the (potential) costs of file sharing, which doesn't land on the small artist (the teeny loss in sales is absolutely dwarfed by the additional sales+gigs from the increased exposure). Progressive tax in real life is also not about any gains at all. You just take far less from the poor. The increased visibility, mostly to small artists, is another effect of file sharing, but isn't caused by the progressive tax.
Let me put it this way: - P2P might cause harm ('taxes'), if it exists, it will hurt popular artists. - P2P also causes great gains, mostly to unpopular/unknown artists.
Anyway, live recordings are illegal AFAIK, so the term bootleg seems appropriate. It's a copyright violation, the artist holds the rights to the song that you recorded. Of course, most artists are cool about it (except Lars probably).
First of all I want to point out the distinction between stealing and illegal copying. One of the two causes the owner to lose something. Please watch your language or we will misunderstand each other.
Furthermore, sharing music with friends is not illegal everywhere in the world. If I'm not mistaken, you can just give a copy of a CD to a friend in Norway (or was it one of the other scandinavian countries?). The fact that this practice happens to be illegal in the US today doesn't mean that we should all just agree. There are some very good reasons to allow this and I don't see it as particularly unethical. I believe that even with P2P there is enough money to be made, so why should we disallow sampling? Two arguments which are made by the RIAA are that: - They might earn less and need that money to boost new artists. - Artists will go broke when they P2P is not stopped.
Both arguments can be struck down by claiming that P2P is a very good way for (talented) artists to reach a larger audience and that it certainly doesn't hurt the financial status of the artists who aren't already rich and famous. The risk that it might perhaps, depending on whose figures you believe, have some small impact on the enormous income of popular artists seems to be a fairly small price to pay for the advantages that free (non-profit) file sharing brings. Remember that the protection of Intellectual Property is a man-made invention that is fairly young. The exchange of goods (later with the help of money) has been done since the dawn of time. At that time, nobody thought of protecting their drawings, words or inventions. The Bible was not protected by copyright and the wheel could be freely used. Only a few centuries ago the western world has created laws that give some extra rights to creators so they would create more works. The rights were never inalienable, our society grants them if we see them as being beneficial (assuming we have a well functioning democracy). There is no reason why society should spend it's resources to enforce a law which does more damage than good. IMHO the recent changes (DRM, DCMA, copyright extensions) are doing far more damage than good. Unfortunately it seems that most people are not educated well by the media (one requirement for a strong democracy), nor do most politicians listen to citizens (bribing politicians is legal in the US, strangely enough & there essentially is a weak two party system), so the laws are wrong and do substantial damage (and it is getting worse).
Going along with the RIAA/MPAA only means that my rights will be taken away. So, while it is sad for artists, I will not buy any of their stuff if the money will be used to oppress me. Call me a thief/pirate/terrorist if you want, but I _am_ willing to pay for a fair deal. A deal in which I am the consumer and the producer/distributor gives me what I want. Too bad that just doesn't happen. Most distributors want to treat me as a pirate. Ok, then I'll be one.
That's not exactly what he said. He said the the burden of illegal sharing (if it exists) is mostly felt by artists which are already popular or are supported by a big marketing budget, while the advantages are mostly seen by young/upcoming and niche artists. As such, it's sort of an equalizer.
PS. You do know that a bootleg is an illegal recording? They usually don't compete with legitimate recordings. It's mostly the loyal fans that want bootlegs and get them from P2P.
Hmm, you had me going. Hit the books, do your homework, and realize if you're going to discuss philosophy, you've gotta use the terms right: Categories of Free and Non-Free Software describes simply the types and distinctions of free and non-free software. There's a helpful Venn Diagram.
The short of it, is that BSD licensed software and public domain works are free software.
Do you understand the distinctions between Free Software and Open Source? Do you know why RMS strongly favors the one over the other? Have you followed the discussion between O'Reilly and Kuhn+RMS (O'reilly's standpoint, reply by Kuhn+RMS, Reply by O'rielly)? Can you describe the advantages and disadvantages of the GPLs viral nature? Can you argue the merits of more lenient licenses like the BSD license or the LGPL?
I have done my homework so please don't lecture me. There is nothing wrong with a respectful comment to show that someone doesn't know what he is talking about, but being condescending is irritating when you are right and outright stupid when you are not.
Yep. Because it would be superceded and replaced by something that doesn't abuse it's users. If that threatens the viability of your precious business, I'm sorry. That's not relevant to the philosophy RMS espouses.
The problem with your logic is that those users don't feel abused. You are basically argueing against the freedom for people to freely make a choice because somehow you are better able to make those decisions for them. Why don't you respect their choice? Besides, they are always free to order a custom GPL'ed product for 10-1000 times the cost, effort, time to deployment, etc. The company that created the software is in no way being unethical/wrong by selling a closed source product. They just deliver what the customers want. If the clients are willing to pay more for the source, they can have it (but they don't ask for it). If they want GPL'ed code, they can have it for a price. But again, _they_ decide to choose this particular option from all those available.
Then you are not interested in real philosophy. RMS is; I am too. Goodbye.
The fact that I don't believe in unattainable utopia doesn't mean that I cannot use them as a frame of reference. But I simply cannot accept the premise that man is perfect, that everyone has the same desires or other such nonsense. There are a thousand ways to practice philosophy while keeping in touch with reality.
No, I think that's the point of consistency, and the strength of RMS's positions on software. There's never a situation with a different solution - to RMS, freedom is always paramount.
RMS has a very specific interpretation of 'freedom'. An interpretation that doesn't match the interpretation that most people have: 'the absence of restrictions'. My definition of freedom supports the BSD licenses or the public domain, restricting someone from freely choosing a license for his creations (even if it builds upon my creations) is not the paramount of freedom.
If RMS refuses to see this as a valid point of view, he is just an asshole, not an enlightened philosopher.
Now this is a really great point. Where I think RMS's position breaks down is when the philosophy are mixed with context and environment. Clearly, there are certain contexts (ie, your interest in shinkwrapped niche software) where his solution breaks down. I suspect you're suggesting that you have interest in some shrinkwrapped niche software that has no free equivalent here and now.
I worked for a company which is moving from custom software to shrinkwrap. They have identified a profitable niche and can use their expertise to cater to that market. Selling a closed product allows them to (hopefully) make more money with less effort while selling a cheaper product. If they couldn't do this, they would still be building expensive, buggy, custom software at a very small margin. The GPL simply doesn't apply in this situation. The company has open sourced some of it's stuff, but closed source is the only viable strategy for this particular product.
Not speaking for RMS, but for myself, I think free software's response to that should be to consider when free software does exist in place of your niche propietary solution. Won't it be better to have all the advantages of freedom and still be able to do all the things you need to do?
What I'm saying, is that as a philisophically consistent solution to the problem of software, RMS's ideals of freedom still have better consequences than the proprietary alternative, modulo the current timeframe and context. In the future, when your software can be free, the free alternative will be wholly better than the shrinkwrapped proprietary one, for all the reasons that RMS has clearly announced oh so many times.
It's just a shame that time isn't now.
In RMS' world, this product couldn't exist. Everyone would be worse off. There will always be software that simply cannot exist as GPL'ed code. I'd rather have a real product than a theoretical one with more advantages, regardless of your particular religion. I really can't sympathize with people that believe in an unattainable utopia, regardless of whether that is communism, libertarianism, an enlightened dictatorship or Free Softwareism. Please grow up, thank you.
My ideal world is one where there is a wide mix of software and software licenses...
Congratulations, you have your ideal world, and you didn't have to do any work to achieve it! Your ideal world, in which there is a mix of MIT, BSD licenses, the GPL, and the licenses of Microsoft, Sun, Sony, and so on, is the world we live in now.
What a strange conclusion. Suppose that I believe that an 'ideal' society should be a democracy. Does that mean that I should like a democratic society in which the majority has decided that DRM is mandatory? Of course not, the prerequisite for an ideal society is not in itself a sufficient condition. An even clearer example: suppose that I believe that an ideal world should be free of crime. A world without life would qualify if this were the only necessary condition.
The proponents and owners of the "fascist" licenses are now trying to enlist the governments of the world to help them maintain a stranglehold on the market and people's freedoms to use computers to their full potential. The DMCA is a product of your ideal world.
That stranglehold clearly favors certain kinds of licenses over others and thus goes against the parent posts: "That way people can decide which licenses and which software they want to use and support. Let a thousand licenses bloom!". How can I choose freely when: - DMCA is used to kill GPL'ed DVD-players? - encryption issues may not be discussed freely? - (broad) patents are used by established players to bully (potential) competitors? - monopolists are allowed to abuse their power?
I may not agree with the parents stance on fascist licenses, but that doesn't mean that he somehow agrees with the DMCA (au contraire, his position seems quite libertarian). Your accusation is FUD, pure and simple.
Your "ideal world" is the vision of a lazy person who thinks (or hopes) that everything will work out for the best.
Or perhaps it is the vision of someone who believes that the awful laws which have been (and will be) created should be fought in congress, by smart congressmen who were and will be elected by educated Americans. The GPL can never undo bad laws or preserve your liberties. If you believe that RMS or the GPL will somehow save you from a police state you fail to understand what is really at stake.
You cannot just 'solve' the problem of software freedom. The outcome will be different depending on the demands you require of the solution. For instance, I might care a lot about shrinkwrap niche software. RMS' solution does not address that issue very well, so his solution cannot be considered optimal for everyone. If RMS' thinking has always led to one inescapable conclusion, that means he is unable to understand or respect problems that are not his own. Hardly the sign of a good philosopher and certainly not a trait of a respected debater.
It is a matter of balance. The "discount future" rule of accounting *is* applicable IMO, regardless of how unintuitive or dishartening it may seem.
There is quite a bit of evidence which suggests that most projects are on the low end of the quality scale, where focusing on better quality still has a (very) good ROI. I don't think the discounting rule applies though, one of the rules of software development is that late changes/defects cost much more (instead of less). Perhaps we are dealing with deflation.;)
I am not saying ignore future maintenance, just don't get wrapped up in it. A good developer can make good compromises between the extremes and still finish on time.
There is a natural tendency to do 'productive' work and skip testing and QA. One of the steps towards becoming a good programmer is too understand these tendencies and to replace them with rational decisions. Saving a bit of time during coding which both increases your schedule and reduces the quality is not a wise thing to do, but it does happen in real life (a lot).
Bring the significant tradeoff issues up with the customer or boss, and let them make the final decision.
Exactly. The problem is that they usually don't know what's good for them. It can be very hard to convince a boss/customer/marketeer that a set of features will require at least a certain amount of time to build. Most programmers already estimate far too agressively and then let themselves be swayed to accept an even shorter deadline. This results in crappy software that actually takes longer too build because of all the extra effort (rework, bug-fixing, spending time on finishing touches long before shipping) and it has a lot of negative effects on programmers (long work hours, burnout, always falling short). A good technical lead will not fall for this trap and is able to achieve true win-win situations for everyone.
But again, the book is much better at explaining all this. I recommend it heartily.
For example, I was working on a project where status codes for items seemed like they might increase. To track the number of sub-items in a given status category, the original schema had a slot field to put the count for each status. It seemed to me that if a new record (row) was created for each status then it would be easier to add new statuses in the future, but it would complicate the design. I brought this up with my boss, but it was voted down. So goes it.
Your example is a design issue, it's not so much about quality. You wanted to spend time that will only repay itself when a certain feature is added in the future. Paradigms like Extreme Programming are based on the assumption that the "discount future" rule is very strong for functionality that you build for the future. Only 10% of that pre-work will actually be used and having clean code will make your code much more maintainable (they also say that you should always use the simplest design that supports all requirements), so you are usually better off by leaving it out. Even if you need it later, adding it to a clean design isn't that difficult.
Hacking code and fixing bugs is a lot of work as well. Defects that are not detected during coding will usually cost much more to remedy later on. You can often actually decrease the schedule (up to a point) by focusing on quality. In addition, the nasty consequences of low quality are hard to quantify beforehand and usually come up at an inopportune time (at the end of the project). In real life, projects & people are usually evaluated by their adherence to the schedule. A project that promises to complete in 8 months, but lasts a year, is usually considered a failure. The same project might be considered a succes if the plan was 13 months and the project finished exactly on time. That means that a smart project manager might even want to trade speed for a reduction in risk.
I could go on and on, but my prose is hardly as enjoyable as McConnell's. I suggest you read Rapid Development. He goes into this in much more detail than I can and he has the references to back up his opinions. The book is very practical and the author calls OO a fad (it's an old book), so you might like it;)
I'm sorry for my late response, a virus penetrated my firewall and set the automatic defense system in motion: increased priority to the 'White cell' service at the expense of the Intelligence app.
Named parameters is to *avoid* find-and-replace.
Yes, I know. But the effect will probably be substantially smaller than using refactoring(s). My point was more that they don't exactly overlap, refactoring can do much more than named parameters and also a bit less ( named parameters can be arbitrarily ordered, may increase the readability of function calls and allow functions with the same name+parameter type(s) ).
I actually consider this "refactoring" push a *failure* of OOP, or at least a bad idea. Rather than trying to avoid the Code Change Gods, it is giving into them big-time. I don't get it.
I guess you don't like Extreme Programming then;) The problem with avoiding change in your app is that you get code rot. The real world changes while the code stays the same. You add local hacks to support feature X, Y and Z, messing up your code. Changes become harder and harder to make. You start to get massive code duplication and (unnecessary) interdependencies. Your resistence to low-level change catches up with you because you are now forced to make all kinds of wide-spread, buggy hacks just to support the features that your customer really need. Finally you throw out the mess and start again.
XP tries to avoid this as long as possible by making it much, much easier to keep your code up to date. Many of the XP rules support this: - no ownership of code - no clever tricks, KISS - rigorous unit tests - only create the code that you need now - integrate often - refactor regularly and in small steps
Having unit tests for just about everything is a very important rule in this regard. It gives you confidence that you can change the implementation without changing the functionality. This allows you the maximum amount of freedom. You keep the code lean and mean. The design evolves along with the addition of new features. You won't be prevented from making necessary changes just because it's 'too hard to do' (which happens in real life - a lot). I understand why it is hard to grasp, this goes against the engineering principles that you where taught: gather all requirements first, make a detailed design, etc. Of course, we all know that the world doesn't conform to the waterfall model and that software is especially prone to changing requirements. There is only so much you can do to reduce the effects of this threat. Instead of fighting it, XP embraces this law of nature (which makes it very effective for some projects). Refactoring is an important part of this strategy and I don't see why you consider it pushing a failure. Is procedural programming immune to code rot and changing requirements? Is any programming paradigm?
...there's a 100ft long ethernet cable suspended in mid air around the 14th floor from one 22 story building to another. I have *no* clue how somone accomplished this.
Take a very thin and light rope and put something sticky on one end. Shoot it to the other building. Attach a thicker rope to the end of the thin one and haul the thin one back in to the first building. Attach an even thicker rope and pull the rope over the second building. Repeat until the rope is thick enough to haul over the thing you want to move the the other building (a measily little ethernet cable in this case).
An alternative for the initial link is to have a longer thin rope, drop it down from the first building and use the window washers platform to haul it up on the second building.
Named parameters are nice as well, this is an alternative which has its advantages and disadvantages. If I had to choose I would go for the refactoring(s). They are more versatile, encourage improving your code and save some find/replace (well, a lot actually).
I consider refactoring one of major new OO coding techniques of this decennium (some things might work with procedural programming, but a lot of refactorings are OO specific). If you want to learn more, you should read Ward Cunninghams famous wiki and check out refactoring.com (although it's a bit hard to navigate).
Refactoring will solve exactly this problem, one of the refactorings (Rename Method) allows you to change a method and have the method calls be changed to reflect this. Refactoring like these are extremely handy and are one important way to solve the problem of reducing and managing duplicated functionality (AspectJ is another interesting solution).
Me too, although the Knesset is probably one of the worst examples of a coalition system. Israeli coalitions rarely stay together until the end of their term. Of course, that may have something to do with the fact that Israel is: - in a civil war. - only 50 years old. - based on a racial doctrine which allowed people from all over the world with strongly differing cultural backgrounds to move the same piece of land. Israeli citizens cannot really be called one people. This is evident in politics as the political parties are strongly divided based on heritage (Russian, European, Arabian) instead of political views.
I'd imagine this to change in the next one hundred years. The israeli people will develop a common history, hopefully will make peace and move towards a modern constitutional state. If you are interested in coalitions you might want to check out the dutch Poldermodel. One of the interesting features is that strikes are greatly reduced because of high-level negotiations between union and employer delegates. In this manner coalitions are used to prevent conflicts and solve important problems.
Indeed, I consider the two party system to be extremely resistent to voter influence which kind of defeats the purpose of a democracy. The people that were elected mostly through party politics then allow you some (non-threatening) influence through these hacks. Neat.
I wanted to point out that more complex trials are handled by three judges instead of one (I'm not sure about the exact rules on that matter). The punishment will probably depend a lot on his past criminal record, motivation & current regret/willingness to be treated. In the best case it might be low (community service). It has been proven that (more) jail-time will increase the chance of someone becoming a repeat offender, so we try to reduce jail-time in favor of more educational approaches (and reduce the load on our jails + save money).
I also want to point out that judges aren't elected, so they aren't forced to punish harder to appease the people* that believe the "Crime is increasing"-mantra that the media like to perpetrate (and have for hundreds of years. They complained about it during roman times and ever since.).
*True democracy is the average man deciding who is smart enough to govern them. It's not the average man making decisions on complex matters which they cannot (be expected to) understand in detail. The people should choose the goals and judge the elected men and women on the results they achieve. Politicians should be allowed to try and achieve these goals with a coherent set of decisions. That's why I don't like these micro-management elections or referenda for that matter. </rant> Sorry, had to get that off my chest.
I agree with the other reply to your post. The benefits of pair programming are different depending on the pair. If you pair two experienced coders you are optimizing design and speed. If you pair two inexperienced coders, you optimize quality and training (they will learn fast and make far, far fewer mistakes). Pairing an experienced with an inexperienced coder teaches the new guy a lot, but at the expense of speed and (perhaps) the patience of the experienced guy. On the other hand, the experienced coder might benefit from the 'unperverted' idea's that the inexperienced coder has (but he has to code or he won't express these idea's).
The optimum is IMHO to have equal pairs most of the time, but mix now and then. The mixed pairing should probably be presented as training (for both coders). This is no different from being tasked with coaching or code review, although it can probably be a lot more fun if you approach it with the proper goals in mind. Of course, the pairs should also be put on the proper parts of the project. You put the experienced pair on difficult components, the inexperienced pair on easy stuff and the mixed pair on problems of medium complexity.
I believe that this is probably the best way to get the teammembers to be close in skill and familiar with each other's style and way of thinking, exactly the prerequisites of pair programming that you mentioned.
Say I'm your government affiliated nail remover company, and I employ 25% of the domestic population. Your foreign clawhammer company is coming in and creating unemployment, destroying jobs, and generally upsetting my (admittedly backwards) economy. I go to outlaw clawhammers so my populace can remain employed (and pay taxes). Should that "not be allowed to happen"?
If you support this, you cannot blame foreigners for doing the same. The EU might block your fantastic screwdrivers. The result is a lack of international trade. US citizens have to buy shoddy, overpriced nail remover, while EU citizens only have access to bad screwdrivers. The increase in local sales is usually more than offset by a lack of exports. In the end, everyone is worse off.
Say I'm a large automaker with higher overhead than my foreign competition because of worker safety laws and my contractual obligations to the various unions I work with. I'm damned well going to lobby the government to add tariffs to foreign cars to level the playing field. Should that "not be allowed to happen"?
You can use your influence to force countries to comply to certain rules, but if you go to far, they will simply stop trading with you. So you must find a balance by allowing other countries (and the US itself) to compete in their own way without leeching (too much). Don't forget that there are things the US does that aren't considered fair by some other countries (subsidizing steel & farmers, allowing monopolies, having few holidays and long working hours).
Say I'm a large US distributor of alcohol and I want to spend some money to make sure that my main competitor, marijuana, remains illegal. Should that "not be allowed to happen"?
No. You shouldn't be allowed to bribe the politicians for your cause IMHO. In a democracy every man is supposed to have a vote, not every dollar. If the populace decides that marihuana should be legal, then it should be legal.
Finally, if you're still supporting the implied-passive-voice "should not be allowed to happen", how about we take it out of passive voice. *By Who*?
You think the UN, or maybe the US, should invade countries because they have different economic ideas than us?
Geez, international politics does not have to include violence. I have already explained one mechanism by which a country can (be) punish(ed). The western world is powerful enough that we can force treaties like WIPO and TRIP upon the third world. All without invasions. Of course, citizens may also object to not having access to clawhammers (and not being able to freely sell their goods abroad). Hopefully many will be smarter than you.
It's not immoral. It is economically unsound. And there's no force in the world with the moral authority to tell Panama (or anyone else) that they have to see things our way.
The question whether something is moral or not is for an individual to make. You cannot decide for me what I or anyone else should consider (im)moral. If a country disagrees with something they can always stop trading with that country (South-Africa during Apartheid, Irak). That is economically unsound, we could probably sell a lot of weapons to Saddam. Of course, money isn't everything.
You imply that this kind of thing "should not be allowed to happen" -- I say the free market "will not allow this to happen." There's no moral judgement to be made here. The free (or relatively free) market will speak, and that's that. No sense getting your panties in a twist. And you know what? The manner in which it does happen may just be educational to all of us.
That's quite optimistic. How many people could benefit from medicinal marihuana, but aren't allowed to use it (instead having to resort to 'innocent' drugs such as opium)? Demand will indeed cause criminals to seize the opportunity, but a there are a lot of costs: - higher barriers - higher costs - more crime
Blocked ports can of course be circumvented without resorting to crimes (you still have higher barriers and higher costs), but there is no reason why Panama can't outlaw VOIP. It might be the next step. What do the citizens of Panama do then?
Apple could ship Ogg, save money, give the user something better, and the user would still not need to know the difference. A win for Apple, a win for the users. Tremor runs just fine on the iPod, so you'd not even cut the users off from their portable players. Ogg also already outperforms the next-generation of AAC, so still no lose there.
You are not suggesting that users will just accept having to re-encode all their music as OGG, are you? MP3-players will have to be around for a long time. There is no money saved in the short run (or even medium run).
True enough, but most will notice quickly when the Ogg files that sound just as good are half the size.
Just like they will quickly notice that they can't share their songs with anyone else, can't just download them easily from P2P networks and can't use their songs on various MP3-players.
just like there's no real reason for anyone to use a Mac when Windows machines are cheaper:-) I mean they both can do all the same things, right?
The difference is that the Mac has some very big advantages, while OGG has only two small ones: - Free - Small
Those don't offset the disadvantages for 99.9% of the population. Being free doesn't matter much because we don't directly pay for the encoder and the cost isn't that high to begin with. Being small doesn't matter much when you can't download OGG-encoded music. Storage prices are so low that it hardly matters to have a 2 instead of 4 MB song.
is that in the Netherlands we are talking about adapting diesel cars to use ureum. That's a component of urine, but is also used in fertilizer. The european laws will become very strict on NOx pollution (which causes acid rain) and ureum can neutralize it.
I'm afraid that peeing in your gas tank won't work since the ureum must be added to the exhaust gasses, but I think that you should be able to build a pee-guzzling catalyst. Imagine the look on the faces of your friends as you tell them you are going to have a leak, but skip the rest room and walk to your car.
Sigh, I'm getting tired of argueing with a butterfly. I could reply to this, but how do I know that you won't just flutter to the next argument? And I'm not going to argue every detail of Linux vs OS X, especially not with someone who only seems to regard this argument as a one way street (do you even want to learn anything from this debate?).
Is there anyone in this world *truly* unbiased? Everybody is at least a little biased, even you.
Ok, scrap the word biased (it was superfluous anyway). That still leaves zealot.
So what you're saying is: 1. I started out defending Linux but not attacking OS X. 2. I continue to not attack OS X. 3. Conclusion: I was trolling.
???????
No, you start by defending Linux for it's features (which is OK) and then suddenly turn it into a fairness contest that is totally irrelevant. It's like losing an anti-GPL debate and then concluding with: "but RMS is an idiot". That's trolling.
There are many different possible forms of democracy. A direct vote on all decisions (mob rule) is only one of them. I believe that our laws should represent a long term average of our opinions. This principle has become so ingrained into our modern democracies that most of us see a constitution as the basis of a democracy (while it is a limit on our representatives' power).
;)
As for the wolves and the lamb*, I also believe that the optimal democracy is not a 'winner takes all'-system, but a Poldermodel (decisions are made with as much support as possible). Today you may accept a small deviation from your standpoint (a small loss for you and a big gain for someone else) and tomorrow (or in four years) it's the other way around. While this is difficult to achieve, the optimal outcome can only be achieved if the majority takes the needs of the minority into account.
*Not what you said, but I'll reply to two posts at once
Since the UK 'got rid of' handguns in 1996/7, violent crime rate has gone up by about 40%, and handgun crime has doubled.
I have looked into this a while back. The gun laws that were in effect before 1997 were quite strict already (even when compared to other European countries). The guns that were regulated have rarely been used in crimes because of this (there was one nasty incident in 1997 though, which caused the ban). Furthermore, the crime rates were already increasing.
The way I see it, the 1997 ban only hurt hunters and sport shooters, while the number of illegal guns hasn't been reduced because of this ban. It's much easier to import guns from Eastern Europe, both before and after the ban.
The only conclusion that you can draw from these facts is that banning strictly regulated guns doesn't have a substantial effect on crime rates. While gun nuts like to use this example as proof, the pre-1997 UK gun laws were infinitely more strict than the US gun laws, so they really don't tell us much about the current situation in the US. Unless you are willing to defend strict regulation with allowances for sport shooters and hunters, I suggest that you don't bother to use this example in a debate.
If I create something and I want to make it free, why should my work support less free works?
Because it will convince others to share as well. I believe that open source collaboration will often achieve the best results. As such, rational/succesful companies/individuals will use it when appropiate and will share their own changes (if they are useful to others). Usually, it shouldn't be necessary to use the GPL to force people to contribute. Au contraire, the GPL prevents many people from using your software. Those people won't contribute. Why would you want your software to be less used and less contributed to?
Clearly less free than the BSD license, it helps to ensure that my donations to things on the Free side of the line cannot be used to support things on the Non-Free side of the line.
Except that there are two lines (or even more):
BSD | GPL | Proprietary
Your work will not be used by software with a BSD-derived license, nor will it be used and contributed to by proprietary developers. That seems like a hefty loss. Do you believe that you can make up that loss through the few people who are 'forced' to contribute and otherwise wouldn't have?
Furthermore, I don't see why it's bad for proprietary developers to use and contribute to open source software. Proprietary software has its place. Some software simply cannot exist as open source. It seems to me that this calls for a peaceful coexistance between closed source and open source. The closed world uses open source components to improve the quality of its software and reduce the time to market, while it contributes back by improving those open source components. It's not like companies such as Apple, IBM and Sun aren't already contributing quite a bit. Why would you want to keep your code from them when they provide quite a bit of code to you?
No, it's not actually what you said IMHO. His comment on progressive taxation was about the (potential) costs of file sharing, which doesn't land on the small artist (the teeny loss in sales is absolutely dwarfed by the additional sales+gigs from the increased exposure). Progressive tax in real life is also not about any gains at all. You just take far less from the poor. The increased visibility, mostly to small artists, is another effect of file sharing, but isn't caused by the progressive tax.
Let me put it this way:
- P2P might cause harm ('taxes'), if it exists, it will hurt popular artists.
- P2P also causes great gains, mostly to unpopular/unknown artists.
Anyway, live recordings are illegal AFAIK, so the term bootleg seems appropriate. It's a copyright violation, the artist holds the rights to the song that you recorded. Of course, most artists are cool about it (except Lars probably).
First of all I want to point out the distinction between stealing and illegal copying. One of the two causes the owner to lose something. Please watch your language or we will misunderstand each other.
Furthermore, sharing music with friends is not illegal everywhere in the world. If I'm not mistaken, you can just give a copy of a CD to a friend in Norway (or was it one of the other scandinavian countries?). The fact that this practice happens to be illegal in the US today doesn't mean that we should all just agree. There are some very good reasons to allow this and I don't see it as particularly unethical. I believe that even with P2P there is enough money to be made, so why should we disallow sampling? Two arguments which are made by the RIAA are that:
- They might earn less and need that money to boost new artists.
- Artists will go broke when they P2P is not stopped.
Both arguments can be struck down by claiming that P2P is a very good way for (talented) artists to reach a larger audience and that it certainly doesn't hurt the financial status of the artists who aren't already rich and famous. The risk that it might perhaps, depending on whose figures you believe, have some small impact on the enormous income of popular artists seems to be a fairly small price to pay for the advantages that free (non-profit) file sharing brings. Remember that the protection of Intellectual Property is a man-made invention that is fairly young. The exchange of goods (later with the help of money) has been done since the dawn of time. At that time, nobody thought of protecting their drawings, words or inventions. The Bible was not protected by copyright and the wheel could be freely used. Only a few centuries ago the western world has created laws that give some extra rights to creators so they would create more works. The rights were never inalienable, our society grants them if we see them as being beneficial (assuming we have a well functioning democracy). There is no reason why society should spend it's resources to enforce a law which does more damage than good. IMHO the recent changes (DRM, DCMA, copyright extensions) are doing far more damage than good. Unfortunately it seems that most people are not educated well by the media (one requirement for a strong democracy), nor do most politicians listen to citizens (bribing politicians is legal in the US, strangely enough & there essentially is a weak two party system), so the laws are wrong and do substantial damage (and it is getting worse).
Going along with the RIAA/MPAA only means that my rights will be taken away. So, while it is sad for artists, I will not buy any of their stuff if the money will be used to oppress me. Call me a thief/pirate/terrorist if you want, but I _am_ willing to pay for a fair deal. A deal in which I am the consumer and the producer/distributor gives me what I want. Too bad that just doesn't happen. Most distributors want to treat me as a pirate. Ok, then I'll be one.
That's not exactly what he said. He said the the burden of illegal sharing (if it exists) is mostly felt by artists which are already popular or are supported by a big marketing budget, while the advantages are mostly seen by young/upcoming and niche artists. As such, it's sort of an equalizer.
PS. You do know that a bootleg is an illegal recording? They usually don't compete with legitimate recordings. It's mostly the loyal fans that want bootlegs and get them from P2P.
Hmm, you had me going. Hit the books, do your homework, and realize if you're going to discuss philosophy, you've gotta use the terms right: Categories of Free and Non-Free Software describes simply the types and distinctions of free and non-free software. There's a helpful Venn Diagram.
The short of it, is that BSD licensed software and public domain works are free software.
Do you understand the distinctions between Free Software and Open Source? Do you know why RMS strongly favors the one over the other? Have you followed the discussion between O'Reilly and Kuhn+RMS (O'reilly's standpoint, reply by Kuhn+RMS, Reply by O'rielly)? Can you describe the advantages and disadvantages of the GPLs viral nature? Can you argue the merits of more lenient licenses like the BSD license or the LGPL?
I have done my homework so please don't lecture me. There is nothing wrong with a respectful comment to show that someone doesn't know what he is talking about, but being condescending is irritating when you are right and outright stupid when you are not.
Yep. Because it would be superceded and replaced by something that doesn't abuse it's users. If that threatens the viability of your precious business, I'm sorry. That's not relevant to the philosophy RMS espouses.
The problem with your logic is that those users don't feel abused. You are basically argueing against the freedom for people to freely make a choice because somehow you are better able to make those decisions for them. Why don't you respect their choice? Besides, they are always free to order a custom GPL'ed product for 10-1000 times the cost, effort, time to deployment, etc. The company that created the software is in no way being unethical/wrong by selling a closed source product. They just deliver what the customers want. If the clients are willing to pay more for the source, they can have it (but they don't ask for it). If they want GPL'ed code, they can have it for a price. But again, _they_ decide to choose this particular option from all those available.
Then you are not interested in real philosophy. RMS is; I am too. Goodbye.
The fact that I don't believe in unattainable utopia doesn't mean that I cannot use them as a frame of reference. But I simply cannot accept the premise that man is perfect, that everyone has the same desires or other such nonsense. There are a thousand ways to practice philosophy while keeping in touch with reality.
No, I think that's the point of consistency, and the strength of RMS's positions on software. There's never a situation with a different solution - to RMS, freedom is always paramount.
;)
RMS has a very specific interpretation of 'freedom'. An interpretation that doesn't match the interpretation that most people have: 'the absence of restrictions'. My definition of freedom supports the BSD licenses or the public domain, restricting someone from freely choosing a license for his creations (even if it builds upon my creations) is not the paramount of freedom.
If RMS refuses to see this as a valid point of view, he is just an asshole, not an enlightened philosopher.
Now this is a really great point. Where I think RMS's position breaks down is when the philosophy are mixed with context and environment. Clearly, there are certain contexts (ie, your interest in shinkwrapped niche software) where his solution breaks down. I suspect you're suggesting that you have interest in some shrinkwrapped niche software that has no free equivalent here and now.
I worked for a company which is moving from custom software to shrinkwrap. They have identified a profitable niche and can use their expertise to cater to that market. Selling a closed product allows them to (hopefully) make more money with less effort while selling a cheaper product. If they couldn't do this, they would still be building expensive, buggy, custom software at a very small margin. The GPL simply doesn't apply in this situation. The company has open sourced some of it's stuff, but closed source is the only viable strategy for this particular product.
Not speaking for RMS, but for myself, I think free software's response to that should be to consider when free software does exist in place of your niche propietary solution. Won't it be better to have all the advantages of freedom and still be able to do all the things you need to do?
What I'm saying, is that as a philisophically consistent solution to the problem of software, RMS's ideals of freedom still have better consequences than the proprietary alternative, modulo the current timeframe and context. In the future, when your software can be free, the free alternative will be wholly better than the shrinkwrapped proprietary one, for all the reasons that RMS has clearly announced oh so many times.
It's just a shame that time isn't now.
In RMS' world, this product couldn't exist. Everyone would be worse off. There will always be software that simply cannot exist as GPL'ed code. I'd rather have a real product than a theoretical one with more advantages, regardless of your particular religion. I really can't sympathize with people that believe in an unattainable utopia, regardless of whether that is communism, libertarianism, an enlightened dictatorship or Free Softwareism. Please grow up, thank you.
PS. I'm drunk. Moderators, be kind!
My ideal world is one where there is a wide mix of software and software licenses...
Congratulations, you have your ideal world, and you didn't have to do any work to achieve it! Your ideal world, in which there is a mix of MIT, BSD licenses, the GPL, and the licenses of Microsoft, Sun, Sony, and so on, is the world we live in now.
What a strange conclusion. Suppose that I believe that an 'ideal' society should be a democracy. Does that mean that I should like a democratic society in which the majority has decided that DRM is mandatory? Of course not, the prerequisite for an ideal society is not in itself a sufficient condition. An even clearer example: suppose that I believe that an ideal world should be free of crime. A world without life would qualify if this were the only necessary condition.
The proponents and owners of the "fascist" licenses are now trying to enlist the governments of the world to help them maintain a stranglehold on the market and people's freedoms to use computers to their full potential. The DMCA is a product of your ideal world.
That stranglehold clearly favors certain kinds of licenses over others and thus goes against the parent posts: "That way people can decide which licenses and which software they want to use and support. Let a thousand licenses bloom!". How can I choose freely when:
- DMCA is used to kill GPL'ed DVD-players?
- encryption issues may not be discussed freely?
- (broad) patents are used by established players to bully (potential) competitors?
- monopolists are allowed to abuse their power?
I may not agree with the parents stance on fascist licenses, but that doesn't mean that he somehow agrees with the DMCA (au contraire, his position seems quite libertarian). Your accusation is FUD, pure and simple.
Your "ideal world" is the vision of a lazy person who thinks (or hopes) that everything will work out for the best.
Or perhaps it is the vision of someone who believes that the awful laws which have been (and will be) created should be fought in congress, by smart congressmen who were and will be elected by educated Americans. The GPL can never undo bad laws or preserve your liberties. If you believe that RMS or the GPL will somehow save you from a police state you fail to understand what is really at stake.
You cannot just 'solve' the problem of software freedom. The outcome will be different depending on the demands you require of the solution. For instance, I might care a lot about shrinkwrap niche software. RMS' solution does not address that issue very well, so his solution cannot be considered optimal for everyone. If RMS' thinking has always led to one inescapable conclusion, that means he is unable to understand or respect problems that are not his own. Hardly the sign of a good philosopher and certainly not a trait of a respected debater.
It is a matter of balance. The "discount future" rule of accounting *is* applicable IMO, regardless of how unintuitive or dishartening it may seem.
;)
There is quite a bit of evidence which suggests that most projects are on the low end of the quality scale, where focusing on better quality still has a (very) good ROI. I don't think the discounting rule applies though, one of the rules of software development is that late changes/defects cost much more (instead of less). Perhaps we are dealing with deflation.
I am not saying ignore future maintenance, just don't get wrapped up in it. A good developer can make good compromises between the extremes and still finish on time.
There is a natural tendency to do 'productive' work and skip testing and QA. One of the steps towards becoming a good programmer is too understand these tendencies and to replace them with rational decisions. Saving a bit of time during coding which both increases your schedule and reduces the quality is not a wise thing to do, but it does happen in real life (a lot).
Bring the significant tradeoff issues up with the customer or boss, and let them make the final decision.
Exactly. The problem is that they usually don't know what's good for them. It can be very hard to convince a boss/customer/marketeer that a set of features will require at least a certain amount of time to build. Most programmers already estimate far too agressively and then let themselves be swayed to accept an even shorter deadline. This results in crappy software that actually takes longer too build because of all the extra effort (rework, bug-fixing, spending time on finishing touches long before shipping) and it has a lot of negative effects on programmers (long work hours, burnout, always falling short). A good technical lead will not fall for this trap and is able to achieve true win-win situations for everyone.
But again, the book is much better at explaining all this. I recommend it heartily.
For example, I was working on a project where status codes for items seemed like they might increase. To track the number of sub-items in a given status category, the original schema had a slot field to put the count for each status. It seemed to me that if a new record (row) was created for each status then it would be easier to add new statuses in the future, but it would complicate the design. I brought this up with my boss, but it was voted down. So goes it.
Your example is a design issue, it's not so much about quality. You wanted to spend time that will only repay itself when a certain feature is added in the future. Paradigms like Extreme Programming are based on the assumption that the "discount future" rule is very strong for functionality that you build for the future. Only 10% of that pre-work will actually be used and having clean code will make your code much more maintainable (they also say that you should always use the simplest design that supports all requirements), so you are usually better off by leaving it out. Even if you need it later, adding it to a clean design isn't that difficult.
Hacking code and fixing bugs is a lot of work as well. Defects that are not detected during coding will usually cost much more to remedy later on. You can often actually decrease the schedule (up to a point) by focusing on quality. In addition, the nasty consequences of low quality are hard to quantify beforehand and usually come up at an inopportune time (at the end of the project). In real life, projects & people are usually evaluated by their adherence to the schedule. A project that promises to complete in 8 months, but lasts a year, is usually considered a failure. The same project might be considered a succes if the plan was 13 months and the project finished exactly on time. That means that a smart project manager might even want to trade speed for a reduction in risk.
;)
I could go on and on, but my prose is hardly as enjoyable as McConnell's. I suggest you read Rapid Development. He goes into this in much more detail than I can and he has the references to back up his opinions. The book is very practical and the author calls OO a fad (it's an old book), so you might like it
I'm sorry for my late response, a virus penetrated my firewall and set the automatic defense system in motion: increased priority to the 'White cell' service at the expense of the Intelligence app.
;) The problem with avoiding change in your app is that you get code rot. The real world changes while the code stays the same. You add local hacks to support feature X, Y and Z, messing up your code. Changes become harder and harder to make. You start to get massive code duplication and (unnecessary) interdependencies. Your resistence to low-level change catches up with you because you are now forced to make all kinds of wide-spread, buggy hacks just to support the features that your customer really need. Finally you throw out the mess and start again.
Named parameters is to *avoid* find-and-replace.
Yes, I know. But the effect will probably be substantially smaller than using refactoring(s). My point was more that they don't exactly overlap, refactoring can do much more than named parameters and also a bit less ( named parameters can be arbitrarily ordered, may increase the readability of function calls and allow functions with the same name+parameter type(s) ).
I actually consider this "refactoring" push a *failure* of OOP, or at least a bad idea. Rather than trying to avoid the Code Change Gods, it is giving into them big-time. I don't get it.
I guess you don't like Extreme Programming then
XP tries to avoid this as long as possible by making it much, much easier to keep your code up to date. Many of the XP rules support this:
- no ownership of code
- no clever tricks, KISS
- rigorous unit tests
- only create the code that you need now
- integrate often
- refactor regularly and in small steps
Having unit tests for just about everything is a very important rule in this regard. It gives you confidence that you can change the implementation without changing the functionality. This allows you the maximum amount of freedom. You keep the code lean and mean. The design evolves along with the addition of new features. You won't be prevented from making necessary changes just because it's 'too hard to do' (which happens in real life - a lot). I understand why it is hard to grasp, this goes against the engineering principles that you where taught: gather all requirements first, make a detailed design, etc. Of course, we all know that the world doesn't conform to the waterfall model and that software is especially prone to changing requirements. There is only so much you can do to reduce the effects of this threat. Instead of fighting it, XP embraces this law of nature (which makes it very effective for some projects). Refactoring is an important part of this strategy and I don't see why you consider it pushing a failure. Is procedural programming immune to code rot and changing requirements? Is any programming paradigm?
...there's a 100ft long ethernet cable suspended in mid air around the 14th floor from one 22 story building to another.
I have *no* clue how somone accomplished this.
Take a very thin and light rope and put something sticky on one end. Shoot it to the other building. Attach a thicker rope to the end of the thin one and haul the thin one back in to the first building. Attach an even thicker rope and pull the rope over the second building. Repeat until the rope is thick enough to haul over the thing you want to move the the other building (a measily little ethernet cable in this case).
An alternative for the initial link is to have a longer thin rope, drop it down from the first building and use the window washers platform to haul it up on the second building.
Named parameters are nice as well, this is an alternative which has its advantages and disadvantages. If I had to choose I would go for the refactoring(s). They are more versatile, encourage improving your code and save some find/replace (well, a lot actually).
I consider refactoring one of major new OO coding techniques of this decennium (some things might work with procedural programming, but a lot of refactorings are OO specific). If you want to learn more, you should read Ward Cunninghams famous wiki and check out refactoring.com (although it's a bit hard to navigate).
Refactoring will solve exactly this problem, one of the refactorings (Rename Method) allows you to change a method and have the method calls be changed to reflect this. Refactoring like these are extremely handy and are one important way to solve the problem of reducing and managing duplicated functionality (AspectJ is another interesting solution).
Me too, although the Knesset is probably one of the worst examples of a coalition system. Israeli coalitions rarely stay together until the end of their term. Of course, that may have something to do with the fact that Israel is:
- in a civil war.
- only 50 years old.
- based on a racial doctrine which allowed people from all over the world with strongly differing cultural backgrounds to move the same piece of land. Israeli citizens cannot really be called one people. This is evident in politics as the political parties are strongly divided based on heritage (Russian, European, Arabian) instead of political views.
I'd imagine this to change in the next one hundred years. The israeli people will develop a common history, hopefully will make peace and move towards a modern constitutional state. If you are interested in coalitions you might want to check out the dutch Poldermodel. One of the interesting features is that strikes are greatly reduced because of high-level negotiations between union and employer delegates. In this manner coalitions are used to prevent conflicts and solve important problems.
Indeed, I consider the two party system to be extremely resistent to voter influence which kind of defeats the purpose of a democracy. The people that were elected mostly through party politics then allow you some (non-threatening) influence through these hacks. Neat.
I wanted to point out that more complex trials are handled by three judges instead of one (I'm not sure about the exact rules on that matter). The punishment will probably depend a lot on his past criminal record, motivation & current regret/willingness to be treated. In the best case it might be low (community service). It has been proven that (more) jail-time will increase the chance of someone becoming a repeat offender, so we try to reduce jail-time in favor of more educational approaches (and reduce the load on our jails + save money).
I also want to point out that judges aren't elected, so they aren't forced to punish harder to appease the people* that believe the "Crime is increasing"-mantra that the media like to perpetrate (and have for hundreds of years. They complained about it during roman times and ever since.).
*True democracy is the average man deciding who is smart enough to govern them. It's not the average man making decisions on complex matters which they cannot (be expected to) understand in detail. The people should choose the goals and judge the elected men and women on the results they achieve. Politicians should be allowed to try and achieve these goals with a coherent set of decisions. That's why I don't like these micro-management elections or referenda for that matter. </rant> Sorry, had to get that off my chest.
I agree with the other reply to your post. The benefits of pair programming are different depending on the pair. If you pair two experienced coders you are optimizing design and speed. If you pair two inexperienced coders, you optimize quality and training (they will learn fast and make far, far fewer mistakes). Pairing an experienced with an inexperienced coder teaches the new guy a lot, but at the expense of speed and (perhaps) the patience of the experienced guy. On the other hand, the experienced coder might benefit from the 'unperverted' idea's that the inexperienced coder has (but he has to code or he won't express these idea's).
The optimum is IMHO to have equal pairs most of the time, but mix now and then. The mixed pairing should probably be presented as training (for both coders). This is no different from being tasked with coaching or code review, although it can probably be a lot more fun if you approach it with the proper goals in mind. Of course, the pairs should also be put on the proper parts of the project. You put the experienced pair on difficult components, the inexperienced pair on easy stuff and the mixed pair on problems of medium complexity.
I believe that this is probably the best way to get the teammembers to be close in skill and familiar with each other's style and way of thinking, exactly the prerequisites of pair programming that you mentioned.
Say I'm your government affiliated nail remover company, and I employ 25% of the domestic population. Your foreign clawhammer company is coming in and creating unemployment, destroying jobs, and generally upsetting my (admittedly backwards) economy. I go to outlaw clawhammers so my populace can remain employed (and pay taxes). Should that "not be allowed to happen"?
If you support this, you cannot blame foreigners for doing the same. The EU might block your fantastic screwdrivers. The result is a lack of international trade. US citizens have to buy shoddy, overpriced nail remover, while EU citizens only have access to bad screwdrivers. The increase in local sales is usually more than offset by a lack of exports. In the end, everyone is worse off.
Say I'm a large automaker with higher overhead than my foreign competition because of worker safety laws and my contractual obligations to the various unions I work with. I'm damned well going to lobby the government to add tariffs to foreign cars to level the playing field. Should that "not be allowed to happen"?
You can use your influence to force countries to comply to certain rules, but if you go to far, they will simply stop trading with you. So you must find a balance by allowing other countries (and the US itself) to compete in their own way without leeching (too much). Don't forget that there are things the US does that aren't considered fair by some other countries (subsidizing steel & farmers, allowing monopolies, having few holidays and long working hours).
Say I'm a large US distributor of alcohol and I want to spend some money to make sure that my main competitor, marijuana, remains illegal. Should that "not be allowed to happen"?
No. You shouldn't be allowed to bribe the politicians for your cause IMHO. In a democracy every man is supposed to have a vote, not every dollar. If the populace decides that marihuana should be legal, then it should be legal.
Finally, if you're still supporting the implied-passive-voice "should not be allowed to happen", how about we take it out of passive voice. *By Who*?
You think the UN, or maybe the US, should invade countries because they have different economic ideas than us?
Geez, international politics does not have to include violence. I have already explained one mechanism by which a country can (be) punish(ed). The western world is powerful enough that we can force treaties like WIPO and TRIP upon the third world. All without invasions. Of course, citizens may also object to not having access to clawhammers (and not being able to freely sell their goods abroad). Hopefully many will be smarter than you.
It's not immoral. It is economically unsound. And there's no force in the world with the moral authority to tell Panama (or anyone else) that they have to see things our way.
The question whether something is moral or not is for an individual to make. You cannot decide for me what I or anyone else should consider (im)moral. If a country disagrees with something they can always stop trading with that country (South-Africa during Apartheid, Irak). That is economically unsound, we could probably sell a lot of weapons to Saddam. Of course, money isn't everything.
You imply that this kind of thing "should not be allowed to happen" -- I say the free market "will not allow this to happen." There's no moral judgement to be made here. The free (or relatively free) market will speak, and that's that. No sense getting your panties in a twist. And you know what? The manner in which it does happen may just be educational to all of us.
That's quite optimistic. How many people could benefit from medicinal marihuana, but aren't allowed to use it (instead having to resort to 'innocent' drugs such as opium)? Demand will indeed cause criminals to seize the opportunity, but a there are a lot of costs:
- higher barriers
- higher costs
- more crime
Blocked ports can of course be circumvented without resorting to crimes (you still have higher barriers and higher costs), but there is no reason why Panama can't outlaw VOIP. It might be the next step. What do the citizens of Panama do then?
Apple could ship Ogg, save money, give the user something better, and the user would still not need to know the difference. A win for Apple, a win for the users. Tremor runs just fine on the iPod, so you'd not even cut the users off from their portable players. Ogg also already outperforms the next-generation of AAC, so still no lose there.
:-) I mean they both can do all the same things, right?
You are not suggesting that users will just accept having to re-encode all their music as OGG, are you? MP3-players will have to be around for a long time. There is no money saved in the short run (or even medium run).
True enough, but most will notice quickly when the Ogg files that sound just as good are half the size.
Just like they will quickly notice that they can't share their songs with anyone else, can't just download them easily from P2P networks and can't use their songs on various MP3-players.
just like there's no real reason for anyone to use a Mac when Windows machines are cheaper
The difference is that the Mac has some very big advantages, while OGG has only two small ones:
- Free
- Small
Those don't offset the disadvantages for 99.9% of the population. Being free doesn't matter much because we don't directly pay for the encoder and the cost isn't that high to begin with. Being small doesn't matter much when you can't download OGG-encoded music. Storage prices are so low that it hardly matters to have a 2 instead of 4 MB song.
is that in the Netherlands we are talking about adapting diesel cars to use ureum. That's a component of urine, but is also used in fertilizer. The european laws will become very strict on NOx pollution (which causes acid rain) and ureum can neutralize it.
I'm afraid that peeing in your gas tank won't work since the ureum must be added to the exhaust gasses, but I think that you should be able to build a pee-guzzling catalyst. Imagine the look on the faces of your friends as you tell them you are going to have a leak, but skip the rest room and walk to your car.
Sigh, I'm getting tired of argueing with a butterfly. I could reply to this, but how do I know that you won't just flutter to the next argument? And I'm not going to argue every detail of Linux vs OS X, especially not with someone who only seems to regard this argument as a one way street (do you even want to learn anything from this debate?).
Good-bye.
Is there anyone in this world *truly* unbiased? Everybody is at least a little biased, even you.
Ok, scrap the word biased (it was superfluous anyway). That still leaves zealot.
So what you're saying is:
1. I started out defending Linux but not attacking OS X.
2. I continue to not attack OS X.
3. Conclusion: I was trolling.
???????
No, you start by defending Linux for it's features (which is OK) and then suddenly turn it into a fairness contest that is totally irrelevant. It's like losing an anti-GPL debate and then concluding with: "but RMS is an idiot". That's trolling.