tl;dr: I propose that the Octave project / community would benefit from the github package extension index allowing high-quality packages to be included, even if they technically do not follow octave’s official packaging format. They could be differentiated from ‘proper’ packages by e.g. ticking a checkbox (i.e. to show ‘proper’ packages only).
I have followed with interest the recent developments regarding ‘augmenting’ the octave-forge presence with the github-hosted package index that Kai proposed.
I also followed with interest the discussions around how Octave’s packages potentially affect Octave’s ‘brand’, when potentially unmaintained packages are perceived by (often angry) users as being the responsibility of the main project, as opposed to what they really are, which is user-contributed / community-maintained, i.e. more akin to what pypi is to python. This tends to get even more confused when these packages are intended to provide functionality that attempts to mirror functions provided in matlab toolboxes.
While I find the octave forge website to be a great resource, particularly with respect to having searchable documentation (which the github package index unfortunately does not support), I do agree that the octave forge webpage suffers from this ‘branding’ problem, whereas the github page makes this distinction much clearer.
One aspect which I always felt was a bit of a problem in the past in the octave-packages space, is that there is a wealth of high-quality octave ‘packages’ in the more general sense, which however do not receive much recognition from the octave community as ‘proper’, worthy packages, because they do not follow octave’s official packaging format, and are thus not considered “packages” per se in octave-lingo. E.g. ORCA, EEGLAB, Psychtoolbox, Dynare, etc. This seems to preclude them from being associated more closely with the project. Typically the only way octave users get to know about these projects is if they are compatible and already popular in matlab, and people are trying to switch from matlab to octave.
I believe that in part, the ‘branding’ part was also partly to blame for this as well, in that, these package creators would not think or attempt to try and get a package “into” octave forge, if it was not a matlab-toolbox implementation.
Given this move away from packages as ‘part of the octave brand’ and more towards ‘community-led’, I feel like the github package index is a great opportunity to help these projects gain visibility from within the octave ecosystem (which also helps octave), by allowing their inclusion to the github package index, even though they have their own installers, and deviate from octave’s canonical packaging format. Perhaps a distinction can be made on the github page by including a tickbox which allows filtering “non-properly packaged” packages on/off.
I think this would be a good compromise, and partly achieves some of the goals that the now defunct Agora website was also intended to serve back in the day (albeit for complete packages rather than for individual functions or snippets). And hopefully, if they are allowed to add their package to the package index, maintainers may be more tempted to package their packages properly, so as to make it to the ‘proper’ list. This also helps users like me to open an issue on a project’s page and encourage the authors to list their package formally in the package index.
PS. Along similar lines, but as an addendum to this post. I think it would also be worth having a way to differentiate between packages/functions that attempt to ‘mimic’ matlab toolboxes/functions, versus other packages, unrelated to the matlab ecosystem.