Hi!
Jecel Assumpcao Jr wrote: [SNIP of stuff we agree on]
I really like eToys but I have not looked deeply at its implementation and what a "merge" entails. I think a majority of Squeak-dev would like a merge... *IF* it means keeping eToys a separate layer/entity that can load on top of the base.
Note that the official Squeak images already include Etoys. so a merge would not imply adding that. It would, instead, mean adding lots of little fixes and some new functionallity (like scaling the screen or the new navigation bar).
We all agree about how great it would be to have a tiny kernel image that could load an Etoys layer, but that is not going to happen soon. People have created scripts in the past that can rip out all the Etoys stuff but always in such a way that it is a one way street: the result can't be loaded back in. We know what needs to be done to go beyond that and have a reloadable layer, but none of us has the time to do it. So putting this on a roadmap for the near future is sure to lead to disappointment.
Well, still, it is a crucial point. Let me outline two different scenarios of which I would only support one:
Scenario 1:
- eToys and Squeak-dev merge by simply moving all changes made in the eToys-fork to the eToys code inside Squeak.
- Work continues on improving eToys inside Squeak based on the needs of the eToys project. The code is still intertangled with the rest of Squeak. There is no clear boundary and we will see eToys specific code in the "core classes" (especially Morphic I presume).
Scenario 2:
- eToys and Squeak-dev merge by moving all changes made in the eToys-fork to the eToys code inside Squeak BUT also clearly marks a boundary between eToys and Squeak. This can be done using method categories and whatever means necessary. While it can not easily be snapshotted separately we at least KNOW what it consists of.
- Work *begins* (I am not expecting a timetable, but I do expect an ambition and a plan) on turning eToys into a separate entity that is indeed "loadable" on top of Squeak. I would love to hear the technical details on why this is hard (I don't doubt it, I just wonder).
Now... scenario 2 is VASTLY different from scenario 1.
regards, Göran