[squeak-dev] Re: [ANN] Kernel methods license audit

nicolas cellier ncellier at ifrance.com
Thu Mar 20 21:27:18 UTC 2008


Pavel Krivanek a écrit :
> Hi all,
> 
> I've prepared current license audit of kernel methods, see:
> 
> http://comtalk.eu/public/pub/KernelImage/license/licenseAudit1.csv
> http://comtalk.eu/public/pub/KernelImage/license/licenseAudit2.ods
> - overview of SqueakL methods in the kernel.image (OpenOffice format)
> http://comtalk.eu/public/pub/KernelImage/license/licenseAudit2.pdf
> - overview of SqueakL methods in the kernel.image (PDF format)
> 
> For more information see Wiki page on the KernelImage SqueakSource repository:
> http://www.squeaksource.com/KernelImage.html
> 
> We need to rewrite 332 methods.
> There are some methods that have similar source to Squeak 1.1 version.
> The first task is to convert them. For this task wee need two people
> (or two teams):
> 
> - one will look at old and current implementation and will describe
> how must be the original source changed to do the same job as the
> current version. This description should be as general as possible -
> no code. For example "use ZeroDivide instead of general error",
> "LdInstLong was renamed to LoadLong" etc. Some descriptions are
> present in the old version of license audit
> (http://comtalk.eu/public/pub/KernelImage/license/license2.ods)
> 
> - the second person/team must not see the current code! It will take
> the code from Squeak 1.1, will create new method and modify it as
> described by the first person. We already tested this process with
> Damien.
> 
> So, volunteers?
> 
> Cheers,
> -- Pavel
> 
> 

OK: my minor contribution:
EndOfStreamSignal>>isResumable does not need to be re-written. It needs 
to be removed.
Move EndOfStream under Notification before.
(see http://bugs.squeak.org/view.php?id=6755).
Oh, I do not advocate EndOfStream be used in kernel image, just change 
the hierarchy.


However, looking at the source, apart accessors, some methods will 
hardly ever change, like:
Integer>>bitInvert
	^-1-self

There is no added value in such method but very obvious algorithm:
two complement: bitinvert the digits, and add 1
=> bitInvert: take two complement, and subtract 1

The trick is not here, it is in pretending LargeNegativeInteger are 
stored in two complements, what they are not...
So the trick is in all the bitOr:, bitAnd:, bitXor:, bitShift: 
implementations, as a whole.

Seeing that wb is autor of several of these, Paolo is right, this might 
be copyright-able...

However, really sure Squeak is in danger to be sued for such minor feature?

I'm disqualified for playing the game of rewriting from scratch 
pretending i never saw the code... Without me for this one.

Nicolas




More information about the Squeak-dev mailing list