Danese Cooper is a senior engineer, computer scientist, former CTO with the Wikimedia Foundation, founder and has been an evangelist of open source technologies since 1999. She’s currently working as Distinguished Member of Technical Staff, within the CTO division of PayPal, helping build their open source infrastructure.
Danese also serves as Board Chairperson with the Node.js Foundation, along with contributing to a host of prominent software development institutions. In her spare time she loves needlework and knitting, Irish and Qawwali music and tinkering as a deep maker!
In this Codecast, Danese gifts gems on the history, function and philosophy behind open source, shares tips on how new developers can begin contributing, and reminds us why it's beneficial in upholding social and software transparency.
Key Theme » Efficient Liberation
”Arguably in the early days of computing they had to share the code because it was just too hard to get anything done and it was a hobbyist thing so everybody shared everything. The early ARPANET was about institutions sharing things. That’s pretty much the way it got set up. But if you date the movement that I’m part of from the beginning of free software – that’s the early to mid 1980s, when Richard Stallman got locked out of his computer at MIT. He had already graduated, been through grad school and he wanted to keep tinkering on his project and they kind of wanted to make the chair available for somebody else—and getting locked out, getting ‘passworded’ out of his own system really pissed him off. That’s when he decided he was going to create an alternate universe where the code would always be available.” – Danese Cooper
”...take time to talk to people and make friends, if you can.”
” they were my engineers and I wanted them to be efficient and we were having completely insane conversations...We were using the same documentation that outside people were using and we would have conversations like, “does it really work this way? Do you remember you wrote it, did it do this?” It was ridiculous, so open source looked to me like a much smarter way to do things from the get-go and especially as a student of computer history knowing that was how it all was originally, it just made sense.”
”As you’re navigating your career you get to decide – do you want to be on the bleeding edge or do you want to be on the safe and central edge?”
Full Episode » Transcribed
Alright, we’re officially live.
I have to apologize for my voice at the outset, I spent the last month in India and I somehow came back with a really nasty cold so I’ve been saving my voice all day for you guys. Hopefully it will last for this period of time that we’re speaking.
I hope so, too. Just let me know if there’s anything, if it’s fading out.
You’ll be able to tell. (Laughter, and feigns coughing.)
Welcome officially and thank you so much!
Sure. It is true I have had a long career now, but at the time it didn’t feel like it was long and of course, I started late. I didn’t go to CS school – my degree is in French Literature. How I became the person I am had everything to do with a desire to make money and the luck to be in the right place at the right time, and a lot of hard work – but I am living proof that it can be done, I guess.
Hopefully you guys will at least get that out of tonight...you can and you are going to have to work really hard, though.
Oh, they know.
But it is quite possible, in fact when I learned, 4GL’s were not really a thing yet and so we had to learn the basics. I started out learning C, because that was the language to know. I still think it is on some level, it’s the guide language – you can do anything with C, it’s just harder you have to pay more attention because it’s real easy to screw up, too.
Anyway, what else did I learn – I learned SQL very early and I learned my way around an operating system, which a surprising number of coders today don’t do. I think it’s a pity. If you go to CS school they are supposed to make you learn how to write a compiler and learn a fair amount about the innards of operating systems and I think that’s a very good learn. I guess these days failing that, having a good basis of system administration at least.
How were you able to learn these skills back in the day before MOOC’s?
I was lucky again, my first real tech job was for Apple Computer and they hired me to do records management for them for the first lawsuit that they had with Apple. So this is the very early 90s, and I was happy to work for them on that, that was what I had been doing, but part of my work was to take over a system that had been written for the records management team by a developer who was still hanging around. He was still under contract and the thing was still being written.
They figured out that I would be the likely person to manage it because everybody that I worked with was in their advanced stages of their careers, like in their 50s at that time. They thought it was going to be too hard for them to learn SQL and be able to spindle the data that we had. So they taught it to me, and I had an aptitude so the computer programmer in question started teaching me other things like C and system administration.
We stayed friends, let’s see...maybe four years later I married him. So then I had a guy that was very interested, had a vested interest in having me understand and know how to talk about technology! And, for many years after that every time I got a new job I would call him and say, “do I want to do this? Do I want to open source Java?” (Laughs) He said, “yeah, you want to do that,” so then I would go into meetings and I would take really good notes in the meeting, very quietly take very good notes and I would call him up and say, “what is a JVM and why do I care?”
And, he’d tell me... ‘discuss garbage collection with me please,’ I need to understand it. And so I was lucky that he’s a great teacher and I have an aptitude.
We talk a lot about the value of mentorship; we undersell the potential of husbands and wives. (Laughs)
Yeah, It’s totally, totally worth finding a mentor that you can ask questions that isn’t going to laugh at you for not knowing. Then the other thing that happened was at Apple, and I think they still do it, they beam the Stanford Instructional Television feed into every office and you can sit there and take a CS degree listening to Stanford talk. So I did that, I listened to as much of that as I could while I was at Apple and because of that I understand the innards of RISC chips and about massively parallel processing – let’s see, what else did I really learn there? Oh, hypervisors, they were talking about those a long time ago, Stanford Instructional Television tends to be kind of advanced topics for people that are already working in the field, but there was a lot of information there for me.
So we go from French Literature to Apple Computer to mentorship and learning and actually being pretty good at this stuff. I venture to say that not everyone could pick up some of those skills, just from watching Stanford television?
Well I studied a lot of languages in school, I studied maybe seven spoken languages in school and I got good at acquiring languages and if you think about it computer languages are just very, very simple languages – simple grammar, simple syntax. So then if you have a decent background in math, practical math which I did because I went to a good school, it’s not a huge job. To be perfectly honest, I did do a quarter of Basic in 1973 when I was in school and it was a long time ago – every old nerd has a story like this and you guys will get tired of hearing these stories! But we had to make a phone call and then we had to slam the phone down into a coupler in order to run the “mojo”, which is what a modem was called, and mine went 300 bot, I can type almost faster than it was sending signal. Then we recorded our little programs on paper tape that had punches in it, we weren’t using IBM punch cards. The paper tape was thought to be more friendly because it could hold a whole program on a single length of tape.
It’s not that it was a completely foreign idea to me, I just then went really deep into liberal arts and I didn’t sort of look back until I knew the job.
I think we might have some people in the group here who are language majors as well. I have certainly heard the same kind of comparisons made.
Yeah, there are some famous linguists who became programmers. The guy who invented Perl, Larry Wall is a linguist and he wrote Perl out of interest but he learned languages because he assumed he was going to need to do missionary work at some point and having a few languages under your belt is a good idea.
That’s interesting. So how did you end up going then from – basically where did open source come into your world?
Well, once again right place right time. I had left Apple and I was working for Symantec – and that’s another key thing in this industry is you’ve got to take a lot of different jobs. It’s not actually the kind of industry where staying in the same company forever really helps you, although there are companies where people work that way, notably Intel, people work for 30 years, 35 years, it’s really common. But not so much in most of the industry, so I was at Symantec and I was learning that not every programmer is a rocket scientist because the first programmers I worked with were all really rocket scientists! They had patents on QuickTime and what we were doing was figuring out – my second job at Apple – was figuring out how to make QuickTime videos stream over the internet. The product that we worked on ended up being called FaceTime eventually, and the thing we’re doing today was only possible because of the work those guys did.
I went from that to regular programmers – guys who just link together other people’s libraries and take a paycheck home, and mostly educated outside of the US. It was a real eye-opener to me that that also was a valid path – and I developed a lot of theories about the different “casts” of programmers, if you will.
Anyway, I was complaining about this very problem while having lunch in Cupertino, CA at a sushi bar and somebody tapped me on the shoulder and said excuse me, “I couldn’t help but overhear your conversation. Would you be interested to open source Java by any chance?”
I literally went outside and called my husband and said, “do I want to do this?” He said, “yes, you want to do that” and I said “why?” He said, “ ‘cause they’re going to get it wrong and you’re really stubborn and you can probably make them do the right thing. And, I – your husband – have an investment in Java so it would be good to have you there!”
So I joined and because Java was such a valuable commodity, and all of open source wanted it open sourced – and Sun didn’t really intend to do that or even know how to do that – it put me right in the middle of a big controversy. After six months of being the visible person you threw the tomatoes at, if you were in the open source world and you were mad at Sun – I actually quit my job. What I didn’t realize and I really didn’t plan it this way, unemployment in the valley – we were in the middle of the last big bubble – and unemployment was only about half a percent in Silicon Valley. Which means that people who had no business working were working and companies couldn’t let resources go because it was just too hard to get new ones.
So, my boss said “well, I understand what you’re saying and I even respect what you’re saying, but I can’t let you leave so – what would keep you here?” Boy – if anybody ever says that to you guys, you’ve got to aim big!
What I said was, “I think you’ve pissed off everybody in the open source community by the way that you’ve been behaving and I think you’re going to have to make friends with them, I think it’s inevitable that you will brought in line with their vision. So why don’t you let me make friends with them for you, and that way they’ll be in your corner the next time you try to open source something but you’re going to have to do it for real, because I’ll be watching.”
She, my boss, she says “that sounds like a decent plan I guess”, and so that made me the first corporate open source officer at the one company that was really serious about doing open source. The very next project that we did was NetBeans, which is an IDE, people still use today, forced IBM to open source Eclipse, which more people use. We learned really fast about the disruptive nature of open source, and then right after that Open Office, which necessitated me talking Scott McNealy into doing something he wasn’t planning to do.
Meanwhile we’re continuing the work on opening Java and it’s harder and harder to do because Java is worth a lot of money and Sun’s not sure they want to do it. The guy who promised the world we would do it quit the company about six months after he promised, or about three months after I joined. So it was an interesting time and it took almost the whole time and a little bit more to get Java open sourced. But along the way we learned a ton about how you get big companies to do things, and I got to write more open sources licenses than any single human being has ever done, because Sun wanted to create different ones and new ones for different corner cases. Then I ended up getting asked to serve on the OSI (Open Source Initiative) board because I knew a lot about licenses, and it all was just uphill from there.
One of the things that I got to do early on was invite all of the voices from open source to come to Sun because they had a practice of doing study groups around something new. I ran a study group around open source and we invited everybody – everybody that had a paper in open source’s original book and a few other selected people – came and told us why Java should be open source.
The way that it went was, we would start a conversation and it would be open Q&A. I got the senior management to sit and listen to these things and then I would take the person out to lunch to thank them for their time. At some point during the lunch conversation, they would get it that I was very much in their corner even if Sun was not, and those relationships that I built in that first year I still have most of them and they have been invaluable in everything that we’ve done.
Another big lesson is: take time to talk to people and make friends, if you can.
So what are some of, maybe on broad strokes, what are some of the major political issues that have really defined that struggle? I don’t know if you could really call it the “early” open source movement that has been going on in some form since the 50s.
Yeah, arguably in the early days of computing they had to share the code because it was just too hard to get anything done and it was a hobbyist thing so everybody shared everything. The early ARPANET was about institutions sharing things. That’s pretty much the way it got set up. But if you date the movement that I’m part of from the beginning of free software – that’s the early to mid 1980s, when Richard Stallman got locked out of his computer at MIT. He had already graduated, been through grad school and he wanted to keep tinkering on his project and they kind of wanted to make the chair available for somebody else—and getting locked out, getting passworded out of his own system really pissed him off. That’s when he decided he was going to create an alternate universe where the code would always be available.
That insight, that dream really is the basis of everything that we do. The renaming, or Richard fields co-opting out of that movement into something called open source, was mostly about Tim O’Reilly realizing that the software was not getting as much use as it could have gotten because of the name. Because unfortunately in English the word “free” means not only free as in liberty – which is what Richard was meaning, but also “free” as in no cost. It was confusing businesses, because the GPL E2 was a political manifesto before it was a license – the first page and a half is a political manifesto – companies were shying away. They were backing away very gently, but the real forces that made open source work were market forces – and the really large companies that are kind of the king-maker companies in the industry, even today, seeing a value for themselves in making Linux for instance work as well as Solaris or Windows, because they can use it to supplant the other players. So the disruptive nature of open source became clear really early and for us at Sun – that’s a lot of what we used it for. I got comfortable with those maneuvers pretty early on.
I’m also curious about how you ended up moving forward and finding your way towards Wikimedia, which of course kind of goes almost a step further, right?
Right, well I worked for Sun for six years – excuse me I think it’s time for some water. This is not gin kiddies, this is water!
Okay, so I spent six years at Sun and we open sourced everything but the kitchen sink pretty much. Then I spent four years at Intel and part of going to Intel had to do with wanting to see Java properly open sourced. Intel and IBM had funded a project called Harmony at Apache which was an implementation of the language, and later became part of the Android developing system, like the class libraries that were written from Harmony.
But anyway, I had to leave Sun because I had broken a lot of eggs there. I was starting to run out of places where there wasn’t already egg on the floor. (Laughter) The truth is, the CEO then tried to get me to stay and I probably could have written my own ticket, maybe I’d be a VP now, but I was more interested in getting the work done. So I went to Intel. I was there for four years and when I left Intel it was kind of at their request, and I joined my first startup. When I say it was at their request – there was a startup that they had invested in that had an open source angle and they wanted somebody there that could help that startup succeed, so they kind of placed me there.
That startup was called Revolution Computing. It later became Revolution Analytics and it was purchased by Microsoft last year, so that was a dive into statistics and the world of Quants through the open source language R. My departure from that project I blogged about, and it wasn’t a pretty departure. It wasn’t just me, they laid off half the company when they achieved their B round and it was the half that thought the management they were trying to set up was the wrong management, and we said so. Sometimes being forthright has its costs, you know.
I was at loose ends for, I want to say, about three months. I started a consultancy like you do, right away, and I had a couple of clients right away because Tim O’Reilly sends me clients, which is nice of him. Then I got a call from somebody who said, “hey—you wouldn’t consider being the CTO of Wikipedia would ya?” When somebody offers you a job like that you kind of have to say “yes!” That one I did not call my husband about. (Laughs) Even I knew that was a job you couldn’t turn down. It was super interesting, I was proud to serve at the time that I was there. I was the only CTO that was a woman in the top ten websites in the world and Wikipedia was number five.
Diving into something that’s got that much importance to that many people was a little mind-boggling, and awe inspiring. You go in every day really feeling like you have to give your best performance ever.
I had half the employees working for me which was the engineering half of the company and there had been a lot of pain and suffering in that time and some attrition and they wanted to rebuild their engineering organization. I know how to do that, so, I did that for them, and I was really happy to be there.
I still am pretty good friends with everybody that I worked with, and we have periodical meetings whenever Wikipedia has an all-staff they call me up and we have dinner and we talk about whatever is bugging them this week and I give them advice about how to fix it. When they leave Wikipedia I try to help them as well, you know. That one was kind of a lifetime sentence, in a way.
Of course, I can’t even get my questions out fast enough I have so many, but definitely curious about the open source side of things, definitely curious about the technical side of things as well. Certainly some of the technical challenges that you guys faced there were incredible.
Yeah, the number – talking about your interesting stories, even with all that traffic Wikipedia still was run incredibly leanly. They are like the original lean startup almost, so when I got there they were exactly four and a half ops people – period.
(Laughter) That I was not aware of!
The software was hosted in Tampa, Florida because that’s where Jimmy Wales lived when they started Wikipedia. It was in a “colo” that was no longer serving our needs and in fact one of the first outages that I lived through happened because somebody in that colo kicked out a plug, so we moved it to a real colo during my tenure. We moved it to the place in Virginia near the NSA where they had the most cross connects in the world to a famous colo called Equinix, and they were very happy to have us.
It was run in such a way that it was possible for four and a half people to keep it up and running most of the time, they had about 98% uptime when I joined. Even with that sparse a team, and that’s because they had taken a lot of shortcuts to get there. One of the first things that happened while I was working for Wikipedia was, we hired a guy to help us figure out how to make more money because we averaging about $8-million a year in direct appeal and we needed a lot more than that to really get things do and do all the things that even I wanted to do. Fixing the hosting situation and everything.
The guy that we hired had worked for MoveOn and is right now working for the Bernie Sanders campaign, so he’s a political fundraiser. He was used to being able to do A/B testing to make sure which method was actually drawing the best response. We weren’t set up to do A/B testing because in their wisdom the ops team had decided not to log 100% of activity, they just logged every tenth piece of activity because they couldn’t deal with the logs at the real size they were generating with only four and a half people. So we had to fix the logging so we could reasonably A/B test, so that we could learn how to make money. In so doing we went from $8-million to $50-million, now the standard benchmark is about $50-million a year that they earn.
It was an interesting time to be there.
Oh, we also made a big investment in Open Stack, because we needed to figure out how to virtualize. Along with their being not enough ops and data hosting, there was no backup – when I joined Wikipedia.
Now the data was backed, when I say the data I mean the stuff you see which is mirrored everywhere so we had mirrors of all the pages. But we didn’t have the top pages, we didn’t have the edit histories, we didn’t have the stuff that makes it Wikipedia, really – from the editorial point of view. So setting that up is one of the early things that I did as soon as we had the hosting situation fixed, but along with not having all of that we didn’t have – we only had a production environment. So anything that you did to Wikipedia you did to production. New feature rollout right into production, anything at all, hot fixes, everything! Happily, we had several Wiki’s that were small so we would roll it out on some obscure Wiki that had a relatively small traffic stream and if it fell over we’d back it up but it was not very exacting. The real problem was because the Wikipedia data set is so available and so large, it gets used by researchers all the time, and not researchers that are interested in Wikipedia, per se, they’re just looking for large data set to prove some algorithm they’re writing or something. And so they were screwing things up and we had to create a staging environment for them and our choices were a proprietary piece of software or Open Stack – which was kind of the first open source cloud piece of software. So we went with Open Stack and our engineer was able to write a whole virtualization environment that worked pretty well for as long as it ran before they were able to substitute in a real staging environment.
Anyway, we did a lot of experimental things in addition to the day-to-day housekeeping.
So you started with I want to get into this because the money is right and you’ve, over quite a period, demonstrated very clearly a strong, strong commitment to the idea of open source. How did that turnover and why is open source itself such a fundamentally important piece of your life?
I think I might have been born for open source, I think we were born at the same time for a reason. I don’t have a lot of filters myself, I’m pretty transparent in my own life and I really hate inefficiency. When I was at Apple the second time, Apple is famously a siloed internal community. You can get fired at Apple, or you could during the Steve Jobs’ days, for telling somebody that sits next to you what you do for a living because you’re not supposed to talk outside of your silo. The silo that I was in, the QuickTime silo, was essentially bifurcated by the desire of half of the engineers to work on streaming and the other half to continue to make QuickTime super great. That first half saw a future where the Mac became the default film editing platform, so SGI was also going after that money and that market with their boutique hardware that they were building.
The guys that I was following were more interested in pushing forward video at all, even lower quality video so you could do things like this (YouTube). Because of the way that Apple’s politics were they got locked out of the code trees that they had contributed to when they worked on the main QuickTime engine. That meant that they were black-boxing code that they had written in order to write the streaming software that we were writing and it was unbelievably inefficient and it really pissed me off because the coders were right down the hall and we couldn’t see them. I had kind of a version of the same experience that Richard had, although not as seminally confronting because it wasn’t my code, but they were my engineers and I wanted them to be efficient and we were having completely insane conversations.
We were using the same documentation that outside people were using and we would have conversations like, “does it really work this way? Do you remember you wrote it, did it do this?” It was ridiculous, so open source looked to me like a much smarter way to do things from the get-go and especially as a student of computer history knowing that was how it all was originally, it just made sense.
When you go back to the history of computing and Richard has told me this, the father of free software, at the same time that Richard was having that epiphany Bill Joy who was one of the cofounders was at Cal doing his PhD and he decided to rewrite units which was a product of Bell Labs to run on the PDP machine that the university had just purchased, which was the reason he went there because he wanted to work on that PDP machine, and in those days you picked your school by what tools you got to play with. And he also did essentially open source, there were two schools of thought about licensing, one is copyleft which is the free software GPL version of things.
Open source core values.
When I’m explaining this to people I usually say the worst nightmare for a person who is of this persuasion, is that a piece of code not remain free – they want code to be available more than they want it to be used. They want it to always be available – so they’re not afraid that their license is scary to business, they just want freedom in the sense that they can always go back and use that language again, and then there are what we call the copycenter people which is the people behind BSD and MIT and Apache and there are a few others, that these are permissive open source licenses. Instead of saying, “you must give your changes back,” they say “this code will always remain free that we’re giving up and you can use it however you want. We won’t sue you we just want you to use it.”
That permissive licensing is what Bill Joy invented with the Berkeley Source Distribution license and the MIT license was an early draft that he picked up and used to write the BSD. Even in that first year in the 80s you already had both poles of the sort of open source world, and I work in both poles. I am a member of the Apache Software Foundation so that tells you that I have a bias towards permissive licensing, but that bias comes mostly from working inside corporations and seeing that what drives adoption makes people use your product, makes people pick up and use and join your community much more readily than going with a copyleft licensing.
That’s incredible. I have a lot of things that I would like to have, but this is also a discussion driven also by others.
Is there anyone here that has something you would like to hear about?
STUDENT Q: [KIT]
That’s a very cool avatar.
STUDENT Q: [KIT]
Thank you. I was wondering, first of all it was really interesting about the A/B testing guru going to the Bernie Sanders campaign, because something seems familiar about that. They are both really good at extracting money from me, but anyway I wondering first as a joke question or an unserious question, did they actually A/B test Jimmy Wall’s headshot in that photo and I was wondering if it actually had an impact, is that like a personal appeal because it seems to remain there through the ages and it must A/B test well.
It does, in fact, has been A/B tested, there have been some very, very famous defeats to the Jimmy picture. You guys may have seen the screen that was up the day Wikipedia went dark in protest of SOPA. This was maybe four years ago now, maybe five years ago now. That screen was designed by a guy named Brandon Harris who I hired, he lives here in the Bay Area, and he was the main designer for Wikipedia for a while. He left a little while ago and he actually teaches design classes now, which is kind of cool, and he just joined a startup. But anyway, his picture, you have seen Brandon because he is the angry hippie, you may remember the angry hippie picture from a few years ago. It was a guy with very long hair with his arms crossed saying why he works on Wikipedia and why he thinks you should give money. He made more money that year than Jimmy and at Wikimania which is the big annual conference that they hold around the world for Wikipedia, Jimmy gave him a gold Rolex he was wearing in recognition of the fact that he won out.
That picture of Jimmy is pretty compelling, it continues in the rotation because it does well in earning, and yes that’s one of the things that was taught to us, you have to A/B test everything.
STUDENT Q: [KIT]
That’s good to know there are no special exceptions. Thank you.
STUDENT Q: [JUSTIN]
So if you were making the argument for open source to a company or maybe to someone that wasn’t really familiar how would you break it down for them?
Well you kind of have to come in from wherever it is they are. A lot of times when we get asked to do this they’re already in trouble with some open source authority somewhere and they’re wondering what hit them, so we usually take it from there, and we’re not always successful.
I tried to help somebody, I worked on a project for the Bill and Melinda Gates Foundation a few years ago around education and we had one of our partners in the assessment area was pretty sure that open source was going to kill his business and we brought in some pretty big guns to have a debate with him and we were not successful, he didn’t buy so those just wrote around him, which is what we told him was going to happen, but he’s feeling – he’s a smug guy so he’s probably feeling pretty smug that he didn’t make that choice, or maybe he’s sorry, I don’t know.
If the desire of the people you’re trying to explain it to is to disrupt which is usually pretty attractive then you explain how driving adoption for the thing that you’re going to do that’s going to be disruptive is the way you go. Let me think of a recent example of that that I did.
Actually I was just at WIPRO in India which is one of the oldest outsourcing houses there, and because of the government’s decision all of a sudden everybody in India wants to learn about open source so they invite people like me to come talk, since I was in town. While I was there you try to leave the campground better than you found it always, I gave them a few business ideas that they could use and most of them were about disrupting their position against the other companies of similar type. I had read that morning that WIPRO was having some woes and having to remake themselves and so I pitched them on remaking themselves as the one Indian outsource company that actually gets open source. My suggestion was that they help launch a code for India like the code for America project that does bespoke open source coding for municipalities for low cost or no cost or finds grants through government, but uses talent that is on a Peace Corps like assignment so they’re not getting paid scale but they’re getting access to a lot of high profile projects over a brief period of time and that’s why they do. My suggestion was they get involved with them immediately, domestically, and that they open source a bunch of tools that they develop for use by their peers, and then I got the usual conversation about how they could lock their peers out of such an effort, and then you have to remind them that open source is an ‘all boats will rise’ kind of a thing, you can’t lock anybody out. Your can’t lock your competitor nation to the north of you, you can’t lock half of the religious population out, there is no locking out – we don’t believe in that.
We so don’t believe in that, we can’t limit field of endeavor for any open source software even if we’re politically against the thing it’s being used for. We have to eat our own dog food and behave according to the OSD just like everybody else, but then I usually tell them the Open Office story because Open Office was very successful in everything that it sought to do including forcing Microsoft out of its file format monopoly, which was the real reason that some of us came to do it, but also helping to close the digital divide by almost 130 language branches existing. So increasing the number of languages by 1000% over what there was before. Microsoft only supports 13 languages worldwide.
So thinking about how you can give something up to get something bigger to happen, and then talking about the numbers, talking about the number of elements that are now going shopping for open source expertise and how those contracts will drive the desire for open source software into places we have not seen it yet, and the money to be made in those markets.
You have to approach them from where they’re living. Does that help?
STUDENT Q: [JUSTIN]
Yes, so with a government do you think it would be a security thing, you could say if you have closed source software it’s pretty hard to audit it for security concerns, things like that?
Actually the Chinese government got Microsoft to cough up Windows code with exactly that vector, so we gave them those words. We said oh you want to be able to see what’s going on with the software, well you can do that with Solaris now and with Linux, but if you really want to use Windows or Mac maybe you should ask them to give up their code. They successfully got Microsoft to do that for them, so the security question remains, it’s always the same. You can tell if Microsoft has been in the minds of the people you’re working with because there’s certain ways they use to talk about open source. They’re supposedly friends of open source now but as recently as five years ago they were still going into countries and freaking them out about the security of open source, and you could always tell if they’d been there because they used specific language that was really weird.
People would say to you, “that’s very nice ma’am, but is the software legitimate? We heard it was illegitimate.” You’d be like, “illegitimate? Gee I wonder who you’ve been talking to.” But when I was at Sun I asked Whit Diffie who was one of the co-inventors of Diffie-Hellman encryption, you may have seen he won the Turing award last month, finally. But anyway, I asked Whit what he thought about the security question and what he said was, first of all there is no way that we can say definitely either way is more secure. There is no indicators, there’s no way to say that, but what we can say with certainty is that open source software, security vulnerabilities get identified and patched faster on average, and we also know that most malicious modifications to software, proprietary software is done by disgruntled employees.
That tends to suggest that any way you can increase the number of eyeballs that aren’t disgruntled looking at the software the best chance you have of getting to a good outcome.
Whit has been a fan of broad sharing for a long time, for at least 30 years, he’s been requiring that people sign a release that essentially allows them to republish any topic he gives as a GPL talk. He’s got long a belief in open source and free software, and we usually tell people it just depends on if you believe that it’s still possible to keep secrets. If security, you think is still possible, then by all means have it. But you really only have to look at some of the most famous proprietary software and how very bad the security has been to see how hard it is to keep a secret.
STUDENT Q: [JUSTIN]
I agree, I think that’s right on the money and being in Microsoft’s world as an IT guy it’s kind of funny to still watch them kind of wiggle around that idea.
Well they have more money than god so it’s going to take them a long time to fall apart, but they will, they definitely are going to spiral down. They’ve been a games company for a long time I think.
STUDENT Q: [JUSTIN]
Well thank you.
STUDENT Q: [KIT]
I have another question, you worked at Apple and talk about open source, so what do you think about their decision to open source Swift and is that legitimate?
They had to do it, right. Proprietary languages don’t actually get traction anymore and that’s one thing that our friends in Android land were successful in changing with their grand swing at the iPhone. Interestingly enough Android has a platform that is becoming less and less open, so you know the jury is still out on how that is all going to come about, but Apple had to do it and yes, I think it will be a real open source project because they did WebKit properly indicating that they do know how to do it.
Their original efforts to improve or send their improvements to the mock kernel back upstream to the BSD will of course willfully be unacceptable, but that’s because it’s not possible to build a vibrant community if you’re not going to actively code in that community’s code base. Throwing changes over the wall every so often is pretty unsatisfying especially to people who have just spent a lot of energy maybe doing exactly the thing that you’re just throwing over the wall and they get pissed off pretty fast.
There’s no reason that Apple can’t reinvent itself now that there is no Steve Jobs, I have hopes for them still.
STUDENT Q: [KIT]
That’s good news.
Any more questions? Alright, as I said I certainly have a number of my own, in particular I think relevant to what we’re doing here is video of the open sourcing of education, more of a spiritual open sourcing perhaps than something directly relevant. But I’m curious about given your experiences with Wikimedia and as you mentioned the Bill and Melinda Gates Foundation, what your thoughts are on that future and how that parallels or does not parallel the idea of open source software itself.
I’m pretty bullish on it right now because I was just in India where I met a guy at IIT Bombay named Dr. Kannan, he’s a chemical engineering professor. He heard about the work that Sal Khan has done with the Khan Academy and he decided that it would be possible – it might be feasible I would say, in the beginning it was still a might be, to create a course like that to reach the next echelon of students in India who are not close enough to a real college because now almost everybody in India has decent broadband or the promise of it coming because the government has said they’re going to do that, and they all have phones.
Open source and democratizing education long-term.
What’s the minimum chunk of knowledge that a person can ingest, and they decided that Sal Khan was correct and that it is ten minutes – what they didn’t realize is that Sal used that number because that’s the YouTube limit, but anyway. They have created to date several thousand pieces of course wear around learning technology and they started at an assumption of no understanding baseline and go all the way through understanding the nuances in C and Java, and they’re working on Drupal right now because we were just there.
The first week in India it was the Inaugural DrupalCon in Asia which was very well attended, so that’s why we were talking to them, but they also are going to Node.js, as long as they’re doing modern things. And they’ve had over a million and a half students take these classes, and they know that because they’re working with local universities to accredit the courses for that state so that people can get a certificate at the end that acknowledges the work that they’ve done.
It’s kind of amazing actually, if you think about it because their problem is not just producing the content but then it has to be localized into 22 languages that are spoken commonly in India, and so he’s figured out how to do that as well. He’s got about 100 interns and grad students working on it, and 30 of them do nothing but interface with the colleges around the country and the rest of them are providing content and then they have content producers who write scripts and record scripts. They have content experts who make sure the scripts actually make sense, and it’s really an amazing thing that he’s done and kind of nowhere, out of nothing.
If that can happen in India I’m confident that this is how most people will learn in the future. It should be completely democratizing. In our country of course there will be attempts to control it and spin the message according to whatever it is that they think you should learn, but uncontroversial subjects like how to program should be pretty available. So I’m really bullish on it.
What I learned from working with the Bill and Melinda Gates Foundation for 18 months is it’s possible to have too much money and you can’t get much done when you have too much money, as it turns out. It’s counterintuitive, but in the US they only spend money on education and most of the projects they spend money on don’t do very well, although they do underwrite Sal Khan so you pick a winner every so often.
That’s fascinating, there’s so many threads that we could take but I think we are actually drawing to a close here and I want to be respectful of your time. I think perhaps just to pull things back down towards what’s directly relevant to the people who are likely listening, now, later and certainly here with us today. You had mentioned something about early in your career identifying this idea that there are sort of different levels and capacities of programmers, I think you called them a cast of programmers. Whatever that is, we have a group of people who have taken it upon themselves to change their lives and take on programming and have that whole great future ahead of them. What advice would you give to sort of navigate away from the things that would potentially put them in the wrong bucket, something that would really hamper their careers?
Well first of all you cannot outdo the programmers that are coming out of India and Russia and China at being, at that lowest echelon of functional programming because that’s what they’re taught, and mostly thanks to Microsoft and Microsoft’s tooling frankly, they’re taught to link together other people’s libraries, they’re not really taught the bigger concepts and they’re not encouraged to invent things, and that’s a shame. Although if you are bullish on America continuing to own the software industry that’s exactly what keeps those countries from taking over. So they are very good at imitating work that has already been done but not so good at inventing new things from scratch.
Now of course there are young programmers in India that are being inventive, and likewise there, as Bill Joy said, genius has to be equally distributed around the world, it has to be, it’s just a question of what kind of influences and training they’re subjected to. But the truth is most of the people with real genius for invention in the developing world want to leverage that genius to move to the developed world, they do, and so there’s a brain drain thing that happens for the folks that self-select into that class.
What you can do to become the best programmer you can be, first of all you cannot stop learning, just learning one or two tools is not going to keep you employed the whole time. It’s not going to get you access to the best minds because there’s an alpha class of programmer that Tim O’Reilly famously called the “Alpha Geeks”, and what he does is watch them and what they care about and then he tries to write his books about that. He tries to put them up to speak at his conferences and get everybody riled up about what’s going to happen next.
The “pied pipers” of open source trends.
All the alpha geeks are doing is keeping their nose to the wind if you will and jumping on new trends and evaluating them and where they think there’s something interesting, lending their gravitas and their support to build something great because that’s what makes them happy. They don’t like writing production code, they don’t like running production code, they like doing the bleeding edge stuff.
So when you’re learning new skills be aware that for a while after a new technology enters the marketplace all the alpha geeks will be super interested in it and you won’t be able to find a production job running that code because production engineers won’t know enough about it, they won’t have caught up yet. So for a long time startups would use Ruby on Rails and write these killer apps which would then need to be rewritten once they got super successful because they needed to scale better, and because they couldn’t hire programmers to run the production code, they would often step back into Java or something that was “better known” because it was easier to hire those people.
As you’re navigating your career you get to decide – do you want to be on the bleeding edge or do you want to be on the safe and central edge? Nobody gets fired anymore for knowing Java but if you want to write front-end code you probably want to be looking at a more modern thing like Node.js or Go. If you’re going to write for mobile you are going to want to know Swift and of course the Android development environment which is little Java, but that could change over time, too. We don’t know yet where that’s going to go, but you’re going to have keep learning so hopefully like that.
Programming career growth realities.
Getting paid to solve puzzles is basically what programming is, and solving a better quality of puzzle is how you distinguish yourself and get to where you can write your own ticket.
Open source is your friend there because the alpha geeks tend to work in open source and you get an opportunity to read some of the best code in the world and how you figure out you want to read is you pay attention to who O’Reilly is talking about and then go find their projects and have a read.
If you want to see some very clever code I would say look at Brad Fitzpatrick, who’s amazing. He wrote LiveJournal, which you guys are all too young to remember now, but Live Journal was the precursor of Facebook. If you went to see that movie about Facebook, when Zuckerberg first gets mad at his girlfriend and wants to trash talk her on the internet, he fires up LiveJournal and the day that we saw that movie. It’s fun to see movies about technology in Silicon Valley because everybody’s involved. The day that we saw that movie was the first day that it came out, there was a little squeal in the center of the audience and a girl said “I wrote that.”
Anyway, he works for Google, he cares a lot about Go, he’s writing beautiful things with Go and he’s worth looking at.
Who else would I say to go read, if you’re interested. I don’t know if any of you are studying up to be Quants, but supposedly being a Quant is the sexiest job in programming and if you wanted to set your sights high that would be the way to go. Quants are people who can look at data and tell you what it means, interestingly. And the most famous Quant right now is DJ Patil, who is also the Chief Data Officer for the country, at least as long as Obama is in the office. His work is very, very interesting, he worked for LinkedIn for a long time and wrote a bunch of stuff in open source for them, and briefly for PayPal and then for Google. He has kind of been around, but he does amazing work.
Most of the really great visualization done are very clever, there’s a guy named Hadley Wickham, who is a professor at Rice and also works at a startup in Silicon Valley, and he is so clever that he rewrote the presentation layer for R completely in R which is super interesting, if you’re a geekist like myself.
Anyway, I’m just pulling names out of a hat, but really anybody that they talk about. Oh, Artur Bergman, go have a look at Artur Bergman, he started a company called Fastly which is the fastest CDN that you can possibly work with now. He was the CTO of Wikia when I was the CTO of Wikipedia and we’ve known each other for a long time. He was a Perl geek but he got a hold of Varnish which is a piece of software written for load balancing of networks, and he was kind of a network geek anyway and he started modifying the users at Wikia, which is the sister ship to Wikipedia. He did amazing work with it – it’s very, very, very clever and open source.
Participate in, get comfortable with code reviews.
There are good people to go read, and doing code review taught me so much. Any time I worked with rocket scientists I tried to make them do the code review. So for instance I once code reviewed all of the software that SETI uses to position the telescopes in the Allen Array, because no one had ever done it and they didn’t really know how it worked. Individually each of them knew their piece but no one had the overview, so we did a code review to force them to give up their secrets.
Any time you can sit in a code review you’ll be amazed.
Maybe we should make our Codecast a code review!
In the Drupal community your very first – if you happen to have a contribution that is your first contribution to Drupal and its happening during a code camp or a conference – they do what’s called a “live commit” and they pick them up at random but it’s so exciting. I was just there at one last month. There were a bunch of us that were having conversations in a different part of the building in a different room and somebody ran in and said “they’re doing a live commit!” We all jumped up and ran into this other room because it’s that exciting. What they do is they pull up that person’s code and they read it together and then if it’s good enough and they try to pick one that is, they commit it right there and everybody claps. It’s a beautiful thing.
Part of open source is getting your code reviewed, so if that idea makes you squeamish you might want to start paying attention to code reviews, because you’ll need them.
I think that’s a good note to end on. Danese thank you so much for your time, I really appreciate it, this was a fascinating discussion about open source. I know that there’s a million ways that we can keep diving deeper, I hope that someday we will have an opportunity to do so.
You guys do want to all go get something committed to open source because then you can reference it, it’s going to be your best code because you’re going to be really nervous about everybody seeing it, but on the other hand people that are thinking about hiring you can see it and read it and realize what kind of programmer you are. So it’s worth doing, it’s better than having a resume for a lot of things, so definitely try to do that.
Advice on getting involved with open source projects.
Can I just give my advice about how you get involved in an open source project?
So, not all projects are the same. Each project has its own kind of way of being, they’re sort of like street gangs, and you have to decide which one you want to be in and the best way to do that is go ahead and subscribe to a few mail lists.
Subscribe to developer lists and all sorts of general lists and just watch them for a while and see what goes on and see if you like the way that it is. Do you like the way they talk to each other, do you like the problems they’re discussing. Go look at the code they’re talking about committing and see what you think. You can do all of this, it’s all visible and nobody is going to call you out for doing it. There’s no rule that says no "looky lou’s", so go do that with a few projects before you decide, and then when you find one you kind of like the look of, introduce yourself and be strategically humble. Offer to do some work, somebody will probably have an idea of work you can do.
Really well won projects will have a list of low hanging fruit that people can go after for first commit, but if that is not available, if you ask you may find something obvious. So for instance the Apache Open Office project right now, for a variety of reasons is without very many engineers that know how to build the code. So if you want to take the time to learn how to build the code you can do them a real service. If you want to just document the process of just learning how to build the code that would be a real service because they’re trying to attract more people and they need documentation written by fresh eyes.
There are lots of places you can go that is not the only one by any means, and then as soon as you feel like you have your legs under you start listening for people that came after you that are asking some of the questions you’ve already gotten an answer to and go ahead and help them out. Open source is about helping out your sister and your brother and really feeling that way about the people you’re hanging out with. I advise you to dive in.
Thank you so much. Thank you everyone who is here with us and everyone who is listening in and everyone who is watching in the future. This is the Viking Codecast with Danese Cooper, thank you so much and I hope you guys have a wonderful evening.