If you (and possibly your community) are the type that have a quiet, personal faith that sustains you during the difficult parts of your life....
...well, even though I (and many others) may find the first principles behind it (that there is an invisible, omnipotent and omniscient being who created us all and who has rules for us that we must all abide by or be consined to the flames) absurd, there's no law against the absurd, and you're not hurting anyone. There's no reason for anyone to piss in your cornflakes.
But you unfortunately - on the surface - share the same faith with a bunch of people who twist religeous writings to serve their own ends, and who simultaniously use these twisted interpretations to absolve them of any responsibility for their actions.
Somebody with the absolute conviction that an otherwise unconsciencable act is sanctioned by their God is a VERY dangerous person, the same way that a psychopath or sociopath is dangerous. The normal rules of conduct no longer apply.
So you get people who feel very strongly that "abortion is murder", but believe that killing doctors who perform abortions is just fine (because it is sanctioned by God,and thus not "murder")
And so on and so forth. There are so many examples that I don't think it's necessary to trot them all out. You don't have to search very hard to find examples of religiously-motivated abhorrant behaviour.
And this behaviour is very much inter-faith. All the major world religions preach peace, tolerence, understanding, and a virtuous life, and evey one of them has bred fanatics who have killed, raped, burned, and opressed (from individuals to entire populations) in the name of their God.
A common theme amongst these fanatics is an insistance on the absolute infallibility of their scriptures and the letter of these scriptures (or at least the part of it that they feel gives them leave to do whatever it is they want to do) Anything that can debunk or disprove these scriptures makes is more difficult to gain converts and continue spreading the disease. A world with no religious zealots would be a very fine place indeed.
So it's not that anyone believes that "all religious people believe a certain thing because of the acts of a vocal few" but rather that "the acts of the vocal few are so damned dangerous that they have to be contained somehow".
Note that you don't necessarily have to be burning witches or firebombing abortion clinics to be dangerous. If you seek the supression of the teaching of truth (because it contradicts your scriptures) you are dangerous. If you seek to deny people certain rights (because your scriptures claim such people are hated by your God) then you are dangerous. If you seek the supression of certain books or works of art because you feel they are counter to the wishes of your God, you are dangerous. Etc etc ad nausium.
Probably the best illustration of what I'm taking about here comes from the fine folks at The Onion:
http://www.theonion.com/onion3734/god_clarifies_ do nt_kill.html
The fanatics are the ones speaking for you, like it or not. They tar you with the same brush.
I don't think even the most rose-glassed optimist thinks that IBM hase jumped on the Linux bandwagon so enthusiastically out of "the goodness of their own heart"
OF COURSE IBM is doing so out of a business/profit motive. I defy you to find any actual person who thinks otherwise.
But the point is, it doesn't matter what IBM's motivation is - as long as IBM plays by the rules that govern Free Software, everybody benefits (including IBM)
Do I care if my neighbour acts nice to me because he likes me, or if he's buttering me up for future favours, or because his God commanded him too and he's in fear for his soul if he does not? No. All that matters is that he be a good neighbor.
And there is every indication that IBM is a good neighbor to Free Software.
The news flash here is that IBM has managed to convert itself into a company whose business plan is based around contributing to the common good, rather than locking everybody into proprietary, IBM-only solutions, as had been their modus operendi for the previous 40 or so years.
A large part of my job was constant training on Armoured Vehicle Recognition (AFV) - being able to see a small portion of a vehicle, determine what it is, and then make judgements about if it was friendly or enemy.
I would typically spend an hour or so A DAY studying Jane's. We'd have unit contests where small portions of models were briefly exposed and the observer would have to determine what the vehicle was.
At my level, we also had to study Soviet tactics, as a good portion of our mission involved determining where the main axis of advance of an opposing MRR was so that the Divisional commander could come up with the appropriate response. I can still draw out the order of march of a Soviet Motor Rifle Regiment, listing the equipment carried down to the last pistol, right off the top of my head.
This was typical of a Recce troop leader, and most of my subordinates were capable of the same thing. In fact, I had a corporal in Charlie patrol who was an AFV God, much better at it than I was. I'm pretty sure he could write out Jane's from memory.
I am reasonably confident that I or any one of my comrades could tell the difference between an M113, a Warrior, and a BMP. I am equally confident that they would not open fire on a M113 or Warrior, even if some yahoo was screaming over the radio to open fire.
The Americans don't approach anything near this level of training for their soldiers. They choose instead to go for the technological solutions, dumbing down their soldiers in favour of machines. Tears inevitiably result.
One of the defining strategies of the American armed forces since the Gulf War is a near pathelogical reluctance to accept friendly casulties.
Now there's nothing wrong with wanting to keep your own guys alive, but this obsession with not accepting casulties is subordinating other aspects of the military mission. There is a deliberate movement to reduce the effectiveness of weapon systems if it means less risk for American troops.
Don't confuse "effectiveness" with "lethality" - weapons systems are only getting MORE lethal with time. What I am talking about is identifying and killing military targets AND ONLY military targets.
The most effective means of knowing for sure if what you are shooting at is a legitimate target is to be in actual contact with it - that normally means troops on the ground. If you think there's baddies in that building, you go send some soldiers to have a look.
But that exposes those soldiers to risk, and risk isn't allowed in the American battle manual any more. Instead, the new modus operendi is to drop a bomb - preferably many bombs - on anything you figure may have a target in it. Then you take satellite pictures of the crater to see what you hit.
The side effect is to inflict a much higher percentage of civillian and friendly casulties than would be otherwise done. Yes, you hit the bad guys, but you also hit hospitals, orphanages, and other non-legitimate targets LIKE YOUR OWN PEOPLE.
But as bad as this is, at least in a modern fighter/bomber you have a set of eyeballs attached to a decision-making process that can choose not to attack if they actually clue in that the target is non-legitimate. The record of those eyeballs is not great - witness the British Warriors taken out in the Gulf by American A10s, and the latest moron National Guardsman who saw fit to bomb a Canadian training exercise - but at least they were there. They were given the opportunity to not screw up.
With a remotely-piloted plane, no matter how good the sensors are on the user interface, they will not be as good as the current eyeballs in the plane are. If eyeballs in a plane have a crappy record, then the record of the RPVs is going to be even worse.
Less risk to the guys behind the weapon systems, but MORE risk for the guys on the ground - enemy, friendly, and neutral!
Somebody needs to get a grip on the guys in charge of the American Air Force. They need to be reminded that they cannot win battles on their own, that their ultimate mission is support of the troops on the ground, and that the risk of loss of life to those troops is part of the tradeoff for doing the job right. Indiscriminate bombing is NOT acceptable.
And for the kiddies who may think that you can videogame your way through everything, I have 10 years experience in the Army as a Armoured Recce soldier, so I actually DO know what I am talking about. Nothing in the Real World is as hated and feared as the American Air Force, because they are just as likely to bomb you or a crowd of civillians as they are the bad guys.
I don't think Microsoft is losing much actual money to Linux and Open Source just yet - but they can see the writing on the wall.
I was at the very first Perl conference a few years ago, when ESR presented CatB for the first (?) time. At that point, I wasn't really into the whole Free Software/Open Source thing; I just really liked Perl and was there to learn more about it.
Sitting there, listening to ESR, it hit me like a bolt of lightning; one of those ultra-rare flashes of "Eureka!" Commercial software, as embodied by Microsoft, was dead in the water. Open Source and the Internet had created - actually, had *evolved* - a new design method that would eventually supplant all commercial software development with mathematical certainty.
It's like when you're playing solitaire, and you get to the point in the game where you've won, and all the other moves are just the playing out of the algorithm.
Mind you, the time involved with the "playing out of the algorithm" as far as software development is concerned will still take years, but unless there is a dramatic change in the conditions under which software is developed and distributed, the Open Source/Free Software juggernaut is mathematically unstoppable.
Microsoft is the woolly mammoth eying the ice sheet creeping steadily southwards.
The people who run Microsoft, while they may be supremely arrogant, are not stupid. It may have taken them a little while to actually _believe_ that they were vulerable, but they seem to understand it now, and they have gotten religion in a big way.
They understand that they cannot possibly compete with Open Source on the merits - they lose on price (free vs $$) they lose on quality (given enough eyeballs, all bugs are shallow) and increasingly, they lose on response time as well (not even Microsoft can hope to employ as many developers as work on Open Source projects)
They can't even fall on the old Microsoft technique of last resort - buy the competitor's company - because Open Source is by definition decentralized. It cannot be killed, it can only be outcompeted.
(That's not to say Open Source as it exists today is perfect - it most definately has flaws. But as the ice sheet grinds southwards, these flaws tend to be (slowly) rectified. The number of niches where Microsoft can "beat" Open Source grows smaller every day.)
They only have themselves to blame for this. Microsoft has been the ultimate predator, culling the herd of lesser methods and companies, and in doing so, has forced the evolution of an even tougher force than itself.
What we're seeing now is a desparate attempt by Microsoft to try and change the conditions that allow the Open Source development method to work so well, because that it their only chance at mounting anything like a successful defence. Too bad that they made so many enemies on the way to the top; they are finding few allies.
I have to admit that it's nice to watch all the panic. Turnabout IS fair play.
Programming is as much of a science as biology, or medicine, or engineering.
Every program written solves a problem. It doesn't have to be a "big" problem, like a cure for cancer, to be good.
Solve a problem, advance the state of computing. The more problems solved, the larger the solution space.
Perhaps the problem you solved will lead to something "big", like a cure for cancer. Perhaps all you'll do is relieve a little frustration for someone. The "size" of the good is irrelevant and unpredictable. It doesn't matter.
It costs you *nothing* to release your code. NOTHING. Unlike the basil used in another poster's example, if you copy my code, there is no loss to me. Code can be copied ad infinitem with no loss to the producer.
The only time there is loss is if you hord your code, because you then withold your work from the greater community. By hording, you force someone to have to re-solve the problem that you have already completed. You force duplication of effort.
So yes, you have an *obligation* to release code, the exact same way your girlfriend has an obligation to release the results of her clinical studies. It is *exactly* the same thing.
THIS is the true poison that the code-for-sale people have injected into our industry. It has changed us from being scientists working together to solve problems, and reduced us to used car salesman.
Well, I'm not a used car salesman, thank you very much. I'm a scientist. I share my code because I have a moral duty to do so. And I remind my fellow *scientists* of their obligation too - because (to our shame) our profession has neglected to install that sense of duty at the universities. We sold our collective soul, and I would see that reversed.
Ah, but as soon as you release code under the GPL, that code DOES have sharing enforced with the force of law.
We're starting to run into the shades of grey that reality thrusts into any black-and-white argument.
Would I advocate enforced sharing of code, to the point where a law enforcement agency could compel the release of arbitrary code as produced by an individual (as separate froma corporation)? IE, would I support the Code Sharing Agency holding the gentleman who started this thread at gunpoint or in jail until he released his code?
No, I would not. He has the right to be selfish and rude. I would hope his conscience would compel him to release the code, but I wouldn't want to see him forced to against his will.
UNLESS the code in question is GPLed. If it is a GPL-licenced deriviative work subsequently released, part of getting access to that code in the first place was the acceptance of the requirement to release code. As such, a derivative of a GPLed work is protected by law, he knew that up front, and I'd be entirely comfortable with a State agency enforcing that requirement.
This is the beauty of the GPL. It enforces good manners on those who choose to accept the initial obligation.
You state that "curing cancer" is a concrete goal, and you are correct - but is "keeping track of 3.5k MP3 files" not also a concrete goal?
You state that "learning about the body" is an abstract goal - but is not "learning about computing" not also an abstract goal?
One can construct similar decision trees for either discipline. The solution spaces are different, but the underlying concepts are the same.
You also state that your little pet program won't help cure cancer - but how can you know that?
Perhaps a cancer researcher needs to organize 3500 medical files. Perhaps your MP3 organizer contains an innovation or some solid code that lends itself to modification so that it can solve Mr Cancer Researcher's organization problem. Perhaps by virtue of solving his problem, a cure for cancer is found.
Yes, it's a stretch, but the history of science is full of these strange, seemingly unrelated connections that lead to bigger things. There is historical precident for this stretching.
By releasing your code, your work becomes part of the larger whole, where it may be used to solve other problems and provide other services. By not releasing your code, it stagnates and dies.
That whole "code sharing is Communist" argument just makes me want to explode; it's as if anything that requires the free sharing of resources (whatever they might be) is inherenetly "bad", just because some political parties gave lip service to implementing a government based on the same principles and then built themselves a military dictatorship.
Soviet "Communism" was bad. North Korean and Chinese "Communism" is bad. North Vietnemese and Cuban "Communism" is sub-optimal (less bad than the previous examples, but with some issues)
But those political examples do not invalidate the Scientific Method (which is communistic) nor the principles of Free Software (which derives from the Scientific Method)
That's the saddest thing I have read in a long time.
Again, I'm not flaming, or trying to insult you.
I honestly am saddened to see such selfishness in a fellow coder, and I'm saddened that those of us who understand how our Art is supposed to function allowed things to get to the point where you feel your selfishness is justified.
I'm not going to try and argue it with you. You - and your work - is lost. So be it.
But here's the thing: whatever it is you have written, the Art will see your hording as damage, and route around it. No matter how innovative you might be, no matter how talented or gifted, there exists somewhere out there someone who is equally or more talented as you, who will someday implement a program that solves the same problem, and who will release their code to the rest of us.
Some day, the problem that your horded code addresses will be solved in a freely released manner, the Art will advance, and your horded code (and by implication, you) will have been rendered irrelevant.
You and Microsoft will have the same end. By hording, all you do is buy a little time and then remove yourself as a player.
If you think that our profession is "writing code so we can sell it as product" then not only do you not undertand our profession, you are a minority portion of our profession as well.
By far the largest number of coders are employed as members of industry. We solve problems through the use of computing technology for other businesses and enterprises.
I'm talking about the coders that work at the banks, the insurance companies, the manufacturing industries, and so on and so forth. We GROSSLY outnumber you in the code-for-sale "industry".
We're all about code re-use, the establishment and maintainence of standards, about not continuously re-inventing the wheel - and most of all, not having to continually re-purchase and re-integrate software that solves the same goddamn problem just because the OS changed, or because some stupid closed-source company no longer supports the version of their product that we've been using for the last 5 years, or won't fix the same stupid bug that they've had for the entire lifetime of the product, or didn't properly implement the internationally accepted standard....
You get the idea.
Software is a SERVICE, not a product. And those of us who understand that and work as service providers have far better job security and much larger incomes than those of you hawking widgets.
*sigh* It's not really your fault that you (and so many other) coders see themselves as producing something that can be sold, rather than providing a service. Microsoft and Gates have set back computing and IT 20 years with their little sidetrack through software-as-product.
But the sooner you understand how our profession REALLY works, the happier you (and the rest of us!) will be.
We are doctors and lawyers (or if you prefer, plumbers and mechanics) not used car salesmen.
This isn't a flame. Really. I'm not going to call you names or insult you.
But you are hugely off base here, and it is *exactly* people like you that Stallman is trying to help... what's the word... "educate" I guess is reasonably emotionally neutral.
(And before we start - no, not everything Stallman says is gospel. In particular, while his point that Linux would be nowhere without GNU and the FSF is completely valid, the whole "GNU/Linux" naming deal is just sour grapes and entirely asinine)
With that out of the way...
Back in the day, computer science was treated like a SCIENCE, in so far that every program was treated almost like a scientific discovery. You don't hord discovery in a truely scientific world; you share it.
The program you wrote may advance the art in some manner - it solves a problem that was previously unsolved, it provides a service that was previously unavailable (or was somehow suboptimal), and the code you used to do it with may introduce new techniques to solve similar problems.
In a world where all code is shared freely, the net effect that every new program increases the size of the solution space (or, if you prefer, the "utility space") of computing in general.
It is important to understand that for the longest time, the free sharing of code was the normal state of affairs. There were no secrets between coders.
You only have to look at UNIX to see this. UNIX-as-kernel is just another operating system, but start adding in sed, grep, awk, troff, perl, TeX, vi, (even - gasp - emacs) and so forth (each of which is a component that freely plugs into the others and usually designed by other than the kernel maintainers) and you start increasing the size of the solution space of the OS.
It's not enough to just build the tool and release the binaries. The tool may be in some way incomplete for someone, and they need the ability to modify it (and then contribute their modifications back to the larger community, further increasing the solution space)
The concept of "commercial software" (ie, "software-as-product") as embodied by Microsoft and Billy Gates, nearly erased this state of affairs. For the generations of coders raised in the "software is something you hord and sell" world, you've never seen the way things were in the "software is shared freely as part of the Art" world. This really is an alien concept to you, and it's not really your fault.
Luckily for the state of the Art, code produced and freely shared is superior in every way to code produced by those that hord-and-sell. For a while, the hord-and-sell people had the upper hand, but now that almost every computer is networked, network effects are taking over, and things are slowly starting to right themselves. In ten to fifteen years, software-for-sale (with perhaps the exception of games) will be nothing more than a historical asterix.
But I digress.
The bottom line is that, yes, we all DO have the right to your code - but that is not a very good way of phrasing the situation or thinking about it. Instead, YOU have the OBLIGATION to _release_ your code, to advance the state of the Art.
Stallman is not demanding you give up what is yours, he is reminding you of your obligation to the Art.
The absolute best modern example of this I can think of is the work done by John Carmack and the rest of id Software. John's code truely advances the Art. Every new program that springs off of John's computer brings with it new techniques, new optimizations, new ways of thinking about the problem space he has tackled. And he has released the source code to every program as soon as it is commercially viable to do so, thus fulfilling his obligations to the Art. It's a very good example to follow.
But the trap you cannot fall into is to assume you have the "right" to hord code. You have no moree "right" to keep your code locked up on your hard drive for eternity than you would to hord a cure for cancer, or a working GUT equation. It is essential that you (and people like you) start to realize their DUTY to share code - if you do not, then you will eventually be marginallized and discarded, to the net loss of all.
"Properly written code is largely language independant - so the language you choose to program in does not affect system effectiveness"
Or dumbed down:
"If it works, and it was well-written, then it doesn't matter what language it was written in"
The trick is that you-as-programmer have to assume that you are writing code that someone else will maintain, that this maintainer will be unfamilliar with the language, and that this code runs the system that pays your salary.
You have to optimise your code for LEGIBILITY, so that when the downstream maintainer starts changing it, you give him the highest possible chance of understanding what is actually going on, making the change correctly, and not screwing up your paycheque.
It's really not that hard to do, once you get into the swing of it, and very very rarely does it compromise the ultimate system performance. There usually is no downside.
If you learn to do this, then you can let people work in their language of choice, which pays HUGE dividends in productivity and coder happiness.
I wrote a huge user-management tool in my personal language of choice - perl. Perl maps well into the way I think (you might say I think in perl) Immediately after I wrote it, I moved to a new position in the company, and this massive codebase was dropped on three people who had zero experience with the language. But because the code was optimised for legibility, they picked up on it right away, and were able to greatly extend the functionality of the code with almost no delay and no loss of original functionality.
Forcing coders to work in a particular language - or badmouthing a language because it isn't fashionable (like one moron of a consultant recently chose to do at a meeting I was at) is a sure sign of Not Getting It.
I just got my Kyocera last week. It was like $150 at Amazon, but there was a $100 mail-in rebate, and I had an Amazon gift certificate, so it wound up being free.
Same phone goes for $600CAN at the local mall.
Anyway, the thing is a PalmPilot that makes phonecalls and has net access. The integration of the addressbook to the phone is near-perfect, and it has real buttons on the front for dialing numbers not in the address book.
Using handsfree on the phone while taking notes on it just rocks. And all the Palm software I've tried on it works just perfect.
The only things that would make it better would be a standard Palm access port on the bottom (for connecting to pyrometers, etc) and an integral GPS.
Highly, highly recommended.
BTW, you have any links to good SmartPhone user sites?
There is a really important difference between cars and airplanes that makes cribbing cockpit design from aircraft a really BAD idea:
Airplanes typically operate well removed from any obstacles or other aircraft. As such, they can tolerate having the pilot's attention brought inside the cockpit for extended periods of time.
An aircraft can be flown entirely on instraments, never having to physically view the world outside.
A car - especially one driven on a conjested freeway - requires that nearly 100% of the pilot's attention be directed outside the cockpit. A momentary lapse of attention can result in striking another car, running off the road, or missing an exit.
If you've ever endured a freeway "brake check" where 4 lanes of traffic go from 80 MPH to a dead stop in a matter of seconds, you'll know what I mean.
It is essential then that cars have user interfaces that require the bare minimum of driver attention to operate. If a driver has to concentrate on the interface in order to verify what it is doing, it is pure and simple a bad design. This makes anything that demands navigating a menu while under way is not well thought out.
The major problems with the models is that they are not very good at handling technological change that in turn makes fundamental changes in the values the models use to make its predictions.
For example, let's say your population growth model includes a value for "food value produced per acre of land". If something comes along that allows more food to be produced per acre, then that'll skew the models to hell.
This actually happened. A new strain of wheat (?) was produced a few years ago that was able to survive in much tougher conditions, and that single-handedly staved off starvation in India.
The same with waste levels. recycling has become much more prevelent, and modern cars are so much better that they're actually starting to _clean_ the air that passes through them.
The models were accurate the day they were published, but the run conditions have changed since.
The *intent* to use nuclear weapons if pushed to that point was always there. It never left.
The primary purpose of a nuclear weapon is as a deterrant. It's a weapon so horrible, so nasty, that *anything* is better than being faced with it.
A deterrant is only credible if the bad guys believe that you will *actually use the damn thing* if the right conditions are met. A weapon that you have, but are too afraid to use, is of no use as a deterring factor.
In my 11 years of military service opinion, it is good to, every once and a while, spell it out to the bad guys that we have these weapons, and that we are very much determined to use them if the right conditions are met.
Note that as bad as nukes are, they PALE in comparison to chemical and biological weapons. A nuke can be aimed at military targets, and the majority of its effects (not all, but most) can be contained to legitimate targets. As for the side effects, they are relatively minor.
We can argue the morality of the bombs used on Hiroshima and Nagasaki (and both sides have good points) but both cities were rendered habitable again in short order. A persistant chemical attack can render an area uninhabitable for _decades_ (not to mention the effects on watersheds and whatnot)
A chemical or biological attack is an indiscriminate attack on noncombatants; it's the modern equivelent of salting the fields and slaughtering the firstborn. The use of nukes on people who deploy chemicals is, in my opinion, showing restraint and mercy.
Now, the Russians.
I have to admit, I found the inclusion of the Russians on the target list to be, at first, a little disturbing. But with some reflection, I have to grudgingly admit that it makes sense.
There are a LOT of extant former-Soviet missiles out there, and there is no promise that they won't fall into the hands of someone inclined to use them. The current Russian government seems decent enough, but there's no guarentee that some future Russian/Former Soviet government might not start thinking about their possible use. Keeping the ability to deliver warheads to Former Soviet territory is good insurence against future use.
And, incidently, the reverse is true. There's nothing at all wrong with the Russians keeping the Americans honest too.
I don't think we need the massive nuclear arsenals that we did in the past, but given that the genie is out of the bottle, it seems that we'll always have a few in the background, just in case.
Governments and policies change, but the weapons will always still be there.
While I'm on the topic of the Russians....
As more and more documents come out of the former Soviet Union, people like myself get to see more and more of the truth - and that truth paints a picture of a far less 'evil' Evil Empire than we were lead to believe in at the time of the Cold War. And furthermore, we get to see things that bring new truths to light - truths like it was the _Russians_ who did all the heavy lifting when it came to defeating the Nazis in WW2, not the West.
Truth be told, I think the Russians get short shrift in Western history books.
So if any Russians are reading this... please don't think that the West still hate, fear, and distrust you. We're learning too.
And if any Russian out there used to command a BRDM recce unit... I'd love to link up with you and compare notes.:)
Here's the clincher: most people in IT do not sell their code to 3rd parties at all. Instead, they code to solve business problems within industries.
None of this code will ever see shrinkwrap. This is the code that works out production schedules at automakers, calculates the values of accounts at banks, tracks inventory at warehouses, and so on and so forth.
The people who sell code as product are in a distinct minority. Most of IT uses code as a TOOL to get things done.
For those of us in the service industry, selling code is widely looked upon as an abberation; we share our code as a matter of course (and nothing attracts ire like a clueless manager who buys into someone's marketing pitch and dumps shrinkwrap on us that is supposed to be integrated into our processes - that fails over and over and over again, and does nothing but waste money)
While nobody here actively wishes harm on those who sell code as product (rather than use code as service) the general feeling amongst my peers is that y'all in the sell-code world have backed the wrong business model and will wind up reaping what you sow. The bottom fell out of the pet rock and buggy whip markets too.
Sorry, but that's the way it is. Selling bits!? Who'd've thunk it? What were they _thinking_?
...so damned dangerous.
_ do nt_kill.html
If you (and possibly your community) are the type that have a quiet, personal faith that sustains you during the difficult parts of your life....
...well, even though I (and many others) may find the first principles behind it (that there is an invisible, omnipotent and omniscient being who created us all and who has rules for us that we must all abide by or be consined to the flames) absurd, there's no law against the absurd, and you're not hurting anyone. There's no reason for anyone to piss in your cornflakes.
But you unfortunately - on the surface - share the same faith with a bunch of people who twist religeous writings to serve their own ends, and who simultaniously use these twisted interpretations to absolve them of any responsibility for their actions.
Somebody with the absolute conviction that an otherwise unconsciencable act is sanctioned by their God is a VERY dangerous person, the same way that a psychopath or sociopath is dangerous. The normal rules of conduct no longer apply.
So you get people who feel very strongly that "abortion is murder", but believe that killing doctors who perform abortions is just fine (because it is sanctioned by God,and thus not "murder")
And so on and so forth. There are so many examples that I don't think it's necessary to trot them all out. You don't have to search very hard to find examples of religiously-motivated abhorrant behaviour.
And this behaviour is very much inter-faith. All the major world religions preach peace, tolerence, understanding, and a virtuous life, and evey one of them has bred fanatics who have killed, raped, burned, and opressed (from individuals to entire populations) in the name of their God.
A common theme amongst these fanatics is an insistance on the absolute infallibility of their scriptures and the letter of these scriptures (or at least the part of it that they feel gives them leave to do whatever it is they want to do) Anything that can debunk or disprove these scriptures makes is more difficult to gain converts and continue spreading the disease. A world with no religious zealots would be a very fine place indeed.
So it's not that anyone believes that "all religious people believe a certain thing because of the acts of a vocal few" but rather that "the acts of the vocal few are so damned dangerous that they have to be contained somehow".
Note that you don't necessarily have to be burning witches or firebombing abortion clinics to be dangerous. If you seek the supression of the teaching of truth (because it contradicts your scriptures) you are dangerous. If you seek to deny people certain rights (because your scriptures claim such people are hated by your God) then you are dangerous. If you seek the supression of certain books or works of art because you feel they are counter to the wishes of your God, you are dangerous. Etc etc ad nausium.
Probably the best illustration of what I'm taking about here comes from the fine folks at The Onion:
http://www.theonion.com/onion3734/god_clarifies
The fanatics are the ones speaking for you, like it or not. They tar you with the same brush.
DG
I don't think even the most rose-glassed optimist thinks that IBM hase jumped on the Linux bandwagon so enthusiastically out of "the goodness of their own heart"
OF COURSE IBM is doing so out of a business/profit motive. I defy you to find any actual person who thinks otherwise.
But the point is, it doesn't matter what IBM's motivation is - as long as IBM plays by the rules that govern Free Software, everybody benefits (including IBM)
Do I care if my neighbour acts nice to me because he likes me, or if he's buttering me up for future favours, or because his God commanded him too and he's in fear for his soul if he does not? No. All that matters is that he be a good neighbor.
And there is every indication that IBM is a good neighbor to Free Software.
The news flash here is that IBM has managed to convert itself into a company whose business plan is based around contributing to the common good, rather than locking everybody into proprietary, IBM-only solutions, as had been their modus operendi for the previous 40 or so years.
DG
As I mentioned before, I was in Armoured Recce.
A large part of my job was constant training on Armoured Vehicle Recognition (AFV) - being able to see a small portion of a vehicle, determine what it is, and then make judgements about if it was friendly or enemy.
I would typically spend an hour or so A DAY studying Jane's. We'd have unit contests where small portions of models were briefly exposed and the observer would have to determine what the vehicle was.
At my level, we also had to study Soviet tactics, as a good portion of our mission involved determining where the main axis of advance of an opposing MRR was so that the Divisional commander could come up with the appropriate response. I can still draw out the order of march of a Soviet Motor Rifle Regiment, listing the equipment carried down to the last pistol, right off the top of my head.
This was typical of a Recce troop leader, and most of my subordinates were capable of the same thing. In fact, I had a corporal in Charlie patrol who was an AFV God, much better at it than I was. I'm pretty sure he could write out Jane's from memory.
I am reasonably confident that I or any one of my comrades could tell the difference between an M113, a Warrior, and a BMP. I am equally confident that they would not open fire on a M113 or Warrior, even if some yahoo was screaming over the radio to open fire.
The Americans don't approach anything near this level of training for their soldiers. They choose instead to go for the technological solutions, dumbing down their soldiers in favour of machines. Tears inevitiably result.
DG
Time for a rant:
One of the defining strategies of the American armed forces since the Gulf War is a near pathelogical reluctance to accept friendly casulties.
Now there's nothing wrong with wanting to keep your own guys alive, but this obsession with not accepting casulties is subordinating other aspects of the military mission. There is a deliberate movement to reduce the effectiveness of weapon systems if it means less risk for American troops.
Don't confuse "effectiveness" with "lethality" - weapons systems are only getting MORE lethal with time. What I am talking about is identifying and killing military targets AND ONLY military targets.
The most effective means of knowing for sure if what you are shooting at is a legitimate target is to be in actual contact with it - that normally means troops on the ground. If you think there's baddies in that building, you go send some soldiers to have a look.
But that exposes those soldiers to risk, and risk isn't allowed in the American battle manual any more. Instead, the new modus operendi is to drop a bomb - preferably many bombs - on anything you figure may have a target in it. Then you take satellite pictures of the crater to see what you hit.
The side effect is to inflict a much higher percentage of civillian and friendly casulties than would be otherwise done. Yes, you hit the bad guys, but you also hit hospitals, orphanages, and other non-legitimate targets LIKE YOUR OWN PEOPLE.
But as bad as this is, at least in a modern fighter/bomber you have a set of eyeballs attached to a decision-making process that can choose not to attack if they actually clue in that the target is non-legitimate. The record of those eyeballs is not great - witness the British Warriors taken out in the Gulf by American A10s, and the latest moron National Guardsman who saw fit to bomb a Canadian training exercise - but at least they were there. They were given the opportunity to not screw up.
With a remotely-piloted plane, no matter how good the sensors are on the user interface, they will not be as good as the current eyeballs in the plane are. If eyeballs in a plane have a crappy record, then the record of the RPVs is going to be even worse.
Less risk to the guys behind the weapon systems, but MORE risk for the guys on the ground - enemy, friendly, and neutral!
Somebody needs to get a grip on the guys in charge of the American Air Force. They need to be reminded that they cannot win battles on their own, that their ultimate mission is support of the troops on the ground, and that the risk of loss of life to those troops is part of the tradeoff for doing the job right. Indiscriminate bombing is NOT acceptable.
And for the kiddies who may think that you can videogame your way through everything, I have 10 years experience in the Army as a Armoured Recce soldier, so I actually DO know what I am talking about. Nothing in the Real World is as hated and feared as the American Air Force, because they are just as likely to bomb you or a crowd of civillians as they are the bad guys.
DG
I don't think Microsoft is losing much actual money to Linux and Open Source just yet - but they can see the writing on the wall.
I was at the very first Perl conference a few years ago, when ESR presented CatB for the first (?) time. At that point, I wasn't really into the whole Free Software/Open Source thing; I just really liked Perl and was there to learn more about it.
Sitting there, listening to ESR, it hit me like a bolt of lightning; one of those ultra-rare flashes of "Eureka!" Commercial software, as embodied by Microsoft, was dead in the water. Open Source and the Internet had created - actually, had *evolved* - a new design method that would eventually supplant all commercial software development with mathematical certainty.
It's like when you're playing solitaire, and you get to the point in the game where you've won, and all the other moves are just the playing out of the algorithm.
Mind you, the time involved with the "playing out of the algorithm" as far as software development is concerned will still take years, but unless there is a dramatic change in the conditions under which software is developed and distributed, the Open Source/Free Software juggernaut is mathematically unstoppable.
Microsoft is the woolly mammoth eying the ice sheet creeping steadily southwards.
The people who run Microsoft, while they may be supremely arrogant, are not stupid. It may have taken them a little while to actually _believe_ that they were vulerable, but they seem to understand it now, and they have gotten religion in a big way.
They understand that they cannot possibly compete with Open Source on the merits - they lose on price (free vs $$) they lose on quality (given enough eyeballs, all bugs are shallow) and increasingly, they lose on response time as well (not even Microsoft can hope to employ as many developers as work on Open Source projects)
They can't even fall on the old Microsoft technique of last resort - buy the competitor's company - because Open Source is by definition decentralized. It cannot be killed, it can only be outcompeted.
(That's not to say Open Source as it exists today is perfect - it most definately has flaws. But as the ice sheet grinds southwards, these flaws tend to be (slowly) rectified. The number of niches where Microsoft can "beat" Open Source grows smaller every day.)
They only have themselves to blame for this. Microsoft has been the ultimate predator, culling the herd of lesser methods and companies, and in doing so, has forced the evolution of an even tougher force than itself.
What we're seeing now is a desparate attempt by Microsoft to try and change the conditions that allow the Open Source development method to work so well, because that it their only chance at mounting anything like a successful defence. Too bad that they made so many enemies on the way to the top; they are finding few allies.
I have to admit that it's nice to watch all the panic. Turnabout IS fair play.
DG
Programming is as much of a science as biology, or medicine, or engineering.
Every program written solves a problem. It doesn't have to be a "big" problem, like a cure for cancer, to be good.
Solve a problem, advance the state of computing. The more problems solved, the larger the solution space.
Perhaps the problem you solved will lead to something "big", like a cure for cancer. Perhaps all you'll do is relieve a little frustration for someone. The "size" of the good is irrelevant and unpredictable. It doesn't matter.
It costs you *nothing* to release your code. NOTHING. Unlike the basil used in another poster's example, if you copy my code, there is no loss to me. Code can be copied ad infinitem with no loss to the producer.
The only time there is loss is if you hord your code, because you then withold your work from the greater community. By hording, you force someone to have to re-solve the problem that you have already completed. You force duplication of effort.
So yes, you have an *obligation* to release code, the exact same way your girlfriend has an obligation to release the results of her clinical studies. It is *exactly* the same thing.
THIS is the true poison that the code-for-sale people have injected into our industry. It has changed us from being scientists working together to solve problems, and reduced us to used car salesman.
Well, I'm not a used car salesman, thank you very much. I'm a scientist. I share my code because I have a moral duty to do so. And I remind my fellow *scientists* of their obligation too - because (to our shame) our profession has neglected to install that sense of duty at the universities. We sold our collective soul, and I would see that reversed.
DG
What is it, exactly, that makes you want to keep your code from becoming part of the greater whole?
I've got lots of examples that show why Sharing Is Good - what do you have on your side, except "Mine!"?
DG
Ah, but as soon as you release code under the GPL, that code DOES have sharing enforced with the force of law.
We're starting to run into the shades of grey that reality thrusts into any black-and-white argument.
Would I advocate enforced sharing of code, to the point where a law enforcement agency could compel the release of arbitrary code as produced by an individual (as separate froma corporation)? IE, would I support the Code Sharing Agency holding the gentleman who started this thread at gunpoint or in jail until he released his code?
No, I would not. He has the right to be selfish and rude. I would hope his conscience would compel him to release the code, but I wouldn't want to see him forced to against his will.
UNLESS the code in question is GPLed. If it is a GPL-licenced deriviative work subsequently released, part of getting access to that code in the first place was the acceptance of the requirement to release code. As such, a derivative of a GPLed work is protected by law, he knew that up front, and I'd be entirely comfortable with a State agency enforcing that requirement.
This is the beauty of the GPL. It enforces good manners on those who choose to accept the initial obligation.
DG
Let's look at the medical example.
You state that "curing cancer" is a concrete goal, and you are correct - but is "keeping track of 3.5k MP3 files" not also a concrete goal?
You state that "learning about the body" is an abstract goal - but is not "learning about computing" not also an abstract goal?
One can construct similar decision trees for either discipline. The solution spaces are different, but the underlying concepts are the same.
You also state that your little pet program won't help cure cancer - but how can you know that?
Perhaps a cancer researcher needs to organize 3500 medical files. Perhaps your MP3 organizer contains an innovation or some solid code that lends itself to modification so that it can solve Mr Cancer Researcher's organization problem. Perhaps by virtue of solving his problem, a cure for cancer is found.
Yes, it's a stretch, but the history of science is full of these strange, seemingly unrelated connections that lead to bigger things. There is historical precident for this stretching.
By releasing your code, your work becomes part of the larger whole, where it may be used to solve other problems and provide other services. By not releasing your code, it stagnates and dies.
Isn't that an easy choice?
DG
your purpose is to serve as a warning to others. :)
But seriously:
- maybe someone is looking for a way to do what you've done in your code (no matter how specific or idiosyncratic)
- maybe someone will see your code and suggest an improvement (thus, you gain)
- I've found that assuming that all my code will see public release makes me pay more attention to how it is written, and makes me write better code.
ALL code worth writing is worth releasing.
DG
Bravo.
That whole "code sharing is Communist" argument just makes me want to explode; it's as if anything that requires the free sharing of resources (whatever they might be) is inherenetly "bad", just because some political parties gave lip service to implementing a government based on the same principles and then built themselves a military dictatorship.
Soviet "Communism" was bad. North Korean and Chinese "Communism" is bad. North Vietnemese and Cuban "Communism" is sub-optimal (less bad than the previous examples, but with some issues)
But those political examples do not invalidate the Scientific Method (which is communistic) nor the principles of Free Software (which derives from the Scientific Method)
Good points, well said. (+2 Gets It)
DG
That's the saddest thing I have read in a long time.
Again, I'm not flaming, or trying to insult you.
I honestly am saddened to see such selfishness in a fellow coder, and I'm saddened that those of us who understand how our Art is supposed to function allowed things to get to the point where you feel your selfishness is justified.
I'm not going to try and argue it with you. You - and your work - is lost. So be it.
But here's the thing: whatever it is you have written, the Art will see your hording as damage, and route around it. No matter how innovative you might be, no matter how talented or gifted, there exists somewhere out there someone who is equally or more talented as you, who will someday implement a program that solves the same problem, and who will release their code to the rest of us.
Some day, the problem that your horded code addresses will be solved in a freely released manner, the Art will advance, and your horded code (and by implication, you) will have been rendered irrelevant.
You and Microsoft will have the same end. By hording, all you do is buy a little time and then remove yourself as a player.
Good luck to you.
DG
If you think that our profession is "writing code so we can sell it as product" then not only do you not undertand our profession, you are a minority portion of our profession as well.
By far the largest number of coders are employed as members of industry. We solve problems through the use of computing technology for other businesses and enterprises.
I'm talking about the coders that work at the banks, the insurance companies, the manufacturing industries, and so on and so forth. We GROSSLY outnumber you in the code-for-sale "industry".
We're all about code re-use, the establishment and maintainence of standards, about not continuously re-inventing the wheel - and most of all, not having to continually re-purchase and re-integrate software that solves the same goddamn problem just because the OS changed, or because some stupid closed-source company no longer supports the version of their product that we've been using for the last 5 years, or won't fix the same stupid bug that they've had for the entire lifetime of the product, or didn't properly implement the internationally accepted standard....
You get the idea.
Software is a SERVICE, not a product. And those of us who understand that and work as service providers have far better job security and much larger incomes than those of you hawking widgets.
*sigh* It's not really your fault that you (and so many other) coders see themselves as producing something that can be sold, rather than providing a service. Microsoft and Gates have set back computing and IT 20 years with their little sidetrack through software-as-product.
But the sooner you understand how our profession REALLY works, the happier you (and the rest of us!) will be.
We are doctors and lawyers (or if you prefer, plumbers and mechanics) not used car salesmen.
DG
This isn't a flame. Really. I'm not going to call you names or insult you.
But you are hugely off base here, and it is *exactly* people like you that Stallman is trying to help... what's the word... "educate" I guess is reasonably emotionally neutral.
(And before we start - no, not everything Stallman says is gospel. In particular, while his point that Linux would be nowhere without GNU and the FSF is completely valid, the whole "GNU/Linux" naming deal is just sour grapes and entirely asinine)
With that out of the way...
Back in the day, computer science was treated like a SCIENCE, in so far that every program was treated almost like a scientific discovery. You don't hord discovery in a truely scientific world; you share it.
The program you wrote may advance the art in some manner - it solves a problem that was previously unsolved, it provides a service that was previously unavailable (or was somehow suboptimal), and the code you used to do it with may introduce new techniques to solve similar problems.
In a world where all code is shared freely, the net effect that every new program increases the size of the solution space (or, if you prefer, the "utility space") of computing in general.
It is important to understand that for the longest time, the free sharing of code was the normal state of affairs. There were no secrets between coders.
You only have to look at UNIX to see this. UNIX-as-kernel is just another operating system, but start adding in sed, grep, awk, troff, perl, TeX, vi, (even - gasp - emacs) and so forth (each of which is a component that freely plugs into the others and usually designed by other than the kernel maintainers) and you start increasing the size of the solution space of the OS.
It's not enough to just build the tool and release the binaries. The tool may be in some way incomplete for someone, and they need the ability to modify it (and then contribute their modifications back to the larger community, further increasing the solution space)
The concept of "commercial software" (ie, "software-as-product") as embodied by Microsoft and Billy Gates, nearly erased this state of affairs. For the generations of coders raised in the "software is something you hord and sell" world, you've never seen the way things were in the "software is shared freely as part of the Art" world. This really is an alien concept to you, and it's not really your fault.
Luckily for the state of the Art, code produced and freely shared is superior in every way to code produced by those that hord-and-sell. For a while, the hord-and-sell people had the upper hand, but now that almost every computer is networked, network effects are taking over, and things are slowly starting to right themselves. In ten to fifteen years, software-for-sale (with perhaps the exception of games) will be nothing more than a historical asterix.
But I digress.
The bottom line is that, yes, we all DO have the right to your code - but that is not a very good way of phrasing the situation or thinking about it. Instead, YOU have the OBLIGATION to _release_ your code, to advance the state of the Art.
Stallman is not demanding you give up what is yours, he is reminding you of your obligation to the Art.
The absolute best modern example of this I can think of is the work done by John Carmack and the rest of id Software. John's code truely advances the Art. Every new program that springs off of John's computer brings with it new techniques, new optimizations, new ways of thinking about the problem space he has tackled. And he has released the source code to every program as soon as it is commercially viable to do so, thus fulfilling his obligations to the Art. It's a very good example to follow.
But the trap you cannot fall into is to assume you have the "right" to hord code. You have no moree "right" to keep your code locked up on your hard drive for eternity than you would to hord a cure for cancer, or a working GUT equation. It is essential that you (and people like you) start to realize their DUTY to share code - if you do not, then you will eventually be marginallized and discarded, to the net loss of all.
DG
Lemme hear an "Amen!"
And I'll go even farther than you, and state:
"Properly written code is largely language independant - so the language you choose to program in does not affect system effectiveness"
Or dumbed down:
"If it works, and it was well-written, then it doesn't matter what language it was written in"
The trick is that you-as-programmer have to assume that you are writing code that someone else will maintain, that this maintainer will be unfamilliar with the language, and that this code runs the system that pays your salary.
You have to optimise your code for LEGIBILITY, so that when the downstream maintainer starts changing it, you give him the highest possible chance of understanding what is actually going on, making the change correctly, and not screwing up your paycheque.
It's really not that hard to do, once you get into the swing of it, and very very rarely does it compromise the ultimate system performance. There usually is no downside.
If you learn to do this, then you can let people work in their language of choice, which pays HUGE dividends in productivity and coder happiness.
I wrote a huge user-management tool in my personal language of choice - perl. Perl maps well into the way I think (you might say I think in perl) Immediately after I wrote it, I moved to a new position in the company, and this massive codebase was dropped on three people who had zero experience with the language. But because the code was optimised for legibility, they picked up on it right away, and were able to greatly extend the functionality of the code with almost no delay and no loss of original functionality.
Forcing coders to work in a particular language - or badmouthing a language because it isn't fashionable (like one moron of a consultant recently chose to do at a meeting I was at) is a sure sign of Not Getting It.
DG
I just got my Kyocera last week. It was like $150 at Amazon, but there was a $100 mail-in rebate, and I had an Amazon gift certificate, so it wound up being free.
Same phone goes for $600CAN at the local mall.
Anyway, the thing is a PalmPilot that makes phonecalls and has net access. The integration of the addressbook to the phone is near-perfect, and it has real buttons on the front for dialing numbers not in the address book.
Using handsfree on the phone while taking notes on it just rocks. And all the Palm software I've tried on it works just perfect.
The only things that would make it better would be a standard Palm access port on the bottom (for connecting to pyrometers, etc) and an integral GPS.
Highly, highly recommended.
BTW, you have any links to good SmartPhone user sites?
DG
There is a really important difference between cars and airplanes that makes cribbing cockpit design from aircraft a really BAD idea:
Airplanes typically operate well removed from any obstacles or other aircraft. As such, they can tolerate having the pilot's attention brought inside the cockpit for extended periods of time.
An aircraft can be flown entirely on instraments, never having to physically view the world outside.
A car - especially one driven on a conjested freeway - requires that nearly 100% of the pilot's attention be directed outside the cockpit. A momentary lapse of attention can result in striking another car, running off the road, or missing an exit.
If you've ever endured a freeway "brake check" where 4 lanes of traffic go from 80 MPH to a dead stop in a matter of seconds, you'll know what I mean.
It is essential then that cars have user interfaces that require the bare minimum of driver attention to operate. If a driver has to concentrate on the interface in order to verify what it is doing, it is pure and simple a bad design. This makes anything that demands navigating a menu while under way is not well thought out.
DG
... all humans were illiterate, because writing had not been invented yet.
5000 years is NOTHING on an evolutionary time scale.
We're all still primates. We display primate behavior all the time. Our weapons have evolved far faster than we have.
DG
Consider this:
Homo Sapiens has been running around for roughly 200,000 years.
We've had the ability to reach space for roughly 50 years.
We've been able to fly for about 100 years - incidently, we visited all the places on the planet at about the same time.
The first demonstration of the incandescent light bulb was roughly 120 years ago.
The first steam engine was 220 years ago.
The entire North American continent was unknown to Europeans 600 years ago.
The earliest known forms of writing date to about 5500 years ago.
Not only are we small, we're brief too.
DG
...that Valenti has said in a long while.
What a shame that he doesn't understand his own statement.
Perhaps if it were re-worded:
"If you cannot protect a thing, then you cannot own it"
might make it clearer to him.
DG
The major problems with the models is that they are not very good at handling technological change that in turn makes fundamental changes in the values the models use to make its predictions.
For example, let's say your population growth model includes a value for "food value produced per acre of land". If something comes along that allows more food to be produced per acre, then that'll skew the models to hell.
This actually happened. A new strain of wheat (?) was produced a few years ago that was able to survive in much tougher conditions, and that single-handedly staved off starvation in India.
The same with waste levels. recycling has become much more prevelent, and modern cars are so much better that they're actually starting to _clean_ the air that passes through them.
The models were accurate the day they were published, but the run conditions have changed since.
DG
Finally, I've found someone who knows about that game!
:)
I went to military college, and we had an Apollo lab... do the math
I don't suppose you have a copy of the C-X Windows source, do you?
DG
The *intent* to use nuclear weapons if pushed to that point was always there. It never left.
:)
The primary purpose of a nuclear weapon is as a deterrant. It's a weapon so horrible, so nasty, that *anything* is better than being faced with it.
A deterrant is only credible if the bad guys believe that you will *actually use the damn thing* if the right conditions are met. A weapon that you have, but are too afraid to use, is of no use as a deterring factor.
In my 11 years of military service opinion, it is good to, every once and a while, spell it out to the bad guys that we have these weapons, and that we are very much determined to use them if the right conditions are met.
Note that as bad as nukes are, they PALE in comparison to chemical and biological weapons. A nuke can be aimed at military targets, and the majority of its effects (not all, but most) can be contained to legitimate targets. As for the side effects, they are relatively minor.
We can argue the morality of the bombs used on Hiroshima and Nagasaki (and both sides have good points) but both cities were rendered habitable again in short order. A persistant chemical attack can render an area uninhabitable for _decades_ (not to mention the effects on watersheds and whatnot)
A chemical or biological attack is an indiscriminate attack on noncombatants; it's the modern equivelent of salting the fields and slaughtering the firstborn. The use of nukes on people who deploy chemicals is, in my opinion, showing restraint and mercy.
Now, the Russians.
I have to admit, I found the inclusion of the Russians on the target list to be, at first, a little disturbing. But with some reflection, I have to grudgingly admit that it makes sense.
There are a LOT of extant former-Soviet missiles out there, and there is no promise that they won't fall into the hands of someone inclined to use them. The current Russian government seems decent enough, but there's no guarentee that some future Russian/Former Soviet government might not start thinking about their possible use. Keeping the ability to deliver warheads to Former Soviet territory is good insurence against future use.
And, incidently, the reverse is true. There's nothing at all wrong with the Russians keeping the Americans honest too.
I don't think we need the massive nuclear arsenals that we did in the past, but given that the genie is out of the bottle, it seems that we'll always have a few in the background, just in case.
Governments and policies change, but the weapons will always still be there.
While I'm on the topic of the Russians....
As more and more documents come out of the former Soviet Union, people like myself get to see more and more of the truth - and that truth paints a picture of a far less 'evil' Evil Empire than we were lead to believe in at the time of the Cold War. And furthermore, we get to see things that bring new truths to light - truths like it was the _Russians_ who did all the heavy lifting when it came to defeating the Nazis in WW2, not the West.
Truth be told, I think the Russians get short shrift in Western history books.
So if any Russians are reading this... please don't think that the West still hate, fear, and distrust you. We're learning too.
And if any Russian out there used to command a BRDM recce unit... I'd love to link up with you and compare notes.
DG
...a product.
Here's the clincher: most people in IT do not sell their code to 3rd parties at all. Instead, they code to solve business problems within industries.
None of this code will ever see shrinkwrap. This is the code that works out production schedules at automakers, calculates the values of accounts at banks, tracks inventory at warehouses, and so on and so forth.
The people who sell code as product are in a distinct minority. Most of IT uses code as a TOOL to get things done.
For those of us in the service industry, selling code is widely looked upon as an abberation; we share our code as a matter of course (and nothing attracts ire like a clueless manager who buys into someone's marketing pitch and dumps shrinkwrap on us that is supposed to be integrated into our processes - that fails over and over and over again, and does nothing but waste money)
While nobody here actively wishes harm on those who sell code as product (rather than use code as service) the general feeling amongst my peers is that y'all in the sell-code world have backed the wrong business model and will wind up reaping what you sow. The bottom fell out of the pet rock and buggy whip markets too.
Sorry, but that's the way it is. Selling bits!? Who'd've thunk it? What were they _thinking_?
DG
...but I could use some cash...
Makes one think.
DG