On Mar 3, 2012, at 12:03 PM, Tudor Girba wrote:

> Hi,
> 
> I did not manage to explain myself, so let me try again with a longer email.
> 
> We all want to get to a small kernel. To get there, we should have a process 
> that makes the progress possible in small increments. At this point, I would 
> just be interested in putting in place a simple job that takes a seed image, 
> and builds the image in which the core team works in.
> 
> As far as I understood, the only reason why we now have a single image is 
> that the old Core image had poor tools, and building the Distribution was 
> long. However, now, you do not have RB in there anymore. Removing RB was the 
> right decision, because it means it can evolve rather independently. This 
> also means that to do your work you would benefit from another image.
> 
> So, the simplest thing at this point, would be to start with just making the 
> current image to be the seed and build another one with RB (and maybe 
> Nautilus?) inside where you do your work. And then we try to see how it goes 
> in terms your process. If it works Ok, we can start pulling out other 
> packages.
> 
> For example, currently, there are at least two other parts that are not 
> required to be in the seed image: AST and Filesystem. Of course, when OPAL 
> will arrive, the AST will have to go in the seed image, but until then, it 
> does not have to. The same with Filesystem: at this moment, it does not have 
> to be in.
> 
> One thing that we need to watch for though is the process of including 
> something in the Distribution. The old Dev image failed because the policy 
> was one of "it looks interesting -> it should be in". Instead, the 
> Distribution should be focused on providing a small set of extras that make 
> development better.
> 
> In the end, the goal is not to come up with the kernel now, but it would be 
> to have the infrastructure and process in place that enables us to remove 
> things from the seed image gradually, and still get the core team to have a 
> good toolset.
> 
> Would that be Ok?
> 

What we need:

        -> One Artefact of release. *This is Pharo* (and yes, there is a small 
core somewhere, but that's for specialists)
                - The goal in that is to have everything just once. Not a 
"crapy X for the Core, but everyone uses Y".
                - No need to manage bugs for Full and Core differently
                - Stable. No "Dev now is different and I don't know why, nobody 
changed anything" (as happend with 1.3, again...)
                     (stable in the sense: two builds of the same version 
should not magically be different)

        -> The development happens in that one release. Developers and 
integrators can just use that. No thinking.

        -> The way to commit is the same. What killed me in the Dev image 
approach is that it was different and difficult
             *in addtion* to a difficult and boring aproach for the core.
             (e.g. editing Metacello config by hand for every trivial change.. 
and breaking something every time).
        
        -> I can press "update system to latest" to update the image, no need 
to always download a fresh image for
             every trivial change.


--
Marcus Denker -- http://marcusdenker.de


Reply via email to