Skip to main content

I Am Not A Lawyer

You've seen it all over the forums. Folks type IANAL (I Am Not A Lawyer) and then proceed to give their own legal interpretation of an event anyway. It appears a lot around folks arguing over what the GPL means. I'm not hear to argue the merits of the GLP 3 (not right yet, anyway). I am here to ask that if lawyers want us non-lawyers to not practice law, then they should return the favor and not practice software engineering. I offer as an example Lewis A. Mettler and his website lamlaw.

Never Assume Malice When Stupidity Will Suffice*

Mr. Mettler has commented on another posting by one Thomas R. Nicely. Mr. Nicely posts that Microsoft's "Vista arbitrarily restricts the memory space for the GCC executable to 32 MB (33,554,432 bytes)." Mr. Nicely's development environment is composed of the following:
  • GCC 3.0.4, which was first released in February 2002.
  • DJGPP, which was likely updated April 2001.
  • Vista Home Basic
So. Based on two very old development tools (GCC and DJGPP) and a known limited version of Vista, Nicely spins yet another massive conspiracy in which Microsoft is deliberately limiting applications not built with "any compiler and linker not employing Microsoft's proprietary Win32 API." Nicely says it works just fine for him on every release of Windows up through Windows XP, but fails on this known limited version of Vista.

The age of Nicely's tools is limiting. GCC is currently at version 4.1.2 for example. I can work with the latest releases of gcc only on Solaris (if I bootstrap build it) or current distributions, such as Ubuntu 7.04. Even less leading-edge releases (such as Suse 10.1 and 10.2 for example) use gcc 4 and 4.1. Yet, when I try to use up-to-date development tools on Windows, I find they're a major generation back (some release of 3). This is true for MinGW and Cigwin. There's a reason why new versions of any complex tool are released, and if you choose to not step up to those releases, then you should be willing to accept the consequences of that choice and not whine about it when something breaks.

And as for Vista itself, there are already innumerable stories about incompatibilities with existing applications running perfectly fine on Windows XP, but failing to install or run on Windows Vista. We've been hearing about this for over a year. And now Nicely pops up with his grand conspiracy because he can't use his very old tools on the cheapest version of the latest OS.

Before Nicely continues down this path he needs to perform more testing. Run those same tools on a more capable version of Windows (he only documents Basic Home). If the tools continue to fail in the same way, then update those tools and run the same tests again. If there is a real memory (malloc) limitation, then somebody needs to make very sure that it's not a bug with either GCC or DJGPP, especially DJGPP. I find it peculiar that the maximum is $1FFFFFF (33,554,432 bytes). It looks more like a masking problem than a deliberate test (although I don't have access to the code so I can't speak with any authority). The APIs changed a bit between XP and Vista. When somebody can actually look at the Windows interfaces in DJGPP and can say that they are correctly used with regards to Vista, then and only then can you can move on to stage two of this sorry story: point the finger of blame at Microsoft.

You Are Not An Engineer

Mr. Mettler would have us believe that Nicely's problem is yet another example of "using [artificial] restrictions to frustrate developers who do not support only the Microsoft platform." Mr. Mettler would be well advised to find good technical council with regards to Nicely's problems. Nicely's complaint is sloppy at best, and Mr. Mettler's comment that he smells "a law suit against Microsoft for unfair competition" smacks a bit of ambulance chasing. I've followed Mr. Mettler for a long time, starting back when he was following and commenting on the Microsoft antitrust trial, and I've never had a problem with any of this posts before now. But right now, on this post, he needs to back off and make sure his technical facts are straight before charging ahead. Comments and charges like Mr. Mettler's are a good way to loose credibility. And Nicely would do the community a whole lot of good if he dug down into DJCPP and traced what was happening. Nicely needs to get his facts straight as well. Especially if he's a developer.

*Hanlon's Razor

Update 25 Sept 2011

On 31 May 2007 I wrote another post in which I proved my assertion that the age of the tools were the root of the problem, not Microsoft or Vista.


  1. I find it peculiar that the maximum is $1FFFFFF (33,554,432 bytes).
    I find it suspiciously like the memory limitations of EMS, XMS, and VCPI. Thing is those would be for 16-bit DOS programs and he's running a 32-bit DOS program.

  2. I do agree that it probably isn't malice, but Mr. Nicely's original post says:
    "The operating environment exhibiting this incompatibility in Vista includes GNU GCC C 4.12, DJ Delorie's DJGPP 2.04 beta (11/30/2003), and Vista Home Basic 6.0.6000 running on a Dell E520 with a Pentium D 915 2.8GHz dual core processor, 1 GB of 533 MHz DDR memory, 800 MHz front side bus, and SATA drives."

    That's GCC 4.12, not 3.0.4

  3. I wish I'd kept a screen shot of his original post now. First, it's gcc 4.1.2, not 4.12. And looking at his page he's added a lot more information. It looks like he's attempted to clean up mistakes and omissions in the original page, which is fine. I just wish he'd kept a change log of some description. But I will say this. When I first read the page I would swear that it was gcc 3.0.2.

    Regardless, I stick by my comments as they applied to the original page on the date I wrote my entry. Note my date (April 1) is earlier than his latest changes towards the bottom of the page (one dated April 10). I suspect convenient revisionism at work to better support his position.

  4. even though arguments like "it's free don't whine if it doesn't work" are unquestionable I think that a program that only processes a file that works flawlessly on windows cp and older versions SHOULD run in compatability mode with windows xp with administrator rights. I use vista ultimate and I have the same problem. I only do small programs anyway to calculate things or fix things so its no big deal doing it in unix or windows 2k anyway, but I really can't see WHY it shouldn't run on vista. It's such a basic app.


Post a Comment

All comments are checked. Comment SPAM will be blocked and deleted.

Popular posts from this blog

cat-in-a-box channels greta garbo

So I'm sitting at my computer, when I start to notice a racket in back. I ignore it for a while until I hear a load "thump!", as if something had been dropped on the floor, followed by a lot of loud rattling. I turn around and see Lucy in the box just having a grand old time, rolling around and rattling that box a good one. I grab the GX1 and snap a few shots before she notices me and the camera, then leaps out and back into her chair (which used to be my chair before she decided it was her chair).

Just like caring for Katie my black Lab taught me about dogs, caring for Lucy is teaching me about cats. She finds me fascinating, as I do her. And she expresses great affection and love toward me without coaxing. I try to return the affection and love, but she is a cat, and she takes a bat at me on occasion, although I think that's just her being playful. She always has her claws in when she does that.

She sits next to me during the evening in her chair while I sit in mi…

vm networking problem fixed

Over the weekend I upgraded to Windows 8.1, then discovered that networking for the virtual machines wouldn't work. Then I tried something incredibly simple and fixed the problem.

Checking the system I noticed that three VMware Windows services weren't running; VMnetDHCP, VMUSBArbService, and VMwareNatService. VMware Player allows you to install, remove, or fix an existing installation. I chose to try fixing the installation, and that fixed the problem. The services were re-installed/restarted, and the virtual machines had networking again.

Once network connectivity was established there was exactly one updated file for Ubuntu 13.10, a data file. This underscores how solid and finished the release was this time. Every other version of every other Linux installation I've ever dealt with has always been succeeded by boatloads of updates after the initial installation. But not this time.

Everything is working properly on my notebook. All's right with the world.

sony's pivotal mirrorless move

I'm a died-in-the-wool technologist, even when it comes to photography. I have always been fascinated with the technology that goes into manufacturing any camera, from the lenses (optics) through the mechanical construction, the electronics involved, and especially the chemistry of the film and the sophistication of the digital sensor. It's amazing that the camera can do all it's asked of it, regardless of manufacturer.

Of all the types of cameras that I've really taken an interest in, contemporary mirrorless (again, regardless of manufacturer) are the most interesting because of the challenging problems the scientists and engineers have had to solve in order to build a compact but highly functional camera. In particular I've followed the sensor advances over the years and watched image quality climb (especially with μ4:3rds) to exceed film and rival one another such that there's very little difference any more as you move from the smaller sensors such as 4:3r…