I just don't see it the way you do. For me Versioner is a tool to make life
a bit easier with Configurations, its not "the one ring to rule them all" ,
far from it. What stops anyone from implementing his own configuration tool
?


On Mon, Jun 30, 2014 at 10:23 AM, Diego Lont <diego.l...@delware.nl> wrote:

> I am afraid this mail is going to be too long, but I feel it needs to be
> written. I will start with the conclusion, so you can skip the mail if you
> feel it does not interest you. Please keep the discussion on the Moose
> list, as there the discussion was started.
>
> I am very happy that versioner is being built. We need more and better
> software configuration tools, and versioner will make our life easier. That
> being said, I am getting a bit nervous about how versioner is released. It
> should aim to improve the way people can work, and *not* to create a
> single workflow for all people working on pharo projects. I hope my fears
> are unfounded.
>
> Software configuration management (SCM) is in my opinion an undervalued
> topic within the software world. One cannot find very many good books on
> them, and I am afraid this lack of knowledge shows in the way people go
> around with their SCM. So I would like to write down some observations of
> the SCM processes in Pharo that I believe we should keep in mind.
>
> The main target of SCM is to keep the impact of changes as minimal as
> possible. Good SCM allows all people working on a certain project, to make
> their changes, without causing trouble for other project members and people
> using this project. Open source projects are (in SCM terms) rather complex,
> as they involve a lot of people, including some people we do not know.
>
> 1. One of the best things of Metacello is that it does not require you to
> follow a certain workflow. It is very flexible and supports a large range
> of possible workflows. Within the Pharo community we have at least 3
> different workflows:
> A. For Pharo core, we have a pharo inbox, where suggested fixes for
> reported bugs are put. These fixes are reviewed and, if accepted,
> integrated into Pharo. This ensures that the changes in Pharo hold (most of
> the time) to quite some quality standards.
> B. For the “cross-platform” projects (Grease, Seaside, Magritte, etc.) all
> suggested fixes are put in the main repository on smalltalkhub. The fixes
> are, after review and tests, released by putting them in a “released”
> version of the configuration. Since not all fixes should be in all
> versions, and sometimes only concern a certain platform, the process for
> Pharo core would not work: releasing fixes are more complex because of the
> cross-platform issues.
> C. For the “moose” projects all suggested fixes are put in the main
> repository and are accepted by default. Since most projects evolve very
> fast, quality assurance is done afterwards, by submitting bug fixes.
>
> I can say a lot about why I believe these workflows are appropriate for
> their different projects, but the point I am trying to make here, is that
> these workflows have come to existence because of the different demands on
> them. And to stress my point about the flexibility (thank you Dale):
> When there was a problem with the workflow in the cross platform projects,
> I could find a solution (using releases) that Metacello supported.
>
> 2. Unfortunately Metacello does not have a good UI. And for large
> configurations like Seaside, it is a lot of work to keep them maintained. I
> dream of a tool that acts as a UI for Metacello: this tool is flexible as
> Metacello, while making the simple things real easy (hitting a button and
> done). Does versioner aim to do this?
>
> 3. I always get very nervous when someone says: They do it like this, and
> that works very well for them. So we should do that too. I do not believe
> that is always a good idea. The conclusion should be a question: Can we use
> that too? And now I cannot find the mail about the java SCM practice, but I
> do not think we can apply it to all our processes ...
>
> 4. Modularity is very important. Also for performing good SCM. And yes, we
> lack sufficient modularity in Moose. It should be better. I.e. because of
> the lack of modularity, it is sometimes hard to distinguish between where
> the change needs to be put in. So there is no clear group to point out who
> should accept the changes. So this is also an SCM problem.
>
> Cleaning up the configuration will help here very much. Thank you Steff
> for the good work here. And maybe you also have a point that the people
> working on Moose should have more focus on keeping things modular, because
> it makes the system better maintainable in a lot of ways.
>
> 5. Forking things will only make SCM worse, as it adds a complexity. So I
> very much hope we can come to an agreement how the process works, without
> resorting to drastic measures.
>
> Regards,
> Diego
>

Reply via email to