Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Discussion & Documentation Gentoo Chat
  • Search

Podcast Interview with Daniel Robbins

Opinions, ideas and thoughts about Gentoo. Anything and everything about Gentoo except support questions.
Post Reply
  • Print view
Advanced search
6 posts • Page 1 of 1
Author
Message
comprookie2000
Retired Dev
Retired Dev
User avatar
Posts: 925
Joined: Sun Jul 25, 2004 5:39 am
Location: Sun City Center, Florida
Contact:
Contact comprookie2000
Website

Podcast Interview with Daniel Robbins

  • Quote

Post by comprookie2000 » Sat Dec 06, 2008 3:39 am

http://linuxcrazy.com/?q=node/54

Big Thanks :wink: to dch24 for the transcript.
Last edited by comprookie2000 on Wed Dec 10, 2008 2:48 pm, edited 1 time in total.
http://dev.gentoo.org/~dabbott/
Top
desultory
Bodhisattva
Bodhisattva
User avatar
Posts: 9410
Joined: Fri Nov 04, 2005 6:07 pm

  • Quote

Post by desultory » Sat Dec 06, 2008 3:55 am

Your link to Funtoo is broken, it points to http://funtoo,org/ instead of http://funtoo.org/.
Top
comprookie2000
Retired Dev
Retired Dev
User avatar
Posts: 925
Joined: Sun Jul 25, 2004 5:39 am
Location: Sun City Center, Florida
Contact:
Contact comprookie2000
Website

  • Quote

Post by comprookie2000 » Sat Dec 06, 2008 4:00 am

Thanks, got it :)
http://dev.gentoo.org/~dabbott/
Top
dch24
Tux's lil' helper
Tux's lil' helper
Posts: 99
Joined: Thu Feb 15, 2007 2:27 am

  • Quote

Post by dch24 » Sat Dec 06, 2008 7:57 pm

So I'm only 25 minutes in, but I ran out of time right now. Here's what I have so far: (please let me know if you see typos!) :-)
Edit: I'm up to 25 min out of 41. This might take a while!

comprookie2000: Hello and welcome to linuxcrazy podcasts. By popular demand, I have a special interview today, Daniel Robbins -- the guy who created Gentoo Linux and who wrote lots of IBM developerworks articles. And it doesn't stop there. His current project is funtoo. Hi Daniel, and welcome to the podcast.

drobbins: Hi there. Thank you very much.

comprookie2000: Who is Daniel Robbins?

drobbins: Hmm, I ask myself that many times. I'm just the guy who -- I like working on code, hacking on projects, and some stuff I worked on became pretty popular. I think that's about it. Other than that, I like just messing with things and getting things working and learning things. I guess that's probably a summary of who I am.

comprookie2000: What has your journey been like with Linux, and how did it start?

drobbins: Um, well, let's see, at the beginning I was working at the University of New Mexico as a system administrator. And it was actually for a Windows NT 4 network, and what happened is that I got everything running pretty smoothly, and I installed Debian Linux on a server, I believe it was 1.3, and I started using Debian, and I thought it was interesting, I didn't really like their package manager though. It was dpkg at the time. So I started looking at other Linux distributions. I got involved with Stampede Linux as a user and then as a developer, and again I sort of looked at their package manager and didn't quite like what I saw, so I started to look at how I could improve it. It was a binary package manager actually that I was looking at, and I made some improvements to it, I designed a new system that made it more modern, more flexible, but they weren't really receptive to the changes. But there were probably, I would say, at least one outspoken developer who was nitpicking everything I did.

[0:02:49]
comprookie2000: Uh huh

drobbins: And I just thought, you know, instead of sort of putting up with this kind of unpleasantness, I could just go and create something myself and then I could do whatever I wanted and you know, it wouldn't be political. I wouldn't have to convince this person who seems very unwilling to accept any of my ideas, to consider my ideas, I could just do them. So that's what I decided to do. I left Stampede and I started my own distribution. It was called Enoch. And I thought, since I'm doing everything by myself, I'm going to need to automate this system really well, so the first thing I focused on was basically recording everything, all the steps that I had to do to build it, into recipes, into build scripts, so I could automate it, so I could reduce any manual labor required to a bare minimum. So that's what I did, and I worked on Enoch for a while. Then at a certain point, I got a little frustrated with Linux, and to be honest I can't remember exactly why. I think it was stability issues.

[0:04:04]
comprookie2000: Uh huh

drobbins: I actually had a flaky motherboard, but I thought it was Linux's fault, and for some reason I tried FreeBSD and it didn't trigger the bug that was on the hardware, so I used FreeBSD for about 6 months, got familiar with ports on FreeBSD, and then sort of missed Linux. So I got some new hardware, went back to Linux, and then took some of the ideas I learned from FreeBSD and incorporated them into Enoch, and that grew to become Gentoo.

[0:04:45]
comprookie2000: Would you briefly detail the process and reasons for leaving Gentoo originally?

drobbins: Uh, originally was back in I guess 2004?

comprookie2000: Uh huh

drobbins: So Gentoo had grown to be a very large project and uh, basically it was very demanding of my time, and I was focusing more on how to grow the organization of Gentoo, and on running the Gentoo store to provide us with a revenue stream, and I think I just was doing too much.

comprookie2000: Uh huh

drobbins: I think I got burned out and I was also under a lot of financial pressure, where I needed regular income, so it just became difficult to sort of manage everything. And I think I also got a little depressed, just about the state of um, our development tools and our development model. That was before git was around, really, so um, you know, I was sort of thinking, "There's got to be a better way to do this. But I don't see it right now. I don't see how this can really scale very well."

[0:06:14]
comprookie2000: How do you plan to avoid these kinds of constraints with the new project, funtoo?

drobbins: Well, I think the key thing with funtoo is sort of like my re-entry into the world of Gentoo. And what I'm trying to do is do some innovative things that support the Gentoo project. I'm not trying to compete with Gentoo as much as I'm trying to really harness the energy and the innovation that's in sort of the greater Gentoo community that doesn't always reside with the official developers and the official project, and find ways to really harness that through distributed tools like git. Um and I think another key thing for me, is just, you know, I think I've learned a lot from the experience, that I don't want to bite off more than I can chew. I think this time around, I actually have a really good team of people sort of looking out for me and giving me critical feedback. That's something that was missing in the Gentoo days. Um, I think many of the developers were glad to be there, but I didn't get critical feedback early, when I could really act on it, so I think that's a key thing.

[0:07:37]
drobbins: I'm also really focusing more on communication -- direct communication with users. I have a blog. I have a website, funtoo.org, that I'm trying to design to be more of a portal, to inform people and to get people the latest stuff, so those are some of the ways.

[0:07:58]
comprookie2000: And also the IRC on freenode is a great place to come visit the people of funtoo.

drobbins: Right, yeah. We have a #funtoo channel there that has about 20-25 people in it typically, which I'm really impressed with just because funtoo hasn't really been around that long. So yeah, the IRC channel is great as well.

[0:08:27]
comprookie2000: What aspects of Gentoo do you feel the developers and maintainers have got right?

drobbins: Um I think Gentoo has done a good job with preserving this idea of choice. So Gentoo is basically giving the user to decide what they're doing with their system. So I think that's been preserved really well. And I think that there's been a lot of work on the portage tree, on the packages in the portage tree, and obviously it's grown to be quite huge, so there's been a lot of packages added. I think that's been done well. I think the thing I'm impressed with most with Gentoo is the user community around it. I just think the users are really amazing, and they do a lot of cool stuff with it. And that is a good sign, I think.

[0:09:42]
comprookie2000: What is it about Gentoo you would like to see improved?

drobbins: Uh, there's a lot of things. The main thing, though, is right now Gentoo -- they are trying to improve it. They are trying to work on its weaknesses, and no project is perfect. But I do think Gentoo tends to sort of have a cloistered set of developers, sort of as a generalization. They're not always open to input or collaboration with the larger Gentoo community, and just due to the nature of the portage tree. So Gentoo has one portage tree, and basically all developers work on that tree. There's one sort of "blessed" tree, um even though some people are working in overlays and other things. But, because of that -- and you have all these people who have historically been committing to this one tree -- there's had to be a lot of policy and procedure on how to do things the right way, so that somebody doesn't mess up somebody else. So there's a lot of sort of stepping on each other's toes, um, and rules. That tends to slow development down. Sometimes, if you're adding a new feature to Gentoo, you might have to touch a lot of different ebuilds, that are not maintained by the same people. So if you need to put that into a central tree, then all of a sudden, what ends up happening, is you need to coordinate with those people. You need to have discussions. Well, they may not agree with how you're doing things. So then you need to either convince them or incorporate their ideas into your plan, and it just becomes a very complicated process. Uh, I just think that today, with the development tools we have, with git, we don't need -- that model isn't necessary any more.

[0:11:39]
drobbins: And I think that with a distributed development model, you can have small teams that are relatively autonomous working on specific areas that they're interested in. And that tends to be a much more efficient model. It's also more pleasant for developers, and you don't have to have as much red tape, as much bureaucracy. People generally just want to code. They want to improve their distribution. They don't want to police people or write rules, but with a, sort of a centralized model, that does become necessary. It sort of becomes a catch-22 where you know, you want to get things done, but then you don't want to have people mess each other up. You add rules. And it's not necessarily a pleasant environment. So I think that's the main area where Gentoo needs improvement. I do think that you can point out a lot of problems with the Gentoo project, but I think at a fundamental level, they all sort of stem from that one core problem.

[0:12:49]
comprookie2000: As the founder, you have seen all aspects of Gentoo. How would you bring the Gentoo community closer together?

drobbins: I think the key thing is to um, move to a distributed model of development, where people can organize and work on stuff that they like to work on. Uh, to make that happen, basically any person who is sort of getting involved with Gentoo needs to be able to build the entire O.S., to run the whole O.S., and to test it. That's something that my boss at work talks a lot about, but

comprookie2000: Uh huh

drobbins: Basically, I don't think it's good enough to just have somebody out there who can build a release of Gentoo. Anybody needs to know how that works. And then with a distributed tool like git, they can easily fork Gentoo or fork funtoo, and do their own cool thing with it. And I think that's really the key to improving things. If you can get smaller groups working relatively autonomously with the tools and understanding they need to really get involved in whatever area of Gentoo they want, without stepping on somebody else's toes, I think that's the key to improving Gentoo.

[0:14:12]
comprookie2000: What open source software can you not live without on your network at home and at work?

drobbins: Uh, the key stuff is ssh, screen, and vim.

comprookie2000: Uh huh

drobbins: And python.

[0:14:30]
comprookie2000: Which open source programs would you like to see developed?

drobbins: Hmm. I'm not sure. I mean, I'm not an expert on what's out there.

comprookie2000: Uh huh

drobbins: I'm focusing more on the core tools of Gentoo and funtoo, so I don't always know all the cool stuff that's out there. So if I tell you something that I'd like to see developed, it's very possible that it's already being developed.

[0:14:57]
comprookie2000: Gotcha. Tell me about your latest product.

drobbins: Well, my latest project is Metro, which is a part -- it's something that I did um, basically to help me build up new releases of Gentoo and of funtoo. I started using Gentoo's catalyst tool, and I was actually using that for quite a while to build up currently releases of Gentoo, like daily builds, that I was featuring on my website, at funtoo.org, but as I wanted to add more stuff, it just was very difficult to do that, and the code was also kind of complicated for me to follow, and at a certain point it became more practical for me to rewrite it from scratch, so that's what I did. And I tried to design a really elegant tool to build up entire releases of Gentoo. So that's what Metro is. And it has a very different design than the old Catalyst tool does -- I think a lot better design. And I have documentation on line that you can get to from my site, if people want to try it out. What it lets you do is you can build up -- you can literally do everything that I am doing on my website, like I am building up daily customized versions of Gentoo as well as daily stable versions of Gentoo for all these different subarchitectures. And you can literally use the same script that I do to build up those releases, as well as do your own custom variations of Gentoo with your own packages and USE variables and all that stuff.

[0:16:39]
comprookie2000: What programming language is Metro written in?

drobbins: It's written in python.

comprookie2000: Ah, cool. Yeah, I just used your guide to do my first stage build with Metro, and it went real smooth. It was pretty neat, really. I didn't have any idea it was going to be that easy.

drobbins: Cool. Well, I use it every day -- I think every day I run it three times from a cron job. So it gets a good amount of testing. And that's how I wanted the tool to be -- I wanted it to be something that people can rely on for a reliable build, so that they can go into it and it just works. So they don't go into it and, oh, something broke, because somebody hasn't built up a release for two months, and something changes. I want it to just work, every time. So I'm glad to hear that.

[0:17:26]
comprookie2000: What resources have you found most helpful when troubleshooting your latest project?

drobbins: What resources when troubleshooting it... Well, you know, I really -- I had to look at the current catalyst and try to understand how it was doing things, but at a certain point it sort of became complicated, to figure out what it was actually doing, and I had to sort of go through the fundamental steps of how to build up Gentoo, build up a stage1 tarball, build up a stage2 tarball, build up a stage3 tarball. So, you know, I looked at the catalyst code, and then of course I always look at the python documentation when I'm trying to do new stuff.

comprookie2000: Uh huh

drobbins: Or I forget how to do old stuff, so, python documentation at python.org, or I just google for information.

[0:18:26]
comprookie2000: As the open source community interface at Microsoft, what did you learn that you are now using to make funtoo a better project?

drobbins: Hmm. Good question. Um, I had some insight into the Vista development process, and how it differed from Linux, and there are certain benefits to it, and obviously there were a lot of problems to it. Um, I think that it helped me formulate my ideas about having small autonomous teams be able to sort of direct their own path more, rather than having a very large structure that's managed from the top. Um, 'cause that didn't seem to work very well for Microsoft. They actually had to do a reset on the development of Vista. It was -- originally -- a large portion of it -- it was written in .Net and they had to basically do a reset and base it off of Windows Server 2003, and then even then you know they really struggled with the release and it was delayed, and I think a lot of that stemmed from uh, basically, that the teams weren't able to organically define their relationships with other teams. They were stuck in this stucture that was defined by managers. So for funtoo, what I'm trying to do is basically help support Gentoo by promoting git -- looking for ways to use it. Uh, for the portage tree for example: provide tools for building the entire O.S. -- so anybody -- you can have a group of three people work on your own little Gentoo-based distro. And then those little groups can chart their own course. And they can decide how they want to work with other groups who may be doing a similar thing. I think that's really key: to have that sort of organic, self-organizing structure, where you know, each group gets to figure out, you know, how they want to work with everybody else. I think that's key.

[0:20:56]
comprookie2000: Were there a lot of Linux users at Microsoft?

drobbins: Um, there weren't like a ton.

comprookie2000: Right.

drobbins: Like, people weren't coming to me from all over the place saying, "Yeah, I use Linux. It really rocks!" But you know, every now and then you'd run into somebody who really liked Linux, who worked there. And um, people who used Linux were, you know, always pretty excited about Open Source. You know, there's definitely people at Microsoft who really um, like Open Source Software, who like Linux, who like GNU stuff, um, yeah, they're there.

[0:21:43]
comprookie2000: Would you compare the Gentoo stage release process and the Metro, and elaborate on some of the difficulties that the original catalyst code base has caused?

drobbins: Uh, well catalyst originally was created by a developer, sort of, the concept was created by a developer, the initial prototype was. And then I really took over development and pushed it towards -- with the help of some other developers -- basically it was a tool to build up any release of Gentoo. 'Cause before that we had, like, the PowerPC guys were using their own scripts. The SPARC guys might be using their own scripts, too. So we'd get slightly different results, so it was a way to standardize. And it did that job really well.

drobbins: So we had one tool that we were using to build. It got things consistent. We used the same process. That was good. Um, the way I left catalyst, though, it was kind of, limited. It was basically this big black box, and you fed it like six parameters, and from that it would build a Gentoo release. And that big black box was a lot of complicated python code, and over time as more and more features were added to catalyst, it just became very, very complicated. So if you today, if you went and looked at that code, it would be very difficult to sort of figure out sort of the linear steps that it would go through to actually do everything.

[0:23:28]
comprookie2000: Uh huh

drobbins: So what I did with uh, Metro, is I basically said, "OK, we can't have all this complex logic wrapped up in all these python classes, that are interacting with each other. What we need to do is have this complex logic in recipes, and have these recipes written in bash, and have them resemble the actual commands that are used if you were to do this from bash," sort of like how an ebuild is supposed to be similar to the actual steps that you'd use that build up a package (although that isn't always true anymore because of a lot of eclass use and stuff like that). But, so basically I broke out -- I took that complex logic that was in catalyst, analyzed it, broke it into a recipe, wrote it in bash, and I made the core of catalyst basically just execute that recipe. So that way if you want to modify what catalyst does, you don't have to modify catalyst source code. You can just modify the recipes that it's running.

[0:24:42]
drobbins: So that's a really key difference. Uh, the other thing is that I just made it a lot more flexible, like the original catalyst for my build script -- I had a really complicated build script to work with catalyst and I basically looked at that script, and I said, "Let's look at all these weird steps that I'm doing to make it work with catalyst, and let me look for ways that I can eliminate the need for those steps." Like one of the things that um, I had to do with catalyst is I had to move stuff from catalyst temporary directory to my mirror, my mirror layout: I had a layout how I wanted my mirror to look on disk. So my script would have to basically copy from the catalyst structure that it used in /var/tmp/catalyst, and it would have to basically translate between that and my mirror layout and make sure everything was up to date.

[0:25:45]
Last edited by dch24 on Mon Dec 08, 2008 7:23 am, edited 1 time in total.
Top
lightvhawk0
Guru
Guru
User avatar
Posts: 388
Joined: Fri Nov 07, 2003 12:59 am

  • Quote

Post by lightvhawk0 » Sun Dec 07, 2008 5:53 am

I heard the whole thing. I liked alot of what he had to say, and I'm glad he worked so hard to be lazy. Know the rest of us can strive to do the same thing. :D
If God has made us in his image, we have returned him the favor. - Voltaire
Top
durian
Guru
Guru
User avatar
Posts: 312
Joined: Wed Jul 16, 2003 6:38 am
Location: Rörums Holma

  • Quote

Post by durian » Wed Dec 10, 2008 9:58 am

Thanks for the transcript, that was interesting!

-peter
Top
Post Reply
  • Print view

6 posts • Page 1 of 1

Return to “Gentoo Chat”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic