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 |
  +---------+