Hi,
On 14/11/2021 20:49, Guido Falsi wrote:
You talk about "adding a periodic script". That is not even a real
modification to the upstream software IMHO. Just adding some glue code
for FreeBSD. If the script does what it advertises, and has no malicious
intent I see nothing wrong with it. If it is broken fixing it is the
logical thing to do.
Imagine a daemon, an rc script and a periodic script.
And imagine that we decided to separate all 3 into separate ports.
When fitting these ports into the ports tree, we would make the daemon
depend on the rc script, because the daemon needs the rc script to start
and stop (and starting and stopping could be considered core functionality).
But we would make the periodic script depend on the daemon, because the
daemon runs fine without the periodic script, but the periodic script is
useless without the daemon.
To me this would mean that the daemon and the rc script should be
published together as a single port, making the rc script an acceptable
FreeBSD-specific addition. (Which does not mean that the addition should
not be reported to upstream; the goal should also be to have the rc
script included in the upstream project, just like the systemd unit that
is already included.)
The periodic script, however, should be considered new functionality,
and published in a separate port.
And to contradict the above, one could now plead that external libraries
that the daemon depends on should also be packaged together with the
daemon, but the difference obviously is that no other package will ever
depend on the daemon's rc script, while those libraries have been
created to allow multiple applications to use them.
And there will always be exceptions. Things are not always black and
white, and they shouldn't be.
And obviously, I'm the outsider here. I'm not trying to tell anyone what
to do and how to do it. I'm just making sure that this subject has not
been overlooked.
Being a son of two lawyers, and having a lot of friends who are lawyers,
and also clients who are law firms, my informed (by having had a lot of
arguments with all these people about this very subject) opinion is that
there is no such thing in the world as a "clear and simple" set of rules.
Nobody is trying to write a legal document here.
The goal is just to assure that the ports in the ports collection still
function as intended by the upstream developers, preferably with no
functionality removed, and definitely with no functionality added.
Rob
--
https://www.librobert.net/
https://www.ohreally.nl/category/nerd-stuff/
https://github.com/ohreally/