<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Christoph,<br><br>    in this reply I’m only going to address the question about using GitHub for OpenSmalltalk-VM (for focus, see below).<br><br>> On Oct 6, 2020, at 3:48 AM, Christoph Thiede <<a href="mailto:christoph.thiede@student.hpi.uni-potsdam.de">christoph.thiede@student.hpi.uni-potsdam.de</a>> wrote:<br>><br>> Hi all,<br>><br>> looks like I'm a bit late back to this debate again, but it's very nice it<br>> is still going on! There are many arguments I wanted to tell but Jakob<br>> already explained all of them better than I could do. So just let me come<br>> back to some points:<br>><br>><br>> Mantis:<br>><br>> I just took another look at <a href="http://bugs.squeak.org">bugs.squeak.org</a> again, and I'm sorry but I still<br>> think that our community deserves a better bug tracking solution than this.<br>> It really looks old-fashioned and, from today's point of view, quite chaotic<br>> and confusing. And compared to something like GitHub, it does not give me an<br>> idea of how to report a bug. Do I have to log in? Which credentials do I<br>> need to use? Why is there no register button anywhere?<br>> Also, there must be some reason why the latest issue was submitted nearly<br>> two years ago. Is Mantis connected to the mailing list at all? Asking all of<br>> you who have used Mantis in past and reported newer bugs to the mailing list<br>> instead, why did you do that? I would guess because mails provid higher<br>> visibility and interactivity, is this correct?<br>><br>><br>> Phil, you called GitHub & Co. one trend of many that's durability is<br>> uncertain (correct me if I misunderstood you). I see this point, but looking<br>> at the current numbers I strongly believe that GitHub has reached a critical<br>> mass of developers and projects that won't move so quickly again. How many<br>> large global players have decided to use GitHub, including competitors of<br>> Microsoft itself such as Google, Apple, Facebook, etc.?<br>><br>> At least, according to the trends GitHub is way more popular than<br>> SourceForge, for example, has ever been, actually, it has even overtaken git<br>> itself on Google Trends:<br>> <a href="https://trends.google.com/trends/explore?date=all&q=github,sourceforge,gitlab,bitbucket,slack">https://trends.google.com/trends/explore?date=all&q=github,sourceforge,gitlab,bitbucket,slack</a><br>><br>> (By the way, if you search any old threads you can also find it on<br>> <a href="http://web.archive.org">web.archive.org</a> in most cases).<br>><br>>> Here you're showing you've already fallen behind: the github trend for<br>>> discussing things is already fading and those trendier than you have<br>>> already moved on to the next thing: Slack  is where it's at!  In a year or<br>>> two it will be something else... and the treadmill keeps going but not<br>>> really going anywhere.<br>><br>> Slack is a group messenger used for communication in small to medium teams,<br>> but I can hardly imagine someone seriously uses this as a bug tracker for a<br>> large-scale software project with a big community, there is just too much<br>> noise when pressing Enter sends a new message. The same goes for social<br>> media platforms such as Google Plus that do not even offer basic tracking<br>> features such as closing or labeling. I don't think you can compare this.<br>><br>><br>>> Monticello ancestry does support branching, yet I think Monticello lacks<br>>> first-class objects for branches, with all the implications for repository<br>>> handling.<br>><br>> +1. And I feel the lack of branches for about every second or third<br>> submission I make to the inbox and am forced to reinvent my one pseudo<br>> branch wheel.<br>><br>><br>> Git vs. GitHub vs. GitLab:<br>><br>> As Jakob already mentioned, they're not the same. I believe that GitHub<br>> offers the largest range by far, but personally I would still consider it as<br>> an improvement to set up a self-hosted GitLab instance (actually, from a<br>> technical point of view, I think GitLab offers even more convenience<br>> features for free).<br>><br>> But still, it's right what Eliot said about git and companies:<br>><br>>> One gives up great autonomy when allowing ones core VCS to be in a foreign<br>>> system<br>><br>> So why do you use git & GitHub for OpenSmalltalk-VM and not something like<br>> Monticello?<br><br>But I do :-)  The VM is implemented in Smalltalk and a mixture of other languages but the core VM is *developed* in Smalltalk.  See <a href="http://source.squeak.org/VMMaker">source.squeak.org/VMMaker</a>, and in particular the branch VMMaker.oscog which is the branch of VMMaker that is the trunk of OpenSmalltalk-VM development.  Other notable branches from this "trunk" are VMMaker.oscogLLP64<span class="gmail_default">, where Nicolas fixed all the work size/pointer size issues for Windows' horrible LLP64 code model (where sizeof(long) != sizeof(void *)), </span>VMMaker.oscogSPC, where I branched to keep the default compactor working while Clément took the mainline along the path to multiple compactor implementations, from which we will derive a production incremental compiler when time allows (see Clément Béra, Eliot Miranda, and Elisa Gonzalez Boix. “Lazy Pointer Update for Low Heap Compaction Pause Times.” In Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages, 15–27. DLS ’19. ACM, 2019. <a href="https://doi.org/10.1145/3359619.3359741">https://doi.org/10.1145/3359619.3359741</a>)<span class="gmail_default"> and VMMaker.gdb where Boris is aiming to replace the JIT execution simulation machinery with the gdb framework.  And then of course there's VMMaker itself which is the "old" Context Interpreter, plus the flexible 32-bit/64-bit pre-Spur system.</span></div><div dir="ltr"><span class="gmail_default"><br></span></div><div><span class="gmail_default">The style of development, plus the things we can do that no one else does, are described in some detail in </span><span id="gmail-ingalls_2020_spe_vm_simulation" style="box-sizing:border-box;color:rgb(51,51,51);font-family:Lato,Helvetica,Arial,sans-serif">Daniel Ingalls, Eliot Miranda, Clément Béra, and Elisa Gonzalez Boix. <b style="box-sizing:border-box">“Two Decades of Live Coding and Debugging of Virtual Machines through Simulation.”</b><i style="box-sizing:border-box">Software: Practice and Experience</i> 50, no. 9 (2020): 1629–50.</span><span style="color:rgb(51,51,51);font-family:Lato,Helvetica,Arial,sans-serif"> </span><a href="https://onlinelibrary.wiley.com/doi/abs/10.1002/spe.2841" target="_blank" style="box-sizing:border-box;background-color:transparent;color:rgb(27,60,129);text-decoration:none;font-family:Lato,Helvetica,Arial,sans-serif">https://onlinelibrary.wiley.com/doi/abs/10.1002/spe.2841</a><span class="gmail_default">.  Contact me for a private copy.  Suffice it to say that because the VM is developed in Smalltalk both the pace and reliability of development is exceptional, and I speak in the light of my own trivial experience with the BrouHaHa VM which was implemented in C, a series of four VMs that grew out of my early experience at RAL and undergrad student projects, and 12 years at ParcPlace/DarcPlace-Dodgytalk/ObjectShaft/CincompletelyDysfunctional where I architected a VM with the same closure model as we have now, and the transition to 64-bits.</span></div><div><span class="gmail_default"><br></span></div><div><span class="gmail_default">So VMMaker.oscog, in Squeak, is used to develop the VM, and from this C source is generated that comprises one third of the OpenSmalltalk-VM repository.  The other two thirds are</span></div><div><span class="gmail_default">- a set of platform-specific support files that provide the OS-specific implementation of facilities needed by the core VM, plus (importantly) the implementation of many important plugins, such as the SoundPlugin</span></div><div><span class="gmail_default">- a set of build environments to allow us to build on MacOS, WIndows, Linux, Solaris (these are the active ones I'm aware of)</span></div><div><span class="gmail_default"><br></span></div><div><span class="gmail_default">All work on the core VM (the core execution engine, including interpreter, JIT, and core primitives and plugins, and the two memory managers, the old V3, and the new Spur) is done in Smalltalk, and pushed to OpenSmalltalk-VM.</span></div><div><span class="gmail_default">All work on the platform sources and build environments is done against the OpenSmalltalk-VM repository.</span></div><div><span class="gmail_default"><br></span></div><div><span class="gmail_default">Were it that Monticello had good file support I would have considered moving the platform sources into Monticello form Subversion, instead of to github.  But that would have been a mistake; the integration with modern CI infrastructure is most important.  ANd in fact had those behind Tonel been open at the time to make the inclusion of method timestamps possible I would have (and still want to) moved the back end of the VMMaker Monticello system into OpenSmalltalk-VM.  It makes sense to have all source co-located.  What does *not* make sense is replacing the beautifully integrated and efficient Monticello image experience with the nonsense I see in Iceberg where one has to ape git, checking out a new branch first before branching, etc.</span></div><div><span class="gmail_default"><br></span></div><div><span class="gmail_default">So I have no objection to git/github as being a backend for Monticello.  But experience with Pharo and Iceberg, where the promise was made years ago that a Monticello experience would be preserved, and has not been achieved years later with considerable engineering effort available.  What they have in Iceberg is, frankly, a mess where git's model and terminology intrude into Smalltalk (I talk from experience having used it with Synchrony Systems late last year/early this).</span></div></div></div></div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 6, 2020 at 3:48 AM Christoph Thiede <<a href="mailto:christoph.thiede@student.hpi.uni-potsdam.de">christoph.thiede@student.hpi.uni-potsdam.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hi all,<br>
<br>
looks like I'm a bit late back to this debate again, but it's very nice it<br>
is still going on! There are many arguments I wanted to tell but Jakob<br>
already explained all of them better than I could do. So just let me come<br>
back to some points:<br>
<br>
<br>
Mantis:<br>
<br>
I just took another look at <a href="http://bugs.squeak.org" rel="noreferrer" target="_blank">bugs.squeak.org</a> again, and I'm sorry but I still<br>
think that our community deserves a better bug tracking solution than this.<br>
It really looks old-fashioned and, from today's point of view, quite chaotic<br>
and confusing. And compared to something like GitHub, it does not give me an<br>
idea of how to report a bug. Do I have to log in? Which credentials do I<br>
need to use? Why is there no register button anywhere?<br>
Also, there must be some reason why the latest issue was submitted nearly<br>
two years ago. Is Mantis connected to the mailing list at all? Asking all of<br>
you who have used Mantis in past and reported newer bugs to the mailing list<br>
instead, why did you do that? I would guess because mails provid higher<br>
visibility and interactivity, is this correct?<br>
<br>
<br>
Phil, you called GitHub & Co. one trend of many that's durability is<br>
uncertain (correct me if I misunderstood you). I see this point, but looking<br>
at the current numbers I strongly believe that GitHub has reached a critical<br>
mass of developers and projects that won't move so quickly again. How many<br>
large global players have decided to use GitHub, including competitors of<br>
Microsoft itself such as Google, Apple, Facebook, etc.?<br>
<br>
At least, according to the trends GitHub is way more popular than<br>
SourceForge, for example, has ever been, actually, it has even overtaken git<br>
itself on Google Trends:<br>
<a href="https://trends.google.com/trends/explore?date=all&q=github,sourceforge,gitlab,bitbucket,slack" rel="noreferrer" target="_blank">https://trends.google.com/trends/explore?date=all&q=github,sourceforge,gitlab,bitbucket,slack</a><br>
<br>
(By the way, if you search any old threads you can also find it on<br>
<a href="http://web.archive.org" rel="noreferrer" target="_blank">web.archive.org</a> in most cases).<br>
<br>
> Here you're showing you've already fallen behind: the github trend for<br>
> discussing things is already fading and those trendier than you have<br>
> already moved on to the next thing: Slack  is where it's at!  In a year or<br>
> two it will be something else... and the treadmill keeps going but not<br>
> really going anywhere.<br>
<br>
Slack is a group messenger used for communication in small to medium teams,<br>
but I can hardly imagine someone seriously uses this as a bug tracker for a<br>
large-scale software project with a big community, there is just too much<br>
noise when pressing Enter sends a new message. The same goes for social<br>
media platforms such as Google Plus that do not even offer basic tracking<br>
features such as closing or labeling. I don't think you can compare this.<br>
<br>
<br>
> Monticello ancestry does support branching, yet I think Monticello lacks<br>
> first-class objects for branches, with all the implications for repository<br>
> handling.<br>
<br>
+1. And I feel the lack of branches for about every second or third<br>
submission I make to the inbox and am forced to reinvent my one pseudo<br>
branch wheel.<br>
<br>
<br>
Git vs. GitHub vs. GitLab:<br>
<br>
As Jakob already mentioned, they're not the same. I believe that GitHub<br>
offers the largest range by far, but personally I would still consider it as<br>
an improvement to set up a self-hosted GitLab instance (actually, from a<br>
technical point of view, I think GitLab offers even more convenience<br>
features for free).<br>
<br>
But still, it's right what Eliot said about git and companies:<br>
<br>
> One gives up great autonomy when allowing ones core VCS to be in a foreign<br>
> system<br>
<br>
So why do you use git & GitHub for OpenSmalltalk-VM and not something like<br>
Monticello?<br>
<br>
Which leads me to my most important point which Uncle Bob from Jakob's<br>
linked talk above gives this striking name to: elitism.<br>
In plain theory, I would consider it as an ideal, too, to have a Smalltalk<br>
system in which you can literally control every bit (ultimately, this might<br>
be a Smalltalk computer with no separate host system, where all drivers etc.<br>
are written in Smalltalk - completely neglecting every question of<br>
optimization). But in reality, the Squeak community, or even the entire<br>
Smalltalk community, is a quite small community, and I would love to change<br>
this and make Squeak/Smalltalk competitive again for contemporary<br>
development tasks, which involves the mutual boosting between<br>
tools/frameworks and developers. And because we are quite small at this<br>
point, we have two alternative ways we could go:<br>
Either we can spend our time on reimplementing every good and relevant idea<br>
from the "real world" in Squeak and making ourself even more comfortable in<br>
our small niche (which is, as I'm convinced, already very comfortable in<br>
many terms, compared to most other languages and environments); or we can<br>
join our forces and focus for now on opening our system towards the real<br>
world, both in terms of solutions and people. Which one would you choose?<br>
<br>
> Yet in my opinion Squeak really needs to get along with the outside world<br>
> for the mutual benefit; we cannot afford to always reimplement everything<br>
> in Smalltalk just to be able to comfortably debug the issues we wouldn't<br>
> have if we had used something mature.<br>
<br>
+1000<br>
<br>
<br>
Best,<br>
Christoph<br>
<br>
PS: And as a matter of course, I'm neither in the position nor willing to<br>
enforce any innovations that would deter some of our important community<br>
members from the Squeak Project. But I'm not giving up the hope that this<br>
discussion may reveal some more interesting insights about the desires and<br>
demands of us as a community. :-)<br>
<br>
<br>
<br>
--<br>
Sent from: <a href="http://forum.world.st/Squeak-Dev-f45488.html" rel="noreferrer" target="_blank">http://forum.world.st/Squeak-Dev-f45488.html</a><br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div>