This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
>>>>> "Stephen" == Stephen Williams <steve@icarus.icarus.com> writes: Stephen> rj@eli.elilabs.com said: >> Why does an embedded system impose special considerations for >> licensing? If you are concerned about distribution in binary >> only form, this is allowed, provided that you give a reference >> to where the source may be found. Stephen> This is pushing the envelope, because the customer that Stephen> buys a toaster with a ROM filled with GPLed software has Stephen> no means to modify that ROM. There is in practice no Stephen> "preferred form of the work for making modifications to Stephen> it" because the customer has not been given the means to Stephen> load a modification, or even link it. Nor can he. Likely, Stephen> special hardware is required, possibly not available to Stephen> anyone other then the toaster maker. Not true. You have been listening to the lawyaers, when they should retain your services as expert and listen to you! They know law, but they do not know the technology. You must educate them in the technology so they can advise you as to how the law might be applied to it, and what your best course of action should be. The prefered form of the work means the form prefered by "those skilled in the art", which means other software engineers, not necessarily the end user. You are required to provide the end user with the information, not the tools or the skills. If he has those skills and tools, and wants to mess with your the firmware, fine, but all warrantees are null and void. This needs to be clearly stated in the same text that gives the URL for obtaining the "preffered form of the medium", which as already stated in an earlier post, is a relocatable object file. So, to give a concrete example, lets say that I am Mr. B. C Dull (a friend of Donald Knuth's), a computer hobbiest with more money than sense. I buy one of your toasters. I think that I should have to double click on the toast icon to eject the toast, but your firmware says I must drag the toast icon from the furnace window and drop it in the plate window to do this. I look on the decal on the bottom of the toaster and get the URL to obtain the relocatable object library that provides the non-GPLL-ed part of the toaster firmware. I also get the URL for the GPLL-ed library sources. I ftp both tars and study the library code. I find the part of the library that supports drag and drop, and edit a #define to change the metaphor from drag and drop to double click. I then compile and ar and ranlib the new version of the GPLL-ed library. Next, I link that library together with your library using the makefile provided with your library. I then do a make romimage to produce a Motorola S-record file that represents the ROM contents for the new toaster firmware. Now I take a screwdriver to the toaster, after peeling off the REMOVAL VOIDS WARRANTEE stickers. I find the microprocessor and observe that it is an 8051. I call Hamilton HaveNot and order an 8031 together with a programmer for the device. Wjile I am at it, just to be sure, I also order Intel's I^2 ICE so I can debug the thing. Remember, I have more money than sense, and I have the skills. I am Mr. B. C. Dull, a friend of Donald Knuth's! The 8031 arrives along with the programming fixture and the emulator a few months later. I gleefully hook everything together and plug in the ICE. I load the new Srec file into the ICE's ROM simulator and try out my changes. Hmmm... I notice that the toaster's LCD active matrix mini-screen has different colors. Oh well, I can fix that later. Lets see how the double-click mod works. I press, release, press, and before I can release the toast pops out. Close but not quite right yet. Not bad for the first try. I look again where the double click mod was made and notice a "<=" where I should have had just a "<". I edit, remake, reload, and try again. It works. Good! Now I go back and fix the colors, but since the original colors never really went with my kitchen decor too well, I whump up a custom color combo instead. I make and load again. All is well. I turn everything off, disconnect the ICE, and blow the EPROM in the 8031, then install the 8031 where the 805`1 was originally installed. This is a pain, since it was not socteted, but 2 rolls of solder wick later, it is done. I am now the proud owner of the only toaster of its kind that matches my kitchen decor in the screen colors, and has the (to me) more desirable double click instead of dra and drop eject toast command. This souts me to a tee. My friend Norman Q. Nerd comes over for breakfast the next day and really likes it. He wants a toaster like that too. I tell him that he must go buy a stock toaster, and get the object code for the non-GPLL-ed part of the firmware for himself in order to comply with the letter of the law. He does this by going into my computer room and doing the ftp for himself, giving his name and toaster serial number in the HTML form just like I gave mine when I got my copy. After this is done, he orders another 8031 for himself. When it arrives, I program it for him. It is not necessary for him to do another make, since the targets are all up to daye anyway. I am allowed to give him my modifications to the GPLL-ed library, but since this constitutes distribution, I make a patch file freely available through my website, licensed by the GPLL. Another friend, Mr. Ty Coon (a friend of Richard Stallman's), sees the modified toaster and thinks we ought to go into business selling modified toasters. I tell him this is prabably not a good idea, but the next day we go talk to his intellectual property lawyer about it. I cannot divulge the results of that discussion because Ty had me sign a non-disclosure agreement first! While I, Mr. B. C. Dull can freely (in the GPLL sense) obtain and use the GPLL-ed library sources, I only have a license to use your firmware (the non-GPLL-ed object library part) on a single toaster, and may not divulge the information contained in the object code I download to third parties. This too needs to be stated explicitly on the label on the bottom of the toaster. -- -------- "And there came a writing to him from Elijah" [2Ch 21:12] -------- Robert Jay Brown III rj@eli.elilabs.com http://www.elilabs.com 1 847 705-0424 Elijah Laboratories Inc.; 37 South Greenwood Avenue; Palatine, IL 60067-6328 ----- M o d e l i n g t h e M e t h o d s o f t h e M i n d ------