[Q] How Posting Code for Squeak?

Stefan Matthias Aust sma at 3plus4.de
Sun Jun 25 08:34:03 UTC 2000


At 09:14 23.06.00 +0200, Giovanni Giorgi wrote:
>Excuse me,
>     I'd like to contriubute to Squeak Smalltalk, but I need of some
>newbie-like-information.

Very good questions, Giovanni.

For bug fixes or enhancements you find useful, please post them to this 
list but make sure your subject contains [FIX] for a bug fix or [ENH] for 
enhancements.

Please prepare your changes as a changeset (.cs file) with a preample that 
contains your name, the date and a short description of the bug or the 
changes done. For example

  Change Set:    164NoDocumentLoading-sma
  Date:          25 June 2000
  Author:        Stefan Matthias Aust

  I always cursed the #readDocumentFile method for trying to read
  the my first argument passed to my squeak application as an URL
  or squeak object file so I made a Preferences setting to optionally
  disable this method.

  [...]

(You don't need to rant about IMHO questionable design decision as I did ;-)

Then attach the change to your email.  Please do not included it by copy 
and paste in the body of your email.  The Netscape Navigator is known for 
including attachments that it thinks is text in the body - when in doubt, 
please use .gz compression.  This can be done via Squeak's file list tool.

While we're of course glad about any contribution it would be nice if you 
could check your change with the lasted Squeak version available which at 
the time of this writing 2.9a, #2426.

I'm currently the one who's collecting the contributions posted to this 
list and compiling them for the Squeak Central which has the final decision 
whether something gets included or not.

However here're some guidelines of things that are very likely

  o BUG FIXES - broken things need to be fixed ASAP.  But keep in mind how 
the bug impacts the rest of the system. If refactoring is needed, do this 
also.  But try to provide the smallest change possible.

  o SPEED IMPROVEMENTS - if you detect a major performance problem, please 
provide your optimizations.  If it makes the code even simpler and better 
communicating, even better.  Please note, when in doubt I'd prefer the more 
readable, even if slower alternative unless we're talking about a major 
improvement here.

  o GENERAL REFACTORINGS - if you can provide a better, shorter, faster, 
more obvious alternative to existing source code, please send it in.  If 
you see bad code, rewrite it.  If you see missing commments, add 
them.  Feel like this is your code, if it "sells," change it until you feel 
comfortable.

  o USABILITY IMPROVEMENTS - if a small enhancement can greately improve 
the usability of the tools, add it.  Keep in mind refactorings.  The goal 
is to provide the best development environment we can think of, nothing less.

  o BASE CLASS ADDITIONS - if the ANSI standard recommends a method or 
class which is missing in Squeak, add it.  But keep in mind compatibility.

  o OTHER ENHANCEMENTS - if I like it, I recommend to add it :-)

>And what if I'd like to post  a simple application (I will support it when 
>will be relased a new version of Squeak)?

Applications are more problemantic.  It think nobody would mind (actually 
would probably be glad) if you post applications for Squeak - either 
directly to this list (if only a few KB large) or by posting the URL.

Use [APP] or [GOODIE] as subject tag if you like.

Do applications belong in a base distribution?  It depends whether you see 
the Squeak image as one large (and closed) world ready to explore by 
anybody or whether you see it as a development platform which might contain 
some examples but not every application you can think of.  Currently, it's 
kind of a compromise.

I'd probably suggest to add an application only in exceptional 
cases.  Actually, I think we have to ultimatively provide two base 
images.  One core image which contains only the base library and 
development tools.  This is the normal developer system, it might contain a 
tutorial or interactive documentation but is not meant as an example how 
great Squeak could be.

For this, we provided another, fat, image, that contains everything that's 
cool. It should be created from the first image by filing in the other stuff.

Both images should be officially maintained.  This means that we'll try not 
to break applications which managed to get approved for the fat 
image.  Things like IRC, Scamper or Dan's Checker game are IMHO 
applications which should go into such an image.

So, if you need your application in the base distribution, you best 
directly lobby the Squeak Central ;-)

bye
--
Stefan Matthias Aust  //  Bevor wir fallen, fallen wir lieber auf





More information about the Squeak-dev mailing list