Re: Does Microchip play fast and loose with the GPL?
- From: David Brown <david@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 18 Mar 2008 17:26:01 +0100
Eric wrote:
I've been looking at the PIC24 and PIC32 compilers from Microchip
lately. These are based on the gnu toolchain.
Their PIC24 compiler works for a month in a full-featured manner, and
after that it goes down to a "student edition" that has most
optimizations disabled. Once you pay megabucks you get them back. I
initially thought this wasn't a violation because I assumed they wrote
their own closed source optimizer. However, this appears not to be the
case, and the source code they released for their C30 compiler doesn't
have any reference to any kind of limitiations. So the executable they
released was clearly not built from the source code they released.
Even worse, their PIC32 compiler, called C32, has a 64K code
limitation unless you pay megabucks and that limitation also doesn't
appear in the source that they released.
Am I looking at this wrong? I thought the GPL says that you have to
release all of the source code you used to build your shipping
compiler? Can someone enlighten me?
Yes, the GPL requires them to release the source code for the binaries they ship - but only to those to whom they have given the binaries, and then only if they ask for them. So they are (AFAIK - IANAL) allowed to offer for downloaded a crippled binary version, and an uncrippled source version which does not match the binary version. But if you download the crippled binary, you can ask them for the crippled sources (and they must inform you of that right, and make it clear that the versions are different). If the uncrippled sources are easily available, then it's quite likely no one has bothered asking specifically for the crippled sources.
If, on the other hand, the downloadable sources are not full-featured (for example, they are missing the optimisations), then Microchip are on shaky ground. Anyone may buy the full version, insist on getting the source, and then publicly release the source - any attempt to restrict that would be a violation of the GPL.
It is close to impossible to integrate closed-source optimisers with gcc - the gcc architecture is specifically monolithic to avoid it. There have, I believe, been regular suggestions from gcc developers wanting to make the compiler more modular (such as actively separating the front and back end binaries) and to support plugins (it would make testing much easier). These ideas have been rejected because the FSF wants to make it hard (technically and legally) to mix closed-source code within the gcc compiler.
So any optimisers that Microchip have written for their ports of gcc will also be under the GPL.
Wherever they stand with regard to the letter of the law on the GPL, these time- and space-limited binaries are certainly not within the spirit of the GPL.
It's okay to add non-GPL'ed tools along with the GPL'ed tools (such as simulators, IDEs, hardware debugger interfaces, etc.), of course.
.
- Follow-Ups:
- Re: Does Microchip play fast and loose with the GPL?
- From: cs_posting
- Re: Does Microchip play fast and loose with the GPL?
- References:
- Prev by Date: Re: Does Microchip play fast and loose with the GPL?
- Next by Date: Re: File - partially Read-Only and partially Write-Only
- Previous by thread: Re: Does Microchip play fast and loose with the GPL?
- Next by thread: Re: Does Microchip play fast and loose with the GPL?
- Index(es):
Relevant Pages
|
|