The Berkeley Software Distribution
abortretry.fail
abortretry.fail
BSD didn't have networking at that point. We bought 3COM's UNET.[1] That was TCP/IP, written by Greg Shaw. $7,300 for a first CPU. $4,300 for each additional CPU. It didn't use "sockets"; you opened a connection by opening a pseudo-device. UNET itself was in user space, talking to the other end of those pseudo-devices.
Once we got that going, we had it on VAX machines, some PDP-11 machines, and some Zilog Z8000 machines. (The Zilog Z8000 was roughly similar to a PDP-11) All of which, along with some other weird machines including a Symbolics LISP machine, eventually interoperated. We had some of Dave Mills' Fuzzballs as routers [2], and a long-haul link to another Ford location that connected to the ARPANET. Links included 10Mb/s Ethernet, a DEC device called a DMC that used triaxial coax cables, and serial lines running SLIP. A dedicated 9600 baud serial synchronous line to Detroit was a big expense.
My work in congestion control came from making all this play well together. These early TCP/IP implementations did not play well with others. Network interoperability is assumed now, but it was a new, strange idea back then, in an era when each major computer maker had their own networking protocols. UNET as delivered was intended to talk only to other UNET nodes. I had to write UDP and ICMP, and do a major rewrite on TCP.
When BSD got networking, it was initially intended to talk only over Ethernet, to other BSD implementations. When 4.3BSD came out, it would only talk to some other implementations during alternate 4 hour intervals. I had to fix the sequence number arithmetic, which wrapped incorrectly.
And finally, it all worked. For a few years, it was said of the TCP/IP Internet that it took "too many PhDs per packet." One day, on the Stanford campus, I saw a big guy with a tool belt carrying an Ethernet bridge (a sizable box in those days) under his arm, and thought, this is finally a working technology.
[1] https://archive.org/details/bitsavers_3Com3ComUN_1019199/pag...
[2] https://eecs.engin.umich.edu/stories/remembering-alum-david-...
UCSF and UCB (as well as all the UC campuses and enterprises) are technically the same legal entity, incorporated by article 9 section 9 of the California constitution. Strange that they signed a license, when I worked for the regents we called them MOUs if it was a "contract" with another part of ourselves.
When I started working for UCSD and found out we were licensing BSDi for some boxes I was sort of confused, like why don't we get that for free?
MOU = Memo of Understanding?
(Which are typically non-binding but formalized acknowledgement of intent)
We also had a policy to follow state law (which does not apply to UC unless UC is specifically mentioned in the law).
(https://leginfo.legislature.ca.gov/faces/codes_displaySectio...)
Livermore / LLNL is fully owned by the feds.
https://i.pinimg.com/originals/c0/fd/c8/c0fdc8612e07d7562b25...
He's also known for presenting at USENIX on how to enable a hardware-disabled (but physically present) instruction on a cheaper version of the PDP/11. You'd cut a trace in the microcode and add a jumper wire, and presto! you had a fast floating point instruction that was previously disabled.
-checks-
Add ZIL to that list as well, as the p-System dates to 1977 and ZIL to 1979.
(For a long time, before git and subversion, even though the official freebsd repo was in CVS, a lot of development happened in perforce)
Interesting - that I didn’t know. Based on my personal p4 experience, I’m sorry anybody else had to use it.
That said - nobody has mentioned that git (and hg) was preceded and directly inspired by Larry McVoys BitKeeper[0]. Indeed, I’ve heard rumor that both “git” and “mercurial” were named after people’s perceptions of others personalities during the Linux/BitKeeper breakup/debacle.
I met him 15 years later. We had some casual chat about this and that. And at some point he said—
Well, I have to give you a bit more of the context. He was a junior front-end (React, ofc) developer at that point. Yes, 15 years later! He just arrived into the profession due to his wild incompetence. Although he sold himself as a senior to the company! Still, he was very incompetent, and I had those wild eyes of wondering how on Earth some company would even hire such a guy, not to say giving him a senior role!
He was talking about this front-end thing. That there’s that other OS, Ubuntu, and he thinks he’ll try it instead of Windows. As drumroll for some reason (for some reason!) this git thing works better on Ubuntu than it works on Windows. My first try of Linux was like 15 to 20 years before the talk, so I was like spilling my coffee on him with laughing.
And here is your comment, casually pretending everyone on HN is aware of that history of git. And that it’s that git guy is somehow related to this Ubuntu thing, you know.
RedHat would have been a "BSD company", systemd would have been a "BSD thing", Hans Reiser would still have written ReiserFS, but for BSD, Steve Balmer would have ranted that "BSD is cancer", etc.
There would be some technical differences of course, but I suspect many of them would be relatively small and not all that interesting.
So basically it would have been "Linux, but with fewer Penguins and more Satanism".
From https://source.android.com/docs/setup/contribute/licenses:
> For userspace (nonkernel) software, Google prefer Apache 2.0 (and similar licenses such as BSD and MIT) over other licenses such as the GNU Lesser General Public License (LGPL).
Android is already permissively licensed and that's half of why Google can legally lock things down[3] so easily. The other half being that Google requires a CLA from outside contributors, which is just plain silly for a permissively licensed project. Then again, GNU did the same thing at one point.
In the alternate world where BSD was unambiguously legal and RMS was the Ted Nelson[4] of Free Software, I don't think they would have independently invented copyleft. A lot of the BSD people had very reactionary opinions to the concept, and while some of it might be motivated by their personal disdain for RMS, it's hard to separate RMS and copyleft.
Given all that, a legally unambiguous BSD almost certainly would have wound up being eaten by Microsoft rather than AT&T and the UNIX Wars. All the anger from early 2000s Microsoft about Linux was solely because the GPL prevented them from just writing a better version of Linux or GNU that other people couldn't have. Microsoft was very good at taking open standards and extending them with the goal of making their implementation replace the standard. The GPL copyleft was the perfect thorn in the foot of a Microsoft that liked to cheat the norms of standards bodies.
[0] At least on early versions of Android, this went as far as changing all the system paths. GNU and Android can technically coexist under the same Android/Linux kernel.
[1] Even the FOSS release of Ice Cream Sandwich deliberately omitted all the Honeycomb-related tags to frustrate attempts to use Honeycomb under the FOSS terms of the later AOSP release.
[2] Linux is commonly stated to be GPLv2, but it additionally has an exception stating that user-mode code never trips the GPL copyleft, as a "just in case" sort of thing. This is the reason why Nvidia is allowed to have kernel modules, and also the reason why Linus explicitly refused GPLv3. The v3 anti-TiVo clause forbids you from shipping an application on the same consumer electronics system as GPL software, if the application refuses to run if the GPL software is modified. This is perfectly reasonable for GNU but flies in the face of the whole "user mode APIs are not copylefted" thing.
[3] Android ain't done 'till Termux won't run.
This is a strange counterfactual to propose, given that Microsoft at one time sold the most installed Unix on the market: Xenix. Which it later abandoned. Given that they were licensing System 7 from AT&T, why would a tweak to BSD licensing result in them "eating" it?
I for one only bothered with Linux initially after having learned UNIX on Xenix at the technical school, and using DG/UX on university campus, because POSIX support on Windows NT was so flanky, and later on it was more practical to deal with dual boot than SUA.
In this environment, Microsoft wound up writing several attempts at home-grown "real OS" projects: Multitasking DOS 4, and ADOS, which then became OS/2. None of these succeeded. OS/2 got close, but Microsoft really didn't like working with IBM, and Windows 3[2] was selling way better. Microsoft ultimately got itself out of this dilemma with NT and Windows 95, both of which used a slightly modified Win32 API that was "real OS" compatible. However, that was almost a decade during which any number of companies could have easily upended, if not killed the company.
BSD didn't start separating itself from AT&T owned code until 1989. Had they done so earlier, Microsoft could have pivoted to a BSD-based XENIX and saved themselves the cost of an AT&T license (which drastically increased with SysV). Microsoft could have shipped Windows on top of that instead of, say, the hackery that was WIN-OS/2 or waiting for Dave Cutler to design and build NT.
[0] Virtual memory, apps run in protected mode ring 3, and preemptive multitasking.
[1] Seattle Computer Products, not the SCP Foundation
[2] Which is not a "real OS" in the sense that it's technically near identical to the Macintosh's system software.
In short, I don't think it would have made much of a difference. "GPL vs BSD" is an old debate that's been done a million times, and I never seen any convincing argument one way or the other. Plus there's long been copyleft (GPL, CDDL) parts to many BSD systems, both in userspace and kernel.
Without the Linux kernel we’d have a bunch of competing proprietary forks bickering at every turn.
You could have forgotten video drivers from major vendors like NVidia. Even with Linux it was an anomaly.
Linux didn't force anyone to keep stuff together. It just is to your advantage to work together most of the time. Anyone who didn't work together soon paid a price as something you want couldn't easily be brought to you.
If BSDs had won, there would have been very little incentive to upstream patches or provide source code to customers, but a lot of incentive to pitch the vendors proprietary additions as something special. Every company selling a solution would have been tempted to close off the source and not give anything back. Back then, it was a knee-jerk reaction to keep as much as possible in-house.
Everything begins with hardware support.
The standard distributions also all used glibc and GNU utilities which is also GPL. For the longest time all standard distributions were based on either RedHat or Debian.
I think Linux shaped the industry in very special ways which would not have come naturally in a non-GPL world. Things today are by-and-large extremely open, with github etc being almost a force of nature, but my hunch is that this outcome was not a given which would have just have happened in some kind of manifest-destiny way. I think the world could easily have tipped into a much more proprieraty path without GNU and Linux.
Does copyleft help? Perhaps, but that's not clear to me. There are tons of successful non-copyleft projects so copyleft certainly doesn't seem to be a requirement, and look at how many companies are violating the GPL and basically just keep doing it. While GPL suits do happen (just last week in France), in general they're exceedingly rare, and the risk consists of a bit of negative publicity among a small number of people.
All of this is of course an old discussion, and to be fair I don't think anyone can be sure of anything here which is why people have been discussing this for 30 years. Basically we'd have to construct an alternative universe to be sure.
Secondly with integrated user space and kernel packaging and distribution would not be a necessity. That would change a lot of things.
Microsoft had taken the TCP implementation from BSD for Windows as shown in the copyright notice. The relationship would be different.
We would not have alternate libcs. Containerization would be built around slightly more heavyweight jails which look like real systems as more software would be assuming that environment.
With systemd there is a real need, but I would hope the solution is better.
Or: all the people that worked on those Linux things wouldn't have worked in a completely different field: they would have worked on BSD, presumably with (roughly) the same interests, and (roughly) the same opinions. Of course it wouldn't be exactly the same, but roughly, from a high level? It would probably be very similar.
No. Windows has never had TCP from BSD. This myth was very popular in 200x on some *nix forums however.
The copyright in question is related to the command line 'ftp' client.
« My first choice was to take the BSD 4.4-Lite release and make a kernel. I knew the code, I knew how to do it. It is now perfectly obvious to me that this would have succeeded splendidly and the world would be a very different place today.
RMS wanted to work together with people from Berkeley on such an effort. Some of them were interested, but some seem to have been deliberately dragging their feet: and the reason now seems to be that they had the goal of spinning off BSDI. A GNU based on 4.4-Lite would undercut BSDI.
So RMS said to himself, "Mach is a working kernel, 4.4-Lite is only partial, we will go with Mach." It was a decision which I strongly opposed. But ultimately it was not my decision to make, and I made the best go I could at working with Mach and doing something new from that standpoint.
This was all way before Linux; we're talking 1991 or so. »
As a VP of the Free Software Foundation, the author of the quote you've shared is not well-positioned to recognize the reason a person might not enthusiastically cooperate with Richard Stallman: a fairly large percentage of the people who deal with him find him supremely annoying.
That is an entirely fair point.
I've never met the man. I did consider hosting him when he was visiting London about 15 years back, and now, I wish I had done.
OTOH, I do think his intransigence was integral to getting the Free Software movement off the ground.
I'm not sure a Linux-like ecosystem would be possible on BSD licenses. With GPL, company A is free to contribute code without the fear competitor B will take it, make some improvement, and pack it with their proprietary product to undercut company A. This is an important selling point of licensing your tech as a commodity that cannot be exploited to gain a competitive edge on you.
> I wish I had done.
A friend of mine who hosted him says "it was an honor, but not a pleasure".
I think you're right. Paradoxically I suspect that this is both what keeps FreeBSD alive and also limits it.
> A friend of mine who hosted him says "it was an honor, but not a pleasure".
:-D
That's good. I like it.
My uninformed understanding is: Darwin is Open Source, so when they improve/extend/modify it for their own needs (Darwin still is the foundation for macOS, iOS etc.), they must make those changes available.
These sort of copy-left licenses rely an awful lot on good faith, and that does not contend for human nature.
Even if someone could prove it - good luck legally compelling Apple to do anything.
Disassembly would work.
> These sort of copy-left licenses rely an awful lot on good faith, and that does not contend for human nature.
This is not a copyleft license. Also, copyleft licenses rely on lawsuit, more than good faith.
> Even if someone could prove it - good luck legally compelling Apple to do anything.
If Apple gets sued, they do have to show up in court. If they lose, they must pay damages. If they're injuncted, and do not comply with the injunction, the courts can take any number of actions against them in response. I don't sit on Apple's board, but I can't imagine them preferring an arbitrarily-large fine over releasing GPL-licensed code which Apple modified without complying with the license.
This is a very naïve view of the legal process. Apple could, and would drag the process out and make it as costly/lengthy as possible. They can outlast any feasible plaintiff - especially in the FOSS world (what we're discussing here).
It matters not how just or righteous your case may be. It only matters how deep your pockets are.
Apple's are much deeper than FSF or any other organization that would bring a suit. It's that simple...
> Disassembly would work.
Doing so would violate their EULA/TOS and expose yourself to a suit as well. Fun times.
> Also, copyleft licenses rely on lawsuit, more than good faith
How many of those cases have actually seen a courtroom - and how many did the plaintiffs actually prevail?
You can refuse to distribute binary and/or source code, or your private copy thereof, entirely, with FOSS. You don't have to send your fork to non-users randomly asking for it, even with AGPLv3.
It's just a totally fine and also easy conformance that is slightly beneficial to all.
At the very least, you can say that OS X is more BSD than Linux is GNU.
The UNIX compatibility on NeXTSTEP, and follow up culture on OS X, was that BSD layer was to bring UNIX stuff into the system and get those DoD contracts, not much so for the software born on the platform.
Even NeXTSTEP drivers were Objective-C.
Sun almost up-streamed NeWS, and they did a ton of other stuff that should have continue to go into BSD. Driven by Sun as the primary BSD advocate, BSD would have dominated being both open and with a powerful backer.
Sun really had the largest unix mind-share and most application were targeted at Sun workstations. Eventually this resulted in the Unix wars because lots of people were afraid of Sun/AT&T.
Sun could have avoid that and simply made itself and BSD the standard. If that standard was open, there wouldn't have formed a powerful alliance against them. AT&T would still have tried but non-open alliance lead by AT&T wouldn't work out well.
But because of a bunch of lawyers and eventually one bad quarter, Sun went full out proprietary and joined itself to AT&T.
And I'd recommend coming to a conference, just so you can talk to Kirk. He's one of the most down to earth, friendly and just generally nice luminaries I've ever talked to in person.
One bit I remember from his presentation was his parable of BSD as the building of a road, with Bill Joy (IIRC) hacking a path through the jungle with a machete, someone else driving a bulldozer along that path, somebody pouring asphalt, somebody adding streetlights, and finally somebody (I seem to recall it was Sam Leffler) painting the streetlights.
But I wanted to make sure he gets some money, even if the talks are mostly online anyway.
Nice work by the author. Without people taking the time to write things like this up history gets lost.
Years ago I build one of the first local search engines for the Netherlands called Search.NL. I am indebted to the writer of the only page that refers to this history any more here:
What first struck me when we moved from SunOS to Solaris was just how clean and simple SunOS was to manage, from the directory structure to the /etc configurations to device file names. Yes, there were different ways in Solaris to address the disk block device (physical, logical, etc.) but it always made me cringe that something I'd addressed as '/dev/sd0a' now became something like '/devices/iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@0,0:a', or at best '/dev/dsk/c0t0d0s0'. The /etc/ filesystem hierarchy also got a lot more complicated. I felt the SVR4 Solaris was far less elegant than SunOS.
Guess it was also because of the relative maturity of SunOS, but I felt things just worked as expected and the OS itself was generally snappier than SVR4/Solaris on the same Sparc hardware. Eventually we had no choice but to move to SVR4/Solaris but I still have fond memories of a simpler time and a cleaner SunOS.
Sun wanted to make SMP work, so Solaris was a huge amount of work and was incredibly buggy for a long time. Sun effectively lost a huge amount of time going threw this transition and it took years to be back to the same amount of stability. Bryan Cantril talkes about this in LISA11 - Fork Yeah! The Rise and Development of illumos [1]
But not everybody agree, if you read 'Sunburst: The Ascent of Sun Microsystems' that was written in 1991, they are very pro the AT&T deal and explicitly call out the BSD people as 'anti-Standard' and thus anti-Sun.
The real difference there is the argument about what a Standard is. Their approach is basically Unix belongs to AT&T and therefore they are the standard. While the (in my opinion) more correct argument was that BSD/Sun had the most software and they were the defacto standard and being more open, continuing be the standard was what Sun should have done.
Another incredibly important battle was over X vs NeWS. NeWS was arguably technically superior. There is a nice talk by James Gosling about it [2]. It still had technical problems but it would have been a great base to build off. But because some companies, lead by Dec made X open(ish) and many embraced it, X became 'the standard' and thus many at Sun basically said 'Well X is the standard, so therefore we have to switch to X'. Instead of saying, lets make NeWS open and try to be the Standard.
The Sun transition also hurt their costumers. In "LIFE UNDER THE SUN: My 20-Year Journey at Sun Microsystems" David Yen mentions costumers bitterly complaining about it. They made the transition very, very aggressively basically telling costumers to STFU. David Yen loved the aggressive approach because he was selling massive SMP servers that need Solaris. SMP servers where clearly where Sun saw the future.
If Sun had embraced BSD, open sourced NeWS and made the SMP transition in the open, Unix might have gone into the 90s being an unstable juggernaut.