<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">[Also posted as comment <a href="https://blog.selflanguage.org/2016/06/18/improvement-proposals/#comment-8982" class="">https://blog.selflanguage.org/2016/06/18/improvement-proposals/#comment-8982</a> ]</div><div class=""><br class=""></div><div class="">Hey,</div><div class=""><br class=""></div><div class="">Thanks, this sort of feedback is always really helpful! I’ve gone through and made some notes below. <br class=""><br class=""><b class="">- Official repo<br class=""></b><br class="">You didn't mention the Self homepage <a href="http://selflanguage.org" class="">selflanguage.org</a> - is the expectation nowadays that projects just use their github repo as the front page of their identity?<br class=""><br class="">I ask because that page links directly to <a href="http://github.com/russellallen/self" class="">github.com/russellallen/self</a> so I always assumed people would realise that was the official repo.<br class=""><br class="">In my defence when I set that up there weren't organisation pages on github! i can certainly move it across to one if people think that would be helpful.<br class=""><br class=""><b class="">- Splitting repos <br class=""></b><br class="">I have considered splitting up the repo into bits before but have been worried about things getting out of sync. I can see the advantages though. Maybe some sort of automatic build checking could help. The big advantage is that it would become more apparent that there are various Self subprojects which people might find interesting.</div><div class=""><br class=""><b class="">- Wiki<br class=""></b><br class="">I've loved wikis since I first came across them, but my experience with the squeak community wiki was that you ended up with a mass of unstructured info of low value. Also the information seemed to become ’Trapped’ in the wiki and forgotten.<br class=""><br class="">I'm not sure what the answer is here.</div><div class=""><br class=""></div><div class="">Your list of wiki stuff sounds lovely; is there a system which would make that work?  What are other people using? <br class=""><br class=""><b class="">- Internal documentation<br class=""></b><br class="">Self has a mechanism to attach comments to objects and slots. I did a html interface to that, I'll update it and put it back online. <br class=""><br class="">There's probably a lot of low hanging fruit in this area, documentation-wise. It would keep documentation as close as possible to what it describes.<br class=""><br class=""><b class="">- Package management <br class=""></b><br class="">The Self transporter was designed for a single team building an artefact in a single tree. It's really good at that, but the design choices place restrictions on it. <br class=""><br class="">I've made changes to show developing in multiple succeed trees, so that is a solvable problem. It needs better integration with the gui.<br class=""><br class="">However the transporter works by destructively applying a set of slots in a layer over the existing object tree. It's not undoable, so it won't be plausible to unload modules in their current form.<br class=""><br class="">Modules should be considered like libraries in source form for a developer to include in a compiled program, not modules for a runtime system in the sense of apt or yum or rpm systems on Linux.<br class=""><br class="">If someone wants that sort of functionality then they'll need to do some designing (and coding :)<br class=""><br class=""><b class="">- General<br class=""></b><br class="">The Self community is tiny. It's also a community of interest not a project. I don’t think you should think of the community as a thing which needs a direction and focus. It’s just a bunch of people. For this type of situation you won’t get a clear signup to a big vision. You might get help for specific tasks. <br class=""></div><div class=""><br class=""></div><div class="">Self as a system clearly isn’t something you would base commercial software on, except for fun. If you do then you would expect to be writing large parts of infrastructure you get for free in something like Python. That said, if you can afford it (in terms of time, money, focus) then go for it!</div><div class=""><br class=""></div><div class="">I would say Self is a serious game, with a shoutout to Alan Kay’s concept of serious play. Self is my musical instrument. My personal focus would be on making it a better instrument. This is more so for me as the other systems I work on increasingly are not *my* instruments but someone else’s, Apple’s, Microsoft’s etc and they tell me what tunes I’m allowed to play.</div><div class=""><br class=""></div><div class="">Personally there’s lots I’d love to do with Self. My biggest limitation is time, so I’m wary of signing up to things I can’t deliver on. </div><div class=""><br class=""></div><div class="">Cheers, Russell</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><br class=""><div><blockquote type="cite" class=""><div class="">On 19 Jun 2016, at 5:49 AM, Bystroushaak <a href="mailto:bystrousak@kitakitsune.org" class="">bystrousak@kitakitsune.org</a> [self-interest] <<a href="mailto:self-interest@yahoogroups.com" class="">self-interest@yahoogroups.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div id="ygrp-mlmsg" style="font-size: 13px; font-family: Arial, helvetica, clean, sans-serif; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); position: relative;" class=""><div id="ygrp-msg" style="line-height: 1.22em; z-index: 1;" class=""><div id="ygrp-text" style="line-height: 1.22em; font-family: Georgia;" class=""><div style="line-height: 1.22em; margin: 0px 0px 1em;" class=""><br class="webkit-block-placeholder"></div><div class="moz-forward-container" style="line-height: 1.22em;"><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">[Repost of the<span class="Apple-converted-space"> </span><a href="https://blog.selflanguage.org/2016/06/18/improvement-proposals/" style="line-height: 1.22em; font-family: Verdana;" class=""></a><a class="moz-txt-link-freetext" href="https://blog.selflanguage.org/2016/06/18/improvement-proposals/" style="line-height: 1.22em; font-family: Verdana;">https://blog.selflanguage.org/2016/06/18/improvement-proposals/</a>]<br style="line-height: 1.22em;" class=""></p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I would like to spur discussion about structure of the project and also about the community, its organization and knowledge bases. I believe that this discussion is really important for the future of Self development.</p><div style="line-height: 1.22em; margin: 0px 0px 1em;" class=""><span id="more-345" style="line-height: 1.22em;" class=""></span><br class="webkit-block-placeholder"></div><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">Self is open source, which is important, but not sufficient condition to thrive. Open source success is only partially given by the license, but more importantly by the community of people around projects. In the end, it is the people what makes all the difference.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">Self has somehow sleeping community, which I think is partially because we don’t have good tools for communication and self-organization.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">Here is what I think that would be useful:</p><h2 style="line-height: 1.22em;" class="">Official Github organization</h2><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">Github allows to create „organizations“, which is used to group multiple projects under one „official“ entity.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">Current state of Self on Github is confusing, especially for newcomers. From what I understand, „official“ repository is the one in Russel Allen’s personal account, but there is no „THIS IS OFFICIAL REPOSITORY, CONTRIBUTE HERE“ sign. People have to figure this on their own and hope that they didn’t figure it wrong.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I would also recommend to split the Self repository into several smaller, single-purpose-oriented repositories. For example: separate the handbook, and maybe application directory (git can<span class="Apple-converted-space"> </span><a moz="true" href="http://gbayer.com/development/moving-files-from-one-git-repository-to-another-preserving-history/" style="line-height: 1.22em; font-family: Verdana;" class="">do this</a><span class="Apple-converted-space"> </span>without the loss of history).</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">It would be probably good idea to decide if we want to allow anyone to access this „organization“ and to let anyone add their own application repositories. This would simplify the discovery of available Self software. Other possibility is to use it only for „official“ stuff and „syndicate“ Self packages somewhere else (wiki or package repository).</p><h3 style="line-height: 1.22em;" class="">Talking to the people</h3><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">We need to start to talk to the people. This is a problem that all smaller projects have; there is too much context in your head (this is relevant to the<span class="Apple-converted-space"> </span><em style="line-height: 1.22em;" class="">bus factor</em><span class="Apple-converted-space"> </span>from<span class="Apple-converted-space"> </span><a moz="true" href="https://blog.selflanguage.org/2016/06/15/lessons-learnt-from-the-self-archive/" style="line-height: 1.22em; font-family: Verdana;" class="">previous blog</a>).</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">The „THIS IS OFFICIAL REPOSITORY, CONTRIBUTE HERE“ sign is the classical example of the context that everyone from the mail-list have. It was posted few times into Self conference, but for anyone coming outside the Self community, this is really hard to figure. You have to talk to people, or they won’t know.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class=""><a moz="true" href="https://github.com/russellallen/self/wiki" style="line-height: 1.22em; font-family: Verdana;" class="">The Self wiki</a><span class="Apple-converted-space"> </span>is another example of this problem. There is no sign that there actually is a wiki. I suggest to put a BIG animation with dancing<span class="Apple-converted-space"> </span><del style="line-height: 1.22em;" class="">whores</del><span class="Apple-converted-space"> </span>ladies with „HELLO FRIENDS, YOU ARE WELCOME HERE AND WE WANT YOUR CONTRIBUTION“ sign in their hands to the README and to the homepage.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">If you want something from the people (eg. contribution), you have to tell them. They are not mindreaders and they won’t engage without knowing that it is ok to engage.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">For example, I pushed a lot of typo and RST formatting fixes to the Self Handbook / Russel Allen’s git repository and I felt really uneasy doing this. Is it okay to contribute? Is it okay to make changes in someone else’s work?</p><h2 style="line-height: 1.22em;" class="">Community WIKI</h2><pre style="line-height: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; font-size: 15px; font-family: monospace;" class="">15.12.2010, 09:55 Thorsten Dittmar written:
hello folks,

for me self is still one of the most beautiful languages I know, but the lib's are not so shapelily. So we have a kind of an Ugly Duckling here... a lady with amazing intrinsic values and horrible "lips"... 

Of course, we can start with some cosmetics.. We can change the UI and other stuff, but for me that doesn't look like the right way... Self has so many unfinished stuff, that I guess we will not make it better to open another bottle.</pre><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">What is<span class="Apple-converted-space"> </span><i style="line-height: 1.22em;" class="">„unfinished stuff“</i>? What is the state of Self? Where is the FAQ? Where is the screenshot section? Where is community knowledge base? Where is documentation? Where is the detailed description of VM? Where do you collect information?</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">Currently, only way to get a clear idea about Self and its state is to<span class="Apple-converted-space"> </span><a moz="true" href="https://blog.selflanguage.org/2016/06/09/self-mail-conference-in-mbox/" style="line-height: 1.22em; font-family: Verdana;" class="">read the mail archive</a><span class="Apple-converted-space"> </span>and the 115 thousands lines of C++ sources. Mail archive is the worst possible database for this kind of stuff. Not only that history is not easily accessible for newcomers, it also cannot be edited and improved. Also attachments don’t work much.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">We need good community Wiki, where we can:</p><ul style="line-height: 1.22em;" class=""><li style="line-height: 1.22em;" class="">collect information about Self</li><li style="line-height: 1.22em;" class="">document the VM</li><li style="line-height: 1.22em;" class="">document aspects of programming in Self<ul style="line-height: 1.22em;" class=""><li style="line-height: 1.22em;" class="">It is really hard to find any source code to study. There are applications in Self’s git repository, but it took me 6 months to notice. Again, there is no signs pointing to this.</li></ul></li><li style="line-height: 1.22em;" class="">discuss various stuff about Self, ideas, improvements, highlights and so on</li><li style="line-height: 1.22em;" class="">document what is in bad shape, what needs to be done and plan future work</li><li style="line-height: 1.22em;" class="">provide user’s sections<ul style="line-height: 1.22em;" class=""><li style="line-height: 1.22em;" class="">Something like a blog, but for all kinds of data, files, snippets and information related to Self, that user’s may save for benefit of themselves and others.</li><li style="line-height: 1.22em;" class="">This need to be under user’s control.</li></ul></li><li style="line-height: 1.22em;" class="">have user profiles – some small section, where you may shortly introduce yourself and maybe tell others what you do<ul style="line-height: 1.22em;" class=""><li style="line-height: 1.22em;" class="">It is hard to tell who is working on the Self and what are they doing. Again – this is context information which are not available.</li></ul></li><li style="line-height: 1.22em;" class="">collect list of links to all relevant Self information sources<ul style="line-height: 1.22em;" class=""><li style="line-height: 1.22em;" class="">I am willing to do this and maintain this section.</li></ul></li><li style="line-height: 1.22em;" class="">collect list of links to Self alternative interpreters and inspired languages<ul style="line-height: 1.22em;" class=""><li style="line-height: 1.22em;" class="">I partially did this in previous blog.</li></ul></li><li style="line-height: 1.22em;" class="">tell people how to contribute, where to contribute and other community information<ul style="line-height: 1.22em;" class=""><li style="line-height: 1.22em;" class="">Viz „Talking to the people“.</li></ul></li></ul><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">Wiki is important part of the plan to increase the Self’s bus factor (see previous blog). It also helps people (newcomers especially) to put themselves into perspective of what Self is, how to interact with community and how to contribute.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I am willing to be maintainer of this Wiki. I don’t really want to, but I have strong feeling, that if I am not going to do it, nobody will.</p><h3 style="line-height: 1.22em;" class="">Github wiki</h3><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I don’t think it is a good idea to use this specific wiki software, because to me, it looks like it is seriously limited in capabilities.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I like, that it uses the Git for synchronization, but I feel, that we will need something more advanced. Something that will be able to host large variety of content, categories and discussions. When I think about it, I see it like the hybrid between the<span class="Apple-converted-space"> </span><a moz="true" href="http://c2.com/cgi/wiki/FrontPage" style="line-height: 1.22em; font-family: Verdana;" class="">c2 wiki</a><span class="Apple-converted-space"> </span>and Wikipedia.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I don’t expect anyone to come with clear solutions, but I think that we need to talk about this and look at alternatives. What do you think?</p><h2 style="line-height: 1.22em;" class="">Package repository</h2><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">One of the services, which I think is critical for success of any language is the package repository and package manager.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I am not that sure how easily this may be done for Self, but I am 100% sure, that this is necessary for larger adoption;</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">We need to give people the tool, which will allow them to build applications on top of other people libraries. Not just that – also the place where we can discover new libraries and projects, instead of having them scattered all over the Internet.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I have a lot of experiences with Python and believe me when I say, that this is big win for the language and big reason to use it.</p><h2 style="line-height: 1.22em;" class="">Community decision</h2><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I know, that Self was a research language, and partially probably still is. I will impersonate the Generic Beginner* and speak using his voice, when I say:</p><blockquote style="margin: 0px 0px 0px 4px; line-height: 1.22em;" class=""><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I think that after 26 years, it is time to make up your mind. How do you perceive Self? What is it to you? Do you take Self seriously, or is this just a game?</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I can’t build a product on Self in its current state. I can’t afford to wait decades for improvements. I need to know, whether I can count on you (the community).</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I may put my time and/or resources into Self, but I need to know that I won’t be wasting my time, and that I am not alone.</p></blockquote><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">I want to know your opinion. It may be clear in your head, but again – if you don’t talk to the people, they won’t know.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">For me, this is NOT a game.</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">What about you?</p><p style="line-height: 1.22em; margin: 0px 0px 1em;" class="">*Not necessarily my opinion, but I think it comes to mind of all newcomers looking at Self and thinking „hey, this looks nice, should I use it?“</p><div style="line-height: 1.22em; margin: 0px 0px 1em;" class=""><br class="webkit-block-placeholder"></div></div><div style="line-height: 1.22em; margin: 0px 0px 1em;" class=""><br class="webkit-block-placeholder"></div></div><div style="line-height: 1.22em; color: rgb(255, 255, 255); height: 0px;" class=""></div></div></blockquote></div><br class=""></body></html>