Theo de Raadt on Plan 9 licensing (2003)
groups.google.com
groups.google.com
When I was younger, I thought that the OpenBSD folks were backward and unsophisticated when compared to Linux. I imagine that a lot of younger people feel that way. But after working with various systems over the years, I can now really appreciate that simplicity. It's really the heart and soul of OpenBSD, OpenSSH and all the other projects (libreSSL, etc.) that they release.
Looks like Theo correctly predicted the advent of clang.
Related: http://www.quora.com/Compilers/Why-did-Apple-create-Clang
It used to be fairly typical for large C++ applications. Chromium and Firefox had problems with it before GCC got fixed. Sounds like clang still has work to do there.
I'd like to see a return to a simpler time. We can afford to lose some of the optimisations now and produce clean, simple, fast and predictable compilers.
I think Roslyn/RyuJIT on the .Net platform is an example of where this all falls apart: bad tail call optimisation leads to non-determinism in parameter passing. If the compiler consists of lots of code then there are lots of bugs and you can't afford bugs there.
In fact there was a rather inflammatory blog post[1] whose basic theme was that "Golang is trash" because the toolchain was so simple. One of the main Go developers then responded[2] on HN. Different people value different things I suppose.
1. http://dtrace.org/blogs/wesolows/2014/12/29/golang-is-trash/
Go uses customized but recognizable derivatives of the Plan 9 compilers. Go's compilers are really only intended to compile the Go tools, so you might find it painful to build anything else.
Getting 6c/6l/6a compiled on Linux would be easier these days because gcc's -fplan9-extensions flag will bring you pretty close... check out https://github.com/rminnich/NxM/tree/master/util for the source and scripts to build them on Linux. I believe you can make it output elf binaries but I've never tried using them to build a Linux program.
Compiling with debug information embedded raises that to around 12GB to do it in a practical timeframe, though it may have dropped recently with some tweaks that have been published on llvmdev. Unless you've willing to wait a few hours.
GCC is no slouch in that area either but its usage spikes feel lower.
(Source: compiler dev)
The OpenBSD team were interested in said toolchain to replace GCC. His railing at the Plan9 team was a little unfair, we (the team and the community) mostly agreed with his basic point. It was Lucent legal that walked slowly.
This was a time when money was on fire at Lucent. Bell-labs had removed every other lightbulb as a money saving exercise for example. Playing at Open Source wasn't very high up anyone's todo list.
The initial opening of the code in 2000 was just too late for plan9, the GPL was eating the world.
At the right time they might have had just that. I do hate Lucent's lawyers for the roadblocks.
Who actually owns the copyright on Plan 9 these days?
Licensing info here:
OSI is not about free software. It's not even very good about open source. They seemed happy if people had access to the source code regardless of the terms around it. They approved lots of licenses that had crap in them.
IMHO BSD/MIT or GPL/LGPL are pretty much it. If you need a different license than those, you've probably got an agenda. OSI gave a rubber stamp to different agendas.
I'd be delighted to learn something I don't know. I asked Stallman once, and he could only remember a case where OSI messed up and then fixed it when they realised.
Apple Public Source License - was nonfree before 2.0
Artistic License 1.0 was nonfree. 2.0 is.
Reciprocal Public License - FSF doesn't indicate a revision, but OSI shows a version 1.5.
Without history it's not clear weather these were OSI approved before revision. There are also some in the OSI list that are not on the FSF list, so I'm not sure if they're free or not.
But I still stand by my second assertion that most of them are unnecessary. If you're not BSD/MIT compatible and not GPL/LGPL compatible, your code will probably have a limited life.
OSI has history. All licenses approved by OSI are either on the current list [0] or the superceded list (where the originator of the OSI-approved licenses has indicated it should not be used for new work) [1].
The last sentence isn't true unless the FSF has also done so; there aren't lots of OSI-approved Open Source licenses that aren't also blessed by the FSF as Free Software licenses (the same is true in reverse, as well.)
Technology as an industry would be better if we discarded it.
I'm sick of this idea that "professionalism" == whiny or politically correct and being "honest" allows you to be a jerk. The entire thing is so unproductive.
What it comes down to is that someone being a "jerk" can be willfully ignored or looked past to see what their point is. (And IMO, stubbornly refusing to do this is a lot more of an indication of childishness than how few four letter words you use.. i.e. it's a tone argument, i.e. near bottom of PG's hierarchy)
If the "point" part is unclear, there's no looking past it, and the problem never gets solved since asking someone to stop beating around the bush is seen as jerk behavior.
If Theo accidentally sells a CD to
North Korea, the US can fuck him.
Thanks OSI. Thanks for being so damn patriotic.It also says in term 4:
Sell this in a product in ways which "we" do not like, and the
contract you have accepted says you can be fucked by anyone
who owns this license later and who decides they want to fuck you.
Who is "we". You don't read term 4 that way? ."Is he for real ?