> Hi Eliot, > > Bob & things are discussed and reported on the release-team list, see > for example > > - > http://lists.squeakfoundation.org/pipermail/release/2009-February/000072.html > > > /Klaus > community development model" based around the idea of planning new releases ahead as a coded task. This task does things like so... 0. Start with fixed starting point. 1. load latest Installer/Monticello tools 2. load the latest versions of important packages that are managed externally e.g. SUnit / SqueakMap 3. (optionally) Major architectural integrations (i.e. closures) pre-fixes 4. load image fixes that have been approved for 3.11 in mantis 5. (optionally) load image fixes that are marked as testing for 3.11 in mantis 6. reorganise the image into tidier categories and better packages as supported by new features in PackageInfo e.g. Monticello1.5 is now split into Monticello.impl and Monticello.test 7. (optionally) Other major architectural integrations (i.e. closures) post-fixes 8. export the result as MC packages 9. (optionally) load a bunch of packages to make a full/dev image 9a release 3.11-dev 3.11-fun 3.11-web 3.11-magmaserver 10. (optionally) Run all tests 11. (optionally) remove some packages 12. (optionally) remove externally managed packages 10. (optionally) remove all tests 12a release 3.11-minimum 13. (optionally) remove all tools - mc/installer etc. 13a. release 3.11-kernel 14 repeat back to 0 until satisfied. This coded task, allows someone to be working on SUnit for example in parallel with someone working on Mantis Fixes. It is not sequential it is an iterative build process, which results in a sequential progression in the MC repositories (step 6) An outline plan for 3.11 the image [step 5 above] has been present in code form for over a year, we were simply continuing to make the tools to make the rest of the process happen i.e. (steps 4,5,10,13 etc) on a frequent (i.e daily basis). Once in place this will free us up to make releases on a far more continuous basis, say every 2/3 months. Since Andreas has summarily announced a "new new community development model", as far as I can see, and I am willing to be corrected, this has rendered the "old new community development model" outlined above irrelevant. I apologise for listening to the board when Randal said relax on 3.11 because we want to put relicencing on the critical path. Andreas took the inaction that followed as a queue to interfere, while I was simply trying to pay the bills for a month or so, and we are experiencing a welcome heat wave (whoever said global warming was a bad thing!) At present I cant see what Andreas' model is good for, ok so you contribute for a few MC packages in a kind of undocumented free for all. I don't see how Andreas' new model presents any new philosophy or way forward for the different forks of squeak, so apparently we are being forced back to the old way of doing things. Again as far as I can see Andreas' new development model has no place in it for planning a re-organisation of the image improving the package structure, moving packages out to be loadable, supporting derived smaller and larger images. To demonstrate my point, who is doing the work in Andreas' new model. Yes, that's right it's Andreas, as far as I can see we are back to there being one bottleneck in the contribution process. The old new model (above), defines an integration process that a number of contributors may contribute to at different stages. If for example you choose to adopt the project of improving SUnit, then you know that your work will be included in the release because your latest code is loaded on each build iteration, and fully included in the integration testing that everyone sees, and can give you feedback from. The old old (i.e. 3.10) way, relies upon the release team deciding whether or not to use your work when they have time to get around to checking it (which is invariably never) This resulted in the 3.10 team refusing for no good reason to include the latest version of Installer, thus wasting the effort that was put into making the latest installer, leaving 3.10 users with an inferior installer that couldn't even upgrade itself. The use of a relentlessly moving forward update model resulted in 3.10 having a broken DateAndTime now which had to be fixed in 3.10.2 The old new 3.11 way (above) automatically includes your work, if it is included in the coded build task, and gives everyone the tools to integrate, and test the fully integrated result, and all derived images. The bulk of the effort that has gone into making 3.11 better than 3.10 is in packages that are loaded externally, aiming to make radical improvements to the code loading tools, the handling of packages, and the running and categorisation of tests (I had the misfortune to try and install something using the python package manager, believe me we are not the worst in this regard). If you want to help, then please volunteer on [hidden email] there are lots of small projects that could be helpful. When you submit a fix to mantis you are a contributor automatically to the "apply fixes" steps 4,5 in the build process. The Andreas model is returning to relentless moving forward in the control of one person deciding what is in and what is out without the ability to craft the build process. We threw out the idea of a continuous updates mechanism because this only tends to facilitate incremental additions, it is a nightmare to carefully surgically reorganise or remove a chunk of code if you have to keep the image working all the time, and have to maintain the same package structure. I do not have the energy or the will to compete, either you the public want a new way of doing things or you don't. So unless Andreas voluntarily seeks to understand and co-operate with the present but now apparently obsoleted vision, I have no alternative but to wish you all luck in the good ship Andreas, the new release team doing it the same old fashioned way. Lets take the suggestion for submitting tests as indicated in a previous email. Has Andreas even looked at the already coded task step for organising tests as loadable sub-packages according to a much tidier and more logical design? He certainly hasn't commented on it to me. Has Andreas even loaded the improved SUnit and looked at the new ways for tagging and categorising tests? If Andreas wants to actually contribute to the existing vision, then he needs to propose an additional step in the coded build task, and show us how his repositories and update process fits with the rest of the process. For example if he was to say ... I have a vision... that of making "Network" a subsystem that I will go off and make really good streamlined version of that package. Great... you can go off and work on Network to your hearts content, but it might not fit into the plan for 3.11 it could be scheduled into the code integration task for 3.12 when we are ready and able to load the new revolutionary streamlined chunk with atomic loading in one go. (atomic loading is on the roadmap for 3.11) So like I said if you want to volunteer to help, I will see you on [hidden email] We have a vision, and we have lots to do... but as I said, I cant yet see what relevance Andreas's new new model is to it. He has proposed a technical idea or two but that in itself does not a vision make. The current 3.11 vision includes - Bob building and integration server - Crafting images through pre-coded build integration and testing tasks according to a planned design (not just the whims of the person integrating the next update) - Code loading and management tools for all squeak images promoting cross fertilisation (i.e. Level Playing Field) - Package management including dependencies for all packages (again for all squeak forks and kernel images) (Sake/Packages) - SUnit/SSPec testing with categorisation of tests for different images - Atomic (un)loading - More granular package structure - Split Tests out into paired MC packages that can be loaded/unloaded - Automated collection of fixes tagged as ready on mantis. So as in time honoured tradition, the board has demonstrated that it is irrelevant to squeakers, since it doesn't seek to discuss its decisions with squeakers before taking catastrophic actions. Heck it didn't even think of mentioning this to the release team before it was presented to you all. This approach to dealing with people is the antithesis of what the "old new community development model" was intended to be all about, that of inclusion, and valuing people's contributions. This is the second time that the board has inadvertently cancelled the 3.11 vision as described above, and it probably wont be the last. So I throw this one back to the board to decide what it really does want. In the meantime I shall work on my tan. regards Keith |
2009/7/3 Keith Hodges <[hidden email]>:
> >> Hi Eliot, >> >> Bob & things are discussed and reported on the release-team list, see >> for example >> >> - >> http://lists.squeakfoundation.org/pipermail/release/2009-February/000072.html >> >> >> /Klaus >> > The objective of the existing 3.11 effort was to produce "a new > community development model" based around the idea of planning new > releases ahead as a coded task. This task does things like so... > > 0. Start with fixed starting point. > 1. load latest Installer/Monticello tools > 2. load the latest versions of important packages that are managed > externally e.g. SUnit / SqueakMap > 3. (optionally) Major architectural integrations (i.e. closures) pre-fixes > 4. load image fixes that have been approved for 3.11 in mantis > 5. (optionally) load image fixes that are marked as testing for 3.11 in > mantis > 6. reorganise the image into tidier categories and better packages as > supported by new features in PackageInfo > e.g. Monticello1.5 is now split into Monticello.impl and > Monticello.test > 7. (optionally) Other major architectural integrations (i.e. closures) > post-fixes > 8. export the result as MC packages > 9. (optionally) load a bunch of packages to make a full/dev image > 9a release 3.11-dev 3.11-fun 3.11-web 3.11-magmaserver > 10. (optionally) Run all tests > 11. (optionally) remove some packages > 12. (optionally) remove externally managed packages > 10. (optionally) remove all tests > 12a release 3.11-minimum > 13. (optionally) remove all tools - mc/installer etc. > 13a. release 3.11-kernel > 14 repeat back to 0 until satisfied. > So far, we established a quite a bit new repositories at source.squeak.org /trunk /test /inbox lets say, all core packages, which is going to include into core image will be located in trunk repo. So far , do you see any contradiction with your model? I may be wrong, but i don't see anything hazardous to your vision. Its a simply a common place where people putting their code. Later, Andreas shown how to work with it using Monticello configurations. Okay. But you can show us the same, but done by using Sake (by writing a config there) and Installer. And i inviting you doing so. > This coded task, allows someone to be working on SUnit for example in > parallel with someone working on Mantis Fixes. It is not sequential it > is an iterative build process, which results in a sequential progression > in the MC repositories (step 6) > > An outline plan for 3.11 the image [step 5 above] has been present in > code form for over a year, we were simply continuing to make the tools > to make the rest of the process happen i.e. (steps 4,5,10,13 etc) on a > frequent (i.e daily basis). Once in place this will free us up to make > releases on a far more continuous basis, say every 2/3 months. > > Since Andreas has summarily announced a "new new community development > model", as far as I can see, and I am willing to be corrected, this has > rendered the "old new community development model" outlined above > irrelevant. > Instead, i think it just make things a little bit easier: a group of contributors could use a single place to put core packages there. They don't have to remember/know each package/changeset or source in other forms location(s). > I apologise for listening to the board when Randal said relax on 3.11 > because we want to put relicencing on the critical path. Andreas took > the inaction that followed as a queue to interfere, while I was simply > trying to pay the bills for a month or so, and we are experiencing a > welcome heat wave (whoever said global warming was a bad thing!) > > At present I cant see what Andreas' model is good for, ok so you > contribute for a few MC packages in a kind of undocumented free for > all. I don't see how Andreas' new model presents any new philosophy or > way forward for the different forks of squeak, so apparently we are > being forced back to the old way of doing things. Again as far as I can > see Andreas' new development model has no place in it for planning a > re-organisation of the image improving the package structure, moving > packages out to be loadable, supporting derived smaller and larger images. > > To demonstrate my point, who is doing the work in Andreas' new model. > Yes, that's right it's Andreas, as far as I can see we are back to there > being one bottleneck in the contribution process. > > The old new model (above), defines an integration process that a number > of contributors may contribute to at different stages. If for example > you choose to adopt the project of improving SUnit, then you know that > your work will be included in the release because your latest code is > loaded on each build iteration, and fully included in the integration > testing that everyone sees, and can give you feedback from. > > The old old (i.e. 3.10) way, relies upon the release team deciding > whether or not to use your work when they have time to get around to > checking it (which is invariably never) This resulted in the 3.10 team > refusing for no good reason to include the latest version of Installer, > thus wasting the effort that was put into making the latest installer, > leaving 3.10 users with an inferior installer that couldn't even upgrade > itself. The use of a relentlessly moving forward update model resulted > in 3.10 having a broken DateAndTime now which had to be fixed in 3.10.2 > > The old new 3.11 way (above) automatically includes your work, if it is > included in the coded build task, and gives everyone the tools to > integrate, and test the fully integrated result, and all derived images. > The bulk of the effort that has gone into making 3.11 better than 3.10 > is in packages that are loaded externally, aiming to make radical > improvements to the code loading tools, the handling of packages, and > the running and categorisation of tests (I had the misfortune to try and > install something using the python package manager, believe me we are > not the worst in this regard). If you want to help, then please > volunteer on [hidden email] there are lots of small > projects that could be helpful. > Not only to release list. > When you submit a fix to mantis you are a contributor automatically to > the "apply fixes" steps 4,5 in the build process. The Andreas model is > returning to relentless moving forward in the control of one person > deciding what is in and what is out without the ability to craft the > build process. We threw out the idea of a continuous updates mechanism > because this only tends to facilitate incremental additions, it is a > nightmare to carefully surgically reorganise or remove a chunk of code > if you have to keep the image working all the time, and have to maintain > the same package structure. > your tools. And obviously, there should be someone who oversees this process and choosing what is going into image and what's not. Again: i don't see how this contradicts with 'old new' model. > I do not have the energy or the will to compete, either you the public > want a new way of doing things or you don't. So unless Andreas > voluntarily seeks to understand and co-operate with the present but now > apparently obsoleted vision, I have no alternative but to wish you all > luck in the good ship Andreas, the new release team doing it the same > old fashioned way. > > Lets take the suggestion for submitting tests as indicated in a previous > email. Has Andreas even looked at the already coded task step for > organising tests as loadable sub-packages according to a much tidier and > more logical design? He certainly hasn't commented on it to me. Has > Andreas even loaded the improved SUnit and looked at the new ways for > tagging and categorising tests? > > If Andreas wants to actually contribute to the existing vision, then he > needs to propose an additional step in the coded build task, and show us > how his repositories and update process fits with the rest of the > process. For example if he was to say ... I have a vision... that of > making "Network" a subsystem that I will go off and make really good > streamlined version of that package. Great... you can go off and work on > Network to your hearts content, but it might not fit into the plan for > 3.11 it could be scheduled into the code integration task for 3.12 when > we are ready and able to load the new revolutionary streamlined chunk > with atomic loading in one go. (atomic loading is on the roadmap for 3.11) > > So like I said if you want to volunteer to help, I will see you on > [hidden email] We have a vision, and we have lots > to do... but as I said, I cant yet see what relevance Andreas's new new > model is to it. He has proposed a technical idea or two but that in > itself does not a vision make. > > The current 3.11 vision includes > > - Bob building and integration server > - Crafting images through pre-coded build integration and testing tasks > according to a planned design (not just the whims of the person > integrating the next update) > - Code loading and management tools for all squeak images promoting > cross fertilisation (i.e. Level Playing Field) > - Package management including dependencies for all packages (again for > all squeak forks and kernel images) (Sake/Packages) > - SUnit/SSPec testing with categorisation of tests for different images > - Atomic (un)loading > - More granular package structure > - Split Tests out into paired MC packages that can be loaded/unloaded > - Automated collection of fixes tagged as ready on mantis. > > So as in time honoured tradition, the board has demonstrated that it is > irrelevant to squeakers, since it doesn't seek to discuss its decisions > with squeakers before taking catastrophic actions. Heck it didn't even > think of mentioning this to the release team before it was presented to > you all. This approach to dealing with people is the antithesis of what > the "old new community development model" was intended to be all about, > that of inclusion, and valuing people's contributions. > > This is the second time that the board has inadvertently cancelled the > 3.11 vision as described above, and it probably wont be the last. So I > throw this one back to the board to decide what it really does want. In > the meantime I shall work on my tan. > Keith. I think your work is relevant, and could bring us to a new level. But i can't force people to go read about it, or start using it and none of board members can. I can add much more words, but the above summarises the most of it. > regards > > Keith > > -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by keith1y
A couple of typos
> is an iterative build process, which results in a sequential progression > in the MC repositories (step 6) > should read Step 8 > An outline plan for 3.11 the image [step 5 above] has been present in > should read step 6 Keith |
In reply to this post by Igor Stasenko
> (the mail is a bit long, so i will comment as i read). > So far, we established a quite a bit new repositories at source.squeak.org > /trunk > /test > /inbox > > lets say, all core packages, which is going to include into core image > will be located in trunk repo. > So far , do you see any contradiction with your model? > it doesn't specify... it doesnt actually specify the starting image. You see the same iterative build process could be applied to a 3.9 image or one of my existing production images. Ok it might not work as well as the image for which it has been designed but it would be feasible. While you can load a small change set into a number of images, I doubt you could load a full MC package. Where in the coded task steps does it say collect a kernel package (a moving target) from a trunk repo? It doesn't, in our model the MC repo packages are the output not the input. - see step 8. So the two approaches are opposite in methodology. If I write a mantis fix, I need for the image to be in a vaguely known state at step 4. If prior to step 4 I load any packages from the trunk repo then the image will not be in a fixed state for the application of a fix from mantis. If I apply the trunk repo changes after the fixes, then the repo package will stamp over the fixes. We already have a repository for 311, it is called squeaksource.com/311 if you have the good fortune to reorganise a bit of kernel code into a standalone module, that can be treated as virtually external to the image, then fine. This can be loaded as a completed "external package" at step 2 and it will need no further fixes. For example I think "Object-Tracer" has been published as an "external" package. > I may be wrong, but i don't see anything hazardous to your vision. Its > a simply a common place where people putting their code. > Sure if it was just a place to put "your" code, then it would be a directory with a changeset, or a DS in it. But it isnt, it is a repository with a whole package in it. Each trunk package represents an incrementally developed moving target for anyone who wants to contribute. With Andreas' model when I write my code I am not coding to a fixed starting point, I am adding my code incrementally to whatever the last person did. So we have everyone working to a moving target, and everyone potentially stepping on each others toes. With my model you pick a jurastiction and you work on coding your project, you don't have to share your repo with others working on other tasks. > Later, Andreas shown how to work with it using Monticello configurations. Okay. > Again, I dont see where this step is in the build plan. In the planned approach you develop your code in the context of a fully populated image, with all the tests present, and then when the whole thing works you export the finished MC packages. Andreas' model is the opposite. If you want to take a discrete chunk of the core and manage it externally as a set of MC packages then be my guest. But then propose it as a project and add your load task to the build plan. It becomes an externally managed project that needs an integration task. But don't just sumarily take the whole core and start maintaining it and managing it in a separate place. I am not saying that the updates idea is not useful, indeed this was once the proposed plan. i.e. once you have designed and produced the final image, we look to make different ways of distibuting the image, and atomically loaded MC packages is one option. > > Instead, i think it just make things a little bit easier: > a group of contributors could use a single place to put core packages there. > They don't have to remember/know each package/changeset or source in > other forms location(s). > MC doesnt manage changesets, it doesnt manage the pieces of the work in progress it only manages the final results. > > Well, if we want some kind of 'official' image, we can build it using > your tools. > And obviously, there should be someone who oversees this process and > choosing what is going into image and what's not. > Again: i don't see how this contradicts with 'old new' model. > > Thats not what Andreas is saying... he is saying "right we have this new repo, and over the weekend I will integrate the 3.11 fixes into it." The old new model gives a person a jurastiction, lets say they are working on a particular fix. They continue to work on that fix, and the build system integrates it. There is no step in which it passes over to the release team leader who choses to update the repo with it. That would be taking the fix out of the hands of the person responsible for it, and bringing back the old bottleneck model. > I think your work is relevant, and could bring us to a new level. > But i can't force people to go read about it, or start using it and > none of board members can. > But you can do the simple stuff, like talking, like including relevant people in discussions, like not pissing people off. In the immortal words of Jeremy Clarkson "How hard can it be?" Basically ask yourself who would want to work in these inter-personal conditions? Keith |
In reply to this post by Andreas.Raab
On Wed, 2009-07-01 at 20:03 -0700, Andreas Raab wrote:
> * http://source.squeak.org/tests > > This is the main repository for unit tests. It will be world-readable > AND world-writable. We encourage everyone to write more tests and commit > them, improve the existing tests and bring in entirely new test suites. > > * http://source.squeak.org/inbox > > This repository is intended as dropbox. It’s usage will depend on what > we make it out to be. The idea is to have it world-readable and > world-writable, too. > problem, and develops a fix is it the intention that she put the fix in inbox but the test in tests? Doesn't that just complaint things for everyone in terms of linking the two? What is the value of two separate inboxes? Ken signature.asc (196 bytes) Download Attachment |
Ken Causey wrote:
> On Wed, 2009-07-01 at 20:03 -0700, Andreas Raab wrote: >> * http://source.squeak.org/tests >> >> This is the main repository for unit tests. It will be world-readable >> AND world-writable. We encourage everyone to write more tests and commit >> them, improve the existing tests and bring in entirely new test suites. >> >> * http://source.squeak.org/inbox >> >> This repository is intended as dropbox. It’s usage will depend on what >> we make it out to be. The idea is to have it world-readable and >> world-writable, too. >> > > I've had a question about this. If a developer writes a test, finds a > problem, and develops a fix is it the intention that she put the fix in > inbox but the test in tests? Doesn't that just complaint things for > everyone in terms of linking the two? What is the value of two separate > inboxes? To me, it's just a pre-filtering that says that anything in tests will require less work (if any) for review during integration. Effectively I would expect that if I merge tests this will work with no further effort, whereas with inbox I would assume that I at least need to look at what it does. If we find that this isn't a useful distinction we should get rid of it but I think it would be useful to explicitly encourage submitting tests. Cheers, - Andreas |
Andreas Raab wrote:
> Ken Causey wrote: >> On Wed, 2009-07-01 at 20:03 -0700, Andreas Raab wrote: >>> * http://source.squeak.org/tests >>> >>> This is the main repository for unit tests. It will be >>> world-readable AND world-writable. We encourage everyone to write >>> more tests and commit them, improve the existing tests and bring in >>> entirely new test suites. >>> >>> * http://source.squeak.org/inbox >>> >>> This repository is intended as dropbox. It’s usage will depend on >>> what we make it out to be. The idea is to have it world-readable and >>> world-writable, too. >>> >> >> I've had a question about this. If a developer writes a test, finds a >> problem, and develops a fix is it the intention that she put the fix in >> inbox but the test in tests? Doesn't that just complaint things for >> everyone in terms of linking the two? What is the value of two separate >> inboxes? > > To me, it's just a pre-filtering that says that anything in tests will > require less work (if any) for review during integration. Effectively > I would expect that if I merge tests this will work with no further > effort, whereas with inbox I would assume that I at least need to look > at what it does. If we find that this isn't a useful distinction we > should get rid of it but I think it would be useful to explicitly > encourage submitting tests. > > Cheers, > - Andreas > > > Ken Causey wrote: >> On Wed, 2009-07-01 at 20:03 -0700, Andreas Raab wrote: >>> * http://source.squeak.org/tests >>> >>> This is the main repository for unit tests. It will be >>> world-readable AND world-writable. We encourage everyone to write >>> more tests and commit them, improve the existing tests and bring in >>> entirely new test suites. >>> >>> * http://source.squeak.org/inbox >>> >>> This repository is intended as dropbox. It’s usage will depend on >>> what we make it out to be. The idea is to have it world-readable and >>> world-writable, too. >>> >> >> I've had a question about this. If a developer writes a test, finds a >> problem, and develops a fix is it the intention that she put the fix in >> inbox but the test in tests? Doesn't that just complaint things for >> everyone in terms of linking the two? What is the value of two separate >> inboxes? > > To me, it's just a pre-filtering that says that anything in tests will > require less work (if any) for review during integration. Effectively > I would expect that if I merge tests this will work with no further > effort, whereas with inbox I would assume that I at least need to look > at what it does. If we find that this isn't a useful distinction we > should get rid of it but I think it would be useful to explicitly > encourage submitting tests. > > Cheers, > - Andreas A new test should be submitted to Mantis and tested in as many images as possible, either manually or automatically. The test can be marked using the test tagging feature of SUNit-improved indvalidate if there are any images that it is known not to work in for good reason. Maintainers of other forks can be informed to let them know of the new test, and they can install it using Installer mantis. Better still get bob to build an image of their fork with your tests in it and show them that it is good. Keith |
In reply to this post by Andreas.Raab
On Sun, 2009-07-05 at 11:48 -0700, Andreas Raab wrote:
> Ken Causey wrote: > > On Wed, 2009-07-01 at 20:03 -0700, Andreas Raab wrote: > >> * http://source.squeak.org/tests > >> > >> This is the main repository for unit tests. It will be world-readable > >> AND world-writable. We encourage everyone to write more tests and commit > >> them, improve the existing tests and bring in entirely new test suites. > >> > >> * http://source.squeak.org/inbox > >> > >> This repository is intended as dropbox. It’s usage will depend on what > >> we make it out to be. The idea is to have it world-readable and > >> world-writable, too. > >> > > > > I've had a question about this. If a developer writes a test, finds a > > problem, and develops a fix is it the intention that she put the fix in > > inbox but the test in tests? Doesn't that just complaint things for > > everyone in terms of linking the two? What is the value of two separate > > inboxes? > > To me, it's just a pre-filtering that says that anything in tests will > require less work (if any) for review during integration. Effectively I > would expect that if I merge tests this will work with no further > effort, whereas with inbox I would assume that I at least need to look > at what it does. If we find that this isn't a useful distinction we > should get rid of it but I think it would be useful to explicitly > encourage submitting tests. > > Cheers, > - Andreas what or who is the consumer of the filtered results? If human, I have to think it's just as easy to filter based on the package name which clearly states 'Tests' or should and using just one inbox simplifies thing by requiring only one place to look. In much simplifies things for submitters who don't have to put things in two places and decide which is right when, relevant for newbies at least. Ken signature.asc (196 bytes) Download Attachment |
Andreas,
I'd like to suggest to add a note in the New Community Development Model manifesto in regard of the good practices with commit messages (in rules of engagement). This would ensure some form of uniformity. Regards, Ian -- http://mecenia.blogspot.com/ |
In reply to this post by Andreas.Raab
First let me say that I like the proposal because I feel that
contributing is much easier that way for me. I think the minimum amout of work to make a contribution seems smaller than with the old process. I have a question though. If I press the Update button do I get all the newest versions of the packages automatically? Or only those for which an mcm-file was issued. Thanks for your attention. Bernhard Am 02.07.2009 um 05:03 schrieb Andreas Raab: > [This message is also available on the blog at > http://squeakboard.wordpress.com/2009/07/02/a-new-community-development-model/ > ] > > In the board meeting today we had a nice discussion about how to > move forward with a new community development model for Squeak. Here > is an overview of the model and what will happen next: > > The goals > --------- > > The goal of this process is to get rid of as many hurdles as > possible in the contribution process. We are trying to enable the > community at large to improve Squeak, the core of the system and its > supporting libraries. > > To do this, we are adopting processes that have been shown to work > in commercial settings: The use of Monticello as the primary source > code management system, free access for the developers to the main > repositories, an incremental update process for both developers and > users of Squeak. > > Repositories > ------------ > > We will be setting up the following Monticello repositories: > > * http://source.squeak.org/trunk > > This will be the main repository for ongoing development. New code > will be committed here, the repository will be world-readable and > writable for the core-dev group. > > * http://source.squeak.org/tests > > This is the main repository for unit tests. It will be world- > readable AND world-writable. We encourage everyone to write more > tests and commit them, improve the existing tests and bring in > entirely new test suites. > > * http://source.squeak.org/inbox > > This repository is intended as dropbox. It’s usage will depend on > what we make it out to be. The idea is to have it world-readable and > world-writable, too. > > Developer access > ---------------- > > The board will manage developer access to the repositories at > source.squeak.org. In the next days we’ll send out a few “you are > pre-approved” messages to people who have proven to be active > developers in the past in order to invite them to become a core > developer. > > If you can’t wait and absolutely want to be in on the action you can > register yourself at http://source.squeak.org/ and send message to > the board asking for access but most of the regular contributors > (you know who you are) will be invited anyway. > > Rules of Engagement > ------------------- > > If you have used Monticello in projects with more than two > developers in the past you already know the drill. If not, here are > some useful guidelines: > > * Merge often. In particular when you pick up work and right before > you intend to commit. > > * Exercise caution. This is a running system and breaking it > needlessly is generally frowned upon. > > * Restrain yourself. Getting developer access doesn’t mean you are > free to put in every pet extension you always wanted to have without > discussion. > > * If in doubt, ask. This is the corollary to the restrain yourself > rule. You’re not under pressure to ship a product, so you have the > time to send a note saying “hey, I’m planning to fix this old issue > and it may have some side effect here or there. Anyone having a > problem with that?” > > >>> I’ll add a Squeak-dev exception here: Any response from any non- > developer can be entirely ignored in this context. > > * You break it, you fix it. If you change something you are > generally expected to take care of the consequences, though there > are some exceptions. If in doubt, ask ;-) > > * Do good and talk about it. When you’re done with whatever it is > you’ve been working on let people know about it. It can be as short > as a note to Squeak-dev saying “hey, some of you might care that > I’ve fixed the long standing bug with xyz. Update and enjoy” > > I think that roughly covers it. Basically you will be working with a > dozen (hopefully more) other developers on Squeak and we’ll all have > to learn how to make this work successfully. > > Updating > -------- > We are in the process of developing an update process that can work > seamlessly with Monticello. An early experiment is described > here[1]. We are evaluating alternative approaches, in particular the > use of Installer since there are some shortcomings when using > Monticello Configurations. > > [1]http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-July/136870.html > > Existing Work > ------------- > It is important to note that we will be trying very hard not to lose > any work that is being done for Squeak 3.11. We will start with the > package set that was used in the 3.10 release, then we will issue > package updates to cover the missing delta up until 3.10.2. > Following which we will reissue any changes done for 3.11 into the > repositories. > |
Bernhard Pieber wrote:
> I have a question though. If I press the Update button do I get all the > newest versions of the packages automatically? Or only those for which > an mcm-file was issued. You get all the packages automatically. The MCMs only describe intermediate stages where inter-package dependencies require a specific load order. Cheers, - Andreas > Thanks for your attention. > Bernhard > > Am 02.07.2009 um 05:03 schrieb Andreas Raab: > >> [This message is also available on the blog at >> http://squeakboard.wordpress.com/2009/07/02/a-new-community-development-model/] >> >> >> In the board meeting today we had a nice discussion about how to move >> forward with a new community development model for Squeak. Here is an >> overview of the model and what will happen next: >> >> The goals >> --------- >> >> The goal of this process is to get rid of as many hurdles as possible >> in the contribution process. We are trying to enable the community at >> large to improve Squeak, the core of the system and its supporting >> libraries. >> >> To do this, we are adopting processes that have been shown to work in >> commercial settings: The use of Monticello as the primary source code >> management system, free access for the developers to the main >> repositories, an incremental update process for both developers and >> users of Squeak. >> >> Repositories >> ------------ >> >> We will be setting up the following Monticello repositories: >> >> * http://source.squeak.org/trunk >> >> This will be the main repository for ongoing development. New code >> will be committed here, the repository will be world-readable and >> writable for the core-dev group. >> >> * http://source.squeak.org/tests >> >> This is the main repository for unit tests. It will be world-readable >> AND world-writable. We encourage everyone to write more tests and >> commit them, improve the existing tests and bring in entirely new test >> suites. >> >> * http://source.squeak.org/inbox >> >> This repository is intended as dropbox. It’s usage will depend on what >> we make it out to be. The idea is to have it world-readable and >> world-writable, too. >> >> Developer access >> ---------------- >> >> The board will manage developer access to the repositories at >> source.squeak.org. In the next days we’ll send out a few “you are >> pre-approved” messages to people who have proven to be active >> developers in the past in order to invite them to become a core >> developer. >> >> If you can’t wait and absolutely want to be in on the action you can >> register yourself at http://source.squeak.org/ and send message to the >> board asking for access but most of the regular contributors (you know >> who you are) will be invited anyway. >> >> Rules of Engagement >> ------------------- >> >> If you have used Monticello in projects with more than two developers >> in the past you already know the drill. If not, here are some useful >> guidelines: >> >> * Merge often. In particular when you pick up work and right before >> you intend to commit. >> >> * Exercise caution. This is a running system and breaking it >> needlessly is generally frowned upon. >> >> * Restrain yourself. Getting developer access doesn’t mean you are >> free to put in every pet extension you always wanted to have without >> discussion. >> >> * If in doubt, ask. This is the corollary to the restrain yourself >> rule. You’re not under pressure to ship a product, so you have the >> time to send a note saying “hey, I’m planning to fix this old issue >> and it may have some side effect here or there. Anyone having a >> problem with that?” >> >> >>> I’ll add a Squeak-dev exception here: Any response from any >> non-developer can be entirely ignored in this context. >> >> * You break it, you fix it. If you change something you are generally >> expected to take care of the consequences, though there are some >> exceptions. If in doubt, ask ;-) >> >> * Do good and talk about it. When you’re done with whatever it is >> you’ve been working on let people know about it. It can be as short as >> a note to Squeak-dev saying “hey, some of you might care that I’ve >> fixed the long standing bug with xyz. Update and enjoy” >> >> I think that roughly covers it. Basically you will be working with a >> dozen (hopefully more) other developers on Squeak and we’ll all have >> to learn how to make this work successfully. >> >> Updating >> -------- >> We are in the process of developing an update process that can work >> seamlessly with Monticello. An early experiment is described here[1]. >> We are evaluating alternative approaches, in particular the use of >> Installer since there are some shortcomings when using Monticello >> Configurations. >> >> [1]http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-July/136870.html >> >> >> Existing Work >> ------------- >> It is important to note that we will be trying very hard not to lose >> any work that is being done for Squeak 3.11. We will start with the >> package set that was used in the 3.10 release, then we will issue >> package updates to cover the missing delta up until 3.10.2. Following >> which we will reissue any changes done for 3.11 into the repositories. >> > > > |
Am 09.07.2009 um 19:49 schrieb Andreas Raab:
> Bernhard Pieber wrote: >> I have a question though. If I press the Update button do I get all >> the newest versions of the packages automatically? Or only those >> for which an mcm-file was issued. > You get all the packages automatically. The MCMs only describe > intermediate stages where inter-package dependencies require a > specific load order. Hmm, then I don't understand why I the MCFileRepositoryInspecter shows packages in bold on the trunk repository after I have pressed the "load code updates" button in the Squeak flap. I thought those were packages which are not loaded in the image yet? The following package versions are in the trunk repository but not in my image: Morphic-CandidatesForGo-auto.1.mcz Installer-auto.1.mcz SystemChangeNotification-auto.1.mcz BabySRE-auto.1.mcz The three update.mcm files are bold as well. Thanks for your support. Bernhard |
Bernhard Pieber wrote:
> Hmm, then I don't understand why I the MCFileRepositoryInspecter shows > packages in bold on the trunk repository after I have pressed the "load > code updates" button in the Squeak flap. I thought those were packages > which are not loaded in the image yet? The following package versions > are in the trunk repository but not in my image: > Morphic-CandidatesForGo-auto.1.mcz > Installer-auto.1.mcz > SystemChangeNotification-auto.1.mcz > BabySRE-auto.1.mcz Ah, I see. Simple answer: The updater will *only* consider packages that are listed in the update.mcm file. The packages you see above are indeed not loaded (they were created as a side-effect of a bulk-commit from 3.10.2 and are effectively orphaned at the moment). Since they are not listed in the update.mcm the updater will not consider these for loading. So indeed, my explanation was incomplete. It should have said: The updater will update the packages listed in the last update.mcm to their latest versions, not necessarily all packages in the repository. Packages that are not present in the update.mcm will not be considered for automatic updating. > The three update.mcm files are bold as well. Same issue, except that I think MCMs always show as bold since MC doesn't have a way of determining whether a particular configuration has been loaded. Cheers, - Andreas |
Free forum by Nabble | Edit this page |