Apologies for missing the Hangout; Eastern time (UTC-5:00) was work time 
for me and couldn't participate.

Been reading Making Your Open Source Project Newcomer-friendly 
<https://manishearth.github.io/blog/2016/01/03/making-your-open-source-project-newcomer-friendly/#fnref:3>
 
and one of the items made me pause. They reference https://gitter.im/ as an 
option of real time chat. I've found great value working on open source 
projects using IRC, Slack, and Gitter. Since Gitter is free and requires 
nothing more then a GitHub account to participate it is an excellent option 
for chatting about a project. I think this would be especially useful for 
pair programming on issues. I imagine a scenario were an issue is presented 
and someone wants to look at it so they work out a schedule and jump into 
Gitter to chat about it and possibly start a pairing session. Currently the 
only blocker is you have to be the owner/collaborator of the TiddlyWiki 
repo in order to start the TiddlyWiki chat. Once complete the link could be 
added to the HelloThere tiddler. <http://tiddlywiki.com/#HelloThere>

Also I think there are three key points to helping contributions.

   1. Automated Testing - Has a very-high implementation cost but would be 
   worth working on even if down a little at a time. (long term milestone?)
   2. Well structured contributing guidelines - I think expanding the 
   http://tiddlywiki.com/dev/ edition to include instruction on 
   contribution, basic Pull Request workflows, Git basics, and commit/branch 
   guidelines would be a huge win.
   3. Mentoring - I think it would help if seasoned contributors would be 
   willing to jump on new comers' Pull Requests and Issues and help them to 
   start a Pull Request, Rebase a Pull Request, guidance on coding (maybe with 
   a live session on https://jsbin.com or https://jsfiddle.net), guidance 
   on good Git etiquette, etc. Again a chat channel like Gitter would make 
   this process more approachable for everyone.

>From personal experience I can say that there are a few sticky points I had 
when starting to contribute to TiddlyWiki. At first the architecture/code 
base was foreign to me. I didn't know where to start looking. Most of the 
docs on the Widgets, Plugins, etc. were lacking detail and I had to fall 
into reading lots of the code to understand what I could do or not do. And 
how to workaround a lot of the assumptions put in place. For example the 
whole mixing the concepts of a DOM tree and a Widget (under the hood they 
are essentially the same thing) or the lack of conceptual separation 
between the Node.JS environment and the Browser environment (same code runs 
on both; guarded by $tw.browser / $tw.node checks) or when to add a feature 
via crafted tiddlers versus JavaScript plugins.

The other hurtle I had in general when contributing to any open source 
project was coping with criticism and feedback with Pull Requests. This was 
difficult because of how the process of Pull Requests are in general. It 
took me quite some time to be comfortable with putting a ton of work on 
something, packaging it up, and sending it to be reviewed only to find all 
the things I did wrong and should have done differently. Normally this is 
constructive criticism but there is that frustration and disheartening that 
happens. A better mental model would be to have an organic conversation 
where the thought process and work could be discussed as it being worked 
on. GitHub doesn't do much for facilitating that organic communication 
which is why I postulate most new comers are more comfortable submitting an 
Issue rather then working on code changes for a Pull Request. It needs a 
level of confidence for the later to make it over the mental hump. I'm not 
sure if the Patch Workflow 
<http://rypress.com/tutorials/git/patch-workflows> changes any of that or 
if live conversations (chats) would change things. Perhaps this point is an 
invitation for discussion.

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/d5396779-679d-48eb-9682-629c1f03cf96%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to