Why not NetBSD?

I'm looking to build a reasonably-sophisticated embedded device, and was originally thinking of using Linux. While poking around for info, I also did some looking at NetBSD. From what I can see, NetBSD is:

- designed from scratch for portability

- seems to be easier to use for embedded systems

- has a more flexible and determinate licensing scheme

However, I'm suspicious as I see a lot of activity around embedded Linux, but much less around NetBSD. What am I missing? I'm hoping that the learned members of this group can shed a little light on embedding NetBSD vs. Linux.

Reply to
Richard Saunders
Loading thread data ...

NetBSD is a fine product, certainly a viable candidate for a "reasonably sophisticated embedded device" (which I presume means based on a 32-bit core). There are a couple of factors which make it less visible, though:

  1. The license :) Linux development by design is open. NetBSD can be buried anonymously inside a product. No way you would ever necessarily know it's being used.

  1. It's a simpler - virtually no-brainer - job to migrate from desktop PC Linux to an embedded distribution. Going all the way over to a totally separate OS is a bigger task.

  2. Embedded Linux is a buzzword. People want to have it on their resume. Managers "understand" that it is something good. There is a publicity machine promoting devices based around Linux. NetBSD is quieter. No free publicity bandwagon to ride. Not quite so cool on one's resume. Again this is not a reflection on the OS, merely on why your perceptions of it have been flavored.

  1. Lots of fashionable device driver development is going on for Linux. Not all of this makes its way into NetBSD.

Reply to
larwe

My company is currently using NetBSD for embedded applications. FreeBSD was used previously, and we moved to NetBSD when porting a large system to an non-Intel platform.

My understanding is that Linux was considered and rejected due to its licensing terms.

I do not see any essential difference in developing software for these three operating systems, except the obvious points:

(a) FreeBSD is Intel x86 only. (b) NetBSD runs on more platforms. (c) There are more drivers, hardware support, etc. for Linux. (d) *BSD OS's have a Berkeley type licensing scheme.

Roberto Waltman.

Reply to
Roberto Waltman

And this is the reason why more people are contributing to Linux. If you base your work on linux, you have to make it public, thus you contribute to linux, whether you are willing to do so or not. In the mean time, Improvement of NetBSD may hide in those companies who use it in their products.

vax, 9000

Reply to
vax, 9000

Hmm. Funny that the UltraSparc 5 under my desk is running FreeBSD 5.3.

I've shipped a product based on Real-Time Linux, another based on a "hardened" variant of Slackware, one using a Monte Vista Linux port, and most recently on FreeBSD. All of the development efforts required nontrivial modifications to the vanilla OS to meet our business needs, but only in the company using FreeBSD have we bothered to fold our changes and bug reports back to the developers.

Although it violates the licensing agreement, I doubt all of the companies using Linux bother to make their source code available.

Kelly

Reply to
Kelly Hall

The GPL requires moving changes forward, not necessarily backwards.

Reply to
Bryan Hackney

I stay away from GPL encumbered products in my embedded systems. I admire the people who contribute to open source, and I certainly do use open source products, but this is business, and if I have a kernel team implementing a differentiating piece of technology in the core kernel, I don't want to have to give that up.

NetBSD and FreeBSD are my 32-bit heavy OSs of choice. They are never exposed in the product. Nobody cares if their toaster runs FreeBSD or Linux... just if it browns the bread nicely.

Reply to
pm940

Oops! Yes, and Alpha also. That should have been "...x86 mainly."

Roberto Waltman

Reply to
Roberto Waltman

Yes. Portions of NBSD's development have definitely lagged those of FreeBSD, Linux, etc. specifically because of this emphasis on portability. I think the FreeBSD camp has paid a price for tailoring early releases to the i86 platform in that adding other platforms *now* seems to be a bit more of a painful process (i.e. why don't they have support for dozens of platforms?)

I think the fact that multiplatform products tend to require cross development efforts just to build themselves means you've got people already thinking along this track. A product developed on a PC to *run* on a PC can cut a lot of corners -- e.g., reboot with new kernel and see how it works.

Yes. More of the Berkeley style licensing. My clients *cringe* when presented with the idea of building on a Linux core -- almost as badly as a MS-based approach. There is also a *perception* that Linux is more fluid, implying less *stable* (i.e. how many kernel releases have their been? are each of these releases fully characterized? Or, have they just "moved on" with changes -- and

*new*, undiscovered bugs...?)

As a result of this client bias, I can't speak first-hand of the

*realities* of their codebase and/or its quality (flames > /dev/null) I've learned its usually not worthwhile to try to "educate" a client to adopt something that he is inherently wary of (anything goes wrong, the "I-told-you-so's" can be BRUTAL!)

There are products designed around NBSD. They just don't pimp the OS like the folks using Linux distros do.

There are other UN*X-like platforms that are, perhaps, better suited to embedded work. Note that most of the free eunices have a VERY heavy footprint. And, even those that purport to have (pseudo) real time capabilities have gaping holes in their RT support (i.e how many have true RT TCP/IP stacks??)

Good luck!

--don

Reply to
Don

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.