<div>Now that I've wrapped my head around the new Git Cuis dev model, I would recommend grabbing a healthy supply of torches and pitchforks, because I think I'm reaching for a Third Option here. So we're all on the same page about what that means:</div>
<div><br></div><div><a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/TakeAThirdOption">http://tvtropes.org/pmwiki/pmwiki.php/Main/TakeAThirdOption</a></div><div><br></div>I thought about sending this straight to Juan, but why not, whole list. I expect that Juan's arguments will be interesting in this case.<div>
<br></div><div>Alright! What do we really need changesets for then? Why not make developing the core the same as developing anything else? So if we killed changesets:</div><div><br></div><div>Cons:</div><div><br></div><div>
- We'd have to engineer our way around the "breaking the update stream" problem. This is work, but I'm sure it's doable. I did it once:) and ContentPack happened because I needed to do a spot of time travel to fix the update stream after I broke it. If I can travel through time, I'm pretty sure we can handle a bootstrapping problem. Especially given that we have the computational equivalent of a TARDIS at our disposal.<br clear="all">
<div><br></div><div>- Cuis now depends completely on Git. Note: Git is *extremely popular,* not likely to go the way of the dodo any time soon, and maintained like the Linux kernel matters to Linus. Also, switching to another SCM should be relatively trivial when necessary, if not painless. And: Git presently runs most places where Cuis runs.</div>
<div><br></div><div>- Stuff I've missed.</div><div><br></div><div>Pros:</div><div><br></div><div>- No more confusing dichotomy between what's core and what isn't; everything becomes a package, and lives in whatever repository is appropriate. Symmetry. Exactly one way to manage code. Kernel can be reduced to a bloody stump which has the singular ability to load in other packages (attach limbs.) Epic win for modularity.</div>
<div><br></div><div>- No more annoying dialogs about unsaved changes in core when there aren't actually any. Everything is a package, so there isn't a distinction. We don't need a special method to determine what's part of core and what isn't WRT the warnings about unsaved changed. Elegance, symmetry, less blivet to worry about.</div>
<div><br></div><div>- We can completely unload (at least a lot) of the changeset handling machinery*</div><div><br></div><div>- Smalltalk effectively becomes a peer to kernels which manage code in files, which makes us a lot less of a scary monster to newcomers.</div>
<div><br></div><div>- Stuff I've missed.</div><div><br></div><div>*Actually, I could be wrong about this part. Probably the Git stuff is using a lot of it. But I'll bet a single US dollar against the first of you who says killing changesets won't eliminate some net (as opposed to "gross") code, even if I might lose a dollar for dreaming too hard.</div>
<div><br></div><div>I mean, why do anything halfway;) ?</div><div><br></div><div>Okay, so I'm totally locking the doors. It's always raining in Seattle, so rebooting the Frankenstein monster shouldn't be hard, I just have to wait for some lightning. If you try creeping up on me, I'll be able to see your torches, so that's not gonna work. Email is the best plan!</div>
<div><br></div><div>I can't wait to see what people think about this. Really, it's about whether or not managing code is or is not Smalltalk's problem in the modern world: and that's a hell of a question to talk about, or I think so. I think it's genuinely an important, and open question, specifically in this small community. At this point, we're almost more of a quorum than a community, and so: if we want to do this, we might be able to tackle it, if we as a group found it sensible, before senseless convention takes over and becomes effectively permanent, rigid.</div>
<div><br></div><div>Okay now's the time to use your torches and pitchforks. I'll be hiding under the couch. In an unspecified apartment in Seattle. Go.</div><div><br></div><div>P.S.</div><div><br></div><div>I presently have low confidence that ContentPack still works right presently:( and I'm okay with that, but either I've got to fix it or we should unload it and move on.</div>
<div><br></div>-- <br>Casey Ransberger
</div>