Episode: 1486
Title: HPR1486: Linux Luddites Episode 11 - Interview with Rob Landley
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1486/hpr1486.mp3
Transcribed: 2025-10-18 04:07:18

---

This episode is released under the Creative Commons Attribution Non-Commercial 4.0 International License.
Hi, this is Kevin Fallon, and as stated on the HPR Contribage, we will continue to promote
new podcasts and other Creative Commons material, but due to lack of slots, we are only releasing
material created exclusively for HPR. If there is a piece of Creative Commons content
that you would like to promote, then feel free to record a regular show where you introduce
the content and explain why it's important, providing links to where we can get more information.
Today, I'm doing just that. As a member of the HPR community, I would like to bring
to your attention the podcast Linux Lodites with the tagline, not all changes progress.
Taking the name from Linux, the operating system kernel developed by Linux Torvalls,
and Lodites from the 19th century English textile artisans who protested against newly developed
labour-saving machinery. While I don't particularly agree with everything that they say, the discussions
are always very interesting, and both of the hosts provide an ideal balance to get the
discussion going. As an example, I'm submission Episode 11, which includes a fascinating
interview with Rob Lendley, former maintainer of busybox, and covers among many other
things, his experiences of GPL enforcement. If this podcast is not in your feed, I strongly
suggest that you add it, and if you have other shows that are new to the scene, and new
to the scene means not listed on Linuxlink.net, site hosted by Dan Washko, of the Linux link
text show, then consider contacting us about it, and we'll submit it to the Linux link
.net for you, but also consider submitting an episode that you think encompasses what
the podcast is about here to hack our public radio. And now with a further ado, I'll
pass you over to Episode 11 of Linux Lodites.
Episode 11 for the 17th of March, 2014.
Hello, and welcome to Linux Lodites, the show where we try all the latest free and
art and source software, and then decide that we like the old stuff better. I'm Joe,
and I'm Paddy, so what have you been up to since the last show, Joe?
Well, I got my Nexus 5, which was very exciting, and as a result of that, I've been playing
with various other operating systems on the Nexus 4, and the Nexus 5 is pretty good, I must
say, it's pretty much a slightly better version of the Nexus 4, which was a great phone
in the first place, and I got mine in the Bright Red, which really is Bright Red. For
UK listeners, it's almost Dyna Rod Red, which is a drainage company, and their vans are
really bright, sort of, orangey red. And it's pretty good. It's a little bit more stable
than the Nexus 4 in terms of crashes and stuff. But then there's a few downsides as well.
Next messages, for example, get sent to Hangouts by default. They kind of all combined your
Hangouts and Texts, which I didn't like at all, so I had to install Handsent SMS, separate
application, but that seems to work perfectly well. And there's not much to say about it
really. Going from a Nexus 4 to a Nexus 5, it's not a huge difference at all. It's
just a high resolution screen, slightly faster, and slightly smoother, really. So I'm
glad I've got it, and I got it for a pretty good price. And the red one, was that because
pink wasn't available? Yeah, yeah. Now, I thought, well, why not get it in red, black's
boring, and I've got two cases for it, a black case and a clear case, both bought for a pound
of eBay. So if I get fed up of the red, I could just put my black case on it, and then
you wouldn't even know apart from the little earpiece speaker, which is Bright Red as well.
What interestingly is what I've been able to do with the Nexus 4, and so I tried out
Ubuntu touch, not very good, I'm afraid. And Firefox OS, albeit not the latest version,
again, a little bit better, but not great. And I look forward to trying Sailfish OS when
that comes out, and possibly we might go into more detail on those in a future show.
What have you been up to then? Well, fun and games with my phone line and broadband,
BT, who's a Telco in the UK, decided to chop us off while still fixing a neighbor's phone.
So I was without for a couple of days, which isn't a really big deal, but it kind of makes
you realise how much you rely on it. And sadly, where I live, the 3G coverage is so bad,
I couldn't even do tethering on my phone, because my phone works on 3G out in the garden,
which kind of makes life a little impractical. Right. I shouldn't rub it in that last
night in Camden. I did a 4G speed test and got 28.8 down. That's megabits, and 17.39 up.
That is kind of rubbing it in since I don't get that off my broadband business anyway.
Yeah, that's only one I'm out and about to be fair, but yeah.
Yeah, well, you live in a big smoke, don't you say?
Exactly. Yeah. I guess the other thing I've been doing, which has been a little bit for
Stracing, is we thought about doing a feature on a future show,
about obviously XP's coming to end of life. So I thought it'd be interesting to have a look
at some of the Linux distros that were from the same vintage. So I've been playing with Red Hat,
Linux 7 and Mandrake and Debian version 2 called Potato, for anyone who doesn't remember.
And although they obviously work fine in the VM, I really wanted to get them running on real
hardware as well, so compare them with XP. And sadly, the oldest box I've got is a P4,
which is a pretty crafty old box, but the thing about it is these distros all came out in 2001,
the same as XP. And sadly, the graphics driver on the P4 wasn't available under Linux until 2004.
So whilst I could get things running, they would only work under the standard VGA driver,
and obviously everything looks absolutely shocking at 640x480 at 16, 16 colors. So I don't think
it's a fair comparison to be honest. I think we're going to have to shelve that as an experiment
for a little while. Right, because I was looking forward to bust it out my old ThinkPad,
which is from at the late 90s, I think, which presumably would have been supported, because I know
ThinkPads are generally well supported under Linux. So that would have been interesting. It's a
shame. Maybe we'll, I'll have to dig out another graphics card for you that was supported.
Yeah, I mean, it was nice looking at things apart from the screen, obviously. It just made me
remember how good KD actually used to be, and it was a very lightweight and functional desktop
at one stage of its life. But yeah, be good to revisit at some stage. Yeah. I also had some
dealings with End of Life for XP. Someone I know running a small business, a small home office,
had an ancient Dell laptop that was running XP, and obviously that's coming to End of Life
very, very shortly. And so I explored various options. The first one obviously been some sort of
Linux, but the conclusion that we came to in the end was they had to buy a new machine and
had to install Windows 7 on it, which doesn't really look good for Linux, does it? And it really
boils down to printing and scanning, which you can get to work. I mean, to be fair, it's the
fault of the printer, it's a brother printer, and we could have maybe got a different one. But
I must say in my experience of Linux generally printing and scanning, it's hit and miss. I mean,
is that fair to say? I think that's fair to say driver support has always been an issue. Although
for a lot of modern kit, I think the driver's support in Linux is actually better than in Windows
certainly than in Windows 8 for some of the products out there. Oh, well Windows 8 was never
even on the table. I had to actually search quite hard, not only to find, first of all,
looked for a laptop that would have Windows 7 pre-installed, and you're looking at a premium of
about 100 pounds of a similar spec to machine running Windows 8. So obviously the suppliers who've
got old stock have cut them down to the fact that it's worth more with Windows 7. So then it was
a case of, well, let's get something with Windows 8 and install Windows 7 on it. But driver support
now is woeful. You go to the manufacturer's websites, and they just don't have any Windows 7 drivers.
In the end, I found a Lenovo, quite a low-end Lenovo, that did have Windows 7 drivers, so that was
all fine, and it seems to be running perfectly well. But yeah, it's just a shame, real missed
opportunity there, and I think that I don't know who to blame for it, really, the fact that printing
and scanning just, I tried to get it working briefly, and I just thought if I have any problems,
then I can't leave someone in that situation where they're going to have potential problems,
because with Windows 7, press print, it just prints instantly. You can, I've said it upside,
presses one button on the scanner, and then it scans it in, opens up Thunderbird, ready to email
off that scan, which is mostly what he does. So you just, I couldn't get that running. Well, okay,
maybe I could get that running in Linux, but it's just too much of a headache, and I think that
one of the advantages of Windows is that it doesn't really require constant support, does it?
You kind of set them up with it, and anyone can support a Windows machine. Whereas with Linux,
you need someone who knows what they're doing, and I'm not around all the time to help out with that,
so I'm afraid that was a fail for Linux. Yeah, I think it partly comes down to
market share of individual bits of Linux as well, doesn't it? I mean, you look at some of
that Windows, as you say, anybody can pick it up and support it. In the Linux world, we've got
so many competitive distros, and they all work slightly differently. It makes life even more difficult
than you need to be. Yeah, yeah. Oh, well, on that frustrating note, let's move on to the news then.
First up, then a critical crypto bug in GNU TLS leaves Linux open to man in the middle attacks,
and there's been varying degrees of alarm on the internet this week about that. Some people
saying, well, hardly anyone uses GNU TLS anyway, so it doesn't really matter. And then other people
saying that it's such a critical bug that's been around for 10 years, nearly, and it's just
unbelievable that it's been allowed to happen. Yeah, it was found by a Red Hat engineer doing a
code audit. As you say, a lot of products out there don't actually use the GNU TLS, so Firefox
and Chrome weren't effective, for instance. But my understanding is that other web-facing
products like Cloresmail, FileZilla, Pigeon, they all were using it. I guess the interesting
question about the whole thing is how a book like this couldn't exist for, as you say,
nine or less 10 years without being noticed when one of the supposed benefits of open source software
is the many eyes aspect. Wasn't it because it was in a critical part of it that doesn't
really get developed, and so it didn't really get looked at because they kind of didn't think
they needed to look at it? Yeah, that's my understanding as well, and also I think it's partly
down to code complexity for these systems, and also expertise. I mean, you need specific domain
expertise to understand what some of this stuff is doing. I think this book is slightly different,
though, if you look at what it was, and I can stick a note on the show notes for this, it's a fairly
basic fundamental C coding error, so not quite on the same level as the go-to fail that we had
recently from Apple, but nonetheless, I would have thought somebody would have noticed.
Because it is quite an esoteric area, isn't it? There's not many people can look at that code
and really understand it. It can't understand the logic of what it's actually doing necessarily,
but I would have thought anybody looking at it, and it's returning a Boolean value, but it isn't,
would actually spot that, so I'm not convinced on that from particularly. Matthew Green,
his well-known cryptographer, said that it was really a lack of decent testing tools to help
contribute to this problem, and he said that, quote, clearly people need to run their TLS
implementations through test harnesses and tools that may not exist yet, which is obviously
going some. As I said a minute ago, it's also partly down to how people approach writing code,
which is obviously something I'll bang on about on this show on a number of occasions.
Melissa, earlier, from Veracode, said it's stressingly easy to accidentally write a book like this,
because it doesn't cause anything to crash, and she said that full featured sea compilers can warn
you about books like this, but false positive rate, that is instances where it can't possibly do
any harm. It's high enough that most programmers are inclined to ignore them. Yeah, I read that,
that's a bit alarming, isn't it, that they just get so many false positives that the actual
positives just get lost in the fog of all that. It is a tad annoying, and as I've said, it's
something I'll bang on about on the show on a number of occasions, so I won't do so again, but
if people wrote code that actually stuck to standards and actually turned all the error messaging on,
you really want to be finding no errors in your code whatsoever, and if you are getting errors,
certainly if you're getting so many errors that you choose to ignore them, then that's a sign
that you're not doing things right, in my opinion. Yeah, fair enough. Anyway, let's move on.
Another security issue though, Valve has asked their users to disable Secure Linux in order to
play Portal 2, and this is apparently because Portal 2 uses the Miles Sound System MP3 decoder,
which uses a feature of the kernel, which is normally disabled by Secure Linux.
Why don't they just use LAME and stuff, then? My understanding is they're actually using it for
more than straight MP3 decoding. The actual issue we're talking about here is the fact that this
particular MP3 decoder appears to allow right and execute in the same part of memory, which is
something that all modern operating systems will prevent or do their best to prevent, because it
obviously allows buffer overrun attacks. All right, so really they shouldn't be telling people to do
this. They should be sorting it out and using a different decoder. Yeah, that would be a nice
issue. Obviously, it follows fairly hot on the heels of disclosures from a month or so back.
Valve were looking at you, DNS cash and tech cheaters, and I know they've obviously got a lot of
goodwill in the Linux community, but I wonder if we sort of get a drip drip of these sort of stories
about Valve, how long after last? Yeah, and people seem to be really singing their
praises and are, wow, they're doing this Steam OS and helping out the Debian developers,
given them free games. But let's not forget that they are a proprietary software company and
therefore evil. Speaking of evil, no, no, speaking of other completely non-evil companies,
Red Hat has introduced K-Patch for dynamic kernel patching then. That doesn't seem like a very
good idea to me. Well, it's interesting. We've got Oracle's K-Splice and Sousa obviously got
K-Graft already. I suspect I'll share your doubts on this because I mean, people say it's
for critical bits of kit that you don't want to be taking off line, but in that case, wouldn't
you have redundancy anyway? Wouldn't you have another box there so you could actually take a
critical piece of kit off and still provide the service? My take on it is it's good to know what
state your box is going to come back to life in and you're not going to know that until you do reboot.
So after you've been running dynamic kernel patching for a year or two without rebooting your hardware,
how are you going to know it's going to come back up in the state you expect?
Exactly, because you potentially are going to compound bugs, aren't you? By doing a number of
these dynamic kernel patches, so potentially you might have a small problem that then it's
compounded and compounded and compounded, and if you don't reboot the box for a couple of years,
which is not unlikely, then yeah, as you say, you potentially got a disastrous situation where
if the power goes out or if for some other reason you need to reboot it, I don't really understand
the need for it really. As you say, surely they've got redundancy, so yeah, a bit of a strange one.
Okay, then moving on from the service space into mobiles, Garnor have come out with a report saying
that worldwide tablet sales grew 68% last year, and Android is now capturing 62% of the market.
Yeah, not a huge surprise, really, is it? I mean, as usual, Apple comes first to the market
arguably, and then Android comes along and does it better and cheaper, and people
break the spell of Apple and realise that hang on a second, I'm paying all this money for an iPad
when I could buy an X7 or an X10 or whatever Samsung tablet for less money, and it's going to do
more for me. So I'm really not surprised about this, really. No, I know a lot of Apple fans out there
were forever saying that they would never lose the crown, but I think it was fairly obvious that
once the Android tablets got good enough, and let's be honest, they weren't for a few years,
they were pretty, they lost some very shotty products out there, but they're good enough now
that it was going to go this way. Garnor also said that it's largely down to emerging markets where
with growth of 145% last year, while in markets like ours, they only grew by about 30%.
Because you've got those really, really cheap Android tablets, a friend of mine bought one for
15 quid or feeble or something, and it's 400 by 600 resolution or something, and single core,
and really a bit rubbish, but I know that in the developing markets, they are quite
popular those low-end tablets, because it's at least a cheap way to get online. But potentially
Firefox is a better RS for these developing markets. It is, yeah, potentially. I mean, the
seven billion people in the world, and out of that there's about a billion smartphones currently
in use, and about three and a half billion feature phones. So, I mean, obviously there's a lot of
room for marketplace growth there for new entrants, and the story we're going to link to in the
show notes was from a guy who's arguing that cost is a huge factor in people's decisions,
particularly within developing world. Yeah, I mean, it's a big decision in my life. I'm not going
to spend hundreds and hundreds of pounds on a smartphone, whereas a relatively cheap one for
me, 240 pounds for a Nexus 5, and if you sort of extrapolate that to the developing markets,
if you really can get a $25 phone, obviously that's a lot of money in developing countries,
but at the same time, it is an achievable goal for people, and because Firefox, as we mentioned,
GlassShow is aimed at this low-end hardware, it sort of makes more sense than Android, really.
It doesn't mean hardware costs always drop down there. If you think about PC development,
your hardware got better and better for the same amount of money over the years,
I think with Android we're seeing the same thing that we also saw in desktop systems where
the hardware races on, but the software, the needs of the software stack actually
exceed that, and people are always writing code that's more and more bloated and resource hungry,
so it's very hard for the hardware to keep up. Yeah.
And the other point the guy makes in the article is that potentially it's easier to do
development for Firefox with it being more web-oriented, and obviously the possibility there is
that folks in developing markets or wherever can actually develop applications themselves,
rather than relying on some of the bigger companies out in Silicon Valley to provide all the
stuff for them, which I think is a perfectly reasonable point as well. Yeah, yeah.
But of course, even getting online in some of the developing world can be difficult,
which brings us onto the next story, and Facebook potentially buying a company called Titan,
and this company has prototypes of drones that can fly for up to five years and provide internet
access from the sky. That's right. I mean, they haven't produced any commercial products yet,
only technology demonstration, but as you say, the battery life they're claiming for these
drones is five years or so. I mean, it obviously follows Google's balloon idea to pop up some high
altitude UAVs to provide net connectivity, and they're initially planning, this is Facebook,
to possibly roll out 11,000 of these drones over Africa with further deployment possible
in the rest of the world. But surely the elephant in the room there is it's all well and good
to have these drones flying above the places where you want to have internet, but how do you get the
internet to the drones in the first place? Yeah, I know, obviously, you're going to have to build
a whole bunch of base stations, I guess, effectively rolling out like a mobile network. Yeah.
It seems a bit flawed to me, but then again, I sit here with my 120 megabit down, so I'm sure
that people would be grateful for even dial-up speeds in rural Africa and Asia and stuff, so
yeah, maybe it's a good idea, but clearly Facebook is doing this because they've run out of users
in the developed world. Pretty much everyone with an internet connection has got a Facebook account,
so they realize that to continue to grow, they're going to need to first
give internet to people and then give them a Facebook account. But anyway, moving on then,
to quite a speculative story, asking the question, are there enough users of Linux Mint Debian
addition for it to survive? And this is all based on just a little quote by Klem, who said that
they're struggling to find the developer resources to really devote to it, but I don't think that
means it's necessarily going to die. I think that it's much more likely that it'll just be neglected
and in the state that it is now, which is a bit ropey to be honest.
Yeah, he says that it holds strategic interests for them and keeps getting better,
but I think the key quote from him is where he says, it does need more adoption and we do spend
too much resources on it already with the current level of adoption, which is kind of giving out
fairly heavy handed hints that unless more people start using it, it is going to get neglected,
as you just say. And I think we've spoken about it on the show before that we simply don't
understand why this is, because it seems such a sensible choice as a base distro for Mint as
opposed to Ubuntu. Yeah, but that said, it's kind of like having two kids and one of them's really
bright and good at school and the other ones a bit thick. You know, you're going to spend all
your love and attention on the one that's doing well already. I mean, obviously I'm being flip
in there, but why bother spending all of the effort required to make LMDE better when the main
addition is so good at the moment. I mean, obviously strategically moving away from Ubuntu and
all that, but I can see why the temptation to make the put all the effort into the main addition
because it's working really well. It's used by loads and loads of people and it just comes down
to time, doesn't it? I suppose it's case of this vicious circle where if people don't use it,
they're not going to develop it heavily and if they don't develop it heavily, people aren't going
to use it because it doesn't work very well. I think it is going to hang around and I really hope
that my prediction comes true that they will ultimately make it work properly, but I think that
it's a back burner for them and they have to they are doing just enough work to keep it
ticking over but not to really concentrate on it and it's kind of their emergency plan, isn't it?
If Ubuntu completely does something that they don't agree with or dies or whatever if canonical
finally goes bust, then they'll have to quickly change to it and I think that that's probably what
he means by that strategic interest. Yeah, I guess that's right and I also think perhaps one of the
issues with basing on Debian as opposed to Ubuntu is the support cycle and which can be relatively
short in enterprise terms from Debian. Yeah, whereas obviously the LTS which is coming up next,
the Ubuntu LTS is going to be supported for five years I think. So even that isn't really that long
in the enterprise if you think about XP going back to that and obviously Red Hat gets supported
for an awfully long time and if you are setting up a business or thinking about migrating to Linux,
five years isn't a very long at all in the enterprise world, is it? It's not. It's interesting
another story came up in the last week as well about the possibility of longer support for Debian.
Yeah, it's still very intensive at the moment. I'll stick a link in the show notes. They say it's
yet to be firmed up and whether they've actually got the resources to provide that support. I don't
know, but it'd be really good to see Debian gain longer support and possibly broader adoption
in the enterprise. Yeah, moving on then to a story that hopefully won't affect any of us,
but I think just tells us a little bit about how open source software can have issues sometimes
in the way it's developed and that's the exorg foundation has lost its charitable status on the
basis that they failed to file their tax returns on time for the last few years. Yeah, now as a small
business owner myself, I know how much of a pain it can be to deal with taxes and all that stuff
and they don't want to be dealing with that do they want to be writing code and testing it and
bug fixing and all the rest of it, they know one likes doing their taxes and I can see how it would
get forgotten about, but then again, I suppose it's something that you have to do, isn't it?
Yeah, but if you're any sort of organisation that's taking donations from the public then obviously
you've got to have a sense of accounting practices and good oversight by the board and
from the looks of things, that's where it's fallen down for exorg in the last few years.
Yeah, it's not really going to affect them, is it? They're just going to join the Apache Foundation
or something, so I can't see it really affecting much. I don't think it probably will, but perhaps
just act as a case that will remind people that when they set up these sort of organisations,
it's not all about writing code, as you say, and they do have to think about some of the boring
stuff as well. Yeah, yeah. Onto the exciting news then, that the Linux Foundation are offering
introduction to Linux a course worth $2,400 for free. I can hear a small amount of cynicism in
your voice that show. No, it's a good thing, they've partnered with edX, which is a non-profit
learning platform from Harvard and MIT, and they'll be offering this course by a massive
open online course system. I guess it's just a taste to actually get you to buy other courses
from them going forwards if we're being cynical about it. Yeah, but for folks who are interested
in Linux, if you're being offered something that's beautifully worth two and a half grand,
certainly worth investigating. Yeah, what's really interesting is in the official announcement,
it says, upon completion of this training, you should have a good working knowledge of Linux
from both a graphical and command line perspective, allowing you to easily navigate through
any of the three major Linux distributions. So, the question there is, what do they consider
the three major Linux distributions? Presumably Red Hat, Sousa, and Ubuntu, or Debian? What?
Taylor Swift? Yeah, maybe. What's that one, Rebecca Black OS, maybe?
Now, isn't that the Wayland distro, though? I don't really remember the Linux Foundation
being particularly forward looking in the past. Yeah, true. It's probably just Gen 2, then.
You said it not me. Okay, moving on and swiftly, Google are replacing GTK 2 with Aura in Chrome 35,
and it's available for download now. And this is their own in-house toolkit, which actually
does a lot more than GTK 2, then. Yeah, it's got a built-in compositing system as well,
and it's cross-platform, it runs in Windows, Chromium, Linux, doesn't run on OS 10, unfortunately.
I've got a crying shame. Apparently, it should address long-standing issues with GPU memory
consumption and rendering as well. Well, as Firefox seems to get worse and worse in my experience,
I get more and more tempted to move to Chromium. So, I don't know, just something about it that I
don't like, though. So maybe this will sort that out. Yeah, as I say, they're asking for people to
help testing it, and there's a little link in the show notes. You have to install the unstable branch,
but initial reports are, it's down-site faster than GTK. All right. Speaking of building things
in-house, then, and it's looking like MIR is not going to be the default in Ubuntu until at least
this 16.04 LTS, which is not a huge surprise to me. You're going to tell me about this one,
because I haven't been following the story. They wanted to put MIR in 1310, but although
MIR was ready, XMIR wasn't, and it's all well and good to have MIR working and the Ubuntu apps,
as they like to call it, working, but to have anything else working, you're going to need XMIR.
That's compatibility layer. Yeah, the X11 compatibility layer. They just don't seem to be able to
make that work properly, certainly with multiple monitors. So they had wanted to put it in 1310,
so that then it could go into the 14.04 LTS, and they failed to do that. So now, during the UDS,
Ubuntu developer summit, which is now using Hangouts, because it's kind of a bit of a sort of
Tesco value version. Shotworth, more or less, said that it's not going to be until 16.04,
so they're going to end up being literally years behind their original plan, which I don't know,
you're kind of, I'm starting to feel a bit sorry for old Shotworth, with his lovely beard.
It just seems that everything he wants to do, he's like really ambitious with everything,
and then it just doesn't really work out for him, like with the phone thing, and it really wanted to
have this mere display server running on the phones and on the desktop, and he wanted to have hundreds
of millions of users, and it's kind of reaching for the stars, and it's not really happening, is it?
And yeah, I do feel a bit sorry for him. I must admit, I'm starting to get that
away as a little bit as well, as you say, that full of ambition, and they're taking no end to stick,
including from us over the years. But on the whole, what they're trying to do seems to be for
the best intentions, and lack of resources, largely, appears to be the issue for them.
It just seems like it's mismanagement to me. I mean, why are why when the other new
mobile OSs are using Wayland, and all the other Linux desktops are going to be moving to Wayland?
Why didn't they just do that? I mean, why do they have to do their own thing?
Why did they have to make Unity? I mean, with this XP situation, there obviously are people
who are migrating to Linux. Obviously, most of them are going to Windows 7 or 8, but there are
people who I have migrated to Linux, but there is no way. I wouldn't dream of giving them a bunto
because Unity is so different and just not very good. Yeah, but you wouldn't dream of giving them
Nome 3 either, would you? Well, no, I wouldn't, but we cut those guys a lot of slack because it's
Nome, as opposed to a bunto. Yeah, I wouldn't say forora, for example, the main edition,
or even Debian with Nome 3, but I just don't understand why the... I mean, it boils down to
shot worth. It's not they, it's him, it's he who is making these decisions, and steering the ship,
and he's made it clear that he is the dictator, and just at the same time, I feel sorry for him,
but I also kind of feel that he gets what he deserves. Well, later in the show, we'll be hearing from
someone who has some nice words to say about benevolent dictators, but for now, should we move
on to the feedback? Yeah, go on then. First off, then, a shout out to Dale Visser, who mentioned
us in an email he wrote to Linux Outlaws, and obviously thanks to Dan Affab before reading that
part out. Good work, Dale. Yeah, and also a massive thank you to Andrew Gregory of Linux Voice
for putting us in the fines of the fortnight, is it, or discoveries of whatever, and yeah,
we seem to be getting quite a few people coming from that, so thanks a lot, Andrew and Linux Voice
guys. Dogbot0360 asked on the website if we'd have a look at antics, which is a Debian testing
base distro, so yeah, it sounds like quite easy to look at, so perhaps we might have a look at that
at some stage. Yeah. Also on the website, Brian36 was dubious about the practicalities of running
Android X86 as an alternative desktop. He also nicely dated himself back to Paddy's era by talking
about eight bit computers with eight inch floppies and greenscreens. Now, even I remember them,
so just about, and yeah, we got lots of email feedback as well. We did, and the first one was from
Glenn Skyner. I hope that's hoping to announce it, Glenn, who's a long time mincast listener and
founders via that show, and he said, I've been listening to your shows back to back to catch up,
and I picked up on the fact that I was talking about Mark Downeditors. Glenn said that he would
like to suggest that we try out retext. His only gripe with it so far is the live pain,
does not mirror the line, the curses on. I'll put a link in the show notes to retext. I didn't
install it and have a play with it for a little while, and like Glenn I found to be really quite
useful. It doesn't depend on Python and Qt, but like him, the big issue is the fact that it doesn't
say in sync across the two pains. In a separate mail, Glenn pointed us towards the Linux Barbecue
website, which offers a huge variety of spins based on Debian Unstable. I've not had a chance to
download and play with any of the ISOs yet, but I will get around to it, Glenn. Dave Rottoff,
to say just a quick email to say many, many thanks for indirectly recommending simplest Linux.
I gave it a while after your Linux Wheel of Fortune section on the show.
I've been ultra impressed with the distro. It's lean, fast, and was just what I was looking for as I've
been wanting to move away from Ubuntu for various reasons for a while now. That's the beard
factor, isn't it? Yeah, yeah. The dev team are very helpful, and I have to say I've had almost
no problems with it so far. The ones that I've had have all been caused by my less than elegant
attempts at customization, but hey, if you don't break stuff, where's the fun? In all seriousness,
it's made my move to Debian a real pleasure. The simplest guys deserve some real acknowledgement.
It's a small team, but they put a lot of love into it, and yeah, we'd like to pass on praise
where it's due, and we'd like the simplest didn't we, or was it, may you look to it, and yeah,
it seemed to be pretty good distro. Yeah, big thumbs up for the simplest guys. They've also said,
maybe me, but I can't see your IRC channel details on your website. We'd be good to add it
as there are a ton of die-hard IRC's out there. Now, we talked about this last show, I think. We
haven't got an IRC channel, and we don't suppose there's enough interest, but if people would be
interested, then let us know, and maybe we can get something set up, but to be honest, the comments
on the website is probably sufficient, but yeah, as I say, if you're interested, let us know,
and we'll see about sorting it out. Friend of the show, Jack Donahauer, recently bought
the Galaxy Note 10 as his first tablet, and it's kind of hard for those of us who live with
devices for a while to remember what the initial user experience was like, so we asked him for his
thoughts, and amongst other things, Jack said that being a guy, I started out by turning the
thing on and filling in the various screens that popped up, I had Wi-Fi, email, and a Samsung account,
almost instantly, then I thought, I should read what's in the manual, that was really helpful, not.
Maybe it's because I was already fairly tech literate that had no problem getting the basics
done. I next started experimenting with the stylus, it would have been nice to have a manual of
sorts to help learn the various ins and outs of using the things, but I'm little through.
So Jack's overall view was that the note is actually a nice piece of kit, and pretty usable as
the box without any previous experience whatsoever. I've got very fond memories as I email Jack back
of using a Palm 5 with the stylus for many, many years, it was a constant companion for me.
Have you had any experience with devices with stylus as Joe?
Well, I played briefly for a day or so with a Note 2, which is the Fablet phone tablet thing,
and that had a stylus, but I used it for about two seconds and realized that it was just
rubbish and pointless. I think it boils down to a capacitive versus resistive touch screen,
doesn't it? A resistive touch screen works much better with a stylus, whereas a capacitive
touch screen, which is pretty much all modern smartphones and tablets, they're designed to work
with a finger rather than a precise stylus. So I don't really understand why Samsung are using
stylus, it just doesn't make any sense. I suppose it's trying to be their gimmick or whatever,
but I mean, come on, it's not 1998 guys. Joe's brought to us about Firefox OS. He says,
in regards to Mozilla wanting to allow updates to Firefox OS of Wi-Fi, this has very little to do
with any problems associated with Android, and everything to do with problems associated with
Firefox OS as it currently exists. The current process for updating the software is either to
compile it entire OS from scratch, or to hope, slash wait slash pray, for the device manufacturer
to release an update. Since the browser is tied to the OS more tightly than iE is tied to windows,
the only way to get security updates for the browser is to upgrade the entire OS.
As someone who's been using the terribly misnamed ZTE Open since October, I'm definitely looking
forward to purchasing something more user slash owner slash developer friendly. So I replied to him
and asked him what his experiences are like, and he was not impressed. He basically can't wait
to get rid of the thing, which is not very good really. I had a lot of hope in Firefox OS,
and it seems to be fading fast. Yeah, I'm looking forward to hearing your experiences when you
do have time to play with it properly on the on the Nexus 4. I guess partly it is down to expectations,
isn't it perhaps. Saying on the Firefox theme, Ray Woods wrote in with a tale of woe to do with
trying to move Firefox accounts between machines. He had a bit of back and forth with him, didn't he, Joe?
Yeah, and he really scared me at first, because the way he made it sound was that you couldn't just
copy the configuration folders over anymore, and you had to do it through syncing.
But I'm pleased to report that at least in Windows where I tried it, it works perfectly fine to do
that. I think the problem stemmed from two sources, one that he was trying to sync different
versions of Firefox, and they've changed some of the file formats and stuff, and also that he
was trying to sync it to the mobile version as well, which I'm not particularly bothered about.
I do have Firefox installed for certain things, but it's just not really as good as the built in
browser really, or certainly not as good as Dolphin on Android. So yeah, I think that that was the
cause of that. It was trying to do a combination of the cloud-based syncing and copying folders over
and different versions, so yeah, he had a bit of a disaster there by the sounds of things,
but it seems that if you do stick to the same versions, then on the same platform,
then it should be quite straightforward. Okay, that's good. Chris Leffelman said some nice things,
and then asked, could you possibly point me in the direction of a good book or guide that might
help me and my efforts to learn how to run a server? And he also said, is there a direct way to
contribute financially to our podcast, which is very nice of him? Well, thank you very much,
Chris, for being our first PayPal Donator, because we've now got a PayPal Donate,
button on the website, and we're very, very appreciative of any donations we get. Obviously,
we've got the flatter button as well. We don't want to bang on about it too much, but they're there,
if you want to help us out, help pay the bills and everything, then it's really, really appreciated.
Yeah, thank you very much indeed, Chris. On the topic of the SysAdmin book, I can't really
offer any advice personally, because most of the things I've got are very domain-specific,
I mean, there are particular products or particular operating systems. I don't know, Joe,
have you got any particularly good books on SysAdmin as a wide topic? Or is this something we should
be throwing out to the listeners? I thought out to the listeners, I'm afraid. I don't know anything
about being a SysAdmin. I can barely run on a patchy server, so no, don't ask me.
Okay, well, if anyone's got any bright ideas on a general purpose, I guess, book on running a server,
then please get in touch. Leave your feedback in the comments on the website.
A couple of people had comments about our coverage of mobile technologies. First up was Brendan
Perine, I think that's how you say it. I've listened to all 10 episodes. I'm a younger listener at
22 from California, as you think most of users are old. I would prefer more interesting things about
OpenBox, XFCE, LXDE and other things, and less on Android phones. I don't get why I should
care about things that are hard to update like Android. I want more about old computers as I run
and help out with Ubuntu myself. I do think Ubuntu makes a good base. I don't have a smartphone,
so I wish I had something more relevant to me. I really like this show. Well, thanks for your kind
words, Brendan, and it is very difficult to judge what we should be speaking about. I mean,
I'm more interested in the mobile stuff, to be honest, and that seems to be the way things are
going more on that later. It's tricky. We try and cover a bit of everything, and it just happened
that because mobile world congress was on, when we did the last show, there was just a lot of news
about it, and it happened to coincide with us looking at Android, but we'll try and keep it
as very disposable, anyway. Yes, we'll continue to try and provide coverage of Linux wherever we find
it with. It's the desktop server or mobile space, and the latter seems to be increasingly important,
as Jonathan Grohl, who also wrote to us, points out. And Jonathan said,
I think you guys make my new favourite show. I started to listen to the Luddites after reading a
tweet from Fab. Quite odd too, since I started listening to Linux outlaws themselves after being
pointed to them by John O'Bacon when Bug Radio was terminated, so the Linux podcast chain continues.
What I'd be most interested in hearing about is Joe's forthcoming experiments with Ubuntu
Touch Phone on his Nexus 4, and perhaps his thoughts on Linux Under Android. Recently, I tried
out Ubuntu Phone Touch on my Galaxy Nexus, which happens to be no longer one supported model,
so perhaps not a true reflection of the experience on a supported model. It was really wonderful
having the full sourcey command line in my pocket. For a week whilst another box was in for repair,
I actually used my phone as a portable Tomcat server at work.
Yeah, so far not so good, really, with either of those things, Jonathan,
Ubuntu Touch on the Nexus 4 is all right, but not really that good. I didn't get into
command line stuff, I didn't even think of that really, that it is essentially Ubuntu,
or at least trying to be Ubuntu, so I will look at it again, I think, and hopefully try out
some of that stuff on it. I have tried Linux Under Android as well, and it worked okay, but then
ultimately it's just a bit of a pain to actually do anything with it because it's not designed for
touch screen, certainly not a small touch screen, and so text entry is really difficult and
navigating with instead of using a mouse using touch screen, so it seems to me more of a curiosity
than something that's actually for everyday use. Well, Jonathan actually carried on in his email,
telling us a little bit more about this, and he said since Android is currently a more realistic
and stable experience, I was wondering about our thoughts on Linux and Android, by which he
means the various ways you can store the distribution into a loopback device on a rooted phone.
He says that he recently taken to using Spenola's Debian kit, which allows you to install Debian
or Ubuntu in such a manner without the drawbacks using a charute. Unfortunately, when compared to
Ubuntu phone touch, the command line experience is still in theory, on VFAP partitions, the loopback
device is limited by the 2GB file limit, and you still don't have full control of, say, for example,
the Wi-Fi interface. Additionally, starting demons automatically is difficult as there isn't a normal
service starting framework, an environment needs to be manually mounted or unmounted, and he's not
even sure if the latter is possible at all. Still, I can't imagine not being able to have access to
a command line on my phone anymore, and I'll provide a link in the show next to Spenola's Debian
kit that Jonathan was talking about. Jonathan also remarked on the story we spoke about last show,
and he said, finally, the mystery of Chromebook sales versus browser hits for ChromeOS
should be no mystery to us Luddites. All of those Chromebooks surely running real Linux instead.
Yeah, I can't believe we didn't think of that. It seems a bit obvious in retrospect, but then again,
is it because it's not that easy to get Linux running on a Chromebook? I mean, yeah, it's not
difficult, but it is slightly harder than installing Linux on a normal laptop, and the kind of
personally would buy a Chromebook surely isn't going to install the different Linux on it,
are they? Unless they're only buying it for the reason that I've thought about buying one,
because it's damn cheap hardware for what you get. Yeah, maybe, maybe.
Well, it's certainly a good question, and interesting to see if we could find out a little bit
more about that. Well, actually thinking about it, my mother-in-law has got one, and used ChromeOS
for a while, but then decided it was too limited and got her son to install Ubuntu on it, I think.
So maybe, yeah, maybe it is as simple as that.
In a change to our usual programming, we're now going to play an interview that we
conducted with Rob Landley, the one time maintainer of busybox about his toybox project.
Respect to Rob last week, and along the way we talked about the origins of Open Source software
and the FSF, Rob's experiences of GPL enforcement, the rise of public domain software,
why GUI Linux projects benefit from being run by dictator, which is obviously good news for Ubuntu,
and how he sees Android as the £900 guerrilla in a mobile marketplace that looks set to disrupt
how we all interact with the computers. Yeah, it's quite long and quite detailed,
and he is a very good talker, isn't he? He is, and he's obviously having been around the
industry for quite a long time, involved in quite a lot of interesting projects and knows a lot of
people. I thought it was a really interesting conversation covering a lot of ground, and there should
be plenty in there that will be of interest to the listeners of this show, including some
fairly controversial stuff. Yeah, yeah, so here we go then. In the past, we've talked on this
show about the potentially disruptive effect of mobile computing, but for many of us, the device
and our pocket remains just a glorified phone and still seems a long way off from replacing
a desktop computer as our primary device. I'm really pleased that today we're joined by Rob
Landley, whose toy box project may well be one of the missing pieces needed to bring that transition
closer to reality. Good to have you with us here Rob. Thanks, good to be here. What's your familiar
face to many in the free and open source software world? Could you give us a quick thumbnail sketch
of how you first came to Linux and also briefly tell us about some of the projects that you've
been involved with? I've been doing computers since I was noticeably shorter. I bounced off a
Commodore 64 and an Amiga and DOS would desk you and OS 2 and came to Linux as part of the
horde of Java developers who were the anything but Microsoft crowd united behind Java and then
when Netscape released its source code, everybody went over to Linux because Netscape said, hey,
look at this thing, it inspired us to do this. But along the way, I kept breaking everything.
I tend to find weird little use cases and weird little bugs and I wound up in embedded Linux
development just because I kept drilling down into, well, what is libc actually doing here?
You know, first, what is libc? Yeah. And you know, I learned to trace into system calls and stuff.
I got into kernel development because I broke it. So I wondered off on a tangent there again. So
what was the direction of the question? I just wanted to further benefit of the listeners if you
could give us some idea of some of the projects you've been involved with? Well, the biggest one was
I maintained busy box for a few years because when I started, I started by stripping down
red hat systems to make routers and stuff before Linksys came out with their own.
Right. And you get to the point where there's only so much you can remove before you start going
to an empty directory and adding files and trying to make a working system. And there was some
there was some good documentation on that on how to put together like a boot floppy by copying
binaries one at a time and run LDD on this thing to see what libraries it needs and copy the
libraries and run LDD on those libraries. And you know, you can run it under S trace to see what
kind of files and directories it's trying to access and then add those files and directories.
And the next logical step was I want to build a system from source code. Well, when I first asked
about this at Atlanta Linux Fest in 1999, nobody really knew how to do this. I mean, a bunch of
people had done it, but they couldn't point me at, you know, well, here's someone who's put together
an entire system in the past five years. And then when I got back from that, I was asking
how do I put together a system with tweezers on a desk from source code. When I got back from that,
they I got email about this new thing that was starting up Linux from scratch. And I went
yay rock cool. And it went on the to-do list and I didn't really do anything with it for over a
year. And when I finally got around to building, I think it was Linux from scratch 3.0 release,
the resulting system was like a hundred megs. And I went, I've made floppies way smaller than
that even after I strip all the binaries. There's still a lot of unnecessary stuff here.
So I started trying to replace some of the larger components with a package called busy box
that had been on a thing called Tom's root boot that I bumped into a while ago that did especially
formatted took a 1.44 floppy and made it 1.7 megabytes with special formatting. And then put a
complete Linux system on that, which was a marvelous recovery tool back when CD burners were hard
to come by. Yeah. And that was my first introduction to both busy box and UC libc well before
their 1.0 releases. And I went, okay, I would like to make a Linux from scratch system replacing
all the GNU tools with busy box and replacing G libc with UC libc. And I'd like to get it to rebuild
itself under itself from source code because if it can't do that, I haven't made a real working
system yet. And when I tried to do this, um, busy box fell apart. It was missing stuff and the
stuff that was there, it would segfold, it would hang, it would give the wrong answers. It was
missing command line options. It just wasn't ready. So I started upgrading busy box. And over
the next year or so, I did so much work upgrading busy box that when the maintainer of busy box,
who was also the maintainer of UC libc, Eric Anderson, he had a new project called build route,
fork off accidentally. It started life as a test harness for busy box and UC libc and turned
into an embedded cross compiling distribution. When that was taking up all this time and busy box
hit 1.0, and he went, okay, I can stop working on it now. I was the one pestery. I'm going, no,
no, let's put out a 1.01 release because I've got this stack of bug fixes. We have enough stuff
in in a subversion, I think it was actually CVS back then, that we should put out a 1.1 release.
When it was time to cut a new development release, he basically went, you know, you want to be
the maintainer, go be the maintainer. So I did that for a while, very time consuming.
Yeah, can imagine it would be. So can you tell us a bit about toy box then and why you moved on
to it and what was the problem that you were looking to solve when you started that?
Well, the reason I've been doing all the work on busy box was a project that has unfortunately
been renamed a few times over the years. It started as a yellow box for .com startup that went away
when the .com boom did. And then it was renamed firmware Linux, which is a name that it is
utterly impossible to Google for. And then I renamed it Aboriginal Linux,
app originating from the beginning. And basically I was trying to do the same, get a system that
doesn't have any GNU packages in it, but only has busy box UC libc. Okay, I needed the GNU
stuff for a tool chain, although I was looking at replacing the tool chain with tiny cc. And I
forked that and maintained it forked for a while because I needed to put a lot of work into that.
There was a thing called TCC boot where tiny cc was actually the second compiler after GCC to
ever build a bootable Linux kernel. The third was Intel's ICC and these days LLVM could do it.
It's spread out a bit since then, but that was the first one. I went, oh, it's like busy box
except it's a compiler. That's really cool. But I left busy box development after a run-in with
the original founder of busy box had not set foot on the mailing list in its entire, he'd abandoned
the project a couple of years before Eric Anderson picked this abandoned thing up and went, hey,
I want to use this for embedded stuff rather than just for Debian's boot disk.
And when the old maintainer came back when GPLV3 happened and said this project must definitely
switch to GPLV3 and become incompatible with the Linux kernel even though we've been having
several months of discussion of, hey, we've accidentally sucked Linux kernel source code into
busy box and code from Linux kernel developers who licensed it GPLV2 only, not GPLV2 or later.
And it turns out that GPLV2 only and GPLV3 are not actually compatible licenses.
And I actually have to care about this as the project's maintainer. So should we remove the GPLV2
only code which involved a lot of triage to track down what it was and go back to GPLV2 or later,
or should we just acknowledge that we've lost the order later and the project is now GPLV2 only.
And we talked about it for months. We came to a decision that, okay, we're going to go GPLV2 only
so that we're the same license as the Linux kernel. And then the original project maintainer went,
no, no, no, no, you must do whatever Richard Stallman tells you to do even though this project is
replacing a lot of GNU stuff and doesn't use any GNU code. And there was a lot of flames there
and I basically locked the project's license down to GPLV2 only. I actually consulted with lawyers
about this. And after the fight, it had just taken all the fun out of it. So I handed it off to someone
who would still play with it. But I had a lot of leftover ideas that, you know, have finished
commands that I hadn't actually submitted to busybox yet, for example. So I just started putting them
in a little corner thing and it's like, well, I'll do my own that implements some of the commands.
Because one of the nice things about busybox was always the way you could tell it to add certain
commands or not add certain commands meant you could have multiple instances of busybox on the
system. Like this instance has the SUID bit and handles all the commands that require the SUID
bit. And this other instance of busybox doesn't. So you could have the similings, you know, pointing,
the similings for these commands, pointing to that binary, the similings for these commands,
pointing to that binary over there. And you didn't have to worry about it dropping permissions
properly. You know, that was one example. And I'm going, well, I can add another thing off to the
side that'll do more. And I did that for a couple of years and sort of rolled to a stop, you know,
because I didn't really, I had put several years of my own work into busybox. I was proud of it.
I'd handed it off to the best maintainer I could find. It had a team of approximately a dozen
full-time developers at the time and a 10-year head start. And it's like, well, I'm not going to
replace it without putting in a lot more work than I really care to. It's like, it's already filling
its niche quite well. I don't hugely want to compete with it. So I actually chipped off a couple
of the better toybox commands and pushed them back upstream to busybox. I gave them the toybox
patch command, for example. You mentioned the licensing issues that you had with busybox. Now,
GPL incompatibilities are obviously still with us. And I guess they're Android, but we'll
add additional licensing problems into the mix. The license issue, GPL V2 versus GPL V3,
didn't go away. And there was also the fact that Android had a policy of no GPL in user space,
which meant that they had some grandfathered GPL packages that they were slowly replacing.
And the kernel itself was GPL V2. But the rest of Android user space was BSD licensed or
Apache licensed. And their trademark licensing guidelines actually say that if you add a GPL
package to Android user space, you can't call the result Android. You can't use the Android
trademark to describe the result. It's a violation of the Android trademark licensing guidelines. So
all the companies like Samsung and Sony and everybody don't add GPL packages to user space
and Android. I think a lot of them are happy for an excuse not to. But there was also a larger
problem. I spent 2010 sort of wandered away from a lot of open source development because I found
it depressing that the Linux kernel and Samba implement two ends of the same protocol, but can't
share code because one is GPL V2 only, one is GPL V3 or later. And those are incompatible
licenses. There's no such thing as the GPL anymore. I mean, the GPL was a terminal node in a
directed graph of license convertibility. It was a universal receiver. It was the license if you
were doing copy left that everything became if you let it. So all you had to do was learn the
terms of GPL V2, which were complicated, but we had a couple of decades of actually asking
lawyers and reading help pages about it and stuff to get comfortable with the terms of this one
license that's all we had to know. And then the only decision we had to make is is this GPL V2
or not. If it is, I understand that. If it's not, then if it's some acts as public domain license,
then I don't have to care about licensing at all. And if it's some other weird dog ball license,
I just ignore that package completely because they're weird and I'm not a lawyer.
Well, with GPL V2 and GPL V3, even before GPL V3 came out, I got bitten by people are sending me
quote, GPL code that doesn't match the license of my project. It's GPL, but it's not what we're using.
You know, because we needed the or later they were sending me GPL V2 and it's like, okay,
I can distribute it, but it changes the license terms of my project in a way that,
okay, I had to care about it because on busy box, I had inherited a thing called the Hall of
Shame from Eric Anderson, the previous maintainer, where people would report, oh, they're sending us,
they're shipping busy box binaries without source code. It's in violation of the GPL and there's
nothing we can do about it. So he put up a page listing them all and his father was actually a lawyer,
so his father would send out cease and desist letters, but if they ignored the cease and desist letter,
he didn't have anything else he could really do about it.
Well, I went, this is not, this is not sustainable. I, you know, just continuing this Hall of
Shame page doesn't help. So I, I emailed Pamela Jones of Groclaw and when, is there any pro bono
legal representation I can get to actually, you know, do license enforcement lawsuits and she
hooked me up with the Software Freedom Law Center, which had just started out. It was
Evan Moglin, one of the co-authors of the original GPL, well, GPL V2 and he was involved in GPL V3
as well. He teaches at NYU, I think it is. He teaches at University in New York City and as a
project he ran to get his graduate students, his legal students, real world experience with
open source licensing, he set up the Software Freedom Law Center and got some grant money.
And I went, well, here's some cases that they could actually pursue and they put it together
and spent a year suing a dozen companies to get their source code. Well, there were two problems
with this. One, when we got the source code drops from these companies and a lot of it was, you
know, well, we never got the source code from our upstream board support package vendor. You have
to go talk to them. They're in Taiwan, they don't speak English and it's not in the same legal
jurisdiction. So how do you deal with that? Do you like punish this company and still not get
source? I mean, you can get money out of them, but you can't get source code out of them if they
don't have it. That's a fun thing. But when we did get the source code drops after a year of
these, not one line of code had been added to the busy box repository because of this, because none
of them had anything we wanted. Yeah, so it's just wasted effort on your part chasing all that down.
Completely. And the other thing was that we created this self-financing legal machine that would get
more than $10,000 from each company it sued. I mean, the amount varied all over the place,
depending on who it was, but it was, you know, five figures for a small quick settlement. And would
use that money to launch a suit against the next one. Once the ball was rolling, it perpetuated itself.
And even though Evan Moglin, after a year or two of running the SFLs, see, basically went, okay,
it's not really doing what I want it to do. And he went, he sort of mothballed and went back to
teaching for a while. Some of the other people involved went, no, I'm going to follow the revenue
stream and and forked off the software freedom conservancy and continued to file lawsuits.
Well, sometime in 2008, I don't know if that was before the split or not, because I,
I stopped being involved. But the free software foundation, which part of what Evan was doing,
starting the SFLC was distancing himself from the FSF. The FSF signed up as a client of the SFLC
to go sue Cisco over the original Linksys toolchains that Eric Anderson and some other people had
settled out of court with them five years earlier to get their source code that had actually
started the OpenWRT project. That source code was useful. And you know, that had sort of been what
I've been looking back at as well if they got a lot of good source code. Maybe these other companies
have a lot of good source code. After it experimentally proved that they didn't have a lot of good source code,
the FSF went back for a second bite at a previous Apple and caused Cisco to shut down Linux,
it's in house Linux development and outsource it back to Taiwan. And it's like, okay, that was
actively counterproductive. And just, it was it was a large mess that, you know, I'd sort of
yodeled and started an avalanche and then had no control over the resulting fallout. Yeah.
And looking at all this, I kind of decided, okay, the GPU enforcement I did was a waste of time
may actually have done some damage by dissuading people from using this code. And
it's other people are using it as a template to do more suits that are clearly doing more damage
than good. And it's like, okay, I don't I'm not a lawyer. I'm not even all that comfortable being
involved in it being involved in these suits is a little more time consuming than I'm comfortable
with when they're not doing much. I want to step back and just get away from this whole thing at
all. So when I as I was looking at Android going no GPL in user space and I was looking at the
number one license on GitHub is no license specified. And I looked into why that is.
I found out there aren't really a lot of hard figures on this because it's like trying to get
hard figures about Napster usage in the 1990s. The people who are doing it aren't really talking
about it. But it really seems like the current crop of new programmers, you know, the teens and
20-somethings who would have thought that the GPL was this awesome thing and would have
slid right into Linux development in GPL V2 and use GPL V2 for all of their new projects.
They're now treating copyright the same way they're treating patent law as something that's
too dumb to live and just all you can do is civil disobedience and stay out of it until it dies.
And the refusal to specify a license on GitHub and for a lot of projects like that,
that's not ignorance, that's civil disobedience, that's refusal to participate.
So I'm backing up a bit. Can you tell us about the beginnings of the open source movement and
how the FSF got started? When I started on a Commodore 64 in 1982, as you know, little 10-year-old me,
that Commodore 64 came with the disk bonus pack by Jim Butterfield. It was a floppy full of
basic programs that were in the public domain. They actually said at the top of each thing,
you know, this this file is in the public domain. And all the basic that the old 8-bit machines did,
we had magazines with basic listings in the back that we got every month.
We didn't have a word for open source because fish don't need a word for water.
It was just everywhere. Looking into some of the history, I found that proprietary software was
created by a lawsuit between Apple and Franklin, the people who made, I think it was the
speaking spell. They also did an Apple II clone in 1981. And they copied Apple's ROMs verbatim
because the state of the law at the time was source code is copyrightable, but binaries aren't.
A binary is just a big number. So once it's compiled, copyright doesn't apply to that. It only
applies to source code. That was another thing encouraging people to distribute source code because
you might have some copyright protection on that. Well, when the Franklin guys copied Apple's
ROMs for their Apple II clone, it included notices that this ROM belongs to Apple in ASCII text.
It included the signatures of the developers and stuff like that. And when Apple took them to court,
the judge said, I don't know where the line is, but Franklin is over it by copying these ROMs verbatim.
And this legal precedent essentially extended copyright to cover binaries in 1983.
You'll notice the free software foundation was launched September 1983. IBM did a big
object code only announcement in something like February of 1983. I've actually collected links to
these on my website. And that's where proprietary software binary only shrink wrap software
really started as an industry. It's not that old. And it turns out that there's sort of this curve
that it probably peaked around 1995. Because remember, you used to go into stores and find row after
row of shrink wrapped boxes of software that there were entire stores devoted to nothing but selling
shrink wrapped software, they kind of went away. In part because there was consolidation that
anytime Microsoft entered an industry, I'm sorry, Stacker, you're going out of business now,
making your discretion software. Because even if you sue Microsoft and say, oh, they copied
stuff from you that they shouldn't, they pay you one time thing and then you have no one going
business model. Yeah. Open source was normal. Open source is pretty well established now.
The GPL was fighting against certain specific things with the GPL fractured into multiple
incompatible versions. It's possible that it's now become a net loss. Now that we have internet
distribution, one of the things about the history of the free software foundation is things like
Larry Wall's patch program, the original patch program was written by the guy who did Pearl.
He didn't need the FSF to distribute Pearl, but he sent patch to the free software foundation
because they had an FTP site before 1993 when the National Science Foundation
changed the acceptable use policy for the internet backbone and said, yes,
for profit companies can connect to the backbone and they invented the home ISP.
Before that, getting an FTP site was really hard, getting internet distribution was really hard.
After that, we had geocities and it was geocities that really undermined the relevance of the
free software foundation because if you can just put, trivially, put your code online,
you don't need to jump through the hoops of doing copyright assignments on a physical piece of
paper that you may able to Boston that they keep in a cabinet. You know, you can just put it online
anywhere you don't need anybody else's permission. Linux happened right when that transition was
happening. Linux started in late 1991 and really took off in 1993 with the rise of the internet.
It always had internet distribution because he was a student, but he didn't have to do anything
special after he stopped being a student to get hosting because kernel.org could be anywhere.
So part of the reasoning for gplv3 seemed to be the free software foundation going, oh,
we have hugely lost relevance in the 90s and into the 2000s. What do we still control
that can have an impact on the industry? And the Linux developers were going, we don't care
about the teavowization issues you're raising. We're happy staying with gplv2. Yes, it has this
or later lifeboat clause that says, you know, if some legal decision damaged gpl enforceability
so that gplv2 was no longer really a viable license, we can ship a patch. We can ship an upgraded
version. But gplv3 shipped when there was nothing wrong with gplv2. They basically hijacked the
lifeboat and said, no, we're doing a whole new license with whole new political agendas that
you haven't necessarily bought into. And what they wound up doing was fragmenting the gpl and it was
it was really painful. I spent a couple of years trying to figure out how do I go forward with
Linux development when I was such a huge fan of the gpl and I'm not going to gplv3, but gplv2 is
overshadowed now. And what I had to work through in my head was the people younger than me are going
to BSD or they're going to de facto public domain, but the public domain was was funnied, fear
uncertainty in doubt. There was a lot of, as there was the rise of proprietary software, there was
a lot of PR effort put into going, oh, if you use public domain software, you will be sued by
Martian who don't exist. It's like, what? There was this cloud of fear over the public domain that
it somehow simultaneously didn't exist and was dangerous. And that wasn't actually true.
So what a lot of people have been doing in the absence of a universal receiver, they're jumping
up to a universal donor, but it's not as well defined as, you know, gplv2 is what it's all
convertible to. So if you use lgpl or if you use the Mozilla license that's convertible to gpl,
you can just trade it as gpl and I understand this one thing. Well, because people were stepping
around the public domain and making sure they had slightly different phrased, please don't sue me
clauses. There wasn't a universal donor quite as clear cut, but it turns out that wasn't a new
problem because if I'm shipping a gplv2 only project, I have to triage all of my inputs. Every time
someone submits me a patch, I have to grill them to go, okay, you didn't copy this from a gplv3
project. When you say gpl, you mean gplv2 and if I'm doing gplv3, I have to do the exact
thing. You didn't copy this from the Linux kernel, right? From the kernel guys, you didn't copy
our busy box. You didn't copy this from SAMBA, right? You didn't copy this from any of the FSF
project shipped since 2007. And if, you know, people go, well, the obvious solution is use gplv2
or later, but then you can't accept code from either source because you essentially need to do a
license of gplv2 and gplv3 and a presumed gplv4 if they ever ship that. So the problems that people
were having with a universal donor were basically, I have to write all my own code, I have to reinvent
the wheel, I have to have a complete, not invented here syndrome, but anybody can use my code for any
any other purpose. I'm a universal donor, but have to be very, very careful about what I receive from.
And that kind of, it's bad, but it plugs into people's prejudices anyway. So a lot of people
were doing it. What I'm trying to do is go, well, actually public domain isn't a bad thing.
And if you state that you are public domain or give license terms that essentially are
convertible to public domain, what I did with my toybox project is I took a two clause BSD license
and then removed the requirement to copy this license text into other projects.
That's a fun one. I mean, if you're going to really be a lawyer about these things, BSD and gpl
are sort of compatible, but not really. If you look at the busy box ping command,
at the start of it is gpl boilerplate. At the end of it is BSD license text.
The reason is BSD says you must copy this license text into derivative copies,
even if it doesn't apply to those derivative copies. And the gpl says you can't add any extra
requirements, such as having to drag around this verbatim block of text. So they sort of conflict
in a way that everybody's just carefully not looking at and nobody's really doing anything about.
If you actually go dig into legal things long enough, you basically figure out that everything
is illegal. Everything is, I mean, it might be possible. Terry Pratchett had a marvelous quote.
It might be possible to avoid breaking the law by sitting very quietly in a basement somewhere
on your own property, but even then you may be guilty of loitering. I'm trying to make it so that
people aren't afraid of public domain, so that people will actually public domain will release
public domain code. And there's a lot of it out there. I mean, lib tom math. It's one of the components
of the drop bear SSH server implementation. That's public domain. People just haven't really
looked closely at it. If you start looking for public domain code, I think SQL Lite is actually
public domain, isn't it? And they offer a license. Yeah, there's a bunch of them out there. The
XZ implementation, the new compression method that seven zip and stuff use. The most common
implementation of that is public domain. And you know, they come with a little file that states
this is public domain. What I did with toybox is I modified something that looks like a BSD license,
but if you actually look at what it's saying, it's basically saying, do whatever you want with this,
I don't care. And then a second paragraph, please don't sue me, but I'm not requiring you to copy
this. Please don't sue me a paragraph into somebody else's thing. I mean, if someone else
was somehow injured by my code in a way that I don't even know what that would be, I would happily
refund the zero dollars they gave me. It seems absolutely fair enough. I think we probably should
drag it back to toybox though, but just before we do, there's one thing I've got to ask you,
I found a kernel mailing list post back from 2002 that kind of implies that you're responsible
for the GNU Linux phrase. I attempted to explain marketing to Richard Stalman. The original
post was actually 1998, but it wasn't on the mailing list. It was in private email correspondence
between us. I bumped into Debian's webpage linked to the free software foundations webpage where
Richard Stalman had a rant about Linux is a dead end. It's x86 only. It will be replaced by the
GNU herd. I don't know if that's, you know, I emailed him and I went, I don't know if that's true
or not, but everybody knows GCC. Everybody know, you know, even on OS 2, I was using a port of GCC
to OS 2 called the EMX package by ever heard Madison, Germany. Everybody knows the FSF as a tools
vendor. We think that the GNU project is like Orland, you know, or Watcom. You make compilers.
So if you are going to position the GNU herd as an upgrade to Linux, you have to first
attach your brand name to, you have to attach an umbrella brand name to Linux the way, you know,
TurboC became, well, TurboBasic was I think the first one that Borland did and then they could
do TurboPascal and TurboC and, you know, have the turbo name say, and it's another compiler from
the same group. If you want to, if you want to position herd as a replacement for Linux,
you have to have an umbrella brand that it can be an upgrade within the context of.
And I was just talking marketing to the guy. I didn't know technically what he was talking about.
I assumed he knew what he was talking about on a technical front. And I got buried deep in an IBM
contract I was doing. I think that was still the Java OS one. And he went on a trip to Brazil.
And when I came back, he had apparently sometimes referred to Linux as GNU slash Linux before.
But now he was really, really pushing it and doing a big thing. And I emailed him again. And I
went, okay, this isn't working. And the reason this isn't working is that you're not putting out
a Linux distro. The niche that you're trying to do is Red Hat Linux or Debian Linux. But there
isn't a GNU Linux because you don't ship one. So all you're doing is it best creating brand
confusion. And at worst, making yourself look completely clueless and out of touch.
And I got back an auto responder that said that he was like a month behind on his email and
would get back to me. And he never did. And it's like, it was another case where I,
I yodeled started an avalanche and then could not steer the resulting thing.
So you've had no further contact with him then?
I didn't speak to him again until 2000 when 2001, February 2001, I think it was. I drove up to
Boston and interviewed him because one of my hobbies is computer history. And I wanted to ask
him some questions about early, you know, FSF stuff.
So I'm moving back to Toybox then. And disruptive technologies and how to make mobile computing
truly disruptive, it needs to be self-hosting. And Toybox really fits in as a key part of that.
It's indeed.
Yeah, yeah. Why Android, though, as opposed to something perhaps a little bit more open,
like Ubuntu, for example, Ubuntu Touch?
Because Android can get pre-installs, I did OS 2 for years. I learned what not having pre-installs.
Your technology can be the most superior thing in the world. OS 2 versus Windows 3.1 was no
contest and we still got SteamRollard because we couldn't get pre-installs.
Microsoft had exclusive distribution details with all of the hardware vendors that locked us out.
That came out in the Antitrust trial in 1998, but unfortunately we had a change of
administrations that completely neutered any actual enforcement of it. So we have to wait for
that particular monopoly to just decline on its own. The thing about Android is they're shipping
a billion units this year already now. So Ubuntu on a phone is you've got the iPhone from Apple,
running iOS. You've got Android from a bunch of vendors being the PC to their Mac in a third space.
You know, we had the Apple 2 versus CPM, then we had the Mac versus the PC, and now we have
the iPhone versus Android. And then you have everybody else. And it doesn't matter. I mean,
you've got Coke, you've got Pepsi, you've got everybody else. And displacing one of the dominant
vendors is really, really hard. You mentioned network effects. You can look you can look that up on
Wikipedia. Network effects basically say that one telephone is useless. Two telephones can only
talk to each other, but three telephones each phone can talk to two other phones. So every time
you add another phone to the network, you're increasing the value of each existing phone,
because there's now more phones it can talk to. Software and computers work the same way.
Everybody wants to buy what everybody else had. Everybody wants to write software for what has
the most seats, the most places that people can run their software. And everybody wants to buy
the hardware platform that has the most software. It's, I mean, game consoles, PCs, phones,
it shows up again and again. And what that means is that size is an advantage. And getting
there first and taking the high ground can actually give you an essentially unassailable advantage.
Android negotiated with the phone vendors to allow you to attach a SIM card to this operating system
to get bandwidth. We had handhelds that were largely useless until they were hooked up to the phone
network. And once they were hooked up to the phone network, it became an entirely different kind
of thing. It became an internet connected portable device. It became the fourth step in, or the
fourth generation of mainframe mini computer micro computer smartphone. And it turns out that if you
look at that, people used to stand in front of mainframes waiting for their output. They actually
interacted with the mainframe, taking a box of punched cards to the mainframe priesthood and waiting
for their printout. And they stopped doing that when many computers let them sit at a
mini computer terminal down the hall and submit mainframe jobs through the mini computer.
What they interacted with became the mini computer. The mainframe was a server. The mini computer
kicking the mainframe up into the server space invented the server space. But it turns out that
the server space is a viable niche and you can make lots of money and sell lots of units into
their game. Then the PC came along. The PC meant that you didn't need to sign up for a time slot
on the terminal down the hall when you had a computer on your desk. The computer down the hall
became something you interacted with through the computer on your desk. And that meant that the
mini computer got kicked up into the server space. And it turns out there's only one server space,
and IBM and digital equipment corporation fought to the death. And the PDP 11 and the
Vaxes and stuff all went away. Although IBM's machines today look a lot more like mini computers
than they do than they did traditional mainframes. They're they're interactive. They're time sharing
their network. They the mini computer technology one, but IBM the company one and put deck out of
business. And now it's happening again. The the smartphone means that you don't need a computer
on your desk when you've got a computer in your pocket. So PC technology is getting kicked up
into the server space. And they're calling it the cloud. They have a marketing budget behind it
this time. But everybody saw this coming when bail wolf clusters happened. It's like, okay,
PCs are starting to work their way up into big iron. But the exact same fight is happening. This
time it's IBM and Amazon's EC2 cloud or EC3 whatever it is. Amazon's cloud is killing IBM. And
this time it looks like Amazon the company is winning and IBM is going away. And we'll just emulate
the old big iron machines on Amazon cloud clusters, possibly under QAME or something like that.
But the cloud is there's a lot of enterprise money there and it's considered a very active niche.
And even though they're just repeating history, there's a lot of money to be made. But on the other
side of on the other side of that divide, the PC workstation is like a mini computer workstation
was back in the 80s or early 90s. DOS was originally cross compiled from I think it was PDP 10s.
But when DOS machines grew their own C compilers and became self hosting so that you could do PC
development on a PC just as well as you could do it on a mini computer, that meant you didn't need
the mini computer anymore. And the mini computer as a workstation machine went away. That's going
to happen with PCs. Now, I mean, a modern PC is every bit as powerful as a mini computer ever was.
You could do everything that a mini computer could do. That wasn't true initially. The PC had to
grow into the niche. There's a marvelous bit in Robert Kringley's triumph of the nerds where he
talks about the original, the original micro computer, the Altair, how it had no IO devices except
some switches on the front and some blinky lights. And the first thing an Altair ever actually did
was run a program that had some time loops where the radio interference it put off played a song.
And it's like, wow, that's really, really cool. And then they added expansion cards to let you
hook up a TTY. And then they added a basic interpreter. And then they added more software and more
memory. And it grew into the machines we have today. Well, the phone has some growing to do.
And I'm helping the phone grow into a self-hosting development environment that means you no longer need
a PC. And part of the reason that when Android becomes self-hosting it will be a good thing for Android
is it means that having an Android phone is sufficient to do Android development.
Right now, having an Android phone is not sufficient to do Android development. You've got to set
up a cross-compiling environment from a PC. And cross-compiling sucks. Cross-compiling is really
painful. But if you can buy an Android phone, install an Android development environment app.
And then maybe plug it into a commodity USB hub with a commodity USB keyboard,
a commodity USB mouse, and grab a USB to HDMI adapter, which they're currently selling it
best by, you know, to plug in an old monitor you have lying around. And then play, play, play, play,
play. And when you're done, unplug your phone and take it with you. And then plug it into a similar
setup in a friend's house. You know, people are actually doing hardware that has this built in.
This capability is essentially present in tablets that have a large enough screen that an on-screen
keyboard isn't hugely painful. You don't need the extra display. But you'll notice that the successful
tablets are big phones, not small PCs. There's a generational gap here that deck didn't understand
when they came out with a microvax. You know, they attempted to come out with a PC form factor mini
computer back in the 80s or early 90s. And it was just, it was laughed off the stage. They weren't
the only ones who did this. You know, Microsoft is still going, well, Windows 8 isn't successful on
tablets and Windows isn't going on phones. And it's, why can't we take our mini computer operating
systems and shoehorn them down to the PC? Why is this not working? Bill Gates figured out why this
wouldn't work a number of years ago. That's why he retired. In some time frame, then, how long do you
think it's going to be? Obviously, just an estimate before we'll be at that scenario that you
described where you will be able to plug your Android phone into a screen in a keyboard and do
development and be able to compile the operating system itself on the phone.
Google for Corbin Champions Android Gnu root. That's an app that you can install on your phone
that will let you install a conventional Linux change route on the phone. It's incredibly
painful to use with the on-screen keyboard. I've actually tried doing that. I actually tried
that yesterday and it is very painful, yes. You can actually install different keyboard apps,
but I haven't done so for the same reason. I haven't put Sanogen mod on my phone, which is that I
use it as a phone. I really don't want this stuff to come pre-installed because I have done the
hack together my own system with duct tape and bailing wire and I'm good now, thanks. I actually
just want to focus on other things. I have my projects writing my own email client is not
one of them. There's only so many rat holes you can go down when you're no longer a teenager.
The caffeine only works so well, but the limiting factors for making a phone self-hosting,
we need a tool chain that is not GPL because remember you can't pre-install GPL
software in your root file system without violating the Android licensing guidelines.
An Apple has actually been working on that for years. Clang slash LLVM is the project Apple
was sponsoring and they have gotten it to build the Linux kernel now. It looks like that one's
going to win. There may be other tool change that come along and share that space later. We're
probably not going to get a category killer the way GCC was because it turns out that that's a
thing. One of the strengths of Linux was always if you don't like open SSH, you can install Drop
Bear. If you don't like this shell, you can install that shell. If you don't like this implementation
of some package, there are multiple compatible implementations. It's commodity parts available
from multiple sources. It's essentially the same reason PC hardware one that you had multiple
video card vendors competing with each other. You had multiple motherboard manufacturers competing
with each other, multiple memory manufacturers competing with each other. You could swap the parts
around and it just worked. Well, for definition of just work that involve bleeding on it from time
to time. Linux is except for the kernel, which was a single monolithic implementation. Although
vendors modified their kernels rather a lot. Red Hat kernel and Debian kernel had a lot of patches
from the baseline. But a lot of the other things you could assemble a lot of different packages.
So, LLVM probably won't become a category killer. The same way GCC did. There may be PCC,
there may be tiny CC, there may be Amsterdam compiler kit. There's a bunch of other compilers
that may grow big enough to share that space. That's healthy because having multiple different
things that you can regression test against is nice. It's the sign of a healthy ecosystem. It means
you don't have a monoculture where everything falls over at the same time because of one bug.
So, the compiler is in okay shape. The command line I'm doing. The four things you need for the
smallest possible self-hosting environment. And remember, my Aboriginal Linux project was
essentially taking Linux from scratch and trying to strip it down to the smallest possible
simplest possible environment development environment capable of rebuilding itself under itself.
And I got it theoretically down to four packages some years ago. One of them would have been busy
box, except busy box needed a lot of work. One of them would have been tiny CC for Breece Ballard's
compiler that he stopped working on when he QEMU forked off from tiny CC, the same way
build route forked off from UC Libsy and busy box. And it took all of the developer's attention.
I call this a project tumor. You know, it bugs off the side and then all the developers follow it
and the original one can sort of roll to a stop because nobody's paying attention to it anymore.
That happened to tiny CC. And what I was trying to do is I was kind of trying to take tiny CC's
front end and QEMU's tiny code generator TCG back end, which is BSD license. And I got
permission from for Breece Ballard to BSD license his tiny CC contributions. Other people did their
own patches while it was GPL. I'd have to go through and triage and fork it at the point that he
abandoned it and then go through my fork that I was in. There would be a lot of work to do this.
But I wanted to take TCG and TCC and glue them together so that tiny CC could produce output for
any target QEMU could emulate using QEMU's code generator and then leverage all the development
work that QEMU guys were doing to make that reasonably optimized and well supported and add new
platforms and stuff. That's a project I don't have time for but I'd really, really like it if
somebody else who did have time stole the idea and just you do it. Please, yeah, I'll contribute
to your project. But it's not going to be this would have been called QCC, QEMU's C compiler,
but it's not going to be QCC in the short run. It looks like it's going to be LLVM.
And then in it, so busy box tool chain kernel, which is still going to be Linux, but Android is
basically, Android is using a forked version of the Linux kernel where they've added stuff but
haven't removed anything. So it works fine in a development workstation because it does everything
Linux can do. It just does more and they may have added a few bugs but we don't care. Easily
fixable. And then a C library is the other thing you need. And that was a problem a couple of
years ago that somewhat, you know, Bionic is unfortunately crap. The theory behind the Android
initial user space that they were doing five years ago, Android's initial user space idea was
we boot you up into a Java sandbox and then everything happens in the Java sandbox and the native
code is just enough to run the Dolvic Java interpreter. So they have their own busy box like
command line called toolbox that only implements like two dozen commands and doesn't implement them
very well. They have their own C library called Bionic that is dubbed out left and right. Not as
much as it used to be, they've supplemented it with some net BSD library stuff but Bionic can't build
real packages like, you know, if you wanted to build X11, if you wanted to build PostgreSQL against
Bionic, you would wind up modifying PostgreSQL rather a lot to work around the fact that the C library
is missing huge swabs of stuff. But it turns out that the C library is now a solved problem because
a guy named Rich Felker was doing his own C library sort of for fun like I'd been doing toybox,
you know, the project is a thing I would dink at as a hobby but I didn't really expect it to
amount much. I didn't expect many people other than me to use it until I found a purpose for it and
a slot it could fit in and a goal to work towards. Well, he was similarly doing a C library called
Muscle, MUSL, that he'd been working on for a while and I explained to him about, you know,
GPLD2 versus GPLD3, no GPL and user space on Android but Android really, really, really needs a
libc and you've got one that's already better than Bionic which admittedly wasn't a very high bar
at the time and he went, okay, I see your point and he relicenced Muscle which he was almost entirely
has coded that point so he had the copyrights he could do that, relicenced it BSD. So we now have
a BSD Linux library that is having its 1.0 release in a few days and it's good enough that you can,
they've built like 4,000 packages against it, you can just drop it in and build Linux from scratch
and build beyond Linux from scratch on top of it. They just did a Gen2 stage 4 which is basically
a Gen2 change root tarball based on Bionic, there's people looking at trying to get a Debbie in based
on Muscle, there's, that's under control. So we have a C library, we have a tool chain,
we have a kernel, it's actually toybox that's that's behind now because I haven't had as much time
as I'd like because, well, day jobs are very time consuming but I have a toybox roadmap where I've
done the research to go, these are all the commands that I need for a development environment to
rebuild itself under itself because I know that from my Aboriginal Linux project, I actually stripped
down, I implemented the busybox extensions that were necessary to make busybox, make Aboriginal
Linux rebuild itself under itself with busybox, I did that a while ago and that's been working
okay for a few years now, I'm now re-implementing that with a different license and admittedly
cleaner code in toybox and so I have the list of commands I need to do that. I also went through
POSIX 2008, there's a POSIX 2013 upgrade but it was basically bug fixes, it didn't really add
new requirements, so I went through the POSIX standard for command line tools and filtered that
because it's got a lot of crap in it like SCCS source control system that nobody's heard since
the 1980s, it's still part of the POSIX standard is command line utilities that you should have
installed, it's got you know QDel for removing batch processing jobs and stuff, so I removed like
a third of the commands that do not apply to a modern system, there were a few judgment calls
like you know is Ed still a part of a modern system, is LPR still part of a modern sign, not sure,
but I have that, I have what the Linux standard base 4.1 I went through, they're a command list to
see, I did a bunch of research into what toybox needs for a 1.0 release and I would say it is
probably about two thirds of the way there. It strikes me that the software stack we've been talking
about with toybox, muscle, sea libra and so on is much closer in design to the original
Unix philosophy than many of the projects that have dominated the Unix world in recent years,
is that how you see things and do you think the traditional Unix approach is still valuable today?
I think the traditional Unix approach is awesome, there's a reason it's lasted 40 years,
keep it simple stupid. Yeah exactly, you say you're two thirds of the way to a 1.0 release,
so anyone who's listening how can they help out with it, what's the best way for them to help you?
Well unfortunately I've been a little bit of a bottleneck, there's a pending directory where
people have contributed a lot of commands, a command implementations of things off of the road map,
and rather a lot of things that weren't on the road map, but they're saying no I need this
to use toybox in place of what I'm doing for busybox for existing embedded application,
because remember Linux is fairly widely used in the embedded world.
There's actually a funny thing, the supercomputer space and the embedded space have a lot more
in common than either does with the desktop. Linux on the desktop has been coming soon now
for 15 years. I don't think Linux on the desktop is actually going to happen, because
open source development has a problem dealing with aesthetic issues. Any time the phrase shut up
and show me the code is not the correct response to the problem at hand, open source development
melts down into one of three distinct failure modes that you can actually spot. We have
endless discussion that never resolves, because we have no objective criteria to say yes,
this is the way we go, the numbers supported. Everybody goes off and implements their own idea,
and then you can't unify the forks after the fact for exactly the same reason. There's no
clear objective winner, or people delegate the problem to nobody by separating the engine in
the interface and focusing on the engine using this as an excuse to ignore the interface and
hoping some glorious day, someone writes an interface worth using, transmitted to us from Mars,
or they make it so configurable that after a week of study you still haven't figured out everything
it can do, and the fact that it has no sane defaults is now somehow your fault.
And we keep doing this. Linux desktops. Linux can't really do a very usable desktop for the same
reason Wikipedia can't write a novel. The too many cooks spoil the soup effect.
Isn't something that open source overcame when it comes to taste? We overcame it when it comes to
nutrition, but we're only really good when we have empirical tests, you know, things that we
can regression test, to say that yes, we fixed it, and that brings everybody into agreement.
If all you have to do is just be consistent, you know, it doesn't matter,
when you're cooking a dish, it doesn't matter if you're doing Mexican food or if you're doing
Chinese food or if you're doing burgers and fries and stuff, but if you don't know what you're
doing, if the elements clash, you know, and this would be a perfectly good element in a different
context, that's a trap we fall into a lot. You say that you can't have a usable
Linux desktop, but if you tried Linux Mint, for example. Oh, I've tried a bunch. I'm using
XFCE. I'm using Zubuntu, which means I'm using the third most popular desktop on the third
most popular operating system, and I am a rounding error. It's not that we're incapable of doing so.
One of the failure modes we have is that, okay, so Wikipedia can't write a novel with a plot,
but individuals write novels with plots a lot. You generally need one point to the wedge,
you need somebody in charge where you're following their unified aesthetic vision.
The problem is, is open source projects mature, they tend to say, okay, we need to spread out now,
we need more people involved, we need to reduce our dependency on the one visionary and replace
them with a committee, and committees produce beige. So you tend to have things like
Mozilla turned into a giant mess. When Netscape released the source code, they ripped out all the parts
that they didn't have the licenses to open source, which meant they dumped a pile of code that
didn't compile. And people went off and added stuff in all directions, which meant that it was
scriptable using XML. The user interface was extensible using XML before it could actually
view web pages. It turned into this giant unmanable, manageable mess, and Jamie Zowinsky left.
So the Gallian project forked off of it and threw out 90% of the code, and it was a small
team of people who said, okay, this is the subset we want to focus on and make it usable for us.
And Mozilla rebased on Gallian. And then the Mozilla development committee
bloated it again into Mozilla, and then Firefox forked off. And Firefox was like three guys,
and they said, this is the subset that we want to use. This is our focus, this is our vision for
what a web browser should look like. And everybody started using Firefox. And the Mozilla guys
pressured the, the Mozilla guys rebased on Firefox and slowly made it so that it was no longer,
you know, we're implementing the aesthetic vision of these guys to we're implementing modern
Firefox. And you can get usable, but you tend not to get people particularly excited about that
this is a, this is a larger topic, aesthetic issues and open source. But the reason I brought it
up is I don't particularly expect Linux on the workstation, even as the workstation collapses
into a smaller space where PC sales had been declining for several quarters now. I don't expect
Linux to particularly expand into that space at all. So you don't see a mass market feature
of the Linux desktop, but I guess you feel differently about Android? Android extended into a desktop
has the advantage that it's already there. It's already what's installed on billions of units.
And coming up with a reskin that looks decent on, you know, an HDTV with a keyboard
isn't that hard, but this is Samsung's problem. Okay, it's very nice. If you can plug your phone
into a TV and broadcast the display, I recently got a new Google phone Nexus 4, I think it is,
or Nexus 5, whatever it's called, that buried in the menus has export display that if I have,
if I had one of those Chromecast USB things plugged into the back of my HDTV, it would export the
display I think wirelessly. I don't have one, I haven't tried this yet, but technically that's
a solved problem. When it exports the display, what's it gonna look like? Do I then bluetooth
associate a keyboard? I mean, there's there's some unsolved problems here. There's also political
problem. We haven't touched on at all here, Rob, throughout the whole conversation. We've hardly
spoken about Google. Now, how do you think Google feels about losing some control of the marketplace
for Android here? Because I guess that's what's gonna happen if the vision we're talking about
comes to fruition. Google has already lost a lot of, if you add up all of the phone market share
in terms of revenue, Apple and Samsung add up to more than 100 percent because the other guys
are losing money. And that basically means Samsung, they don't own Android, but they are extremely
dominant. And they've been able to dictate a lot of terms. And Google really didn't like that,
so they came out with the Google Play thing, which basically as an app, you replace lots of
infrastructure. And there's been fighting going on behind the scenes, and I'm largely trying
to stay out of that. The approach that I've been taking is what can I add to the system
under the GUI layer that adds infrastructure to make it an actual usable workstation?
There's a lot of fighting over the GUI layer yet to be done. And as far as I can tell,
Google and Samsung and to a lesser extent, Sony and whoever else, they're fighting over the GUI
layer. And that's, it's sort of a good luck I may wave my handkerchief at one side or the other,
but I'm not in that fight. So what's that around about,
wait, have you saying that you don't need any help then with toybox?
I would like people using it. I would like people testing it. And patches are welcome.
I am doing a Miyakopa saying that I am behind on the review and integration. Part of what I've
been doing is I do a lot of polishing work on each new thing that comes in. I actually added a
cleanup page to the toybox website where I described getting a 1500 line if config a command
and squashing it down to about 500 lines. And I went through step by step describing each
check in I did and trying to make the check in small and describing this is why change code into
that. This is why change code into that. This is why I change code into that. I'm hoping that even if
people don't use it to do their own cleanups on toybox, it helps them make better embedded code.
Some of it stylistic, but at the same time I, I did reduce it to a third of its original size and
I think a third of its original complexity without sacrificing noticeable features. I've done
write-ups for several commands that I've done similar cleanups on that and I welcome cleanup work.
Anybody who wants to do cleanup work on anything in the pending directory, please.
And really, anything that's on the roadmap that hasn't been implemented yet, there's a status
page that has various other projects that have this list of commands. It categorizes them into
what I have done and what I haven't done. And at this point, toybox can replace this project sort of
thing. If you see a command on there that you want to do, the problem is that a lot of the low-hanging
fruit has already been taken. So the commands that haven't been implemented yet tend to require
specific domain knowledge. Even some of the cleanups, I mentioned that XZ is in the public domain,
at least for the deflateside, or sorry, the decompression side. We got an XZ command that
is thousands of lines long, but it does XZ decompression. And it's impending because it's a giant
tangle of code that I can't understand and can support in its current state. I need to go through
study it and clean it up and I can probably get it down to half its original size. I'm guessing. I
really don't know. If anybody else wants to clean that up, go for it, please, yes.
We'll obviously put links to your website in the show notes, but if anybody's just listening
to the audio, it's landley.net, l-a-n-d, l-e-y.net. Slash toybox. The next few years are clearly
going to be pivotal in determining whether or not mobile will live up to its promises of potentially
disruptive technology. And it's been really interesting to hear your thoughts on the whole topic.
Thanks again for taking the time to talk with us today and the best of luck with the toybox
project, Rob. Thanks for having me. Well, there we are then, fascinating chat with a really,
really interesting guy who's obviously been around the block a few times. And bear in mind that if
you want to send feedback about that, the best place is probably to leave a comment on the website
where it's public and Rob will be able to read it. So with that, we're coming to the end of
another Linux Lodites. You can email us at showitlinuxlodites.com or find us on Twitter,
Linux Lodites, or leave a comment on the website. Thanks for joining me, Paddy, and thanks
to everyone for listening, and we'll see you again in two weeks. More Linux news, reviews,
comment, and generally being grumpy. Hi, everybody. See you later.
You have been listening to Hacker Public Radio, or Hacker Public Radio, those are. We are a
community podcast network that releases shows every weekday on Deathly Friday. Today's show,
like all our shows, was contributed by a HPR listener like yourself. If you ever consider
recording a podcast, then visit our website to find out how easy it really is.
Hacker Public Radio was founded by the Digital Dog Pound and the Emponomical Computer Club.
HPR is funded by the Binary Revolution at binref.com. All binref projects are proudly sponsored
by linear pages. From shared hosting to custom private clouds, go to lunarpages.com for all your
hosting needs. Unless otherwise stasis, today's show is released under a creative comments,
attribution, share a like, lead us our license.
