emigh@ecsvax.UUCP (03/20/84)
<> Recently, I was given a set of disassemblies of some of the Microsoft FORTRAN-80 library subroutines (the person who disassembled the routines and I are both registered owners of F80). During Spring Break, I rewrote the floating point multiply and divide routines for the Z80 (resulting in improvements of 25% and 37%, respectively, for time in floating point intensive programs). Considering the discussion now going on in net.general (and net.followup), can I give the benefits of my labor to others? I can see three possibilities for this: 1) Forget about the whole thing. Use the modifications in my own work, but don't take the chance on distributing them. 2) Distribute the .REL files. This would allow others to use them, but would not allow others to locate and fix any bugs that might be present (after all, I spent only 1 day on the project). 3) Distribute the .MAC files. This is the most ideal from my standpoint, as I may have made some errors, or there may be a more efficient routine. However, I would guess that about 20% of the actual code is still Microsoft's, and certainly the algorithm is Microsoft's-- I only translated it into Z80 code. Please give me your ideas as to the legal/moral solution to this problem. Do you feel that I would be violating the copyright laws in going ahead with options 2 or 3? The license agreement I signed states in part: "Party agrees that unauthorized copying or disclosure will cause great damage..." Will either of these options violate this license agreement? I should add that I would distribute them without cost (e.g., through net.sources). I will summarize any answers I get to the net. If you wish, I will keep your id annonymous. --Thanks-- -- Ted H. Emigh North Carolina State University Raleigh NC USENET: {akgua decvax duke ihnp4 unc}!mcnc!ecsvax!emigh ARPA: decvax!mcnc!ecsvax!emigh@BERKELEY.ARPA
Schauble@MIT-MULTICS.ARPA (03/25/84)
From: Paul Schauble <Schauble@MIT-MULTICS.ARPA> As I know copyright law: it does not protect the algorithm at all, only the expression of the algorithm in code. No problem there. If only 20% of the code is original, you also have no problem there. I would say, feel free. If you want, I know a legal person who is knowledgable on copyright law. If you would take a collect phone call, I can have you talk to her. Send me a number and a time to call in you're interested. Paul
andrew@orca.UUCP (Andrew Klossner) (03/30/84)
"If only 20% of the code is original, you also have no problem there." Be careful of this reasoning. It was tried in court and did not pass. The copyright law says that any derived work is the property of the owner of the copyright. If 0.01% of the code is original, you still may not freely distribute. The act of deriving the work, as well as the test of contents, is involved. -- Andrew Klossner (decvax!tektronix!orca!andrew) [UUCP] (orca!andrew.tektronix@rand-relay) [ARPA]
Thieret.WBST@Xerox.ARPA (04/13/84)
Ted, I don't know if you ever received my last message on this subject. I am very interested in the floating point mods to F80 and would like a copy of the source. Please send them to the address below. You may note that this address is different from my previous address. We changed our server. Thanks. Tracy (Thieret @ XEROX.ARPA)
emigh@ecsvax.UUCP (04/23/84)
< This space for rent > I have finally received all the comments about my distribution of F80 routines, so here is the summary. Original Question: I was given the source of some disassembled routines from the Microsoft F80 runtime library. I spent about a day to modify the code to run faster under a Z80, and achieved improvements of 37% for floating point divide and 25% for floating point multiply. I asked for advice as to whether or not I could post these routines to, say, net.sources. Microsoft tries to copyright and license F80, the license saying that disclosure would cause great harm to Microsoft. Responses: {my comments in braces or paragraphs headed by a '>'} >By far, the most numerous responses were like: I don't know about posting the MAC code, but I sure would like to get a copy of it myself. >As to the legality of distributing the Source there were several conflicting answers. Several people offered lawyer friends to call. The "best" answer I could find is: If the copyright was before Jan 1, 1977, the software fell under the old copyright act and no one knows what that means. If it was copyrighted after Jan 1, 1977 but before Dec 12, 1980 things are different but still not too clear. If after Dec 12, 1980, then you can do whatever you want with re-coding for yourself but not for any other use--including public domain. He also said that it was his belief (he is especially interested in this area) that both copyright and trade secret protection could not be held at the same time, but that this question has not been litigated as yet, thus there is no confirmation or denial of his belief. >Other legal responses from the net were: About all you can do legally is to distribute a patch list: give the addresses of locations that you change, and the new contents of those locations. {This amounts to releasing the REL files} By the way, Microsoft watches this mailing list {one of the reasons I did it this way}, so you have just informed them that you are considering pirating their software. I wouldn't be surprised if you heard from them. {Never did hear from them} >Some practical solutions: I suppose that if you anonymously send the sources out to this mailing list, then it will be impossible to trace you down. {Maybe I could get them distributed from kgbvax or kremvax :-)} That's not a moral solution, but certainly a practical one. Anyway, one couldn't use your routines without the rest of the fortran compiler, so why would Microsoft care? {Who knows the workings of corporate minds} You might even offer to give them a copy for free! There shouldn't be a problem if you are distributing only the REL files. People need a Microsoft licensed linker..and so on.. to produce COM files anyway. It's too bad the routines were disassembled by someone who signed the nondisclosure agreement. Since you can distribute the COM files of any F80 program, it would not be any more difficult to disassemble it with 'appropriately chosen' F80 programs. {Of course, who would go to the trouble if they didn't have F80. The disassembly is much more difficult if you do not have the REL files. The disassembly was semi-automated, and took approximately 2 minutes per module to disassemble, and an additional 1/2 to 3 hours to comment. There are over 100 modules in FORLIB.REL (What some people can do with free time!). } >The action that best strikes my fancy is (from several sources): The obvious answer to your real problem is to write MicroSoft a letter asking for their desires on the distribution. {As previously mentioned, Microsoft is on USENET, and presumably reads this news group. I was disappointed, but not suprised, that I did not hear from anyone at Microsoft.} I would suggest that you attempt to get Microsoft's permission to distribute Z80 mul and div routines for no profit. If they are reasonable they will not object. >>I have now written to Microsoft to ask them what their wishes are regarding the routines. However, as one respondent said: From what I've heard, they are really bad about customer response. Personally, I think the turkeys deserve to get shafted. But don't let that lead you astray. {I'm not trying to shaft anyone} >>In the mean time, I reread the license and discovered that I am to make sure that I do not disclose any information to persons *WHO ARE NOT REGISTERED USERS* (emphasis mine). As such, I believe that I can distribute the source of my modifications to any registered users of F80. If you are a registered user of F80 and would like to receive the modifications, please mail your net-address and registration number to me. I am in the midst of final testing of the routines, and will release them as soon as I am convinced that they are correct. Thanks to all who responded. I tried to reply to all, but the mail may have gotten lost in the net. -- Ted H. Emigh North Carolina State University Raleigh NC USENET: {akgua decvax duke ihnp4 unc}!mcnc!ecsvax!emigh ARPA: decvax!mcnc!ecsvax!emigh@BERKELEY.ARPA