Re: removing RIP/RIPng (routed/route6d)
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)
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)
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)
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)
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