[squeak-dev] How to rewrite a license restricted method?
Bert Freudenberg
bert at freudenbergs.de
Mon Feb 9 11:48:15 UTC 2009
On 08.02.2009, at 20:26, Ken Causey wrote:
> SequenceableCollection>>asStringWithCr
>
> 1) SqueakV1.sources:
>
> asStringWithCr
> "Convert to a string with returns between items. Elements are
> usually
> strings.
> Useful for labels for PopUpMenus."
> | labelStream |
> labelStream _ WriteStream on: (String new: 200).
> self do: [:each |
> (each isKindOf: String)
> ifTrue: [labelStream nextPutAll: each; cr]
> ifFalse: [each printOn: labelStream; cr]].
> self size > 0 ifTrue: [labelStream skip: -1].
> ^ labelStream contents!
If I pointed out the flaws that need to be fixed in this version -
namely, replace "_" by ":=", use #isStrign instead of #isKindOf:, and
make sure #cr is sent to the labelStream, I am certain we would end up
exactly with this:
> 5) Squeak39g-7056+3102-7179.changes:
>
> !SequenceableCollection methodsFor: 'converting' stamp: 'ar 4/10/2005
> 18:02' prior: 29748463!
> asStringWithCr
> "Convert to a string with returns between items. Elements are
> usually strings.
> Useful for labels for PopUpMenus."
> | labelStream |
> + labelStream := WriteStream on: (String new: 200).
> self do: [:each |
> each isString
> ifTrue: [labelStream nextPutAll: each; cr]
> ifFalse: [each printOn: labelStream. labelStream cr]].
> self size > 0 ifTrue: [labelStream skip: -1].
> ^ labelStream contents! !
So IMHO we do not need to worry about this particular method at all
since the non-relicensed contribution is a trivial bug fix.
- Bert -
>
> Now as I said above the problem with with version 2. As you can see
> each of these changes is at most one line and by and large frankly
> rather obvious. The change in 2 is clearly a bug fix and the
> straightforward solution.
>
> So the question is what do I do with this method, which is currently
> distributed as version 5, so that it does not infringe on djm's rights
> to maintain version 2 as SqueakL? Admittedly it's unlikely that djm
> actually wants this right, but lacking a clear statement to the
> contrary, it's the default we have to assume.
>
> How much of a change is a significant change?
>
> Should I delete the current implementation entirely and rewrite it
> from
> scratch? If so, how much am I allowed to know about the prior
> implementations?
>
> Ken
>
More information about the Squeak-dev
mailing list
|