Path: gmdzi!unido!mcsun!uunet!tut.cis.ohio-state.edu!AI.MIT.EDU!rms From: r...@AI.MIT.EDU (Richard Stallman) Newsgroups: gnu.g++.help,comp.lang.c++ Subject: Reverse engineering and LGPL Message-ID: <9101132125.AA22680@mole.ai.mit.edu> Date: 13 Jan 91 21:25:11 GMT Sender: dae...@tut.cis.ohio-state.edu Followup-To: gnu.g++.help Organization: Gatewayed from the GNU Project mailing list help...@prep.ai.mit.edu Lines: 23 Xref: gmdzi gnu.g++.help:290 comp.lang.c++:9927 The idea of paragraph 6 of the LGPL is that people should be able to change the library, recompile it, and relink the proprietary program with it. If the terms for the proprietary program don't permit modification, this won't be allowed. So the terms must permit it. If the user wants to debug the modified program, since there's no source except for the library itself, the only way to look at the rest (the callers of library functions, etc) is by disassembling it, as any debugger will do. If the terms for the proprietary program don't permit disassembly ("reverse engineering), this won't be allowed. So the terms must permit it. The purpose of the FSF is to promote the freedom to share and change software. The only "price" the FSF wants to get for the *use* of software is respect for this freedom--in this case, the freedom to change the library that's used in an application program. Offering something else--money-back guarantees, or whatever--*instead* of freedom is missing the point.
Path: gmdzi!unido!mcsun!uunet!van-bc!ubc-cs!fornax!miron From: miron@fornax.UUCP (Miron Cuperman) Newsgroups: gnu.g++.help Subject: Re: Reverse engineering and LGPL Message-ID: <1918@fornax.UUCP> Date: 13 Jan 91 22:20:10 GMT References: <9101132125.AA22680@mole.ai.mit.edu> Organization: School of Computing Science, SFU, Burnaby, B.C. Canada Lines: 29 I don't understand why you want the end user to be able to modify the propietary program. I understand that you want the library to be publicly available and modifiable, but there is not sane way in which you can apply that to propietary programs. I also don't see what you gain by it, since the program is propietary anyway. The library will of course be publicly available, so your interests are protected. I think that the library licence and the gnu license should say only this: The programs and library protected with the GNU license must remain publicly available, but you may include it in a derived work and limit the distribution of the derived work. This will enable people to do whatever they please with GNU works, except make the original work copyrighted. If someone wants to sell a derived work from gcc that is not different enough from gcc, they will fail, since gcc will also be freely available. About reverse engineering: I think the original poster meant that the people who wrote InterViews had to reverse engineer the output of g++ to reproduce libg++ and gnulib which are usable with it, so as to circumvent the silly restrictions. By Miron Cuperman <mi...@cs.sfu.ca> an.ar.chism \'an-<e>r-,kiz-<e>m, -,<a:>r-\ n (1642) 1: a political theory holding all forms of governmental authority to be unnecessary and undesirable and advocating a society based on voluntary cooperation and free association of individuals and groups
Path: gmdzi!unido!isaak!escher!nadia!smurf!ira.uka.de!sol.ctr.columbia.edu! samsung!uunet!tut.cis.ohio-state.edu!zardoz.coral.com!don From: d...@zardoz.coral.com (Don Dewar) Newsgroups: gnu.g++.help,comp.lang.c++ Subject: Reverse engineering and LGPL Message-ID: <9101161300.AA22325@zardoz.coral.com> Date: 16 Jan 91 13:00:45 GMT References: <1918@fornax.UUCP> Sender: dae...@tut.cis.ohio-state.edu Followup-To: gnu.g++.help Organization: Gatewayed from the GNU Project mailing list help...@prep.ai.mit.edu Lines: 107 Xref: gmdzi gnu.g++.help:306 comp.lang.c++:9990 ) Return-Path: <help-g++...@prep.ai.mit.edu> ) Date: 13 Jan 91 22:20:10 GMT ) From: uunet!van-bc!ubc-cs!fornax!miron (Miron Cuperman) ) Organization: School of Computing Science, SFU, Burnaby, B.C. Canada ) Subject: Re: Reverse engineering and LGPL ) References: <910113212...@mole.ai.mit.edu> ) Sender: uunet!prep.ai.mit.edu!help-g++-request ) To: help...@prep.ai.mit.edu ) ) I don't understand why you want the end user to be able to modify ) the propietary program. I understand that you want the library to be ) publicly available and modifiable, but there is not sane way in which ) you can apply that to propietary programs. I also don't see what you ) gain by it, since the program is propietary anyway. The library will ) of course be publicly available, so your interests are protected. ) ) I think that the library licence and the gnu license should say only ) this: ) The programs and library protected with the GNU license must remain ) publicly available, but you may include it in a derived work and limit ) the distribution of the derived work. ) This makes alot of sense. My company has used g++ to develop a large product and currently we include the g++ library. We only use the objects out of libg++ that are absolutely necessary, such as cout, which we only use for debugging. Before we ship our product, we will have to replace the gnu library with something of our own, because we can't give our sources to our customers to hack. The reasons for this are twofold. We are a small startup company and have not built our software in such a way that source distribution would be easy to do -- we are spending all our time implementing our hardware and software. There is accompanying source used to build our product that we can not give away -- ie. the Motif sources. This would further seem to violate the proposed library license agreement, since our sites would still not be able to build the product. I would be happy to send out free gnu software to our customers when they want it. Furthermore, I would be happy to make available any changes or improvements we make to the GNU software to the world at large, but it would be financialy draining and time consuming for a company like ours to try to freely distribute our software at this time. So, are we violating the principles of FSF and GNU -- I don't think so. Development software, such as compilers, and OS's like UNIX, have proven to be indispensible to the advancement of the computer industry. It makes sense for software such as this to be free. If our software started to become useful more generally, I would hope our company would have the good sense to make it publicly available -- after all our main thrust is hardware. So, what is happening here is that because someone is trying to impose their concept of free software on us, we may have to avoid using some GNU software when we release our product. I think that FSF might learn something here from a very serious mistake that our government repeatedly makes: You can't legislate morality -- education is the only way to help people make the right moral decision. The more you try to force your convictions on someone else, the more they may resist. If you show them the right way through your own example, you are more likely to get the results you want. Our government fails because our leaders have shown themselves time and time again to generally be of the lowest moral fiber. FSF and Richard Stallman, on the other hand, have the convictions of their own actions to light the way and should rely on that more than heavy handed legal tactics. I would very much like to see a GNU library license that allowed our company to use the library, modify it and have our only obligation be to make it free available and any modifications we make to it available. The distribution of our "derived works" should be at our own discretion. (Sorry for pontificating, but I always run off at the keyboard on topics such as this.) ) This will enable people to do whatever they please with GNU works, except ) make the original work copyrighted. If someone wants to sell a derived ) work from gcc that is not different enough from gcc, they will fail, since ) gcc will also be freely available. ) ) About reverse engineering: I think the original poster meant that the ) people who wrote InterViews had to reverse engineer the output of g++ ) to reproduce libg++ and gnulib which are usable with it, so as to ) circumvent the silly restrictions. ) ) By Miron Cuperman <mi...@cs.sfu.ca> ) Disclaimer: Don't get me wrong, I hold GNU and RMS in very high esteem. Furthermore, I generally believe in the priciples they espouse and hope that they ultimately succeed. +---------+ | Coral | |@@@@@*@**| |@@*@@**@@| Don Dewar |*@@**@@@@| Coral Network Corporation, Marlborough, MA |@***@@@@@| Internet: d...@coral.com |@@**@@@@@| Phone: (508) 460-6010 |*********| Fax: (508) 481-6258 |Networks | +---------+
Path: gmdzi!unido!mcsun!uunet!shelby!apple!julius.cs.uiuc.edu! zaphod.mps.ohio-state.edu!magnus.ircc.ohio-state.edu!tut.cis.ohio-state.edu! zardoz.coral.com!don From: d...@zardoz.coral.com (Don Dewar) Newsgroups: gnu.g++.help,comp.lang.c++ Subject: Reverse engineering and LGPL Message-ID: <9101171627.AA25860@zardoz.coral.com> Date: 17 Jan 91 16:27:12 GMT References: <9101171429.AA18626@thunder.McRCIM.McGill.EDU> Sender: dae...@tut.cis.ohio-state.edu Followup-To: gnu.g++.help Organization: Gatewayed from the GNU Project mailing list help...@prep.ai.mit.edu Lines: 69 Xref: gmdzi gnu.g++.help:311 comp.lang.c++:10014 ) Return-Path: <uunet!thunder.McRCIM.McGill.EDU!leei> ) Date: Thu, 17 Jan 91 09:29:22 -0500 ) From: Lee Iverson <uunet!thunder.McRCIM.McGill.EDU!leei> ) To: d...@zardoz.coral.com ) Subject: Re: Reverse engineering and LGPL ) Newsgroups: gnu.g++.help,comp.lang.c++ ) In-Reply-To: <910116130...@zardoz.coral.com> ) References: <1918@fornax.UUCP> ) Organization: McGill University, McRCIM ) Cc: ) ) >) ) >) I think that the library licence and the gnu license should say only ) >) this: ) >) The programs and library protected with the GNU license must remain ) >) publicly available, but you may include it in a derived work and limit ) >) the distribution of the derived work. ) >) ) > ) >This makes alot of sense. My company has used g++ to develop a large ) >product and currently we include the g++ library. We only use the ) >objects out of libg++ that are absolutely necessary, such as cout, ) >which we only use for debugging. ) > ) >Before we ship our product, we will have to replace the gnu library ) >with something of our own, because we can't give our sources to our ) >customers to hack. ) ) READ!! the newest version of the LGPL. It makes it abundantly clear ) that all you are required to do is provide a version of your ) proprietary object code which the user could relink with an upgraded ) libg++. You must provide (if only on request) source for libg++, but ) not necessarily your own stuff. This problem is exactly what the NEW ) LGPL should cover and properly. Get a copy (from prep.ai.mit.edu or ) rms) and READ it! The fact that you want to use it and are associated ) with a startup should be enough to encourage you to work for FSF ) principles and that should not include uninformed diatribes which ) don't reflect an attempt to understand where the project is going. ) ) Try again. If you look, I think you'll be surprised and happy. It ) may not be exactly what you want but it should allow you to do exactly ) what you need to do. ) ) -- ) ) Lee Iverson McGill Research Centre for Intelligent Machines ) le...@mcrcim.mcgill.edu Computer Vision and Robotics Lab ) McGill University, Montreal ) ) I must admit I have read it. Abundantly clear? I found very little about it clear. In fact, four of us at this company went about arguing this exact point for a while. Is this the correct interpertation? If so, I most profusely apologize for an feathers I may have ruffled. Would anybody care to comment further? +---------+ | Coral | |@@@@@*@**| |@@*@@**@@| Don Dewar |*@@**@@@@| Coral Network Corporation, Marlborough, MA |@***@@@@@| Internet: d...@coral.com |@@**@@@@@| Phone: (508) 460-6010 |*********| Fax: (508) 481-6258 |Networks | +---------+