EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Does Microchip play fast and loose with the GPL?

Started by Eric March 18, 2008
"Eric" <englere_geo@yahoo.com> wrote in message 
news:780640bf-35e2-4b49-9435-2b1084f1b423@n75g2000hsh.googlegroups.com...
> 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.
Why bother with Microchip PIC24 C compiler? Get the Hi-Tech PIC24 C compiler, its more efficient. I've played with both and came to the conclusion the Microchip GCC version was wasteful.
On Mar 18, 9:19=A0pm, David Brown wrote:
> > Not exactly. =A0Choice (a) is ship the source with the binaries, > > effectively to customers only. =A0If that is not taken, choice (b) > > requires offering it to any third party at copying cost. =A0Choice (c) > > inheritance is not available for commercial distribution, but choice > > (b) probably includes third parties in order to support inheritance > > for choice (c) non-commercial redistribution. > > I'm not sure I follow what you wrote - there are no requirements > involving third parties. =A0The GPL (in this case) only affects Microchip,=
> and anyone to whom Microchip distributes the software. =A0As you say, > Microchip must either give them the source with the binaries, or a > written offer of availability of the source for no more than a > reasonable handling fee. =A0But third parties have no writes to the code -=
> I cannot insist that Microchip gives me source for their compiler, > unless they have sold it to me, or let me download it.
Not all entirely true. GPL V2 uses the phrase "third party" and GPL V3 requires distribution to "anyone who possesses the object code". This only applies if the source code was not shipped with the object code (i.e. case b). Paul
On Mar 18, 10:19 pm, David Brown
<david.br...@hesbynett.removethisbit.no> wrote:

> I'm not sure I follow what you wrote - there are no requirements > involving third parties. The GPL (in this case) only affects Microchip, > and anyone to whom Microchip distributes the software. As you say, > Microchip must either give them the source with the binaries, or a > written offer of availability of the source for no more than a > reasonable handling fee. But third parties have no writes to the code - > I cannot insist that Microchip gives me source for their compiler, > unless they have sold it to me, or let me download it.
While this is true, the distinction isn't all that important. Anybody who buys a GPL'ed binary from Microchip, and gets the source code, can turn around and distribute this source code to everybody else. Given that, it's not really worth the trouble for companies to restrict the source distribution of GPL software.
David Brown <david.brown@hesbynett.removethisbit.no> writes:
> I cannot insist that Microchip gives me source for their compiler, > unless they have sold it to me, or let me download it.
Not quite true in some cases. If a distributor chooses to use clause 3(b) (the written offer), anyone who possesses such an offer can share the offer with ANY third party, and the distributor is required to honor it - even if the third party has never had possession of the program. For this reason, use of 3(b) is very rare. If you read 3(b) carefully, you'll see this (emphasis mine): b) Accompany it with a written offer, valid for at least three years, TO GIVE ANY THIRD PARTY, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, I don't know if Microchip uses 3(b) though; I did get one CD-ROM copy of their tools as part of the contest, but it included neither the sources nor an offer, and by the time I went looking for the sources they weren't online anymore[*]. So now I give advice on how to disable their license manager in gcc :-) [*] I could have upgraded the tools and gotten *those* sources, though.
"Moon Shine" <4moonshine@gmail.com> wrote:

> >"Eric" <englere_geo@yahoo.com> wrote in message >news:780640bf-35e2-4b49-9435-2b1084f1b423@n75g2000hsh.googlegroups.com... >> 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. > >Why bother with Microchip PIC24 C compiler? >Get the Hi-Tech PIC24 C compiler, its more efficient.
Because the Hi-Tech compiler is more expensive? Because the Hi-Tech compiler comes with a shitty activation scheme? Because Hi-Tech will always be playing catch up (if they bother to catch up) supporting Microchip debuggers, IDE, and processors? Because the Microchip compiler includes free support and updates for life not for 12 months? Because you know all the Microchip libraries, application notes and evaluation products are going to be compatible with the compiler used to create them? --
"nospam" <nospam@please.invalid> wrote in message 
news:mhi0u3181ilu5e1bcqmrbgsiectkkrh2b0@4ax.com...
> "Moon Shine" <4moonshine@gmail.com> wrote: > >> >>"Eric" <englere_geo@yahoo.com> wrote in message >>news:780640bf-35e2-4b49-9435-2b1084f1b423@n75g2000hsh.googlegroups.com... >>> 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. >> >>Why bother with Microchip PIC24 C compiler? >>Get the Hi-Tech PIC24 C compiler, its more efficient. > > Because the Hi-Tech compiler is more expensive? > Because the Hi-Tech compiler comes with a shitty activation scheme? > Because Hi-Tech will always be playing catch up (if they bother to catch > up) supporting Microchip debuggers, IDE, and processors? > Because the Microchip compiler includes free support and updates for life > not for 12 months? > Because you know all the Microchip libraries, application notes and > evaluation products are going to be compatible with the compiler used to > create them?
Because if your code won't fit on the chip with Microchip compiler, you'll have to use Hi-Tech compiler. Because Hi-Tech has been making reliable C compilers for PICs far longer than Microchip itself. Because Microchips first attempt to compete with Hi-Tech was abandoned after their botched hack of a SwitchCraft compiler was a disastrous failure.
"Eric" <englere_geo@yahoo.com> wrote in message 
news:780640bf-35e2-4b49-9435-2b1084f1b423@n75g2000hsh.googlegroups.com...
> 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? > > Eric
Having had dealings with Microchip in the past with reference to open source code I would say Microchip don't play "fast and loose" with anything, but are in fact very careful about such things. I can't imaging that they would not be in compliance with all licensing conditions - they are after all too bigger a player to make themselves a target through any clumsiness. I think from memory (correct me if I'm wrong) that they provide their own library and chip specific headers, etc, and these are probably worth the outlay if you consider the saving they would give you. You could of course use newlib instead. -- Regards, Richard. + http://www.FreeRTOS.org & http://www.FreeRTOS.org/shop 16 official architecture ports, 5000 downloads per month. + http://www.SafeRTOS.com Certified by T&#4294967295;V as meeting the requirements for safety related systems.
"Mike Silva" <snarflemike@yahoo.com> wrote in message 
news:8458c0ff-c9d8-4518-800a-5ae456324e20@s50g2000hsb.googlegroups.com...
On Mar 18, 12:18 pm, ghel...@lycos.com wrote:
> > On Mar 18, 9:01 am, Mike Silva <snarflem...@yahoo.com> wrote: > > > > > On Mar 18, 11:45 am, John Devereux <jdREM...@THISdevereux.me.uk> > > > wrote: > > > > > > Why would a *device manufacturer* do this anyway? Idiots. > > > > > Hmmm. $1200 or market share. $1200 or market share. Which to > > > choose?! > > > > Which is yet another one of the reasons that I use AVR's instead. > > I would think MIPS would be rather annoyed about this, assuming they > make money on devices sold, not compilers sold.
I think MIPS wouldn't have much to be grumpy about--I'm sure Microchip coughed up the required license fee and didn't guarantee a royalty revenue stream to MIPS. -- Paul.
On Mar 18, 11:09=A0pm, DJ Delorie wrote:
> Not quite true in some cases. =A0If a distributor chooses to use clause > 3(b) (the written offer), anyone who possesses such an offer can share > the offer with ANY third party, and the distributor is required to > honor it - even if the third party has never had possession of the > program. > > For this reason, use of 3(b) is very rare.
Rather than being rare, the few I've seen seem to follow this route. Since updates for most products can be obtained from a website without proof of product ownership, it would follow that the source can be obtained in the same way (i.e. without proof). Paul
Paul Black <nospam@nospam.saturnine.org.uk> writes:
> Rather than being rare, the few I've seen seem to follow this route. > > Since updates for most products can be obtained from a website without > proof of product ownership, it would follow that the source can be > obtained in the same way (i.e. without proof).
Providing sources on a web site doesn't satisfy 3(b). Providing a written document, good for three years (that's the catch) along with the binaries does. The only time I've seen 3(b) happen is with my Nokia 770. The printed manual had a page at the end that basically said "some programs on your device are covered by the GPL. Up to three years from now, you can write to this address and we'll send you the sources..." Now, if a product came with a written note that said "we guarantee that until 2011-Mar-19 you can download the sources for this product from http://..." then that might satisfy 3(b) (one could argue that they must provide them on the same media as the product itself, likely a cd-rom) but the trick then is dating the offer. 3(b) requires a minimum of three years, which means either (1) each offer is individually dated, or (2) they honor them all until three years past their last shipment. IMHO the key is that there must be a legally binding document to satisfy 3(b) since it's a license and it's date-sensitive. Putting sources on your web site and then not telling your customers about it in the distribution doesn't count.

Memfault Beyond the Launch