Re: removing RIP/RIPng (routed/route6d)

2024-05-16 Thread Lexi Winter
Scott:
> I use RIPv2 for it's simplicity and small memory and CPU requirements.  It 
> has its place and shouldn't be considered "legacy" despite its shortcomings.  
> It's not uncommon for vendors like Cisco to produce "basic" feature sets of 
> IOS that do not include any link-state protocols.
 
i imagined there are still people using RIP, so i only proposed removing
it since there are several alternatives available.

> Anyway, I'm a user, albeit a small user, of RIP and wouldn't object to its 
> removal from FreeBSD if there were a small footprint alternative.  I've used 
> FRR and VyOS a bit and they are overkill as replacements.

Cy has already created ports for these (although i haven't tested them
yet):

https://cgit.freebsd.org/ports/tree/net/freebsd-routed
https://cgit.freebsd.org/ports/tree/net/freebsd-route6d

so if you like routed/route6d, you can continue using them even after
their removal.  that said, i'd also suggest considering net/bird2; it's
smaller than FRR and (imo) nicer to manage, not to mention much more
maintained than routed is.

> Your email doesn't justify its removal other than to say you are unconvinced 
> of the value of shipping it.  As a user I definitely see the value.  I 
> understand that there is always a cost to providing code, but that wasn't 
> suggested as a reason.  All APIs, modules, utilities, etc. need to regularly 
> justify their presence in the OS.
 
let me turn this around and ask the opposite question: if FreeBSD didn't
currently ship RIP/RIPng in the base operating system, would a request
to add an implementation of it be considered?

almost anything would be useful for someone, somewhere.  for example,
i'd quite like to see a basic Wayland compositor (such as hikari) and a
terminal emulator in the base system, because that's a bit nicer to use
than vt(4) if you just need to occasionally manage a system via the
framebuffer console.  i feel fairly confident to say that this would be
useful to a greater number of people than an implementation of RIP.  

but i wouldn't propose actually doing this in base, because i can fairly
easily install this from ports, and the cost of maintaining the code in
base would outweight the advantage of not having to type 'pkg install
hikari'.

similarly for RIP/RIPng, if routed were currently in ports and not in
base, there would be very little justification for integrating it into
base when someone can just install it from the port.

this was different back in the days when routed was first created,
because there was no ports system and RIP was common enough that it was
useful to users -- along with the fact that 4BSD was effectively the
reference implementation of IP and sockets, so shipping RIP was
reasonable in that context.

so the question for me is not whether it should be in base at all (it
clearly shouldn't be, by today's standards), but does the inconvenience
to users of removing it outweigh the cost of maintaining the code
forever?  i don't claim to have any particular expertise here, so people
might reasonably disagree, but in my opinion, given the small number of
users, the advanced notice period (15.0-RELEASE) and the ease of
addressing the problem (pkg install freebsd-routed) the answer is yes.

someone elsethread mentioned that they expect FreeBSD to be a "complete
operating system".  what does this mean in practice?  many people expect
a complete operating system to include a GUI, yet FreeBSD hasn't shipped
X in the base system for quite a while.  should we put X back into base?

the most sensible way to address this, to me, seems to be that the base
OS should include things which are a) widely used, b) not available
elsewhere, and c) worth the maintenance cost.  for example, the kernel
is in base, because there's no FreeBSD without the kernel.  /bin/sh is
in base because the OS would be unusable without it, even though you
can install other shells from ports.  /etc/rc is in base because an
rc-system is required and /etc/rc is the only one that exists for
FreeBSD.

fetch(1) is in base even though you can install equivalent software
(e.g., cURL) from ports, so you could make an argument that it should be
moved to ports.  however, fetch is useful for both bsdinstall and for
many custom post-installation tasks that need an HTTP client, and
attempting to remove it would be very disruptive.

cron(8) is in base even though there are other cron implementations,
because widely-used parts of the the base system (e.g., periodic(8))
depend on cron for basic functionality; removing cron would also require
removing this functionality, and that would be a significant loss to
users with no obvious replacement.

but routed is not widely used in general, either by users or by the OS
itself; there are many implementations of RIP available elsewhere; and
the code is both old, barely maintained, and a network server, making it
a potential security risk among other maintenance costs.

i think a good example here, similar to routed,

Re: removing RIP/RIPng (routed/route6d)

2024-05-16 Thread Tomek CEDRO
On Thu, May 16, 2024 at 3:03 PM Lexi Winter  wrote:
> (..)
> almost anything would be useful for someone, somewhere.  for example,
> i'd quite like to see a basic Wayland compositor (such as hikari) and a
> terminal emulator in the base system, because that's a bit nicer to use
> than vt(4) if you just need to occasionally manage a system via the
> framebuffer console.  i feel fairly confident to say that this would be
> useful to a greater number of people than an implementation of RIP.

If that takes around 10MB its worth considering.. may be helpful for
visual oci management :-)

> would people objecting to the removal of routed also advocate for
> putting window(1) back into base?  (this is not a rhetorical question,
> 'yes' is a perfectly reasonable answer.)

The subtle difference between "removing RIP/RIPng (routed/route6d)"
and "[base->ports] moving RIP/RIPng (routed/route6d) to ports" :-)

Have a good day folks :-)

-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info



Re: removing RIP/RIPng (routed/route6d)

2024-05-16 Thread Scott
On Thu, May 16, 2024 at 02:02:52PM +0100, Lexi Winter wrote:
> Scott:
> > I use RIPv2 for it's simplicity and small memory and CPU requirements.  It 
> > has its place and shouldn't be considered "legacy" despite its 
> > shortcomings.  
> > It's not uncommon for vendors like Cisco to produce "basic" feature sets of 
> > IOS that do not include any link-state protocols.
>  
> i imagined there are still people using RIP, so i only proposed removing
> it since there are several alternatives available.
> 
> > Anyway, I'm a user, albeit a small user, of RIP and wouldn't object to its 
> > removal from FreeBSD if there were a small footprint alternative.  I've 
> > used 
> > FRR and VyOS a bit and they are overkill as replacements.
> 
> Cy has already created ports for these (although i haven't tested them
> yet):
> 
> https://cgit.freebsd.org/ports/tree/net/freebsd-routed
> https://cgit.freebsd.org/ports/tree/net/freebsd-route6d
> 
> so if you like routed/route6d, you can continue using them even after
> their removal.  that said, i'd also suggest considering net/bird2; it's
> smaller than FRR and (imo) nicer to manage, not to mention much more
> maintained than routed is.
> 
> > Your email doesn't justify its removal other than to say you are 
> > unconvinced 
> > of the value of shipping it.  As a user I definitely see the value.  I 
> > understand that there is always a cost to providing code, but that wasn't 
> > suggested as a reason.  All APIs, modules, utilities, etc. need to 
> > regularly 
> > justify their presence in the OS.
>  
> let me turn this around and ask the opposite question: if FreeBSD didn't
> currently ship RIP/RIPng in the base operating system, would a request
> to add an implementation of it be considered?
> 
> almost anything would be useful for someone, somewhere.  for example,
> i'd quite like to see a basic Wayland compositor (such as hikari) and a
> terminal emulator in the base system, because that's a bit nicer to use
> than vt(4) if you just need to occasionally manage a system via the
> framebuffer console.  i feel fairly confident to say that this would be
> useful to a greater number of people than an implementation of RIP.  
> 
> but i wouldn't propose actually doing this in base, because i can fairly
> easily install this from ports, and the cost of maintaining the code in
> base would outweight the advantage of not having to type 'pkg install
> hikari'.
> 
> similarly for RIP/RIPng, if routed were currently in ports and not in
> base, there would be very little justification for integrating it into
> base when someone can just install it from the port.
> 
> this was different back in the days when routed was first created,
> because there was no ports system and RIP was common enough that it was
> useful to users -- along with the fact that 4BSD was effectively the
> reference implementation of IP and sockets, so shipping RIP was
> reasonable in that context.
> 
> so the question for me is not whether it should be in base at all (it
> clearly shouldn't be, by today's standards), but does the inconvenience
> to users of removing it outweigh the cost of maintaining the code
> forever?  i don't claim to have any particular expertise here, so people
> might reasonably disagree, but in my opinion, given the small number of
> users, the advanced notice period (15.0-RELEASE) and the ease of
> addressing the problem (pkg install freebsd-routed) the answer is yes.
> 
> someone elsethread mentioned that they expect FreeBSD to be a "complete
> operating system".  what does this mean in practice?  many people expect
> a complete operating system to include a GUI, yet FreeBSD hasn't shipped
> X in the base system for quite a while.  should we put X back into base?
> 
> the most sensible way to address this, to me, seems to be that the base
> OS should include things which are a) widely used, b) not available
> elsewhere, and c) worth the maintenance cost.  for example, the kernel
> is in base, because there's no FreeBSD without the kernel.  /bin/sh is
> in base because the OS would be unusable without it, even though you
> can install other shells from ports.  /etc/rc is in base because an
> rc-system is required and /etc/rc is the only one that exists for
> FreeBSD.
> 
> fetch(1) is in base even though you can install equivalent software
> (e.g., cURL) from ports, so you could make an argument that it should be
> moved to ports.  however, fetch is useful for both bsdinstall and for
> many custom post-installation tasks that need an HTTP client, and
> attempting to remove it would be very disruptive.
> 
> cron(8) is in base even though there are other cron implementations,
> because widely-used parts of the the base system (e.g., periodic(8))
> depend on cron for basic functionality; removing cron would also require
> removing this functionality, and that would be a significant loss to
> users with no obvious replacement.
> 
> but routed is not widely used in general, either by users

Re: removing RIP/RIPng (routed/route6d)

2024-05-16 Thread Lexi Winter
Scott:
> I'm never sure whether to respond to sophistry and rhetoric, but why not, 
> let's play:

my intention with this post was not to engage in sophistry, but to
explain (or justify) the reasoning behind my proposal to remove
RIP/RIPng, since you seemed to be asking for more details on that.
i apologise if it came across as unnecessarily rhetorical, but i
often find the easiest way to explain my reasoning behind something is
by example.  perhaps this is a personal flaw :-)

in any case it sounds like you're content with routed being moved to a
port rather than banished entirely.  my assumption in the original mail
was that this would happen anyway (assuming it at least 1 remaining
user) but perhaps i wasn't clear enough about that.



Re: removing RIP/RIPng (routed/route6d)

2024-05-16 Thread Dag-Erling Smørgrav
Scott  writes:
> Anyway, fun's over.  Perhaps this is a greater lesson that the Foundation 
> provide the rules under which code is added or removed from base and then 
> we'd all be the wiser.

The FreeBSD Foundation does not set project policy, the FreeBSD Core
Team does.

DES
-- 
Dag-Erling Smørgrav - d...@freebsd.org