[squeak-dev] re: How to rewrite a license restricted method?
craig at netjam.org
Tue Feb 24 02:07:37 UTC 2009
Please accept my apologies for the delay in my response.
> How much of a change is a significant change?
The advice we got from the Software Freedom Conservancy's legal
counsel, the Software Freedom Law Center, was that every change,
regardless of length, is potentially significant. They advised that we
remove or rewrite all code for which we could not obtain a license. They
acknowledged that this may not be possible (more on that question
below), but their advice was to attempt it. At the time of our first
conversations (December 2007), the prime examples were contributions
from authors who had since died and whose estates had not yet responded.
They were hard-pressed to give us step-by-step instructions for
how to conduct a rewrite, both because they are unfamiliar with
Smalltalk development and because there is actually no
generally-accepted and court-tested protocol. However, they repeatedly
stressed that the most important thing is to document what we do, so
that they may review it if necessary.
Randal, as the Squeak 4.0 release team's advisor from the
leadership team, has asked the Conservancy to restate their position on
"threshold of significance" question.
Personally, I would do as Jimmie suggests: remove the offending
methods and debug the system back into working order. In effect, you are
rewriting that behavior by concretely satisfying the contract it had
made with the rest of the system.
However, like Yoshiki, I'm not convinced that we have actually
reached an impasse. It may well be that yes, we have tried to remove or
rewrite the contributions for which we couldn't get a license, and no,
we can't do it because it's beyond our resources. In that case, it seems
to me we would tell this to the Conservancy and see if they think the
risk represented by what we were able to do is acceptable to them. I
don't think we've reached that point, but of course folks like you and
Matthew are in a better position to make that decision.
I'm doing this on an extreme scale with Spoon, by providing an
object memory with almost every method removed (and a means for adding
methods subsequently, with an enhanced approach to system organization,
see http://netjam.org/spoon/naiad ).
next show: 2009-03-13 (www.thishere.org)
More information about the Squeak-dev