MilkShape3D (http://www.swissquake.ch/chumbalum-soft/) is a low cost, high performance modelling program used by lots of different mod teams and budding modellers throughout the world. When I say low cost I mean it - $25.00 a copy. Compare this to discreet's product line (http://www.discreet.com/products/3dsmax/) or Alias Wavefront's product line (http://www.aliaswavefront.com/en/products/maya/index.shtml); 3DS Max student copies start at $450.00 USD. Maya student copies start at $600.00 USD. MilkShape allows you to produce models with no commercial usage limitations. The student copies which I compare it to have stringent commercial usage limitations.
MilkShape does not do everything that 3DS Max and Maya do. To claim that is folly. It does allow a user to get comfortable with the interface, and it does allow the user to understand modelling concepts without the requirement of pirating or purchasing thousands of dollars in software.
Now that I've extolled the values of MilkShape3D, let me begin to explain to you why I have a problem with it. I use MS3D for one purpose only. That purpose is to decompile existing Half Life models and import them into other 3D programs for analysis and recreation. In the particular case I'm referring to I was working on a port from a Half Life mod (http://www.valvesoftware.com) to Unreal Tournament 2003 (http://www.unrealtournament2003.com). The original mod team did not have the original files available for all the models I wanted to play with and so I began the decompilation process.
During the course of this process I noticed my copy of MilkShape3D was expired. I am a rabid fan of shareware and supporting it so I decided that despite the fact that MS3D's model decompilation process didn't require registration (Use Tools -> Half Life -> Decompile Normal Half Life Model instead of Tools -> Kratisto's HL MDL Decompiler) that I would support this program and I would register it.
And my problems began. I am a self sufficient geek. I do not use tech support services of any sort if I can avoid it. When I attempted to register MS3D with my registration code it wouldn't take. It informed me that I should run MS3D for one to two minutes and try again. So I did. No go. The first thing to do IMHO on the Win32 platform is to start over. So I uninstalled MS3D and reinstalled it - yet the error remained.
At this point I was becoming curious. I opened up the fabulous tools from SysInternals (http://www.sysinternals.com) Filemon and Regmon to see what activity was taking place. I started up MS3D.
Regmon disappeared. Huh?
Start Regmon again. Thirty seconds later it was gone.
I've had MilkShape on my system long enough that I didn't know what the terms of the end user license agreement were. So I decided to check. I reran the installer to see what I had, inadvertently, clicked through to see if I had granted MilkShape3D the right to shut software done on my computer.
There was no EULA.
I installed it again and checked the program directory. There is no EULA there, either.
MilkShape3D was shutting software down on my computer and I had not given it permission to do so.
What else does this software do? What information, if any, does it report to the programmer? What happens if I type in my code wrong five times; do I get a formatted hard drive?
Why does this matter?
Consider a situation fairly common in the free (1)software world. A programmer decides that he doesn't like Microsoft or their products so he decides that he wants to uninstall competing software. Or, a more common scenario, the installation of adware uninstalls AdAware or similar components. These programs do these actions with an EULA that we are required to supposedly read and click through.
MilkShape doesn't even put forward that pretense. It just does what it likes to protect it's intellectual rights. In one way MilkShape3D gets it right - without an EULA the only laws protecting it are copyright laws, the ones that forbid distribution of a product soley based on the fact that you only own one copy of it. That's a Good Thing. To decide to shut down running software on another person's machine, however, without notification to that individual (not even a message box stating that MilkShape3D doesn't want that program running) is in my book opening Pandora's Box.
At this point in time I admit I became somewhat of a zealot and an idiot. I posted in the official forums about my problem. The responses astounded me. I was accused of trying to crack the software ($25.00 is roughly one half hour of work for me. I assure you it's not a worthy endeavor once you do a cost-benefit analysis), that the closure of Regmon was just a bug, a paranoid fantasy of mine, to receiving threats of being email bombed by the forum goers.
Their responses were along the lines of "Why do I care?" This is the response of a standard end user who doesn't see long term. One poster even went so far as to say "I'll care about copy protection when they copy protect my food and drink." These individuals are the reasons why the RIAA and Microsoft can do as they will; they are mindless drones who refuse to think on their own. How will you live long enough to protest the action? You won't. Another response was "No one forced you to download MilkShape." No, you're correct. In the end my friends and I came to the consensus that not a single person there understood the point I was trying to get across. They simply assumed that I was a criminal attempting to get access to the information that MilkShape stores. (As a side note I now own 11 copies of MilkShape, copies purchased to attempt to get the people there to understand my point that this was an argument based on principle, not based on lack of money or the intent to commit criminal activity.)
This type of activity cannot be condoned by the technological community. It must be stopped, protested. You have no idea what MS3D does on your computer - you trust that it behaves responsibly. Actions like this show that it will not do so.
For those who think this may be a bug a simple project: create an empty Windows form project, no code, with a title matching "Registry Monitor - Sysinternals: www.sysinternals.com". Run MilkShape3D and watch it go away.
Copy protection is a waste of money. If you protect it others will come and find a way to break that protection. There is no viable reason to protect your software in my mind. There is, also, a difference between protecting your software and activities that can be construed as destructive to protect your software. Cracks for MilkShape3D exist all over; you can hexedit Regmon and change the window name and it runs fine; you can compile Regmon from old source and change the title and it runs fine. To me the refusal to remove this sort of protection only points to the definitive possibility of additional protections having been implemented, and hidden.
My test project is available for those of you with the .NET framework at http://www.tdsfa.org/trystan/setup.exe. It is extremely simple, source code is included for those who think I've contrived a method for the program to shut itself down. (Basically, there IS no source.) Again, this program requires the .NET Framework 1.0+ to run.
(1) I use the term "free software" to mean any software publicly available but without source code. "Open source" software would allow you to see what goes on under the hood and could be examined at any time by any user to determine that there was no malicious actions.