Friday, 20 April 2007

0317 GMT


for the impatient

      Choose a host platform:

introduction

      Greetings, welcome to the 2 alpha 12 release of Spoon. If you've never heard of it before, you might like to read this general description.

      When Spoon starts, it starts an HTTP server for receiving Naiad module system commands. One may then open a web browser on a URL that invokes a greeting command in Spoon.

      Spoon also starts a remote-messaging server. When another Squeak system connects to it, each system can send messages to objects in the other system. The client support for this facility is loadable from a source code file included with the release. Finally, this release also includes changes to the Squeak virtual machine simulator for running the Spoon memory in simulation. If the Spoon system ever goes south when run with the processor application, you can re-run under simulation to see what's going on.

this is not a final release

      This is an "alpha" release, meaning that there are both unimplemented features and known bugs. Please read my versioning scheme.

there are a mailing list and an IRC channel

      Please join the mailing list and chat with us on the IRC channel! The channel is #spoon on freenode.net.

the bits

      Choose a host platform:       On my machine, remote message-sending is still rather slow; I haven't done any performance profiling yet. Keep in mind, though, that so far my only application of it has been removing things from the working snapshot. It already seems quite tolerable for that.

the Spoon license

      Spoon is derived from Squeak 3.2 by Dan Ingalls and the Squeak team, and from my work on flow. The following applies to the work I did.

      I'm using a license trivially derived from the MIT license as of 11 April 2007. Here it is:



Copyright (c) 2003, 2004, 2005, 2006, 2007 Craig Latta

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.



      For reference, I'll call this "the Spoon license, version two". If there's a future change in the license, I'll increment the major number of both the license version and the release version.

      I am interested in creating a license for Spoon which accommodates the unique late-bound nature of Smalltalk, the fact that Spoon might not use "files" in the traditional sense at all, and the fine-grained nature of the module system I am developing. If I introduce a new license in the future, I plan to use a dual-licensing scheme, giving the option of the more familiar MIT-derived license above.

      My motivations for using a license are these:
  • to convey that I would like this work to be used and derived as "open source", and to make potential users and collaborators comfortable in those roles

  • to ask for appropriate acknowledgement in derivations of the work
      If you have particular needs or concerns with regard to licensing, please feel free to contact me, and/or the Spoon mailing list.

how Spoon works

      I'm writing a description of this now. :) In the meantime, I'd be happy to discuss details on the Spoon mailing list, in private mail, or on the Spoon IRC channel (irc://irc.freenode.net/#spoon). I'm usually on the channel from 1800-0300 GMT, and sometimes 0400-1100 GMT as well. You might also like to read the progress reports in the Spoon mailing list archive; several design details are described there.

acknowledgements

      Many thanks (in alphabetical order)...

to... for...
asparagi stress testing and URI implementation
Ken Causey virtual machine debugging
Cees de Groot additional network hosting
Jeff Eastman real code to modularize
Dan Ingalls,
      virtual mechanic number one!
bits of history (which actually run :)
Alan Kay words of advice (and instigating that
      whole objects thing :)
Göran Krampe additional network hosting
John McIntosh MacOS help
Gale Pedowitz and the rest
      of the Squackers
demo feedback and good cheer
John Randolph MacOS hardware access
Brian "water" Rice and the other
      hardcore #squeak denizens
determination and enthusiasm
Tim Rowledge and the entire
      Squeak community
technical comraderie par excellence
Dave Thomas financial stability at a crucial moment


      If I left someone out, please let me know, and please accept my apologies in advance.

      Special thanks to Dave Thomas and my colleagues at Bedarra Research Labs, for sending work my way in 2003. Check out our OpenAugment project; in addition to taking on a task of vital historical importance, it uses Spoon modules. (Please note, however, that this work is currently not funded, and I am very much available for new work. :)




Thanks! Enjoy!

Craig Latta