[gnu.g++.help] Reverse engineering and LGPL

rms@AI.MIT.EDU (Richard Stallman) (01/14/91)

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.

don@zardoz.coral.com (Don Dewar) (01/16/91)

) Return-Path: <help-g++-request@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: <9101132125.AA22680@mole.ai.mit.edu>
) Sender: uunet!prep.ai.mit.edu!help-g++-request
) To: help-g++@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 <miron@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: don@coral.com
  |@@**@@@@@|     Phone:    (508) 460-6010
  |*********|     Fax:      (508) 481-6258
  |Networks |
  +---------+

don@zardoz.coral.com (Don Dewar) (01/18/91)

) 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: don@zardoz.coral.com
) Subject: Re: Reverse engineering and LGPL
) Newsgroups: gnu.g++.help,comp.lang.c++
) In-Reply-To: <9101161300.AA22325@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
) leei@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: don@coral.com
  |@@**@@@@@|     Phone:    (508) 460-6010
  |*********|     Fax:      (508) 481-6258
  |Networks |
  +---------+