Contributing etc.

Discuss the future of the AutoHotkey language
neogna2
Posts: 586
Joined: 15 Sep 2016, 15:44

Contributing etc.

Post by neogna2 » 26 Nov 2022, 09:32

[Moderator's note: Topic split from [v2.1+] GUI: Cue banner (placeholder) - Wish List.]
lexikos wrote:
23 Nov 2022, 02:40
AutoHotkey has too few developers (usually 1, sometimes 0) because every user thinks "maybe someone with more C++ experience will do it" or "I don't know C++". No one has experience at the beginning. You get experience by doing things, which won't happen if you never try.
Are there any forum posts or GitHub texts etc for AutoHotkey that onboard people wanting to start contributing? I've seen some other projects that primarily use GitHub (rather than a forum) for community discussions and use "good first issue" or similar tag for some requests/issues as a signal to people who want to begin contributing code. See github.com text on encouraging contribution . Maybe this forum could have a tag like that for Lexikos to mark fitting requests with?
Last edited by neogna2 on 26 Nov 2022, 09:46, edited 2 times in total.

lexikos
Posts: 9551
Joined: 30 Sep 2013, 04:07
Contact:

Re: Contributing etc.

Post by lexikos » 26 Nov 2022, 16:38

I've split the topic from [v2.1+] GUI: Cue banner (placeholder) - Wish List.

I don't feel that going to lengths to solicit contributions would be a productive or interesting use of my time. I got into this by forking AutoHotkey and implementing ideas (mostly my own) and bug fixes. I generally feel that I'd rather do something myself or put it on the back-burner than spend my time hand-holding potential developers that haven't shown much initiative. Once someone has shown initiative and motivation, then I'm more inclined to engage (more so if they prove capable).

Although I can see the value in having developer documentation, I'd rather spend my time improving the code base than documenting its current structure and quirks for the benefit of non-existent or unproven potential developers.

The problem with a "good first issue" tag is that for it to be useful on GitHub, there would need to be an issue tracker. ;) Then, the issue tracker would need to get used for every feature planned to be implemented. Seeing how it gets used for some other projects, even projects maintained by single developers, I want to make use of it; but I always have higher priorities. Maybe I will enable the issue tracker and convert my TODO list to issues at some point.

Maybe @joedf has some input about the idea of tagging Wish List topics.

The issue tracker was disabled because it mostly attracted false bug reports and other nonsense, which I then felt that I had to deal with personally.

Unique wishes that others make usually don't appear on my list, because if they're not interesting enough that I'll implement them in the short term or from memory, I don't care if I forget about them, even if I would accept a pull request.

Given how my plans have continuously grown over the years faster than they are implemented, I have started to think recently that if I could make a full time job of developing AutoHotkey, I would. However, I don't think it's realistically a possibility, and with just the idea and no experience freelancing or similar, it's hard to consider giving up the stability of the job I've had for the last 14 years.

SandyClams
Posts: 63
Joined: 02 Jul 2020, 11:55

Re: Contributing etc.

Post by SandyClams » 26 Nov 2022, 21:24

lexikos wrote:
23 Nov 2022, 02:40
I learned C++ by modifying AutoHotkey. I had no C++ experience prior to that, aside from reading a few tutorials some time before. I didn't even really understand C++ pointers until after learning to deal with structs in AutoHotkey scripts.
I personally found this very encouraging when I saw it in the forked thread. I'm currently meandering into C++ and am interested in messing with the AutoHotkey source. I am sure I will continue in it, but the phase I am in is also grating and intimidating, so the encouragement is nice to have. I think onboarding resources would also be nice to have, but either way I am expecting to do a lot of my own onboarding.

lexikos
Posts: 9551
Joined: 30 Sep 2013, 04:07
Contact:

Re: Contributing etc.

Post by lexikos » 26 Nov 2022, 22:28

I have a lot of familiarity with the way AutoHotkey works now, but a lot of it was designed by Chris or hasn't deviated much from his original design. For some parts, I would rather spend my time changing it than documenting it. I don't even want to look at the hook/hotkey code any more, because it really is a mess; neatly and verbosely explaining things in comments is no substitute for good design practices (which I'm also guilty of sometimes ignoring). Chris used copy-paste a bit too much, and the hook code in particular has seemingly a hundred different ways to reach similar conclusions, with many blocks of code that look very similar.

Documenting everything isn't a very attractive project, but if there's an area in particular that someone wants to know about, I might write something.

iseahound
Posts: 1434
Joined: 13 Aug 2016, 21:04
Contact:

Re: Contributing etc.

Post by iseahound » 27 Nov 2022, 12:27

I think a brief overview of what each file is for is a good idea. Also, just a small map of how a built-in function call may work could also be helpful. As it stands, I still don't know what script/script2 division is for. Just a few paragraphs is fine.

User avatar
joedf
Posts: 8940
Joined: 29 Sep 2013, 17:08
Location: Canada
Contact:

Re: Contributing etc.

Post by joedf » 28 Nov 2022, 10:11

@lexikos
Sorry ahead of time if am missing something, a bit confused trying to get the "flow" of the story here.

Yeah, it can be irritating to get reoccurring issue claims, when most of them can be either resolved with a simple search or even just asking here. e.g. claiming there's a bug or feature needed when really it can be already done, maybe some guidance... and the main development repo isn't really the place for it... Noise...

Many "big companies"/repos have a separate issue-tracking repo (like you've mentioned) and block issues on the main repo. Others, try to enforce a template, and reject any "imcomplete" issues.
If you'd prefer, I could make an issue-tracking repo under ahkscript/org and filter through (perhaps with the help of others), forwarding only those that seem pertinent...

For ref.: Github Issues/PR templates: https://docs.github.com/en/communities/ ... repository

As for on the forums, nothing really to add other than to reiterate what you've done so already: topics should be moved/split to Wish List or at least flagged by users to be moved.
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]

lexikos
Posts: 9551
Joined: 30 Sep 2013, 04:07
Contact:

Re: Contributing etc.

Post by lexikos » 28 Nov 2022, 18:09

I wrote:Maybe @joedf has some input about the idea of tagging Wish List topics.
The point was (paraphrasing):
neogna2 wrote:Maybe this forum could have a tag like ["good first issue" or similar tag for some requests/issues as a signal to people who want to begin contributing code] for Lexikos to mark fitting requests with?
But I don't really think it would be worth implementing as a forum feature. I think requests that fit the criteria (including that I want them implemented at all) are rare, and I can just post a comment. I could include a keyword, but since it wouldn't happen often I would probably forget.

User avatar
joedf
Posts: 8940
Joined: 29 Sep 2013, 17:08
Location: Canada
Contact:

Re: Contributing etc.

Post by joedf » 28 Nov 2022, 19:41

Ahh okay, that's much clearer for me, thanks. Agreed, something to be handled by forum moderators/etc.
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]

neogna2
Posts: 586
Joined: 15 Sep 2016, 15:44

Re: Contributing etc.

Post by neogna2 » 01 Dec 2022, 16:44

@lexikos interesting read and reasonable reasoning! :thumbup: I guess writing (and updating) onboarding/contributor docs has uncertain upsides and could swell to a chore and timesink. Maybe, instead of special tags or GitHub issue tracker, just a forum post akin to this, pinned for prospective contributors to read? You could there add links to forum posts with feature request that you consider
(1) relatively small/contained in terms of source code changes and complexity
(2) not likely to be implemented by you
(3) likely accepted by you if someone else implements it well and submits a pull request
Not a comprehensive list or anything. Just link if/when you encounter a good fit, like with the Gui Cue banner request.

Post Reply

Return to “AutoHotkey Development”