# Why not remove old stuff.



## Alain De Vos (Jun 9, 2019)

I personally consider freebsd containing old stuff like ed , like sendmail, or like csh.
Why not remove them or move them to optional ports. We live in the year 2019 after all ?


----------



## Beastie (Jun 9, 2019)

Because people still use them?

As for csh specifically, it is root's default shell.


----------



## zirias@ (Jun 9, 2019)

The idea of FreeBSD is to be a self-contained and complete operating system, IOW, without installing any ports, it should be fully functional, and this is a good thing.

This definitely includes an editor and a shell providing some more features than plain /bin/sh. I'm personally not so sure about an MTA. And of course, you can always have an argument over _which_ editor/shell/... you bundle. I'm not a fan of C shells either.

But then, FreeBSD is highly configurable as well. In my own build, I disable tcsh, sendmail and a bunch of other things. In the future, with "packaged base", you'll be able to leave out components without building yourself. Anyways, you'll never see a FreeBSD base release that needs any port to do any administrative or recovery task, and again, this is a good thing. It's one of the things making FreeBSD more valuable for me over e.g. a typical Linux distribution.


----------



## Spartrekus (Jun 9, 2019)

Alain De Vos said:


> I personally consider freebsd containing old stuff like ed , like sendmail, or like csh.
> Why not remove them or move them to optional ports. We live in the year 2019 after all ?



It seems that we have a post here coming from years of Linux usage from OP. Linux is a sort of slow OS, with systemd it makes it untrusted, it performs very slowly compared to BSD, if you don't recompile Linux kernel yourself and exclude all stuffs in kernel.

The best BSD ever is in my pers. opinion: NetBsd.  It works, fast, and stable, several years of uptime is possible.

csh or sh ?    versus bash ?   would you ever mean this?
csh, ed, vi or vim are still widely used.
Unix may maybe use old crap, for a Linux or Windows user point of view. it is okay, our BSD systems perform better and well,  and run.


----------



## drhowarddrfine (Jun 9, 2019)

This is why I think people should stop using Windows. I mean, it's 33 years old! Why would anyone use that stuff?


----------



## Spartrekus (Jun 9, 2019)

drhowarddrfine said:


> This is why I think people should stop using Windows. I mean, it's 33 years old! Why would anyone use that stuff?



Windows, and furthermore, the users do not really own their data, any longer  
After 33 years, Microsoft managed that users give their data, with accepting by trust.


----------



## CraigHB (Jun 9, 2019)

Well, FreeBSD is based on the original Berkeley Unix which was based on Bell Labs Unix where development started in the 70's so it's older than Windows by a decade or so.  Age isn't the issue.  Now If you say 33 years of poor engineering I will second that.

Much as I think FreeBSD is the greatest, I still use Windows, just can't seem to break free of it, much as I'd like to.  It ~is~ possible to make Windows private.  Using the enterprise version there's a bunch of registry settings you can tweak to shut off all crap you don't want.  Though it takes a good amount of effort and gets more involved with every new version.  At some point it will become untenable.


----------



## CraigHB (Jun 9, 2019)

Spartrekus said:


> Linux is a sort of slow OS, with systemd it makes it untrusted, it performs very slowly compared to BSD, if you don't recompile Linux kernel yourself and exclude all stuffs in kernel.



Have to agree with this.  I was a Linux user for a long time.  It used to be refreshingly fast and efficient speaking from a Debian point of view.  It really took a turn for the worse in recent times.  My feeling is it came from a lack of organization and direction within the whole GNU community.  This is where FreeBSD shines, excellent organization top to bottom and clear direction.  That's why it will always be a fast and efficient system.


----------



## drhowarddrfine (Jun 9, 2019)

CraigHB said:


> Age isn't the issue.


That's my whole point. So many times I see someone post about the age of some software and complain that it's old and needs to be replaced without giving any technical reason to do so.


----------



## ShelLuser (Jun 9, 2019)

Alain De Vos said:


> I personally consider freebsd containing old stuff like ed , like sendmail, or like csh.
> Why not remove them or move them to optional ports. We live in the year 2019 after all ?


Is this supposed to be a serious post or a troll post? I can't really take it too serious either way though because your idea is kinda absurd. Yes, let's remove the default root shell because... who needs it! 

Anyway, src.conf(5) is something you should look into. Because it'll allow you to fully customize your setup and removing all those "old so surely obsolete" software. Just a fair heads up: don't expect your OS to run properly afterwards 

Just because something is old doesn't make it obsolete. That's one of the most dumbest arguments I've heard in a while. Look into games/nethack36 sometime; that game has lasted for over 6 years without any updates and amazingly enough (not so much) people even played it too!


----------



## Spartrekus (Jun 9, 2019)

When something is old, it works.


----------



## Spartrekus (Jun 9, 2019)

CraigHB said:


> Have to agree with this.  I was a Linux user for a long time.  It used to be refreshingly fast and efficient speaking from a Debian point of view.  It really took a turn for the worse in recent times.  My feeling is it came from a lack of organization and direction within the whole GNU community.  This is where FreeBSD shines, excellent organization top to bottom and clear direction.  That's why it will always be a fast and efficient system.



The more developers coming from Linux, the less chances that BSD will survive like it is today. It will endanger the BSD systems, seriously. 
Law of physics.

BSD is even taking about wayland.

Too-many-cooks-spoil-the-broth.


----------



## Deleted member 9563 (Jun 10, 2019)

Spartrekus said:


> When something is old, it works.


You can say that again. I use DOS every day - albeit a highly individualized setup such as most people have never seen. For all text, which I love, it just rocks. Of course I use FreeBSD because of the necessity for modern protocols, but it is my choice precisely because it is old - which means mature. Sure there is stuff there which is beyond my interest, indeed understanding, but others think differently - and so they should.


----------



## Nicola Mingotti (Jun 10, 2019)

Alain De Vos said:


> I personally consider freebsd containing old stuff like ed , like sendmail, or like csh.
> Why not remove them or move them to optional ports. We live in the year 2019 after all ?



look, before FreeBSD i was using OpenBSD, there they change stuff more easily. For example the shell is (zsh, no, my mistake, i correct) ksh.

FreeBSD is more conservative, it tries not to astonish you. This is a strength you will appreciate in the long run.

About 'ed', you may need it, in extreme cases. it is just a matter of time.


----------



## xtremae (Jun 10, 2019)

Nicola Mingotti said:


> before FreeBSD i was using OpenBSD, there they change stuff more easily. For example the shell is zsh.


Interesting, I didn't know OpenBSD defaults to zsh.


----------



## Spartrekus (Jun 10, 2019)

OJ said:


> You can say that again. I use DOS every day - albeit a highly individualized setup such as most people have never seen. For all text, which I love, it just rocks. Of course I use FreeBSD because of the necessity for modern protocols, but it is my choice precisely because it is old - which means mature. Sure there is stuff there which is beyond my interest, indeed understanding, but others think differently - and so they should.



OJ, special message destination:
I think that it is better to use the console of freebsd, since it has a keyboard settings into the rc.conf and large fonts

```
keymap=fr
ntpd_enable="YES"
ntpd_sync_on_start="YES"
sshd_enable="YES"
fusefs_enable="YES"
#apache24_enable="YES"
allscreens_flags="-f terminus-b32"
```
The cool thing for reading, older eyes, is that the console does show nice large chars, and you can add utf-8 on .shrc, for good fonts.
With screen you can readily have 3 monitors, with all of them targeting the screen session over ssh (one pc having the screen). To read on the left, F11 or F12, to read on the right ... anyway you'd like.

```
bindkey -k F1 prev
bindkey -k F2 next
vbell off
```
Since you have ncurses or term for compiling with clang by default, you could eventually try to move from DOS to Unix. With ncurses, it is easy that the same software works 20-30 years, like ed, vi, vim,... Which applications of DOS do you need?


----------



## ralphbsz (Jun 10, 2019)

Alain De Vos said:


> I personally consider freebsd containing old stuff like ed , like sendmail, or like csh.
> Why not remove them or move them to optional ports. We live in the year 2019 after all ?


Instead of going all philosophical and off-topic, why don't we think through the questions here?

ed: I doubt that very many people still use it as their first-line desktop editor.  But it is still used in many scripts, and people rely on it being available for scripting.  As far as I know, Linux ships it too (I just checked two different Linux distributions, and it is there).  Removing it from the base install would be silly and damaging.
Don't like using it for a desktop editor?  There are zillions of other choices, led by vim and emacs.  Easy to install from packages if you want them.  vi is installed as part of the base system; many people like to use vim instead (others don't).
sendmail: You need an MTA (mail transfer agent) in the base system, otherwise even things like cron stop working.  Sendmail definitely is an excellent MTA, and it is extremely powerful.  If also has a very long tradition in the BSD world, going back many decades.  There is lots of knowledge around about how to configure it.  On the other hand, with extreme power comes great difficulty in configuring it optimally.  I do wonder whether sendmail is the ideal MTA for small simple systems, in particular non-server desktop systems; sendmail configuration is probably the hardest thing amateur sys admins will ever encounter.  Some OS distributions ship other MTAs by default.  I can see the arguments pro and con, and have no particularly strong opinion on which should be the default.  If the OP strongly things another MTA should be shipped by default, he could make that argument, here or on the mailing lists.
csh: is a perfectly fine and simple shell; the version that ships in FreeBSD actually happens to be tcsh, which is actually a very good desktop login shell.  The FreeBSD base also ships with sh, another fine and simple shell.  Both C-style and Korn-style shells have long traditions. Whether one should use one or the other for normal logins is a religious question.  FreeBSD puts the root account on csh; Linux distributions have traditionally used sh (in the form of bash) instead.
Again, removing (t)csh from the base install would be insane and damaging, too large a fraction of all users want to use it. Replacing it as the default root shell with something else is worth debating, but I remember that this debate has been had several times, and so far no argument in favor of switching has survived.
OpenBSD is a different situation, with a different mindset.  Their answers are interesting and informative, but not conclusive for this OS.


----------



## Spartrekus (Jun 10, 2019)

*@ralphbsz*
You don't want to install vim on a server, do you ?


----------



## Deleted member 9563 (Jun 10, 2019)

Spartrekus said:


> OJ, special message destination:
> I think that it is better to use the console of freebsd, since it has a keyboard settings into the rc.conf and large fonts


Thanks for that.  Great stuff.
The thing about DOS is the utilities available. Microsoft wrote very little of value for that OS, it was all third party. I don't think we'll ever get such a high level of development for text only as happened in that era. Those days are gone. For skeptics, I would note that all the usual UNIX utilities and functions such as command completion are there. It's basically a dumbed down version of *nix with a huge library of small and easy to use utilities. The big value (as it applies to this thread) is that it is 100% stable - meaning no updates.


----------



## Spartrekus (Jun 10, 2019)

OJ said:


> Thanks for that.  Great stuff.
> The thing about DOS is the utilities available. Microsoft wrote very little of value for that OS, it was all third party. I don't think we'll ever get such a high level of development for text only as happened in that era. Those days are gone. For skeptics, I would note that all the usual UNIX utilities and functions such as command completion are there. It's basically a dumbed down version of *nix with a huge library of small and easy to use utilities. The big value (as it applies to this thread) is that it is 100% stable - meaning no updates.



Well DOS was interesting breakthrough at that time.





Graphical means maintenance and rewrite *all the time*.

I actually converted my DOS code, from pascal to C many years ago. I firstly used the ncurses library and then I removed ncurses so that it works on any platforms. It is about 30 years now old software stuffs, that still work. There is no maintenance needed, because it works.

For instance, abook, it is old and ugly text but it is still there.


----------



## 6502 (Jun 10, 2019)

Alain De Vos said:


> I personally consider freebsd containing old stuff like ed , like sendmail, or like csh.
> Why not remove them or move them to optional ports. We live in the year 2019 after all ?


Why? To save disk space?


----------



## Maxnix (Jun 10, 2019)

Nicola Mingotti said:


> look, before FreeBSD i was using OpenBSD, there they change stuff more easily. For example the shell is zsh.


OpenBSD defaults to ksh, not zsh.


----------



## Spartrekus (Jun 10, 2019)

6502 said:


> Why? To save disk space?


ed is about 500 kilobytes.

leafpad is much larger.


----------



## drhowarddrfine (Jun 10, 2019)

xtremae said:


> Interesting, I didn't know OpenBSD defaults to zsh.


They just changed that a couple of days ago.


----------



## Spartrekus (Jun 10, 2019)

drhowarddrfine said:


> They just changed that a couple of days ago.



I would take the most basic, small, shell ever.
Even less than korn shell.

I even don't know if cp, mv,... should be necessary  really, if your server needs apache or ssh server, or samba, cp, mv,... are not necessary.


----------



## Lamia (Jun 10, 2019)

Spartrekus said:


> *@ralphbsz*
> You don't want to install vim on a server, do you ?


I am currently doing this; and it annoys me. It seems to be the default editor for editing crons via 'crontab -e -u...'. Annoyingly, vim requires pango (i.e. building Firefox/Spidermonkey), Wayland and a number of x11 packages. It's taking forever to install.


----------



## laurentis (Jun 10, 2019)

Lamia said:


> I am currently doing this; and it annoys me. It seems to be the default editor for editing crons via 'crontab -e -u...'. Annoyingly, vim requires pango (i.e. building Firefox/Spidermonkey), Wayland and a number of x11 packages. It's taking forever to install.



This is why we have editors/vim-console and editors/vim-tiny in the ports tree.


----------



## zirias@ (Jun 10, 2019)

Lamia said:


> I am currently doing this; and it annoys me. It seems to be the default editor for editing crons via 'crontab -e -u...'. Annoyingly, vim requires pango (i.e. building Firefox/Spidermonkey), Wayland and a number of x11 packages. It's taking forever to install.



The default editor should be `$EDITOR`, with IIRC a fallback to `vi`, not vim.

Anyways, what's wrong with using vim? Just use the `vim-console` flavor if you don't want to use/install GUI stuff.


----------



## Deleted member 9563 (Jun 10, 2019)

Spartrekus said:


> ed is about 500 kilobytes.
> 
> leafpad is much larger.



That's really funny to me. Indeed disk space for programs and the operating system is trivial these days. It simply doesn't matter. However, I can't help but note that I can put a whole operating system and everything I need to send and receive emails, on a single 360 kilobyte floppy. In such a context, I think it is appropriate to call *ed* "bloated". (Yes, you can quote me on that.)

Which reminds me of one of my many deprecated blogs and sites out there that I've mostly forgotten about. Here is my favorite computer - total storage is one single DS/DD 5.25" drive. I must admit however, that I haven't used it since I restored it. I now use mail/claws-mail and have close to 10k emails in my inbox. Times change, but we mustn't forget one legitimate use for old programs - sheer enjoyment.


----------



## usdmatt (Jun 10, 2019)

I don't really see the odd shell or editor being an issue myself. However, I've thought for at least a few years now that Sendmail shouldn't be in base. Obviously email support is required, but it should be a simple lda, and a service that can accept local messages then submit them to either the lda or a remote smtp relay, supporting tls and auth/login by default. (Probably smtpd from OpenBSD would be the most obvious choice - or maybe the dragonfly mail agent)


----------



## 6502 (Jun 10, 2019)

Compatibility is much important than 10-20 or even 100 megabytes on HDD (note: MB not GB). We talk about standard installation not compact/mini/tiny/etc.


----------



## ralphbsz (Jun 10, 2019)

Spartrekus said:


> You don't want to install vim on a server, do you ?


vim? No.
vi? Definitely.  Matter-of-fact, it is pre-installed as part of the base OS in FreeBSD.  All my Linux machines have it too.  For emergencies, when other editors break, I can (very slowly and painfully) use it to fix things.


----------



## rigoletto@ (Jun 10, 2019)

Currently there is dma(8) (DragonFly Mail Agent) in Base too (I use that), and sendmail(1) is supposed to leave (sooner than later, I guess).


----------



## Phishfry (Jun 10, 2019)

Principle Of Least Astonishment


> As FreeBSD evolves, changes visible to the user should be kept as unsurprising as possible.  For example, arbitrarily      rearranging system startup variables in /etc/defaults/rc.conf violates POLA. Developers consider POLA when contemplating user-visible system changes.











						FreeBSD Handbook
					

A constantly evolving, comprehensive resource for FreeBSD users




					www.freebsd.org


----------



## CraigHB (Jun 10, 2019)

I like the principle of least astonishment, that's a really great philosophy in my mind, and again why I have high praise for FreeBSD's direction.  Things do have to change to stay relevant, but it's really nice to know you're not going to see radical changes from one version to the next.

So far the only thing worthy of any debate I've seen in this thread is whether the base system should include sendmail or some other transport agent.

To me talk of default shells is just nitpicking.  I've not run into a situation where I could not do something because I wasn't logged into the shell I needed.  Even if that's the case you can change shells quickly and easily once the system is up.

Disk space is really a moot issue.  The base FreeBSD system is amazingly small in terms of relative disk space, not a consideration in the least.  Even for embedded, the newest devices carry storage in the tens of gigabytes.   Already a fully loaded FreeBSD system (typical) does not take much more than a couple GB, much smaller than mainstream operating systems.


----------



## Lamia (Jun 10, 2019)

Zirias said:


> The default editor should be `$EDITOR`, with IIRC a fallback to `vi`, not vim.
> 
> Anyways, what's wrong with using vim? Just use the `vim-console` flavor if you don't want to use/install GUI stuff.


Of course, I know about vim-lite, which builds like vim except for the gtk2 component. I guess all I mentioned above(Wayland, x11, pango etc) are not only for gtk2. I chose not to use since I read that.
Nothing is wrong with vim but for those few observations.


----------



## Nicola Mingotti (Jun 10, 2019)

Maxnix said:


> OpenBSD defaults to ksh, not zsh.


true, thank you for correction .


----------



## Spartrekus (Jun 10, 2019)

Lamia said:


> I am currently doing this; and it annoys me. It seems to be the default editor for editing crons via 'crontab -e -u...'. Annoyingly, vim requires pango (i.e. building Firefox/Spidermonkey), Wayland and a number of x11 packages. It's taking forever to install.



A server needs precautions and necessary files only. Not vim, or whatever stuffs that are not necessary.
Please let me explain you a possibility.

Installing vim (with vim or vim-console) and stuffs is risky, right, on an important server, such as Apache,....

You shall leave your server in peace, really. The less stuffs you will install, the most stable will be the server.
You can get the files right from compilation, even to compile a small alternative vi.
You can fairly use clang and a C code. Fetch (fetch) to get all the c files, or bring them with ssh.
You just need to compile, then, nothing will be touched on the server mostly.


----------



## Nicola Mingotti (Jun 10, 2019)

drhowarddrfine said:


> They just changed that a couple of days ago.


no, there is a typo sorry, it is ksh.


----------



## Nicola Mingotti (Jun 10, 2019)

xtremae said:


> Interesting, I didn't know OpenBSD defaults to zsh.


sorry, i made a mistake, corrected.


----------



## Spartrekus (Jun 11, 2019)

On BSD systems, it could be also _osh_, instead of korn shell for fun. It could likely work / for fun and experimental only. Bit curious if it would break the box.


----------



## zirias@ (Jun 11, 2019)

I'd personally love to see zsh as the default interactive shell in base  IMHO, C shells are a bad idea. I disabled tcsh in src.conf and use zsh from ports everywhere. With zfs datasets all on the same pool and packages from my own poudriere repo, this is very unlikely to break, but if it _would_ break anyways, there's still "toor" using /bin/sh, which is a PITA for interactive use, but works anyways.

Still, it's good and important to ship a shell meant for interactive use in base -- I just don't like the choice, but as you can configure base to your liking as well, I don't see a problem here.


----------



## tommiie (Jun 11, 2019)

OJ said:


> I use DOS every day - albeit a highly individualized setup such as most people have never seen.


I would be very interested to learn more about your setup. care to explain it in a (private) post?


----------



## SirDice (Jun 11, 2019)

Alain De Vos said:


> I personally consider freebsd containing old stuff like ed , like sendmail, or like csh.


So, should we remove cat(1), df(1) or ls(1) too? They're more than 25 years old! 






						[base] Index of /vendor/CSRG/dist/bin
					






					svnweb.freebsd.org
				






Alain De Vos said:


> Why not remove them or move them to optional ports.


Why? What's the rational? Age? If that's the only rational there would be nothing left of FreeBSD. You do know FreeBSD is a direct descendant of the original AT&T UNIX, right?






						[base] Contents of /head/share/misc/bsd-family-tree
					






					svnweb.freebsd.org


----------



## Crivens (Jun 11, 2019)

... or maybe remove from our life that some 100 million years old stuff called breathing? Isn't this discussion a little bit obsolete itself?


----------



## Spartrekus (Jun 11, 2019)

Crivens said:


> ... or maybe remove from our life that some 100 million years old stuff called breathing? Isn't this discussion a little bit obsolete itself?



The older the better ; it is like wine...


----------



## rigoletto@ (Jun 12, 2019)

Spartrekus said:


> The older the better ; it is like wine...



Not all wines are made to age well. Indeed just a few percentage of it (5-10%) will improve after a year, and 1% or less in the next 5-10 years.


----------



## recluce (Jun 12, 2019)

rigoletto@ said:


> Not all wines are made to age well. Indeed just a few percentage of it (5-10%) will improve after a year, and 1% or less in the next 5-10 years.



Which just illustrates the point that FreeBSD is the OS equivalent of the 1% best wines that age very well. Which reminds me that I have to break open one of the few bottles of Graham Malvedos 1982 Port I have remaining - that aged really well.


----------



## Spartrekus (Jun 12, 2019)

rigoletto@ said:


> Not all wines are made to age well. Indeed just a few percentage of it (5-10%) will improve after a year, and 1% or less in the next 5-10 years.


Do you think that FreeBSD, like wine, can age well?


----------



## Deleted member 9563 (Jun 12, 2019)

Spartrekus said:


> Do you think that FreeBSD, like wine, can age well?


It's from 1982. In rigoletto@'s  port collection; wine/port-malvedos So ... yes!


----------



## Alain De Vos (Jun 13, 2019)

Afterthought. When you change the root shell to something else then csh the answer is probably we think nothing much will be broken.
Would it not be a good idea to include another shell in the tests ? Then I am certain i can change it without breaking "something".
Or the question refrased otherwise, what would be the rational not to include another root shell in the tests ?


----------



## malavon (Jun 13, 2019)

Alain De Vos said:


> Or the question refrased otherwise, what would be the rational not to include another root shell in the tests ?


Simple:
`> ll /bin/*sh*
-r-xr-xr-x  2 root  wheel   419K Jan 14 13:50 /bin/csh
-r-xr-xr-x  1 root  wheel   165K Jan 14 13:50 /bin/sh
-r-xr-xr-x  2 root  wheel   419K Jan 14 13:50 /bin/tcsh`

Anything else is a really bad idea. What if your /usr/ partition/disk/gizmo is inconsistent, broken, disconnected or otherwise damaged?


----------



## Alain De Vos (Jun 13, 2019)

For this reason I keep /bin ; /usr/bin ; /usr/local/bin on the same partition. A full fsck of it just take a few seconds.


----------



## ralphbsz (Jun 13, 2019)

Alain De Vos said:


> Or the question refrased otherwise, what would be the rational not to include another root shell in the tests ?


Wouldn't be trivial.  Different shells have different syntax and semantics. A lot of the tests for the root shell would have to be to be rewritten.  It would nearly double that part of the testing effort. Or given that FreeBSD is a volunteer-run effort, it would probably mean each test would get half the effort. That sounds like a bad idea. This kind of flexibility is just not needed (because a competent admin can work with either shell, and because for emergency operations any shell will do), and costs something.



Alain De Vos said:


> For this reason I keep /bin ; /usr/bin ; /usr/local/bin on the same partition.


That's nice that it works for you. Matter-of-fact, I no longer separate /usr/local into a different partition (used to do that), but still separate /var and /var/log. I'm sure there are other people who do separate /usr/local from /usr, probably for good reasons (I can think of a few potential reasons right off the bat). So you can't rely on /usr/local being on the same file system as /usr, therefore basic operation of the system can't rely on anything in /usr/local.

The other reason you don't want root's shell to be in /usr/local is one of having a hermetically built basic environment. Everything in /usr/local is outside the control of the base install. It could come from a port/package, or it could come from random software installed from source, or it come from some local modification. For example, I have dozens (perhaps hundreds) of things in /usr/local/bin and /usr/local/sbin that are created from source that I've written. So for testing the base install, you can not trust anything in /usr/local, because you can't control where it is from.

Underlying this is a philosophical statement. FreeBSD is distributed as a base install, which is the thing that is most strictly tested, and that developers and testers have the most confidence in. Everything else is a port or a package or something else. This in particular includes the GUI, which is definitely not part of the base OS (and you can have different ones). Testing for packages, and therefore confidence, is obviously lighter than for the base OS. Fact of life.

Furthermore, in its file system hierarchy FreeBSD does not distinguish between ports/packages (which go into /usr/local), and everything else that's not base (which also goes into /usr/local). There are other ways that could be handled. For example, in my experience most Linux distributions I use put optional packages into /usr, not into /usr/local. Commercial operating systems sometimes use /usr/lpp (which stands for "licensed program product") for packages that you buy from the vendor. Other OSes (I think Solaris) likes to use /opt for optional but vendor-distributed software, and keeps /usr/local just for site-specific stuff. Many different ways to do it. FreeBSD has chosen one way, and there is many decades of experience behind it.


----------



## Spartrekus (Jun 13, 2019)

Is that calvados? It can age longer than 50 years?


----------



## Crivens (Jun 13, 2019)

Can we go on topic again?


----------



## CraigHB (Jun 13, 2019)

I think there's a general idea in software development that old=broken.  I've just never found that to be true.  If something works without issue is there so much that's changed it should be thrown out and replaced?   

Keyboard and mouse haven't changed, we still use them just the same as we did decades ago.  Now when talking embedded devices utilizing a touch screen interface that's not true, but for the vast majority of FreeBSD usage command line and gui are still utilized the same way they've always been.  Utilities that worked fine then can still work fine now, no need to discard them just because they are old.

There may come a time where command line and gui become obsolete, maybe far into the future with new types of interfaces, but that's going to be a while.  In that case old will be broken.


----------



## Sevendogsbsd (Jun 13, 2019)

Old apps that do not have vulnerabilities and are still useful are just that: useful, and there is no reason NOT to use them. Modern does not always equal good.


----------



## Crivens (Jun 13, 2019)

The more complex things get, the less you   can know what is going on in detail. And the less details you know, the more does what you do resemble alchemy.


----------



## Alain De Vos (Jun 17, 2019)

I changed the root shell to zsh ,even when not advised .Everything boots just fine.


----------



## jasonvp (Jun 17, 2019)

Alain De Vos said:


> I changed the root shell to zsh ,even when not advised .Everything boots just fine.



Silly and dumb questions:
1.  Why are we changing root's login shell?
2.  Why are we logging in as root at all?

`sudo <your favorite shell>`

Done.


----------



## ralphbsz (Jun 17, 2019)

jasonvp said:


> 1.  Why are we changing root's login shell?


Because it's more convenient. For interactive use, I used to be a (t)csh person, from about late 80s or early 90s, to early 2000s. Then I switched to using sh, first ksh, then bash. Why? Because shell scripts (things that are stored on disk and executed) pretty much have to be written in (k,ba)sh; csh is not a very good scripting language for programming. And I have the habit of executing rather long sequences of commands right from the command prompt, I frequently type in 10-line scripts and run them. Having two different shell dialects, one for programming and one for "interactive" use (which is often quite similar to programming) was driving me nuts. So I decided to standardize. I still use old-fashioned sh for programming only (keep it clean and portable), but use bash interactively, mostly because of the better history search features.

On my FreeBSD at home, I have two root accounts, one with the default csh, the other with bash. I de-facto only use the bash one. It actually has the same RC files as all my user accounts (on all machines, home and work, all architectures, I use exactly the same RC file, with if statements)



> 2.  Why are we logging in as root at all?


Again, convenience. If I'm doing a system administration task that I know ahead of time will take only one line, I will do that with sudo. Otherwise, I switch to running as shell as root. Now, I hardly every actually "log in" as root, in the sense of starting a new ssh session or a physical terminal as root. Matter-of-fact, ssh access to root is disabled. Rarely I have to do sys admin tasks from the console (when the network is completely broken), and that's pretty much the only time I actually log in as root. Instead I just switch from my regular user account to root.



> sudo <your favorite shell>


That works. I prefer "su -".  Honestly, don't know why I prefer that, probably just tradition. After many years, it's sort of hard-wired into my fingers. Anyone know a strong reason to do one or the other?


----------



## Spartrekus (Jun 17, 2019)

ralphbsz said:


> Because it's more convenient. For interactive use, I used to be a (t)csh person, from about late 80s or early 90s, to early 2000s. Then I switched to using sh, first ksh, then bash. Why? Because shell scripts (things that are stored on disk and executed) pretty much have to be written in (k,ba)sh; csh is not a very good scripting language for programming. And I have the habit of executing rather long sequences of commands right from the command prompt, I frequently type in 10-line scripts and run them. Having two different shell dialects, one for programming and one for "interactive" use (which is often quite similar to programming) was driving me nuts. So I decided to standardize. I still use old-fashioned sh for programming only (keep it clean and portable), but use bash interactively, mostly because of the better history search features.
> 
> On my FreeBSD at home, I have two root accounts, one with the default csh, the other with bash. I de-facto only use the bash one. It actually has the same RC files as all my user accounts (on all machines, home and work, all architectures, I use exactly the same RC file, with if statements)
> 
> ...


Thank you for your message.

I still don't know why you do use sudo.
It's been long time, I haven't used this command. I havent installed it.

Besides having old stuffs, means that it works fast ! It uses console and free software. 
Using non free stuffs means that you'll loose time. ...

example: outdated


----------



## Deleted member 9563 (Jun 17, 2019)

I think he said he actually uses su, and of course nobody allows root access to servers anyway. But yeah, I don't get the sudo thing either. Actually I find it irritating how people always write "sudo vi" all the time instead of using normal English and just tell us to edit the file. Oh well, whatever irritates me is of no consequence to anybody else - though I must admit that this is at least a small part of why I switched to FreeBSD. I just couldn't stand one more page with every single command starting with "sudo vi"


----------



## rigoletto@ (Jun 17, 2019)

Alain De Vos said:


> Afterthought. When you change the root shell to something else then csh the answer is probably we think nothing much will be broken.
> Would it not be a good idea to include another shell in the tests ? Then I am certain i can change it without breaking "something".
> Or the question refrased otherwise, what would be the rational not to include another root shell in the tests ?



The problem is if you change the root shell to something from ports and something happens with the package, like get removed or broken for some reason, you will not have shell access to root.


----------



## Spartrekus (Jun 17, 2019)

OJ said:


> I think he said he actually uses su, and of course nobody allows root access to servers anyway. But yeah, I don't get the sudo thing either. Actually I find it irritating how people always write "sudo vi" all the time instead of using normal English and just tell us to edit the file. Oh well, whatever irritates me is of no consequence to anybody else - though I must admit that this is at least a small part of why I switched to FreeBSD. I just couldn't stand one more page with every single command starting with "sudo vi"



This modern _sudo_ is kinda awful... it is also quite dangerous


```
sudo rm -rf /
```

that's why old BSD stuffs, are good.


----------



## shkhln (Jun 17, 2019)

ralphbsz said:


> Anyone know a strong reason to do one or the other?



I'm sure you know this, but as a reminder to others: the key difference is that _su_ requires knowing the password for the user you want to switch to (e.g. root password), while _sudo_ relies instead on a config file for deciding whether you are allowed to log in as someone, requiring only retyping your own password to use it. It's not difficult to see which approach makes it more annoying to revoke root access or invalidate passwords in a multi-user system.


----------



## kpedersen (Jun 17, 2019)

I compiled csh just last week... how is that old? Its more recent than the latest build of Windows 10!


----------



## George (Jun 17, 2019)

Sendmail might be removed in FreeBSD 13.
At least it's a goal of the DevSummit 2018.

https://wiki.freebsd.org/DevSummit/201809/13goals ("remove sendmail")
https://wiki.freebsd.org/DevSummit/201810 ("delete semdmail (bapt, cem)")


----------



## jasonvp (Jun 17, 2019)

Spartrekus said:


> This modern _sudo_ is kinda awful... it is also quite dangerous



What a comically dumb thing to say, and counter-example to use.  You can do similar things with su as well.


----------



## jasonvp (Jun 17, 2019)

Elazar said:


> Sendmail might be removed in FreeBSD 13.
> At least it's a goal of the DevSummit 2018.



Well hopefully it's still readily available as a port and pkg because I'm very much a sendmail fan and that's not likely to change.


----------



## SirDice (Jun 17, 2019)

Port for mail/sendmail has been around for almost 20 years now. I don't mind if sendmail is removed from the base, for the same reasons Perl and later BIND got removed.


----------



## PMc (Jun 17, 2019)

Elazar said:


> Sendmail might be removed in FreeBSD 13.
> At least it's a goal of the DevSummit 2018.



That might make sense. There was a time when it was mandatory for a multiuser system to have a functioning and connective mailer. That's no longer the case.
Furthermore, the installworld routine does a few strange things concerning /etc/mail, which need to be cared for in automatic deployment, and which, from my impression, just don't belong there.

This is more intellegible than the removal of named, which imo does belong to a functional system (and is needed much earlier than the mailer).


----------



## jasonvp (Jun 17, 2019)

PMc said:


> This is more intellegible than the removal of named, which imo does belong to a functional system (and is needed much earlier than the mailer).



I'm going to make a broad assumption that the sendmail removal will be accompanied by the addition of another default MTA.  For better, for worse.  On the other hand, there's absolutely no need for a system to have named or any other daemon of the sort on it _unless_ that server is going to be a name server.


----------



## rigoletto@ (Jun 17, 2019)

jasonvp said:


> I'm going to make a broad assumption that the sendmail removal will be accompanied by the addition of another default MTA.  For better, for worse.  On the other hand, there's absolutely no need for a system to have named or any other daemon of the sort on it _unless_ that server is going to be a name server.



Thread 71062/post-429347


----------



## jasonvp (Jun 17, 2019)

rigoletto@ said:


> Thread 71062/post-429347



Cool.  Again, as long as I can:

`pkg install sendmail`

I'm funkengrooven.


----------



## Spartrekus (Jun 17, 2019)

SirDice said:


> Port for mail/sendmail has been around for almost 20 years now. I don't mind if sendmail is removed from the base, for the same reasons Perl and later BIND got removed.



perl, python,... good that there got removed. They are not vital on a system, they can be pkg /installed later if user needs it.

Actually, it is true above, sendmail ... and what will come next.
Newer systems are not necessarily fixing all bugs. FreeBSD v.13.0 does not even seems to support Legacy or at least my notebook.  I guess Bill Gates will laugh ...


----------



## SirDice (Jun 18, 2019)

Spartrekus said:


> FreeBSD v.13.0 does not even seems to support Legacy or at least my notebook.


FreeBSD 13.0 aka -CURRENT is a development version. Any part of it can break at any given time.


----------



## Spartrekus (Jun 18, 2019)

SirDice said:


> FreeBSD 13.0 aka -CURRENT is a development version. Any part of it can break at any given time.


Thanks 

Hopefull legacy will not be left. It might help to install


----------



## ShelLuser (Jun 20, 2019)

shkhln said:


> I'm sure you know this, but as a reminder to others: the key difference is that _su_ requires knowing the password for the user you want to switch to (e.g. root password), while _sudo_ relies instead on a config file for deciding whether you are allowed to log in as someone, requiring only retyping your own password to use it. It's not difficult to see which approach makes it more annoying to revoke root access or invalidate passwords in a multi-user system.


Yes it is. You're forgetting that not everyone can use su, only those in the wheel group can, see also /etc/pam.d/su. Ergo: remove them from the wheel group and they will no longer be able to elevate their credentials.

And even though the default is to use root any account with UID 0 can do.

Ergo: this doesn't have to be annoying at all, if you know how to set this up properly.


----------



## Spartrekus (Jun 20, 2019)

ShelLuser said:


> Yes it is. You're forgetting that not everyone can use su, only those in the wheel group can, see also /etc/pam.d/su. Ergo: remove them from the wheel group and they will no longer be able to elevate their credentials.
> 
> And even though the default is to use root any account with UID 0 can do.
> 
> Ergo: this doesn't have to be annoying at all, if you know how to set this up properly.


that wheel is really a good thing.

I cannot imagine that on Linux systems, everyone can get root access.


----------



## shkhln (Jun 20, 2019)

ShelLuser said:


> You're forgetting that not everyone can use su, only those in the wheel group can, see also /etc/pam.d/su.



Frankly, yes. If you know the root password and you have the local or kvm access, then you can just log out of your account and login as root directly. That's likely can be disabled somewhere as well, but the point is that shared passwords are a PITA.



ShelLuser said:


> And even though the default is to use root any account with UID 0 can do.



That sounds interesting… Can you elaborate? Aren't those essentially the same user?


----------



## ShelLuser (Jun 20, 2019)

shkhln said:


> That sounds interesting… Can you elaborate? Aren't those essentially the same user?


Look into /etc/passwd, in specific check out root and toor. 2 accounts, 2 passwords, 2 environments yet one important similarity: both have the same privileges. It's easy to expand on that same principle.


----------



## shkhln (Jun 20, 2019)

ShelLuser said:


> Look into /etc/passwd, in specific check out root and toor. 2 accounts, 2 passwords, 2 environments yet one important similarity: both have the same privileges.



They have the same privileges because it is only one account, not two.


----------



## ShelLuser (Jun 20, 2019)

shkhln said:


> They have the same privileges because it is only one account, not two.


And you're right, meh, I need more coffee. Getting my facts mixed up there.

Still, doesn't change the main point that it's not much more annoying to use su or sudo, especially taken into consideration that changing passwords from time to time is also good practice.


----------



## shkhln (Jun 20, 2019)

Point taken. Annoyance is a subjective judgment, of course.


----------



## SirDice (Jun 20, 2019)

Spartrekus said:


> I cannot imagine that on Linux systems, everyone can get root access.


Only the default. You can change it to have the same requirements as on FreeBSD by editing /etc/pam.d/su (at least that's the case on RHEL).


----------



## zirias@ (Jun 20, 2019)

To be even more precise: There is no "default" on Linux because user authentication isn't handled by the kernel  Linux systems use a PAM implementation for that, and PAM allows different configurations -- so the "default" not to require a group membership on Linux systems is a default of the many distributions out there, and I'd assume you would find one with a different default as well


----------



## SirDice (Jun 20, 2019)

Similarly, on FreeBSD you can modify /etc/pam.d/su, remove the pam_group(8) line, and get the same behavior as on many Linux distributions.


----------



## voidanix (Jun 20, 2019)

Instead of removing old stuff (which is kept around for compat reasons), why not add "old" features into base? (e.g. w^x, encrypted swap ecc.)


----------



## Spartrekus (Jun 20, 2019)

Zirias said:


> To be even more precise: There is no "default" on Linux because user authentication isn't handled by the kernel  Linux systems use a PAM implementation for that, and PAM allows different configurations -- so the "default" not to require a group membership on Linux systems is a default of the many distributions out there, and I'd assume you would find one with a different default as well


PAM is slow on linux.


----------



## zirias@ (Jun 20, 2019)

Spartrekus said:


> PAM is slow on linux.


I've never seen someone post such an amount of _random_ nonsense... well, we're already in off-topic here, but still, throwing in such a (btw totally unrelated) claim, you _normally_ provide some evidence, quotation sources, etc.


----------



## SirDice (Jun 20, 2019)

voidanix said:


> Instead of removing old stuff (which is kept around for compat reasons), why not add "old" features into base? (e.g. w^x, encrypted swap ecc.)


Encrypted swap already is: 17.13. Encrypting Swap. It has been possible since FreeBSD 5.0 I believe.


----------



## Spartrekus (Jun 20, 2019)

Zirias said:


> I've never seen someone post such an amount of _random_ nonsense... well, we're already in off-topic here, but still, throwing in such a (btw totally unrelated) claim, you _normally_ provide some evidence, quotation sources, etc.



here is meant ...

"login:"  takes quite long on Linux. 
No idea where it comes from.


----------



## SirDice (Jun 20, 2019)

Spartrekus said:


> "login:" takes quite long on Linux.


DNS resolving or a lack thereof is almost always the cause of that. 



> No idea where it comes from.


So instead of actually trying to analyze the issue you just blame random stuff you don't understand?


----------



## Spartrekus (Jun 20, 2019)

SirDice said:


> DNS resolving or a lack thereof is almost always the cause of that.
> 
> 
> So instead of actually trying to analyze the issue you just blame random stuff you don't understand?


Thank you. On Unix, login is surely faster.


----------



## Crivens (Jun 20, 2019)

SpeakerOfTheHouse: Orrrrderrr!!

Keep calm and discuss on.


----------



## hruodr (Jun 21, 2019)

rigoletto@ said:


> Currently there is dma(8) (DragonFly Mail Agent) in Base too (I use that), and sendmail(1) is supposed to leave (sooner than later, I guess).



Why? To save Desktopusers that think in Giga and Terabytes few MB of disk?

Sendmail is called a "big MTA" in than man page, but it contains very few MBs.

The same question: why to delete the venerable standard editor ed?

This proposals come from people that do not have a feeling for Unix culture, but only want a cool operating system.

And I like that FreeBSDBSD is a "Software Distribution" containing a lot of usable old programs. The ones as packages, the
other as the ones expected from a Unix and BSD system, because they were always there.

*Crivens*, not "Orrrrderrr!!", but O::: de:::!!


----------



## Crivens (Jun 21, 2019)

hruodr said:


> This proposals come from people that do not have a feeling for Unix culture, but only want a cool operating system.
> 
> *Crivens*, not "Orrrrderrr!!", but O::: de:::!!


Coworker has that as a ringtone. But OK, O::; de:::!! It is. I wish we had someone like that over here.

And as I stated a long time ago, being cool is not _my_ goal in life. Being cool means you got a piece of cardboard on your toe.


----------



## zirias@ (Jun 21, 2019)

hruodr said:


> And I like that FreeBSDBSD is a "Software Distribution" containing a lot of usable old programs. The ones as packages, the
> other as the ones expected from a Unix and BSD system, because they were always there.


The "software distribution" in the name is only there because BSD started as distributing some software (sources) to improve AT&T Unix. It was practically a complete OS before FreeBSD was even born, and that's what FreeBSD still is today. Of course, through the ports tree, FreeBSD is _also_ a "software distribution", but this discussion here is more about the OS, the base system.

That said, I don't think many early BSD contributors would support your point of view. Why did they start BSD in the first place? They wanted change and improvement in AT&T's Unix. Unix has never been about a mindset of "it's that way because it always was". Some principles stay, because they are key factors for the success of the platform -- but individual tools come and go, and _some_ of them stay.

I like the fact that FreeBSD's base system contains anything you need for typical (mostly administrative) tasks -- a shell, an editor, [insert long list here], even things like cu(1) enabling you to connect e.g. to a serial console. It should definitely stay that way. But that doesn't mean that you shouldn't, from time to time, replace one tool by another (better) one.


----------



## PMc (Jun 21, 2019)

hruodr said:


> The same question: why to delete the venerable standard editor ed?



The ed is scriptable. It may be used in whatever shellscripts behind the curtain. 
And people are still asking for such kind of tools.


----------



## Alain De Vos (Jun 21, 2019)

Disabled sendmail, installed postfix.
Disabled syslog installed syslog-ng.


----------



## rigoletto@ (Jun 21, 2019)

hruodr said:


> Why? To save Desktopusers that think in Giga and Terabytes few MB of disk?
> 
> Sendmail is called a "big MTA" in than man page, but it contains very few MBs.
> 
> ...



Because the base system is supposed to be useful and efficient for the majority of the users, and how many users do you think use or need a complete mail solution like Sendmail? And those who use/need that, just a fraction of them use Sendmail... There are tons of others mail servers out there and a lot of people use them instead of Sendmail.

Also, it is not like all or the majority of the server installations run a complete mail solution on them - more like just a fraction of them. So, that has not to do with desktop users. Desktop is just an appetizer on FreeBSD, nothing is done to accommodate desktop users if that will penalize the server users, specially the professional ones.

With your mentality I think you will shocked with some things I think will happen in a not so long feature. Old software should just be kept when they are useful and when there is no new but proven superior solution for the given user case in the market, but today there are several mathematically proven superior solutions out there for several user cases, but none of them is in the average Linux market, and so the average programmer don't know about them or don't have proper ways to deploy them.


----------



## hruodr (Jun 21, 2019)

rigoletto@ said:


> Old software should just be kept when they are useful and when there is no new but proven superior solution for the given user case in the market



If that is an argument, we should stop using and developing unix/BSD/Linux and change to something superior, for example plan9.

Many (most?) of us are used to unix and are unwilling to change exactly as Windows users are used to Windows.
If you make the system unrecognizable, then you help others to search for a better OS.


----------



## rigoletto@ (Jun 21, 2019)

hruodr said:


> If that is an argument, we should stop using and developing unix/BSD/Linux and change to something superior, for example plan9.
> 
> Many (most?) of us are used to unix and are unwilling to change exactly as Windows users are used to Windows.
> If you make the system unrecognizable, then you help others to search for a better OS.



As far I know Plan9 is not really actively developed anymore.

*[EDIT]*

Also, who is *us*? The people who actively develop the system, those actually funding the development,  the ones who use professionally, regular contributors, desktop users, or many others groups?

You can't accommodate everyone without heavy compromises, this is impossible, and so when you need to choose you go with the ones who contribute more and make the things happens. This is exactly why Linux became what is became, doing all necessary compromises to accommodate everyone, all fashionistas.

Most people think Linux is king. Yes, it own the majority of the toy market but Linux don't even feel the smell of any *true* critical systems nor any other open-source OS but Muen, those are all running stuff like AIX, VxWorks, custom made OSs and a few others alternatives. Well, we could talk about Linux in mainframes or supercomputers, but that is a completely _different_ Linux, and still the actual software running in mainframes is written in Cobol and so not Linux.


----------



## hruodr (Jun 21, 2019)

I am in the mailing list and it is active. There are also some derivatives. Plan9 people were never very loud.

And even if plan9 is not unix, much modern: it keeps some similarities. Of course `ed`, `lex`, `yacc`, `troff`, etc are there, although there are "better" substitutes.

One expect from Unixoids similarities. If FreeBSD or something else begin with big changes, it is not more Unixoid, but perhaps a KDE or Gnome machine.


----------



## ralphbsz (Jun 21, 2019)

Zirias said:


> That said, I don't think many early BSD contributors would support your point of view. Why did they start BSD in the first place? They wanted change and improvement in AT&T's Unix.


Your summary is not completely wrong, but also not right.

Early on, Unix only existed at Bell Labs, and then AT&T licensed it out, mostly to academic institutions. One of those institutions was UC Berkeley, more specifically the computer science department. Once Berkeley became involved in Arpanet-related research (remember, the founding institutions of Arpanet didn't include Berkeley, but instead UCLA, Stanford Research = SRI, UC Santa Barbara, and Utah), they wanted to do research on improving the networking stack of an OS. To do that, they used the AT&T Unix license they have, heavily modified the networking stack, and also added other convenience features (for example "Control Z" to interrupt and then resume a program), and called it the "Berkeley Software Distribution", namely a modified version of AT&T Unix.

What is quite symptomatic: The group that did that was called CSRG, which stands for Computer Systems Research Group. Their goal was not to make AT&T Unix better. Their goal was to do research on computer systems, in particular network-attached ones. For that they needed an OS. And instead of writing one from scratch (which a lot of other people were doing at the time), they simplified their life by starting with the AT&T license they had. The fact that they happened to improve Unix in the process was a by-product, one whose fruits we are still enjoying today.

To the other topic of discussion here, sendmail: When the CSRG folks needed a way to get a sensible and configurable software stack for transmitting mail, it is quite logical that they turned to a family member of a senior CSRG researcher and BSD developer. This is how it happened that Eric Allman programmed sendmail, and it got tied into BSD. While I personally don't enjoy configuring sendmail, and use a different MTA on my machine, we need to recognize and respect that sendmail and BSD have travelled a long road together. And that lots of systems rely on sendmail, and abandoning those systems in an upgrade cycle would be a problematic decision.


----------



## hruodr (Jun 21, 2019)

ralphbsz said:


> And that lots of systems rely on sendmail, and abandoning those systems in an upgrade cycle would be a problematic decision.



The same about abandoning `ed`, `lex`, `yacc`, etc.


----------



## Alain De Vos (Jun 21, 2019)

But it can't be the purpose of an operating system to become a museum.
Proof : You can easely do chmod 000 csh sendmail syslog and I don't know what and find out nothing is really dependent on it.


----------



## Crivens (Jun 21, 2019)

Alain De Vos said:


> Proof : *I* can easely do chmod 000 csh sendmail syslog and I don't know what and find out nothing is really dependent on it.


There, that is better. Just because something works for you does not mean it does for all.


----------



## ralphbsz (Jun 21, 2019)

Alain De Vos said:


> But it can't be the purpose of an operating system to become a museum.
> Proof : You can easely do chmod 000 csh sendmail syslog and I don't know what and find out nothing is really dependent on it.


If it works for you, by all means, go ahead!
On my system, you would have 50% success: Root would never log in again (fortunately, I have another root account that uses bash, so I could get around that). On many other systems, no mail would enter or leave again. You may not be using your system for mail (*), or you may be using an alternate MTA (I do).
The important thing is: Do not extrapolate from your system to all others.  Neither csh nor sendmail are museum pieces, they are in everyday use by many people.

Actually, there is a well-known joke about that. Sendmail was written initially and is still chiefly maintained by Eric Allman, who is openly gay (and a very nice and cool person, as is his better half Kirk). Even today, sendmail handles a large fraction of all mail worldwide (it is getting less, as the largest mail providers are switching to their own custom-built systems, but those often start with the sendmail source code). The joke from Eric is: It is funny that even an ultra-conservative fundamentalist can not send some bigoted hate-mail over the internet, without it being touched by a gay program somewhere along the way.

Footnote *: Even if you don't transport normal everyday user mail, you should have a functioning MTA on the machine, and make sure e-mails to root go to some real human being, because reading the messages from various nightly / weekly / monthly tasks is a very good idea, and will make most systems live longer.


----------



## shkhln (Jun 21, 2019)

Alain De Vos said:


> But it can't be the purpose of an operating system to become a museum.
> Proof : You can easely do chmod 000 csh sendmail syslog and I don't know what and find out nothing is really dependent on it.



That's some low effort trolling. Besides, I actually use csh.


----------



## malavon (Jun 21, 2019)

Alain De Vos said:


> Proof : You can easely do chmod 000 csh sendmail syslog and I don't know what and find out nothing is really dependent on it.


I'm sorry but your proof is severely flawed. All my users use tcsh. My systems would be completely bricked. It's just too easy to say something isn't good or useful because you don't use it yourself.
There are multiple shells from which to choose, syslog is incredibly important and sendmail is used to deliver mails from running cron jobs. I do not use ksh, zsh nor even bash.

Also, I don't really get what the discussion is really about. If you don't like something, use something else. Vi to me is unusable, some people trust it so much that they'd risk their lives on it.
It's just what it is. One person wants A, another wants B and yet another wants Z. There's a reason all these shells, tools and so much more have been written. They're written by people who 
wanted to use them, they're shared by people who believe it might benefit other people. Respect that, but use whatever works for you.

FreeBSD is about options. FreeBSD is and hopefully always will be free. Not free as in without costs, but free as in freedom. Freedom comes with choice, freedom comes with responsibilities. 
Whatever is the case, freedom should never be questioned. You do with your freedom as you will, I will do as I will. And we all lived happily ever after!


----------



## Alain De Vos (Jun 21, 2019)

Offcourse there can be situations where there is dependency on "older" software.  But not everywhere or not as much as some claim to be.
I also never said something is bricked or flawed nor that freedom ought to be questioned so this remark falls out of the air.


----------



## malavon (Jun 21, 2019)

If it bricks my system, I'd call that a dependency. Then again, maybe we're getting lost in semantics now?
Edit: not fair that you kept editing your message, now my reply seems non-sensical


----------



## kpedersen (Jun 21, 2019)

Alain De Vos said:


> Offcourse there can be situations where there is dependency on "older" software.  But not everywhere or not as much as some claim to be.


Contrary to Microsoft or Apple's marketing, "old" software is much more critical to everything you do on a computer than you think. Around 90% of the code running on Windows 10 was written over 10 years ago.

Also based on the "Lindy Effect", the older a piece of software or technology is, the more likely it is going to be around much longer than a newer bit of software. Possibly a good example of this is the C programming language and GCC compiler. This has outlived many more recent "trendy" compilers and languages. You will also see this in the future with Xorg and the X11 protocol outliving whatever the heck Wayland thinks it is.

Try not to think of this kind of software as "old", think of it more as a standard that has a feature complete implementation that cannot really be improved in any meaningful way simply with a rewrite.

If instead you want a complete modularization of FreeBSD like Linux (with a vague concept of a base) then that simply will not happen. It has proven to be largely a failure contributing to the fairly "wild west" broken landscape seen in Linux distributions.


----------



## rigoletto@ (Jun 22, 2019)

ralphbsz said:


> And that lots of systems rely on sendmail, and abandoning those systems in an upgrade cycle would be a problematic decision.



I started using FreeBSD in 2016 and the willingness to remove sendmail was not new at that time, then DMA got in. I think that was on 10R (I started with 10.3R).

For me that was already a clear indication some decision about sendmail was already more or less to be made. If I depended on that I would have switched to ports already.

The problem of this sort of situation is the fact users need to be actively watching what is going on at development side to catch the intentions early. There is a lack of formal scheduling easily available; however is difficult to have something like that given the lack of others things too, but I know decisions were made, there is work being done at the infrastructure side, I think by someone we both know and trust for that, and I am confident we will get in there, sooner than later.


----------



## Alain De Vos (Jun 22, 2019)

When someone claims freebsd is not modularised :
ls /boot/kernel | wc -l
Let's also not forget my home PC must be able to serve a total 2 mailboxes . A common situation when one prefers more readable config files.
Yet a question comes to my mind. Do freebsd, openbsd and netbsd take a different approach on what is in the base system or are they very alike on that part?


----------



## Spartrekus (Jun 22, 2019)

PMc said:


> The ed is scriptable. It may be used in whatever shellscripts behind the curtain.
> And people are still asking for such kind of tools.



Actually "ed" has chances to be deleted one day, as it is in Linux. Who wants to use "ed" today? In some Linux distributions, there is no "vi" (default installation), but instead likely "vim.tiny", or "nano", or just "vim". I guess that the oldest word processing, like "ed", should be the standard and there by default. "ed" is clean. In addition, the way how "ed" works is very efficient. Keeping old Unix software stuffs has some good.

However, because many users are used to Android and click-and-go softwares or technologies, then, software(s), which haven't an easy-to-use user interface, are likely to be forgotten. It requires to (re)learn and to have time for console based softwares.


----------



## zirias@ (Jun 22, 2019)

ralphbsz said:


> The fact that they happened to improve Unix in the process was a by-product, one whose fruits we are still enjoying today.


Well, that's somewhat debatable. Sure, working on software at university is done out of academic interest. But, on the other hand, that academic interest _is_ the search for improvement (through better knowledge).


ralphbsz said:


> we need to recognize and respect that sendmail and BSD have travelled a long road together


So? respect is probably fine here, but concluding that "sendmail can never be removed / replaced" is exactly the kind of thought I wouldn't expect around BSD  The question should be -- is sendmail still the best piece of software to complete a base system as its MTA?

(edit: or maybe even -- should a base system really still have an MTA or wouldn't it be wiser to have a simple MDA here?)


----------



## hruodr (Jun 22, 2019)

Zirias said:


> The question should be -- is sendmail still the best piece of software to complete a base system as its MTA?



Sendmail is better than its fame. Perhaps much better. With m4 macros it is not anymore difficult to configure.
It is well documented.  Gives usable log. It is old and you get answers when you google. I have it running
for relaying with authentication and it was not difficult to configure.

The ammount of disc cannot be an argument: the tar.gz source has about 7 MB.

But I do not know reliable comparitions about security, performance, scalability, etc.

In the time as any MB disk was precious, we had MTA and DNS server in the base system. And now, when
we throw GBs away, we are counting MBs for these software pieces.


----------



## kpedersen (Jun 22, 2019)

Alain De Vos said:


> When someone claims freebsd is not modularised :
> ls /boot/kernel | wc -l


I was referring to base software, not kernel driver modules.



Alain De Vos said:


> Yet a question comes to my mind. Do freebsd, openbsd and netbsd take a different approach on what is in the base system or are they very alike on that part?



They are semi similar in that they have a concept of base which is pretty stable. The big difference I note is that OpenBSD includes an Xorg fork (though they claim it isn't a fork because they upstream their changes) called Xenocara. This is because they recognise that they can lock it down and secure it best if they don't have to depend on the upstream. They also made its build system monolithic to simplify things. I agree with this; Xorg should be 1 package rather than hundreds. However I possibly would not like it in base if I really didn't need graphical output. You can remove it from base (during installation) but they recommend not to.


----------



## zirias@ (Jun 22, 2019)

kpedersen said:


> I was referring to base software, not kernel driver modules.


Well, my /etc/src.conf cotains a lot of `WITHOUT_FOO=yes` lines and it's working very well  So, on a source level, you could argue FreeBSD's base _is_ well modularised.


----------



## kpedersen (Jun 22, 2019)

Zirias said:


> So, on a source level, you could argue FreeBSD's base _is_ well modularised.



I suppose I could also run:
`# rm /usr/bin/p*`

So perhaps FreeBSD's base is entirely modular


----------



## hruodr (Jun 23, 2019)

I think not only an MTA, but also a DNS server and dhcpd belong to base.


----------



## Alain De Vos (Jun 23, 2019)

rtsold and unbound is in it


----------



## hruodr (Jun 23, 2019)

I did not know `rtsold`: is it a replacement? What in part do it is `bootpd`.

Unbound is not enough. nsd is necessary.


----------



## ralphbsz (Jun 24, 2019)

Actually, a reasonable viewpoint might be that the base install should have everything required to set up an end device (client), and data server (http, NFS). A client needs an MTA.
I'm not sure that base really needs everything that's required for a network server (NTP, DNS and DHCP servers). But if I follow that logic, then Samba should be in base (it is after all just a data server, for the CIFS a.k.a. SMB protocol), and that's pretty ridiculous, since setting up Samba is actually not common, and pretty hard.

I'm not sure we can find a 100% logical algorithm to decide what should be in base and what shouldn't.


----------



## kpedersen (Jun 25, 2019)

ralphbsz said:


> But if I follow that logic, then Samba should be in base


It isn't bad logic but the reason why Samba is not in base as a data server is because we already have one. NFS(d) as a data server.

It is OK for an OS to be opinionated. It is weird for an OS to provide *everything* and in an odd kind of way, an OS that provides nothing; not even a real concept of a base is generally a response of it trying to be ultra flexible and in a sense trying to provide everything.

One thing that annoyed me about Slackware; wasn't its package manager not resolving dependencies automatically but instead that its installation CDs did not specify a "base". Instead the documentation just suggested install everything or have this weird Frankenstein ('s monster) approach of naively picking at packages and hoping it all worked at the end.

Another approach that worked well even though it provided almost everything was Solaris; it could provide two types of i.e gcc versions but in separate prefixes (/opt/csw, /usr/sfw, /opt/sfw)


----------



## Alain De Vos (Jun 26, 2019)

There was gobolinux where each package was in a separate directory. But that project is dormant. Strangely it is no success. But I like the idea.
Maybe the world is fixed to hier ?





						hier(7)
					






					www.freebsd.org


----------



## Spartrekus (Jun 26, 2019)

Alain De Vos said:


> I personally consider freebsd containing old stuff like ed , like sendmail, or like csh.
> Why not remove them or move them to optional ports. We live in the year 2019 after all ?



Furthermore it is always good to have little requirements softwares because you can anytime use them still.

Maybe because today, one need 20 Gigabytes to send an email Hello World in xhtml with svg icons, then we will end to bring  high power antennas on the roof of the buildings for a fast 10G internet connection.  
















Go head - it is surely safe.






_View: https://www.youtube.com/watch?v=dku1aJj4rYY_


----------



## Deleted member 9563 (Jun 26, 2019)

Spartrekus said:


> Go head - it is surely safe.


I get brain damage just looking at that video.


----------



## Spartrekus (Jun 26, 2019)

OJ said:


> I get brain damage just looking at that video.



Check this one oj




_View: https://youtu.be/2J1e-HHr-ao_

The thing is that today with those antennas you can readily measure 20 to 100 mW/m**2 anywhere close to houses, people, schools,... Like a PC on your knees with peaks for videos of 30-40 mW/m2. Try few years regularly to alter dna.
More to come.  In some countries, 500 to 5000 can be also seen in special cases. But 9000 mW/m**2 is the top max. Nothing to worry, the tested rats survived.


----------



## Junkie (Jun 26, 2019)

ralphbsz said:


> But if I follow that logic, then Samba should be in base (it is after all just a data server, for the CIFS a.k.a. SMB protocol), and that's pretty ridiculous, since setting up Samba is actually not common, and pretty hard.


Well the main purpose of BSD 4.3 was to serve early Internet and Intranet Infrastructure. FreeBSD as it's successor has all the daemons  to serve all basic app protocols (DNS, SMTP, NTP, FTP so on) out of the box. NFS was used to boot diskless systems mostly in campuses if I recall right so it was important too. As http became popular a little bit later, it's not included in base. The same and for SAMBA. And don't forget about license, e.g. GPL has restrictions to include GPL licensed source code to non-GPL distributions


----------



## PMc (Jun 26, 2019)

OJ said:


> I get brain damage just looking at that video.


can't be more than  3.6 röntgen


----------

