
Developers shouldn't distribute their own software - ddevault
https://drewdevault.com/2019/12/09/Developers-shouldnt-distribute.html
======
Seirdy
I am mostly in agreement with this article; releasing a tarball is a necessary
and sufficient mechanism for distributing your software. If it is valuable
enough, maintainers can use that tarball to package it. I strongly believe
that my software isn't somehow "more special" than anybody elses'; users
shouln't have to install my software any differently than others', or expect a
different release cadence.

For those unfamiliar with the packaging process, check out Fedora's `.spec`
file to generate the RPM for rsync [0]. It contains instructions for
downloading the tarball, installing dependencies from Fedora's repositories,
build commands, and metadata. Tarballs can also be used to generate Flatpaks
in much the same way; see the manifest file for qBittorrent [1] for an
example.

It is okay to distribute your own software, but only for development. End-
users should not be expected to get your software from npm, PyPI, etc. when
distro packages exist.

That being said, it is possible for developers to optionally go above and
beyond by:

\- setting up repositories for the latest stable release or prerelease, for
those interested

\- Providing their own binaries/artifacts (if applicable) for anybody who
wants to test software out before installing.

These are not replacements for distributing a tarball that can be used for
packaging; they are optional additional steps.

[0]:
[https://src.fedoraproject.org/rpms/rsync/blob/master/f/rsync...](https://src.fedoraproject.org/rpms/rsync/blob/master/f/rsync.spec)

[1]:
[https://github.com/flathub/org.qbittorrent.qBittorrent/blob/...](https://github.com/flathub/org.qbittorrent.qBittorrent/blob/master/org.qbittorrent.qBittorrent.yaml)

