4 ms·
If I may pass on Free and Open (for now), I guess it’s fair to say Net has historically placed a lot of importance on what looks to be “running on lots of diffe
by bch 7y ago
If I may pass on Free and Open (for now), I guess it’s fair to say Net has historically placed a lot of importance on what looks to be “running on lots of different hardware”. I’m not a core dev nor spokesperson, but I (would like to?) think this is related to:
1) people scratch their own itch; if something is important or interesting, they do it
2) the engineers are smart (though which project is going to say “I think engineering is our weak spot”?) The decisions that are made happen to mostly resonate with what I’d say are my values - pushing ahead with a semblance of respect for Unix.
3) NetBSD is (and has been) a research operating system. Microsoft used it to test out a new hardware arch they developed[0][1]. It’s (twice) held the “Internet Landspeed Record”[2]. It’s cutting edge in the unikernel/anykernel[3] space.
4) re: portability (“of course it runs NetBSD!”[4]), I like to think there’s a feedback loop where correctness and good design support porting and porting demands that correctness and design. Example when AMD first unleashed the now ubiquitous 64 bit architecture we all enjoy[5].
I don’t know what kind of development you do, but it supports gcc, clang, and PCC, Java, probably any dynamic language you care to name... it’s an SMP POSIX system running elf binaries on big and little endian architectures, all from a single codebase. I see why people would say it’s a stripped-down OS, or built to run in weird places like routers, but I see it as an effective, coherent, non-offensive Unix. I could go on, but let me close this with tongue planted in cheek, stealing from mutt[6]: All operating systems suck. NetBSD just sucks less.
[0] http://wiki.netbsd.org/ports/emips/ http://wiki.netbsd.org/ports/emips/
[1] https://www.microsoft.com/en-us/download/details.aspx?id=52407&from=https%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fdownloads%2F754fee75-c5a0-4542-bf9b-47f236c0a90b%2F https://www.microsoft.com/en-us/download/details.aspx?id=524...
[2] https://m.slashdot.org/story/45653 https://m.slashdot.org/story/45653
[3] https://en.wikipedia.org/wiki/Rump_kernel https://en.wikipedia.org/wiki/Rump_kernel
[4] http://www.informit.com/articles/article.aspx?p=655422 http://www.informit.com/articles/article.aspx?p=655422
[5] https://www.usenix.org/legacy/publications/library/proceedings/bsdcon02/full_papers/linden/linden_html/index.html https://www.usenix.org/legacy/publications/library/proceedin...
[6] https://en.wikipedia.org/wiki/Mutt_(email_client) https://en.wikipedia.org/wiki/Mutt_(email_client)
- logicprog 7y agoThat sounds pretty darn good. I wonder, does Rust run on it? I mostly do C, C++, Rust and Python development. Basically the only things I need besides those are Emacs, Firefox, and a tiling window manager. The issues show up because I'm a hyperpolyglot when it comes to programming languages. So for instance I'm thinking about trying J (which I've messed with in the past) and Idris. As you can probably guess, having a common OS is nice for this.
- bch 7y ago> I wonder, does Rust run on it? I mostly do C, C++, Rust and Python development. Basically the only things I need besides those are Emacs, Firefox, and a tiling window manager. You sound like me. These days I’m C and Tcl w [ex]ctags and cscope in nvi (in-tree default, but vim available in pkgsrc/pkg), using dtrace, gdb, fossil/git, etc, etc, in tmux, either in the terminal or an xterm managed by dwm. Firefox and Rust (a dependency!) are available. I used to build them from scratch but recently Rust has turned into a real bear to build... like building Linux from Ye Olden Days where you set aside a few days and hoped... but I digress - [X|GNU]emacs are there for you too.
- logicprog 7y agoHuh, your Dev setup does sound like mine. Which BSD would you recommend? Open seems closest to my "ideal OS".
- bch 7y agoLike I mentioned above, I’m of the NetBSD camp. Adopts things like SMP and PAM (, dtrace, zfs, ...) where OpenBSD “drags its feet” or outright rejects (for reasons), but (ime) is less baffling and brittle than FreeBSD (pkgsrc vs ports (though in netbsd tradition, pkgsrc is portable to FreeBSD (and macOS X, Minix, Linux, SmartOS, ...))). Though as ‘pmarin said elsewhere, these are all general purpose OSes, with lots to offer in general, and some specifics to offer which differentiate them from ea. other and from any other OS. If OpenBSD seems attractive to you, jump in :) Give it a fair few weeks and evaluate. They’ve got some neat architecture features to play with (e.g. unveil(2), pledge(2)[0]) to exercise your software design/implementation. NetBSD and FreeBSD have dtrace[1] (NetBSD impl. is incomplete but still interesting and useful) and virtualization like bhyve[2] and nvmm[3]. Jump in! [0] https://news.ycombinator.com/item?id=17277067 https://news.ycombinator.com/item?id=17277067 [1] https://en.wikipedia.org/wiki/DTrace https://en.wikipedia.org/wiki/DTrace [2] https://wiki.freebsd.org/bhyve https://wiki.freebsd.org/bhyve [3] https://www.phoronix.com/scan.php?page=news_item&px=NVMM-NetBSD-9.0-Look https://www.phoronix.com/scan.php?page=news_item&px=NVMM-Net...