Sean, What do I think? I think that's a loaded question:) Honestly? I THINK that we've reached a cross roads for Monticello/Metacello. I THINK of Metacello as a pontoon bridge that keeps goods and services flowing while we build the real bridge. The "relentless evolution" of Pharo puts pressure on all parts of the ecosystem, in a good way. As developers, this evolutionary pressure is experienced as pain: - pain in having to port perfectly good code to yet another version of Pharo - pain in having to wait for other developers to port their projects - pain in finding new bugs in parts of the system that "used to work" - pain in having to work in a system without the high level tools that you'd like (because they haven't been ported yet) This is not a complaint. This is the reality. We can fold under the pressure or we can grow stronger. Pharo is evolving for all of the right reasons so we must respond and evolve and relieve the pain without surrendering progress: Change is painful. Change is necessary. Therefore pain is necessary. Metacello was originally developed to address specific pain points. It did a good job of addressing pain in some areas and not so good in other areas and of course, it also introduced a set of new pain points... Monticello/Metacello spans the following broad areas: version control configuration management build management And the strain of trying to address each of these areas is showing. I THINK that it doesn't make sense to continue to try to address all three areas under one umbrella. The version control area is probably Metacello's weakest point and is the area where the most difficult technical problems remain to be addressed. I THINK the best answer at the point is to divide and conquer. Thus the "crossroads." I THINK that Git/GitHub is superior to Monticello/Metacello/SqueakSource. See my talk on "Practical Git for Smalltalk" for my arguments[1]. I THINK that as a community we will be better off embracing the technology available in Git/GitHub than reinventing that wheel. Not only does Git/GitHub make it possible to share Smalltalk source between dialects (by having shared source code format[2] and a shared version control system), but Git/GitHub removes one of the barriers that newcomers to Smalltalk face: Git/Github is familiar to millions of developers. By eliminating version control responsibility from Metacello and embracing Git/GitHub a whole set of pain points are addressed. We have the new pain points of learning and using Git/GitHub, but with Metacello we have yet to INVENT the capabilities that Git/GitHub brings to the table, so I THINK we are ahead of the game by embracing Git/GitHub. If you skim through the "Metacello Scripting API" README[3] you'll get a taste of how I THINK Metacello can bridge the gap between Monticello/Metacello/SqueakSource and FileTree[4]/Metacello/Git/GitHub. Don't get me wrong, there are still some areas to be figured out ... Symbolic versions occupy a unique niche in our environment and I haven't quite figured out a way to replace them in the git/github world.... I THINK that the two worlds (mcz and git) must coexist for a long time so there must be a seamless integration of the two. The scripting API is being designed such that it can be included in the base image, so I THINK the scripting API (and Git/GitHub) will go a long ways towards removing the mystery from Configuration loads, while making the supporting tool set easier to build. I am still working out some of the finer points of integrating Metacello and Git/Github, but I'm hoping to have some concrete developments in the next month or so ... Dale [1] http://portal.sliderocket.com/vmware/STIC-2012-Practical-Git-for-Smalltalk [2] https://github.com/CampSmalltalk/Cypress/blob/master/README.md [3] https://github.com/dalehenrich/MetacelloScriptingApiSpec/blob/master/README.... [4] https://github.com/dalehenrich/filetree/blob/master/README.md ----- Original Message ----- | From: "Sean P. DeNigris" <sean@clipperadams.com> | To: pharo-project@lists.gforge.inria.fr | Sent: Friday, April 27, 2012 9:08:17 PM | Subject: Re: [Pharo-project] What about making the configuration browser more visible? | | | Schwab,Wilhelm K wrote | > | > Put another way, if it's that simple, why all the contrary | > instructions | > over time? | > | | I understand your frustration. We are like parents watching a child | grow | up... | | For one thing, the API has been evolving as we've learned. From | loadLast/Latest, to bleedingEdge/development, now to symbolic | versions | (which were sorely needed). | | The other impediment was that Metacello couldn't be assumed to have | preloaded any base classes. Thus, ConfigurationOfXxx classes rely on | someone | manually (or automatically via tools) adding convenience methods. | Without | these, the API is hidden away in the project class. | | Recently, there seemed to be some agreement between Squeak and Pharo | to load | some base Metacello classes. If Configs had a common subclass, I | think the | system browser would be much more helpful. | | Dale, what do you think about all this? | | HTH, | Sean | | p.s. of course ultimately, success depends on people testing projects | and | updating the configs... | | -- | View this message in context: | http://forum.world.st/What-about-making-the-configuration-browser-more-visib... | Sent from the Pharo Smalltalk mailing list archive at Nabble.com. | |