Ken G. Brown wrote:
With respect to Craig's 'Flow', I have been thinking about the inertia caused by the perceived need to make major system changes backward compatible.
I used to think that my current situation in life has been determined as a result of the sum total of past events and I was sorta stuck with what had gone before. Now, I prefer to think of my present as being determined by my desired future. Get a clear picture in mind of the desired future and today's decisions become much easier, being made towards achieving the desired future. At each decision point, the decision can be made towards improving the quality of that future picture by bringing it into clearer focus.
From this point of view, I think it may be best to get a clear view of the future of Squeak, then do today what is necessary to create that picture without worrying about the backward compatibility. Those that need to and want to, will do the required changes to also partake in that desired future, those that don't can remain with whatever works for them. The backwards compatibility issues I believe could most appropriately be dealt with by those parts of the system that have the issues, thereby reducing the inertia for going forward.
In the past, if this way of thinking would have been in vogue, we would most likely already be running with Craig's 'Flow' in the system. I'm assuming from other opinions that would be a good thing...
1. Adopt Craig's Spoon (Squat..?) kernel as the humble beginnings of Squeak version n+1.
2. Make it able to use version-controlled packages with dependencies etc. Like Debian (to quote other wiser people). Perhaps using Monticello? (p.s. is that pronounced montisello or montichello?)
3. Make a set of core packages. Libaries, Morphic-base, Dev-tools, Compiler etc. Use current Squeak code and existing SqueakMap packages to make these packages.
4. Repeat for Squeak n+2.
I'm a big fan of writing everything from scratch. That way, you get a fresh perspective and you don't have to carry old crud with you. Squeak suffers from old crud - I don't touch much of the core code, but some of it just makes me wonder why its there. I also wonder why I can't download an image which doesn't have a Bach tune and talking heads in it.
I think that this community (and excuse my preaching here) needs to break itself up a bit. People need to break the image into separately managed projects, perhaps even being so radical as to have separate mailing lists and version control for each project source.
Example of breaking up the image into projects: http://minnow.cc.gatech.edu/squeak/2460.html
Mikevdg.