Right should I package it as deb, RPM, tgz, deploy, p5i, pkg, msi, msix, appx, apk, aar, ipa, ISMP or do you have any other favourite OS package format in mind?
As fun game you can try to map those package formats to their respective OSes.
To be fair, isn't deb/apt already open source? If you don't know it, check out the "competing standards" xkcd.
If I was a FOSS dev, I'd say "screw it; just let people pull the git and package it however their distribution wants it".
I mean, for 99% of the packages in most distribs, that’s how it works. Someone makes a cool binary, someone else packages it up and submits it to their favorite distro’s package manager.
Not every company wants to deliver open source packages, nor everyone uses git.
No, you only package what you need.
That doesn't work unless you can assume that every developer is willing to install all the dependencies of your project globally, with no control over what versions are used.
...which is how the majority of software in the world is deployed, outside of the HN bubble. There are many statistics on this.
But it's not how it's developed. It's not uncommon that you need to run multiple different versions of the software you're working on, each using different versions of its dependencies.
Containers are great for testing on a distro you don't use.
Most OS packages are out of date, putting new features or libraries out of reach of most people using them.
Not really.
And on OS X and Windows?
Does repl.it provide OS X/Windows backend servers?
No not yet. And it hasn't been requested all that much but UPM works on OS X and I'm sure it's straightforward to make it work on Windows.
Actually, UPM fully supports Windows, as far as I know. You can install it directly as an executable, or via Scoop.
very few (if any) will install as user, or install to a specified prefix for per-project versions of installs.