Taking MicroBSD for a Test Run
LiquidPC writes "In this article Jeremy Reed of BSDNewsletter.com talks about installing MicroBSD, what features make it special, troubles and successes I encountered, and the beauty of the BSD license."
← Back to Stories (view on slashdot.org)
You can't STEAL something that is licensed so people can use it anyway they want. Even if microsoft took the BSD TCP/IP stack, so what? What's the big deal if microsoft is using BSD's TCP/IP stack, it's not like microsoft took it and said BSD couldn't use it anymore. Microsoft should be allowed to take their TCP/IP stack and not having to release all their new source code; the original source is still available if you want to download it. You're making a big deal out of nothing.
At the time MS (and even AT&T) were accused of taking code the BSD licence had one more clause then it has now. Basically a credit clause, you had to acknolage BSD in your documentation (and maybe on screen).
The big deal is BSD asked for one very small and specifc (and fair!) form of payment, and they were denyed. That makes it theft.
Fairly serious theft in my book. The university put in a pretty impressave motion for "injunctave prayer for relief" diring the AT&T vs. BSDI lawsuit on those grounds too, something about "irreparable harm to the reputation of the University"....
So?
What you need to understand: it isn't your code, they can do what they want with their code. release your code with whatever license you want.
The developers of code released under BSD style license are just fucking generous. plain and simple.
It's not that they have never considered "Gee, what if someone uses this in a closed source system? Gee, what if someone or some Corp. rips off our code and we get nothing back?". They have considered that possibilty, and they dont care.
Here is the flaming part of this post:
Ideally: "we release completely free source"
Realistically: "People rip off our shit"
BSD style license is Ideals living despite Reality. GPL is Ideals living to confront Reality. You decide what the right lifestyle is for you and let me live the way i want.
You should stay far, far away from genetic algorithms because it is clear you could not write a fitness function.
You are assuming that the technically superior OS is going to be the fittest, which is patently untrue. The OS which is easy to use, has the largest base of interesting software, and which is made most attractive to the consumer in general is the fittest. This would clearly be the microsoft on x86 platform.
If linux did everything windows did (which it patently does not, even if you look at it from a technical standpoint - consider cleartype) then it would have a chance to displace windows. However, it must also run Win32 binaries which link to the MFCs, which it does poorly at best. It must be as easy to use as Windows, and as easy to fix when it breaks. About now many of you are saying "what the fuck is this guy's problem, when windows breaks it's a nightmare!"
Consider what happens when linux "breaks" in even a trivial way; The user must venture into a Unix shell to repair it. When windows "breaks" it's usually some sort of hardware conflict (statistically speaking the majority of cases in which windows won't work right, there is a hardware problem/hardware configuration problem) which is resolved by troubleshooting through a GUI. Whereas if you have ext2 filesystems and they have one of a certain set of software-correctable errors, you must run fsck manually. While this particular problem is going away, what with the plethora of journaling filesystems available or about to become available (XFS, ext3fs, ReiserFS, JFS, and probably more) it is representative of a Unix mindset which is not necessarily a bad thing, but which will keep Unix from replacing Windows on the desktop for, I believe, all of eternity.
Windows, as of NT 4.0, has the added advantage that the Desktop OS (Windows 95 at the time) and the Server OS (NT 4.0, again, at the time) look and operate in essentially the same way. As of Windows XP, the desktop and server OS are the exact same thing. While linux has this as well, it does not have user-friendliness. Most of us (myself included) would never put redhat (For example) on a server unless we had no other choice, because it is cumbersome. We might use gentoo, or slackware instead. Or we might even run BSD. But for a desktop system, we want something simple for the user to understand, and unless we feel like building many many software packages, we will probably give a user RedHat or Mandrake.
People use linux over BSD in most cases because of the wider feature set (journaling filesystems, moderately mature SMP support, some of the BSDs have none) and the dramatically broader driver support. While BSD is catching up in some areas, like sound card support, it is still woefully behind in others. I used to run linux just because MIT-pthreads didn't exist on BSD at the time and I wanted xmms. How sad is that? Not for me, mind you, but for BSD.
So BSD is clearly not the fittest operating system as far as world domination goes. However, due to its lesser overhead (which is unfortunately growing every day) and yes, the clean TCP stack, it is sometimes ideal for embedded systems. Of course, various linux variants including rtlinux and ucLinux are making strong inroads into this space, which may serve to further displace BSD.
I'm a big fan of BSD, but if it doesn't keep up with the times, it's destined to be relegated to third-class status.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Do a few google searches . . . here is what happened with the BSD license and TCP/IP stack and Microsoft:
MS had ignored the internet for a while, and suddenly found themselves behind. They wanted TCP/IP in the next NT bad. So they went and bought a TCP/IP stack from a small company somewhere, and planned to partly rewrite it with each release as needed. But this third party just handed them the BSD stack. At that time, the BSD license had the advertising clause in it, so not putting that notice in there constituted not meeting the terms of the BSD license, i.e., distributing a work without holders permission . . . "piracy" as MS likes to call it. Note that we don't know that MS knew about it, they could have been hoodwinked by the company they bought the stuff from. Taking BSD code and selling as your own is pretty sleazy.
How was this discovered ? Well, MS NT 3.something had all the same bugs as the BSD stack. What's that, you say ? The vaunted BSD stack had bugs ? Again, hit google and see for yourself.
What was the end result ? Well, before the end of the NT line MS had modified the stack until it was their own, or re-written it from scratch, we don't know. MS gave a lot of money to the Califonia university system and the Reageants changed the BSD license to not have the advertising clause.
Let's reveiw all the lies and misconceptions, on both the pro-BSD and anti-BSD side:
1) MS choose the BSD stack because of the BSD license. No, MS probably thought they were buying all copyright to the code outright, and didn't even know about the BSD aspect; or maybe some engineers did and management / legal didn't. But if MS loved the BSD license, why didn't they just copy the code for free ? So, one may conclude that MS's use of the BSD code cannot be used to argue the BSD license is better than the GPL.
2) MS choose the BSD tcp/ip stack because it was a perfect implementation superior to linux or other alternatives. Well, it certainly had a few bugs. It was faster than the linux one. But likely MS was going to buy whatever came close to working that they could get fast; they only minimally cared about quality. Quality was something they would inject as needed in future vesions, they just wanted tcp/ip in windows NT now.
3) BSD licensed code is in windows till this day. Well, it's in NT 3.something and maybe one version of NT 4, and after that we don't know. One of the gifts the BSD community gives the world is viral code that can sneak into anything and can't be tracked because it's all closed.
4) This episode shows how the BSD license is better for the world because closed source can benefit from the work as well as free software. Well, it's true that non-free software can incorporate BSD licensed code, but the benefit to MS in this particular case is questionable. THEY PAID FOR IT. So saying "BSD was used by MS and MS saved money and thus all of us saved money through cheaper windows licenses and a more stable, faster, windows" is just wrong. There are other examples of BSD use in non-free software that make this point more clearly.
5) Microsoft is a proven hypocrite because they pirated other people's code. No, as in the case of MS piracy in France, what happened was that MS bought code that someone else had pirated, and MS probably bought that code unknowingly (else they would have downloaded it rather than pirate it, right ?)
There are a couple of other common spins on this story that also don't hold up under examination of the facts, but I can't remember them now -- search usenet for some of the flame wars.
Summary: the BSD tcp/ip stack in windows has become a misunderstood proxy for all sorts of messages which it doesn't support.
We've already established that MS ignored the advertising clause of the BSD license when it used the BSD TCP/IP stack. What makes you think that they wouldn't just ignore all of the clauses of the GPL?
Yes, BSD-licensed code may end up in commercial products. But that often beats the alternative. I'd much rather see Microsoft use a piece of software with a BSD license than have them hack their own--I already know that whatever they come up with themselves is going to be less compatible with the rest of the world and usually technically worse.
Most companies who use BSD code and try to keep it closed sooner or later realize the futility of their endeavor and publish it--there is just no point on keeping software closed when other people have very similar software already for free.
The GPL relies on a contractual obligation to ensure source availability. BSD relies on something much simpler: laziness.
The LGPL and GPL both are very useful, and I use them for my software too. But BSD isn't "insane"--it's a valid license and a good approach to open source software. And sometimes, giving commercial users more than they "deserve" is a good idea because it helps get the APIs and architecture of free software systems into commercial and proprietary products.
So, here is how I see good licensing choices that promote free software:
For software like kernels and command line tools, the GPL/LGPL often isn't very strong anyway because most commercial uses would not involve linking with the code. Note again that the GPL (or some even more restrictive license) isn't always the best choice for promoting free software. Imagine where Linux and free software would be today if the Linux kernel only allowed the execution of free software applications, or if the X11 window system only allowed the display of GPL'ed GUI apps.
So, in short, all of the *GPL and BSD licenses have their purpose. Which one is best for the promotion of free software depends on the software and the potential users.
I'm reading a Computer Networks textbook right now. The author frequently points out that the success of the TCP/IP stack can be largely attributed to the BSD license because companies had access to a well-engineered network staff for free. Otherwise, OSI protocols might have been chosen as they were the "hot" research/development topic of the 80's.
Exactly. This is why I prefer the BSD license - it is truly a gift, unlike the GPL, which just pretends to be.
I once read a story about "Freedom: I Won't", the idea that everyone has the basic right to say "I won't" when requested to do something by another, and that answer must be accepted.
The BSD license says "I won't. I've chosen to freely give this away. I won't make money off it, but if you want to add your own code to it and try to make money off the combination, you're free too. It's a gift, and like any gift, can be resold."
The GPL says "I won't - and you won't either. If you use this code, you become beholden to us, and you must release your code in order to further our political ends."
The GPL violates my Freedom: I Won't: it tries to dictate to me. Well...I Won't use the GPL then.