On today's show Nadia and Mikeal talk with Max Ogden, creator of Dat, an open source, decentralized tool for distributing data sets. Max has also done a lot of work in the Node.js ecosystem, including helping start NodeSchool and publishing hundreds of modules to npm. He was also one of the first Code for America fellows.
We talked about how he figured out grants were right for developing Dat, and how he managed to find his first funders. We also got into the mechanics of grant funding. Max shared what it's like to work with grant funders, and how to build those early relationships if you're looking for grants yourself.
I’m Nadia Eghbal.
And I’m Mikeal Rogers.
On today’s show, Mikeal and I talk with Max Ogden, creator of Dat, an open source decentralized tool for distributing data sets. Max has also done a lot of work in the Node.js ecosystem, including helping start NodeSchool and publishing hundreds of modules to NPM. He was also one of the first Code for America fellows.
Our focus on today’s episode with Max is around grant funding. We talked about how he figured out grants were right for developing Dat, and how he managed to find his first funders.
We also got into the mechanics of grant funding. Max shared what it’s like to work with grant funders, and how to build those early relationships if you’re looking for grants yourself.
So Max, you have an interesting story in terms of how you ended up at Code for America. Can you tell us a little bit about how you ended up there?
Yeah, actually, it was fortuitous, or random, at least to me at the time. Maybe it was all planned out, I have no idea. I was attending an event around OSCON, which used to be in Portland every year, and they moved it down to Austin this year. OSCON was cool; I could never afford to go, but it was interesting because it would bring all these open source people into Portland. One year, there was a CivicApps competition here in Portland that I was participating in. The city was trying to get people to use their open data. I was at an award ceremony for that, and received an award for some CivicApp that I had made.
I had a thing called a PDX API that took the datasets from the city of Portland, and made them accessible to developers. In the audience was Tim O’Reilly, who owns O’Reilly Books and runs OSCON. He came up to me afterwards and he goes, “Hey, we’re starting this new thing called Code for America. Here’s my card. You should definitely apply to be a fellow.” This was about nine months before the first Code for America fellowship term started. I was like, “Holy cow, this is crazy!” I had started talking with the Code for America folks and I applied for the fellowship, and got the fellowship. I had to quit my job and then move to California. It was a big… It was a very quick succession of events that I didn’t see coming that totally changed my life, definitely, in many ways. So it was this one… It seemed random to me at the time, but I was in the right place at the right time.
I actually met you when you got the award, I was at the same thing. That was the first time I met you; you were actually 19 or 20 at the time, but you still had that giant beard. [laughter]
Nice. I didn’t realize that you were there. That’s crazy. I never knew that.
Yeah, yeah. We were there with J. Chris and talked about CouchDB stuff, and the upcoming event… The upcoming Couch camp thing that we were going to do. Max is actually the first person to buy a ticket to the first event that I ever ran, in 2009.
Wow! Way to go, Max.
Yeah, I remember when I first went to Oakland, right after I moved down to the Bay area. Or maybe I visited the Bay area ahead of time, but basically the first person I met up with was Mikeal. He had biked to a really cool coffee shop, and I was like, “Whoa, Oakland is awesome!” I ended up living there for four years. A lot of transformative things happened for me in 2010. [laughter]
Can you talk about that a little bit? Just how… I think you had a startup before you were at Code for America. It sounds like Code for America helped you think about different applications of code in ways you hadn’t necessarily done before for work.
[00:04:03.20] Yeah, before that I was working at a great team at a company, but the product wasn’t anything that I was passionate about. It was qualitative market research. It was boring; I didn’t feel strongly about helping companies target their products. But I got super lucky because the team was super supportive, and it was a really good place for me as a college dropout to learn all the things that I needed to learn to be a functioning, contributing programmer to society. I really feel like I got… Nowadays, I feel like I was ahead of the curve. This was like the mid-2000s, late-2000s, I was a junior programmer, and the dream of a junior programmer is to get on a team where you’re supported and mentored, and given challenges, and not expected to work weekends. Portland is pretty cool, because the culture here is very family and personal-oriented, and not about “working for your company at all costs.” I feel like I was ahead of the curve then, because now I talk to junior programmers, and they’re like, “Ah, I wish I could get any job where I’m supported and mentored, but there’s no jobs available for that.” There’s this huge influx of people coming in, and I don’t think a lot of companies know how to mentor people, so I’m just incredibly grateful that I had an awesome mentor early on. So shout out to Dan Herrera, if he’s listening.
Whoo! Dan Herrera!
He taught me everything that I know.
That’s a really lucky opportunity.
Yeah, that’s awesome. When you did PDX API, one of the premises of it was, “Don’t try to provide data to developers in something that they can't understand. Just give me the data, and I’ll make it accessible to developers.” [laughs] Which was interesting, because you didn’t have a lot of inroads with the people publishing the data at the time. But when you went in to Code for America, there you were paired with a municipality, and you were working with the government to produce something. Can you tell me a little bit about what that transition was like? Rather than just pushing something to developers that you get over a wall, but actually working with specific governments.
Yeah. The human side of code that I learned through that process was… Previously, I think you nailed it in the question, actually. Previously, I was an outsider. I was a volunteer and I didn’t feel like I could actually influence the things the people that were working for the government could do, technically. I just assumed their process was set in stone, and they weren’t interested in me, as some random person who wasn’t official and wasn’t paid to help them. I just did what I could; I took their data, and tried to make useful on the outside.
I think the stroke of genius in the model of Code for America… I mean, they copied Teach for America, it’s very overtly modeled on that. I think the Teach for America model is you embed people. The Code for America model is about embedding. One of the really cool things about the Code for America program was you show up, and the first week is about understanding government culture, and how you can be an agent of change to show them alternative ways of doing things with technology. But an emphasis that it’s not technical, it’s a human problem. It’s a lot of social problems, and it's a lot of incentive problems. We actually had a negotiation workshop, which was really, really useful. I still use the principles that I learned in that, every day. I had thought negotiation was about — if somebody is trying to detonate a bomb, you have to talk them down off of a ledge. It turns out that negotiation is if you’re talking to anyone, in your day-to-day life, and you’re trying to be nice to them, that’s what negotiation is about. It’s about having respect for people’s point of views, coming to a positive outcome.
[00:08:02.00] So the fact that Code for America didn’t have us do a bunch of technical things on our first week, but instead they had us talk about being change agents, being effective negotiators, I think speaks a lot to us about how they knew that it was essentially about embedding us inside of government, and having us inspire people with new ideas, and have an influx of crazy ideas that came out of it.
Going into it, I thought it was a technical thing. I thought I was going to be like, “Okay, I’ll go make a bunch of cool APIs, or build a bunch of cool apps.” By the end of it I realized that people inside of governments aren’t exposed to ideas like open source as much, because the hiring and procurement systems are essentially broken. They don’t have any way to compete with talent, for people that go and work at Google.
The Code for America model is you literally get people to quit their jobs at Google for a year, or go on a sabbatical, and then you get them to become government employees. I didn’t come from Google, I came from this smaller company, but the general idea is practicing people from the tech industry get to go and do a year of public service. What was cool about it was I actually became a government employee; I went through the ethics training at the City of Boston, I had a “@cityofboston.gov” e-mail address, I mean, it was the whole shebang. I was an official employee in the Mayor’s office.
That was really empowering for me, because now I was on the other side of the wall, so to speak. When I was in Portland, I was just this random person that was volunteering; I didn’t feel like I had any power to actually change anything. Now suddenly I was a City of Boston employee, and I felt my opinions were valid on things, and I could set up meetings with CIOs, and talk to them about, “Hey, why are you procuring this horrible software, why aren’t you procuring open source software, for example?” That was super cool, I feel like it was a hack.
The Code for America hacked two things at once; they gave me a lot of confidence that my opinions did matter, because it made me feel like I was the expert coming in, and trying to help people understand they don’t have to buy horrible software, and hire people with horrible credentials; they can actually do things in a more progressive and modern, open-source way. To them, it was exciting; they had somebody coming in and had a lot of excitement and enthusiasm. I definitely had a lot of people telling me they were surprised that they didn’t make me shave to work at Boston City Hall; I had a giant beard walking down Boston City Hall. It was definitely a bit of a culture change thing on purpose.
The point of it was you go into a city for a year, and you try to make some cool things. By the end of the year, you don’t just leave and the things go away. The idea is that by the end of it, you’ve given the city a different lens to view the process for developing software.
Actually, the hardest thing about it was that we had to come up with a way of contracting for support for the open source apps that we did, because they were deployed on Heroku and they didn’t know how to maintain Heroku services. It turned out that the biggest outcome of the entire thing was we had to draft a new procurement policy for the City of Boston that let them support open source software, have a support contract with an open source vendor. That was a totally new, groundbreaking thing for them because usually the support contracts are built into these huge multimillion-dollar contracts, but the idea that they could have a $5,000-open source support contract just so that if the app went down, they had somebody that they could call to help them. It was those small wins that were the long-lasting effects, whereas going into it, I didn’t know procurement was going to be the focus of all our efforts.
[00:12:06.18] That’s an awesome story. That was 2011, right? You started Dat a couple years later, right?
I’m assuming some of those experiences ended up feeding into the kind of work you ended up doing/living for?
The last couple months when I was working at the City of Boston, I ended up working on a bunch of different little prototype applications. We were working with the public school system, so we ended up… Another big thing we didn’t see was how much time we spent talking to lawyers about student data, and learned a lot of things about what we can and can’t use in terms of datasets to build applications, because of privacy issues. For a yearlong fellowship, near the end, I started working on the kind of things that I had been working on in Portland, which was a better way to disseminate the data that the city already had, and make it available to people to build things, like data platforms. My motivating factor was data is read-only, usually. When the city has data that they collect, they collect it for their own purposes, and if they have an open-data policy, they make it available to people. But they don’t make it available in a GitHub way, they make it available in a “download our CSV” way. People, if they used the data and found errors in the data or wanted to clean up the dataset… Say that I’m building the application, and I have users that are contributing data that the city might want to know about. For example, if I have a jogging application, and I have a better dataset than the city has of where the ‘joggable’ paths are inside of parks, wouldn’t the city want to have higher quality data about where pathways are versus their potentially out-of-date dataset? The idea of having a dataset be read-write was a motivating factor for me. But there was basically no version control tool for datasets that was out there, so I started going down that rabbit hole a little bit. I was like, “Oh, this is a huge project; this is going to take a lot of time.” I didn’t work on it after the fellowship, for about a year or maybe a year-and-a-half, and then I was like, “Oh, nobody is doing this still, I should probably do it.” Then I started pursuing the idea of Dat more as like a full-time thing.
So it sounds like the genesis of it was around government data, but the project now is mainly focused on scientific data, and science. How did that transition get made?
It was also this fortuitous meeting. I had gone to the Mozilla festival, which is an awesome festival. It’s basically nine conferences at once in this big building in London. And it’s all these different open knowledge, open culture, open science, open source, open journalism, open data... It’s all these different, awesome, overlapping communities. I went to this thing, and I had a prototype of Dat that I had developed. I think I gave a lightning talk on it, and this grant officer from a foundation came up to me, who was at the conference, and he said, “Hey I saw that you’re doing stuff around dataset sharing, and better tools for syncing datasets, and you’re working on government. Have you ever thought about scientific users?”
And I was like, “Well, I think science is really cool, but I’m a college dropout; I have no credentials, I don’t really know…”
[00:15:58.11] He actually said, “I think what you’re doing is exactly what a lot of scientists need right now, but you don’t know it yet.” [laughs]
I was like, “Whoa, okay. That’s interesting.” I think he ended up being totally right. So the funder actually approached me, and convinced me to work on their social issue, so to speak. I thought that was really interesting; just getting a prototype out there, and going to the right conference where you have this interdisciplinary crowd, and declaring to the world, “Hey, I’m working on this thing. Here’s a prototype.” For me, it worked out, because somebody said, “Oh, I totally need that, but it’s in this area that you don’t know that you should be working on yet.” It helps that they were also a person that could write grants. That was another moment that totally changed the course of... My last four years was this one chance meeting at the Mozilla festival; I think it was 2013.
Awesome. We’re about to head into our break, but when we return, we’ll dive into the grant process, and some of the more organizational aspects.
Alright, we’re back with Max Ogden of the Dat project, and we’re talking about grant funding. So I’m curious, Max, when you started doing this, it sounds like you fell into this fortuitous meeting with a grant funder, but how did you know that grant funding was right for you with this project? Why didn’t you just build Dat in your spare time?
I would give a lot of credit to the Knight Foundation. They have been doing a lot of work to try to make grant funding less scary. One of the things that they’ve done, which… I think I was the first person to get one of these, just because I was a right-place-right-time thing. It was called the Knight Prototype Fund. Usually, their grants are multiyear commitment, and they take a lot more work upfront, because you’re planning waterfall-style for this multi-year period. That’s the traditional grant structure, you’re doing these bigger projects. And Knight said, “If it takes three years to evaluate if something worked or not, that’s kind of a long turnaround time”, so instead they came up with the prototype. Originally it was $50,000 for six months, for one person to make a prototype of something and test an idea out, and they revised it, so now it’s $30,000. It’s full-time or part-time; if you don’t have the time to quit your job, or if you don’t want to make a huge risk doing a multi-year thing on something you’re not sure about yet... They even want you to take the prototype and develop it into a full grant, that’s how they see the pathway going.
I think progressive-thinking around smaller funding is really interesting. The only reason I got into this was because I could start small. I didn’t know enough to write a huge grant at the beginning. ‘Huge’ meaning more than one person for six months.
[00:19:51.11] Yeah, definitely I want to explicitly plug the Knight prototype thing, because I’ve heard really good experiences around it. We’ll get into it later, but why grants are so scary to people. I think part of it is because you have these enormous amounts of money, or you have these multi-year commitments. I really like that that one’s much shorter, and with smaller amounts of money.
So let’s get into that a bit, and deconstruct this. What is grant writing? How does this even work? [laughs]
I probably have a different answer than a lot of people. The word ‘grant’ could mean government grants, it could mean EU grants... I have someone that I work with that’s in Denmark, they don’t have this phenomenon of eccentric billionaires, either alive or dead, that give away all their money away through a trust, because they’re trying to evade taxes, so they setup a giant, shareable trust. Like Howard Hughes - I think he’s the third largest endowment in the world. That was started so Howard Hughes could hide his tax money from the US Government. When he died, there was all this money, and they were like, “Oh, we could start a medical institute, and make grants with it.” They actually run an entire neuroscience facility off of the income, the accrued interest, on the original endowment, because there’s so much money in that.
So that’s an American thing, the philanthropic private foundations that are like these eccentric, mostly white male, rich billionaire people. All of our grants have been dead rich-billionaires, however there are also alive rich-billionaires, such as Bill Gates.
I didn’t realize that was an American phenomenon. In Europe, they have a functioning government that makes grants. Most of the grants… Say you’re Danish, and you want to go get a grant. Because everybody pays so much taxes, and they don’t have as much private philanthropy, you end up getting your grants from the government, but they have way more developed government grant programs. In the US, when you get a grant it’s usually really big, and you have to be a pretty big institution. So those are actually pretty intimidating.
I don’t think I’ll ever get a US government grant. I think I could get an EU grant if I was an EU citizen, doing what I do now, because they’re targeted at smaller things a lot of the time. The EU grants also get a lot bigger, so it depends on where you’re at. So that’s the first thing - don’t expect… If you’ve heard one person’s grant experience, there’s probably way different levels of grants, so just learning how to navigate which grants you actually want to go for is the first step.
To me, it’s not about the grant writing. The grant writing happens once you’ve developed a relationship with the person that you’re writing the grant for. If you don’t take anything away from this entire interview, I would say if you want to go down the path of getting grant money for open source, you have to start building the relationships now, and it takes years of time to develop those relationships. That’s the biggest disappointment when I talk to people about…
Because people are like, “Okay, I can go get VC and start a company that does this open source thing” and they figure out ways to make money out of it. What’s really cool about VCs is you get money really quickly, but you have to, down the road, make these compromising decisions, where you have to weigh your values against the shareholder income returns, and stuff like that.
With grants, you don’t get money quickly, you get money slowly, but then you never have to make…
Yeah, sometimes very slowly. But, the cool thing about it is you never have to make those judgment calls. You’re always working on what you want to be working on, because you had to go through this process that you’ve… The grant process to me is finding somebody that trusts you, and then writing…
[00:23:49.20] The grant itself is the contract between you and the funder. It’ like, “Here’s the mission that I’m working on", and they’re never going to be like… I haven’t had any experiences like this, at least; I think that some people have had this happen to them, but I guess I’ve been lucky. I’ve never had a funder come to me and say, “Hey, change what you’re working on. You have to do this now.” I, at least, don’t feel like they have influence over my day-to-day direction. I’ve already, upfront, established what it is that the mission is, and they basically just give you money and a time window so that you can pursue that mission. All they want at the end of it is to know what happened, and what went wrong; they want a report.
You end up doing a grant write-up at the beginning, that’s the pitch. “Here’s what I want to work on, can we agree?” And then you do a report at the middle, and at the end. That all actually comes after you spend a lot of time finding the right foundation, in the US for example. Finding the right foundation, and building the relationships. Ideally you want the funder to approach you and say, “Hey it would be really cool if you apply to us with this idea.”
So that process is… People have different ways of doing it. For me, I worked at Code for America, which was found by I think six foundations. Code for America was pretty well funded in the private foundation space, and because also I was working at Code for America - that was the year I got to start doing open source full-time, because Code for America encourages all the fellows to do open source for everything, so that it can be reusable. So because I was doing open source full-time, I started getting more involved in open source communities, and I started going to more community events, meeting more people, and networking. The combination of working for a non-profit that was grant-funded and going to events in that ecosystem meant that I met funders face-to-face. I can’t stress how important that is.
I would echo that, like a thousand percent. [laughs] Even hearing you talk about it, it reminds me a lot of venture capital. The advice is really similar, which is build real relationships with investors. Ideally, you want them to come to you, saying, “This is a really great fit for us,” versus cold applying to an e-mail address, and hoping that someone will get back to you. You did a great job deconstructing how some of that could be less scary than you think. But yeah, meet them where they’re at, and go to events where they are, or find…
[00:27:54.00] The way I got my Ford funding was through a mutual connection. I wasn’t even looking for funding, but I explained what I was doing, and that person was like, “Oh, I know who you should be talking to.”
I think there’s this running theme, even in this conversation, around intersectionality, and going out of your own sector to get inspiration from different sectors, which is both creatively stimulating, but also allows you to meet people outside of your technical network. I think that’s really important.
Yeah. You've mentioned… You’ve gotten a lot grants, and they seem to be stepping up in terms of the amount of money that you’re getting over time. I’m wondering if you could just walk us through the grants that you’ve gotten, and any changes that may have happened to the project, or changes in direction you may have gone down in order to get those grants, in order to work with those… You said that you’re not changing mid-course, but it does seem like if you’re now going from a $500,000-grant to a $3-million-grant, lining up with their goals in the beginning might shift some of the project direction a little bit.
So I’ve got four grants to date and working on a fifth, but I can’t really… That one’s not done, so I can’t really talk about that one. [laughs] I want to be transparent as much as I can, but the grant people like to wait until it’s announced, so that there can be a PR thing, so I can’t really announce that one…
You want to be open, but you also want to get that money, right?
Exactly. I want to be clear though, I am very pro-transparency. If anybody listening has questions that I didn’t cover, feel free to e-mail me or DM me on Twitter, and I can send you my budget, and everything like that. So the four grants that I’ve got, the first one was for the prototype, and that was $50,000. It was for me to work for six months on the prototype of Dat. The Knight Foundation said, “Hey you were working on this stuff for Code for America, you never really continued working on it. We have this new thing, the prototype grant. We were wondering if you were interested in building a prototype of that stuff that you never got a chance to finish working on for Code for America, and just see what happens.”
I was like, “Okay, awesome. $50,000 to work on an open source project is pretty cool.” So I did that, and it was just me. That was in the summer of 2013, I think. Then I went to MozFest that winter, and it was at the tail end, so I’m like, “Okay, I’m about to figure out what I’m going to do next” but then I met this funder from the Sloan Foundation, whose name is Josh Greenberg. Josh basically is the person who came up to me and said, “Hey, have you thought about working on scientific stuff?”
So far, I’m two-for-two. I had the foundations come to me, find me, and say, “Do you want to work on this stuff?" At that point, I had invested years of unpaid open source work into the ecosystem. At Code for America, I actually took a pay cut to move to San Francisco. So it doesn’t really make a lot of sense financially until this point. I want to be clear, I could make twice as much —I’m not being arrogant— I could make twice, or three times as much working at a start-up than I do now. But relative to non-profits, I think I make more than average. I think $50K for six months was about the same burn rate that I have now. Actually, everybody on my team makes $96,000 a year, because that’s $8,000 a month, which makes the grant forecasting really easy. So all full-time employees right now, we all make $96,000 a year. If you talk to tech people, that’s really low, but if you talk to nonprofit people, it’s above average. It’s like we tried to strike a balance between not making tech people not want to have the jobs, but at the same time, supporting people.
[00:31:51.29] So the first grant was six months. The second grant — I think it was $260,000 for a year. That was because I basically said, “Hey, I don’t want to work on this alone. I need a team.” Then I was able to hire two people. That was a huge moment for me, going from… I remember I had discussions with my partner, Jessica, at the time. I was like, “Well, I’m working on this thing alone, and it kind of sucks, because I don’t have any co-workers, and I’ve been doing it for a while. It would be awesome if I had people, like teammates.”
When I got that first Sloan grant, it was huge, because now I could start building the team up. The project went to three people after a year. We got the Sloan grant, and Josh said, “I want to pay you so that you prioritize scientific use cases. Because if we don’t pay you…” He basically justified the grant, like if he doesn’t pay us, we’re going to find funding from some other sources to focus on other problems. He wanted us to prioritize to work on his issue, which was scientific reproducibility. So, I haven’t really said anything about that yet, but the TL;DR on that is when scientists publish their work online, it’s important that other scientists are able to access the paper that they wrote, and also all the underlying data and code that they used to produce the papers so that an actual collaborative process can occur, or a fact-checking, peer review process can occur. Essentially, all of the public money that gets poured into public research, it’s important that all of those research outputs are saved forever, so that science can still happen in the future.
What happens today is that the data never gets shared. If it does get shared the link breaks, and nobody can find the dataset, or the researcher moves to another university, and it’s on a hard drive that nobody knows where it is anymore, because the person’s not working there anymore. There’s just a lack of good solutions in this space around ensuring that the data that underlies research is still available, or available at all in the first place. So that’s the mission of the Sloan Foundation, among other things. You may have heard their slogan, if you’ve listened to other podcasts. Let me try to channel it.
It’s like, “The Alfred P. Sloan Foundation, supporting the furthering of science and technology in the modern world,” or whatever. They’re very science-focused. [laughing]
Now we’re a proper NPR podcast.
Exactly! Maybe they’ll come do this podcast now, because they’ll be like, “Hey, you said the thing! Now we’ll give you money.” [laughter]
They’re very science-focused. They’re very clear about saying, “We want to prioritize you to work on science.” I actually thought that was cool, because I think science is cool. What happened was, we had this first one-year grant that established the team. What we had to do was make a commitment to working with scientists, but it was basically like an R&D project. Nobody knew what the solutions were. Basically, they only knew what the problems were. The problem was that no data was getting shared. They didn't know what the solution was, though. So we were in a unique position where we had to figure out what we were building, and the only way I knew how to do that was by getting embedded into the problem. So the way that we wrote that first grant was, “Let’s partner…”
Grant people always want you to have metrics, so that they can measure if you’re slacking off, or not. At the end of it, they can evaluate… Because they write a lot of grants, and they want to be able to evaluate grants using high-level metrics. Our metrics were, "Let’s partner with a certain number of labs." That was our main requirement. We made a commitment... They’re going to pay us, we’re going to get people to work directly with a certain amount of scientific labs, and really try to understand their process. And at the end of it, we’ll try to produce some software that is usable by these people in order to change their workflows, or encourage better data-sharing workflows.
[00:35:59.27] It was actually really fun, because in the grant it was like, “Okay, we’ll do four really in-depth partnerships with labs.” We got to work with astrophysicists, with DNA researchers, with social scientists... It was super fun, because I got to learn a lot, and I got to really challenge my notion of what data sharing was. I had stuff that worked for city governments, but then when we went to work with scientists, they were like, “Yeah, well my data is literally a million times bigger than that.” Or, “I’m using this file format that no one else has ever heard of, except the 19 people that use this.” It was a lot of really good challenges. For me, that was why the grant existed. Nobody was working on these problems, because in science, you’re not paid to write software, and that’s one of the big issues.
I mentioned incentives earlier... I think grants are a great way to create new incentives because you just pay people, and that’s a pretty good incentive. In public institutions, like science and government, there is often not great incentives to do things. For example, it doesn’t further your career in science; you’re not going to get a faculty position by writing open source. You get a faculty position by getting published in a prestigious journal. By writing open source… There’s no prestigious journal that publishes open source, so that doesn’t help you. As a result, they never do it, because it doesn’t help them.
Right, right. But there is a fair amount of prestige for developers to take on really hard problems. I like that aspect where he was saying, “I want to pay you to do this, so that..." Good people are focusing on hard problems.
I think a lot of people are probably thinking, “Well, if you only have $96,000 a year, you’re not going to get great people.” But actually, you have some severely hard problems that you’ve been working on, and you’ve gotten some really amazing people to work on them. I don’t think that people really appreciate the scope of some of the technical problems like that. But you were able to get Mathias Buus, who’s one of the most prolific programmers in the world.
You’ve essentially implemented a custom Merkle Tree. Basically, for the audience that doesn’t know what that is, you basically reimplemented Git, and then you backed it by a BitTorrent network for efficient sharing, and stuff like that. This is not simple work, and you have a small team of really amazing people. You were able to get really amazing people. How did you go about getting all of those people, and getting such great people to work for less than San Francisco market rate, but a fair amount of money?
That’s a good question. Mathias was the obvious choice for me. I had never met him actually, but I published a lot of Node.js modules. I was aware of him, because he was also publishing a lot of modules to NPM. I felt the NPM community was really cool because there were a lot of people trying to produce reusable software, and also produce efficient streaming software for writing data infrastructure. Mathias had a file-sharing startup that we joke now that he was basically doing everything that we were doing now, except doing it in like a centralized way. He’s just been working on the same user experience, sharing a bunch of files in a browser, but now we’re doing it in a way that’s decentralized. I just knew he was awesome, and I actually just DMed him on Twitter, and was like, “Hey, I don’t know if you have a job right now, but I just got this grant, and I can hire people to work on these problems. Are you interested?”
He still had a job, but he was in Denmark, so even though it was a full-time job, it’s a Denmark full-time job, so it’s like a part-time job in America. [laughter]
[00:39:49.08] So he just said, “Yeah, cool, I’ll work part-time.” He eventually quit his job, and has been working full-time for a year-and-a-half, or two years now. Clarissa is the next person that we hired, and she’s awesome. She was working at a startup that got bought; they were trying to build a GitHub for data, but then they got bought, and it got turned into an enterprise thing that she didn’t want to work on anymore. She just found our project because we were out there and we were at open source conferences. That’s the way I found Mathias; I was involved in open source, I was involved in the community. I’ve been going to open source conferences since I was 19, so I just had a lot of time invested in the community.
If I was going to underscore one thing, if you’re a coder that wants to go down the path of supporting yourself through grants, it’s really important that you go to as many community events as possible, both to meet funders, but to meet coworkers, and expose yourself to different ideas. And the intersectional thing that Nadia mentioned - I think that’s huge. Having an interdisciplinary view of… You should be able to tell people what communities your software affects. Not just in a utopic way, but in a concrete way. For us, because we spent so many years figuring it out, our key focus area is science, journalism, and government. We think those are three really cool areas and there’s actually a lot of funding to invest in better solutions.
Everybody knows journalism is trying to reinvent itself, because nobody’s buying papers anymore. The government has had a lot of innovation lately because of Code for America and healthcare.gov being such a disaster, and there’s this US digital service now. And science is what we’ve been working on, mostly. So I think that science, journalism, and government are three really interesting areas that if you’re a programmer, there’s tons of exciting and challenging problems. They’re also the foundations of our society that we should all support anyway.
Going to work at a startup, getting people to engage with advertising more doesn’t have the same moral imperative as fixing the way people are informed about what's happening in their community, or fixing local government, or making scientific results more available in the long-term, things like that.
We do definitely play a little bit. It’s not coercive, but the reason my team… We don’t have that many people, by the way. We just went from three to five, and we have a couple part-time contractors. So we’re not a huge team, but I think the reason that we’re able to get… I think everybody on our team is super world-class, and the reason we’re able to get world-class people is because we give people a huge degree of freedom. People are basically their own bosses, if they want to be, but I also try to support them as much as I can. Everything you get to do is open source, and there’s a direct impact of your work, because we’re essentially working directly for a specific community. In our case, it’s been mostly scientists, so it’s meaningful. It’s not just like you show up to work, and you get stock options and compensation, and you work on a backlog of issues.
I feel everybody on our team is more like… I encourage people to have their own projects that they’re passionate about, that they can be the owners of, which also helps in a remote working context, because if you have your own projects that you’re the owner of, then you don’t have to sync up with other people to work on it. Then we also have team-level projects that we all try to collaborate on. I think that we basically use the grant money to hire a bunch of really smart people, and… Well, not smart, but passionate, and invested people into the problem, and then just pay them... Almost Bell Labs-style - incentivize them to work on a set of problems that are pretty high-level, and contribute to the ecosystem.
[00:44:16.23] I view it as we’re just a bunch of people really getting paid to try to explore the future of how scientific data is shared. If we were running ourselves like a startup, we would try to have everything be branded under our name, and have everything be productized, or strategically open source things, and strategically closed source things, but for us I feel everybody on our team is acting like an individual, and sometimes we work together on bigger projects. But really, we just try to get the best people working in this space, because otherwise they won’t be incentivized to work on these problems. They’ll go and get funding from elsewhere, a.k.a. get a job and go to work on some other problem that’s not supporting the scientists.
Some of those solutions to those problems are going to end up being better as their own thing, not attached to Dat, right? It’s about what’s best for the project, and for the solution to the problem, not necessarily tying everything and making it ‘on-brand’, the way that you would in a startup, right?
Right, totally. Yeah, yeah.
Alright, I think we’re coming up for a break pretty soon. In a few minutes we’re going to deep-dive into what’s it’s like to get paid to work on your passion. We’ll be right back.
We're back with Max Ogden. Alright, Max, we’re going to get into the whole paying people to work on open source thing. Especially a lot of the stuff you said about giving people a lot of autonomy, and letting them deal with whatever... Because I’ve seen that go bad as well as good. I think the classic example is that Tim O’Reilly paid Larry Wall to work on Perl, and that was when Perl stopped really caring about its users, and went down this Perl 6 thing for like a decade.
So when you change the incentive structures around open source, and you’re just paying people to work on whatever, does it end up getting mismatched with the actual audience for that, and the rest of the community around that? How do you make sure you’re staying on track, and staying really on mission for your organization?
I think the way my coworker Clarissa likes to put it is, “We can write code really efficiently because we’re all professionals. So we can go a thousand miles, but if we go a thousand miles in the wrong direction, we’re actually hurting ourselves.” So having the direction is the hardest part, and scoping everything. What we try to do is always have deadlines for ourselves. We sign up for talks, because if you have to give a talk… We encourage everybody on the team to always have a personal deadline; they commit to giving a presentation on something, and they end up getting it finished because they have a presentation. If you never…
Whoa, alright, hold on... Are you saying that your organization uses conference-driven development as a development strategy? Like, institutionally?
[laughs] That is amazing!
[00:47:52.10] This is key, definitely. Yeah, I definitely endorse it. Because for me, for example, if you go to the Dat project GitHub, you won’t see that many projects. It’s mostly administrative repositories. To find all of our projects, you go to all of our individual team members’ pages. So I think it’s really important that people have the credit for the work that they’re doing, because they’re not going to work for the Dat project forever. They’re going to have their own career that goes into other places afterwards. I hope that they start their own grants. My ultimate long-term goal is that we’re not a giant nonprofit of 25 people, but instead we’re five projects of five people that all are in the same ecosystem as each other, supporting each other, but everybody can find their own niche and their mission, and have their own funding. I think it’s really important that all the work that people are doing that I’m paying them for, goes on their own GitHub account.
Similarly, I think it’s important that they personally are speaking on behalf of the community. We don’t have a developer evangelist that does that full-time. I just encourage everybody to be the evangelism for themselves. I also don’t want people to give Dat talks, I want them to talk about whatever they’re passionate about. That’s how we’re different from a startup.
Basically, the only contract that I have with people on the team is, “I give you money, and you just try to come up with creative ways to contribute to the ecosystem and solve the problem in some way.” But at the same time, we can’t just be willy-nilly, giving people infinite amounts of time to work on stuff. Another super important thing is getting physically together. This is just like remote team stuff, but we are a remote team. You don’t have to be a remote team, but I think it’s valuable for us, because if we were geographically constrained, it would make it harder to attract the talent that we do. By being remote, we can be more flexible. I also have a lot of experience doing remote stuff.
I worked at coffee shops for the last four years.
Welcome to the club.
Yeah, the Coffee Shop Team! So there’s too many things… You can spend hours talking about it. I was going to say, a really important thing for us is we have a travel budget in our grants that allows us to convene, and we end up convening fairly regularly. I would say every two months, or three months, we see each other face-to-face. Not the entire team, but at least one person travels to other person’s city every other month. I was just in Copenhagen visiting Mathias two weeks ago, and he just decided to come out here in two weeks. We’re doing all these new projects because of this new grant we just got, and he’s like, “Oh, I don’t want to be on a different time zone, I’m really excited to work on this stuff”, so he’s going to come out. It’s also summer in the US, so it’s a good time to visit. We’ve done a lot of renting cool cabins in the woods in Oregon, and going to hack for three days, and then people fly back home.
We spend that three-day period getting really excited and doing project planning and coordination, coming up with what our prototype that we’re trying to build is, what the alpha release of something looks like. Then we can go back to our day-to-day lives, be independent, and work on it. That’s the two-phase thing. We have an intensive project-planning phase, and once we scope out a road map for a couple of months for every individual, then we can go back and work in parallel. We still ping each other with questions every day, but we don’t have a daily, centralized planning process. We try to decentralize and asynchronize as much as possible.
Budget-wise, that’s probably still cheaper than an office, right?
[00:51:53.01] Yeah. Oh, yeah. Now that we have more people, I’m not sure how the economics are going to work out for travel budget, but grant funders are generally open to convenience. They…
They love it.
Yeah, they love convenience. Once you have a relationship with a funder, you can be like, “Hey I wanted to get 20 people that are the leaders in this open source community together with a bunch of scientists. Can you pay for us to all fly out to some place?”, and they’re like, “Okay.”
That’s all it’s called, a convening?
Yeah. But $50,000 to fly a bunch of people for a weekend conference? $50,000 to them is totally… As long as you pitched them on a thing that’s like, “We’ll definitely write a report for you afterwards.” [laughs]
They actually like that. We’re going to try to do that soon because I’m starting to build a consortium or alliance —we don’t know the word yet— with a bunch of other project-based open source teams… I’m sorry, grant-based open source teams. We’re trying to write a manifesto for what it means to be on a project like this. Our team is really weird, we don’t really fit in a traditional category. We’re not in academia, but we work with academics. We’re a non-profit, except we write pretty much all software. I don’t know a lot of non-profits that are just software-focused. We’re also not a startup, although people think we’re a start-up because we have a logo and a name, so they just assume we’re a startup. We’re just kind of weird. We’re an open source project but we have a budget, and people are paid to work on it, so that’s also weird.
We’re trying to figure out what’s a name that we can call ourselves that people will understand. Also, all the stuff that I’m sharing here, it would be cool if we had it written up in an accessible way so people can start down that path.
Zooming out a little bit, I don’t know how much you paid attention to the past year or so, but there have been a bunch of grant programs, grant means coming from a bunch of different organizations like Mozilla, Linux, Stripe, and I’m curious to hear your take on what role do you think grants could or should be playing in funding open source work. Because in your case, it was for funding a new project, right? In other cases, it’s for funding an existing project. Where is the sweet spot, in terms of, where should that money be deployed most effectively?
I think it’s interesting that, for example, Stripe has an open source program. I don’t know what percentage of their budget goes to that. The reason I like private philanthropies is that… The people working at the Gates Foundation — we’re not a Gates Foundation grantee, but the people working there… Obviously, Bill Gates is a computer programmer, so most people that are working there are focused on the humanitarian side, or the social impact side, and they’re not technologists, so you have to learn to speak their language. But once you do, you’re locking in an agreement with them to addressing their societal problem using technology. So I think it’s really important to have that yin and that yang. You’re going to use technology as one tool, but the end goal isn’t building some technology, the end goal is to affect some change in the area. I’m curious with Stripe, what their… I don’t know if I would consider making payment infrastructure more robust to be like effecting positive change in society.
[00:55:34.12] Just like I said earlier, there’s a bunch of different ways to define the word grant. For me what that has meant is forcing myself to learn how to pitch my project in a way that affects some community, or has some social impact. That’s where the non-profit side comes in. People assume that if you’re a non-profit, you have some social mission. I think that’s super important for open source people, to be able to link their project to a social mission. I think that’s really important, and I’m not really sure if you have for-profit companies who are giving the grants out… I think grants can be a really simple way to fund infrastructure. Otherwise, you would have to go work at that company and be an employee to get paid. Grants are a way for people… They can basically say, “Hey, there’s this person that doesn’t work for us, but is super qualified. Let’s just give them a grant.” I don’t know what the long-term goal of that is.
For example, this grant process has forced me to learn how to become not just a programmer, but also a project leader, and a grant writer, and learning how to run an organization. If I got a Stripe grant to work on OpenSSL, I don’t think I would learn any of those other things. I think that I would just get paid to work on OpenSSL for a bit, make OpenSSL better, but then run out of money, and have to go get a job anyway.
It sounds like what it really separates into… I think non-profit and for-profit is the wrong way to look at this. It’s more of, is the impact of the grant improving technology, or is it to improve a social outcome, right? Because you have plenty of non-profits and for-profits that depend on and will subsidize or put money into a technology because they’re dependent on it in some way. But when you look at the social good of something, the only way to fund it is going to be with a grant. If you’re primary outcome... That’s the only way to any money for it.
Yeah, economically there’s the term ‘the public good’ which are things that by definition… Like, lighthouses are a typical example where nobody want to build a lighthouse, because there’s no ROI on a lighthouse; it’s a public infrastructure. But if you don’t have it, then everyone dies, so you need somebody to build it. If you’re building a lighthouse, grants are good.
Yeah, that’s partially why I’ve been interested in exploring, or thinking of open source software as public software, to make that link between a public good and... And when I describe open source software to people who don’t use it, it’s like, “This is a thing that exists in the public domain that you can use for whatever purpose you want to use.” But it’s a new concept for people to think about software that way if they’re not familiar with software. Anyone outside of open source thinks of software as like Silicon Valley and tech. Well, there’s also a lot that’s being created in the commons and being used… And how do you end up supporting that stuff?
It’s important to draw this distinction, though, between what you’re doing. The Node.js Foundation is a non-profit, but at the end of the day it’s there to make sure that that technology succeeds, and there is social good outcomes built on top of the technology, but the mission of the foundation is to make sure the technology is there. It’s not necessarily to focus on those social outcomes. It enables Dat, but Dat is not part of the social mission there. A lot of the modules that you built could be used by a company to do some awesome big data research, but your mission and what you’re focused on is building things for a particular social outcome, right?
Yeah, definitely. The Linux Foundation, for example, is a lot lower level in the stack because… That’s one of the trade-offs you have to make - how detached from the issues do you want to be? I think the more attached to social issues that you are, the easier you’ll find it to get grants, because that’s all grant people care about, is you being able to contextualize your technology in their existing mission. That’s the whole art form, if you can say, “Hey, my projects helps scientists.” Then they'll be like, “Oh, we fund science, so we’ll write you a grant.” That was the thing that three years ago I wouldn’t have been able to say, because I didn’t know scientists had these problems until somebody approached me and convinced me to work on it. If you’re detached from the social issues, then you have to find other ways of supporting it. But the Linux Foundation found a way to support it, because all these companies use it, and they can help support the overall project.
[01:00:24.04] Where do you think there are gaps in knowledge between grant makers and open source communities? What do you wish that more funders knew about open source, or vice-versa?
So the biggest issue that I have is the way you have to write the grants upfront with all the budget, and all the plans. It’s the same kind of distinction as waterfall versus agile.
For example, this grant that we just got. The money arrives — we don’t have to go through the mechanics of how you receive money from grants, but we had access to the grant money in essentially June; it was like two weeks ago. I wrote the grant with Clarissa in October of last year. That’s a pretty long amount of time, I think it's almost like nine months. So we had an idea, we wrote the grant, and nine months later we get the money. I would say that’s on the longer side for a philanthropic grant, but it’s not uncommon.
If I had to tell you what I was going to work on in nine months from now, I wouldn’t be able to tell you, but that’s another art form of grant writing, being able to write a grant that’s vague enough that you can still… Once you start getting the money, you can still use the money to work on the thing you said you were going to work on nine months ago. One thing that I wish that foundations would understand is timelines and agility. Basically, what I would much rather have - and I understand that it’s difficult; you have to have a high level of trust to do something like this, but my preferred situation would be... I had a relationship with a funder, I convinced them that we’re the right people to work on the right issues. So we get the people and the issues locked down, or the causes. Then I can basically go back to them, and say, “Okay, now I need a budget for the next three months to do this.” That can be a lightweight process once I got in the door with them.
But right now, the way it works is you do everything in one big proposal (including the budget), and then you’re locked into that for the entire duration of the grant budget. It means that you have to plan ahead a lot, and you’re constrained by the budget as you’re doing the project. For example, say Nadia, you wanted to come work on my team; I couldn’t hire you today because I don’t have any extra budget. What I could do is, “Let’s write a grant together,” and then in nine months maybe we'll have a budget to hire you. [laughs]
It’s annoying, because most startups have these slush funds that they can draw from as they need to, which is the initial investment. But the way grants work, your budget is not a big slush fund, it’s paid out in increments, burn rate; they like to be constant. I can’t hire people on a day-to-day basis, and can’t readjust the budget as the thing is in flight. That’s annoying.
There’s definitely some cultural differences in the way that they actually fund. I think if you ask most non-profits, they don’t think about open source, and most funders probably aren’t thinking about open source, but I think that is changing. There’s this perception that there’s not any funding out there for open source stuff.
I think that if you ask most open source developers to write a grant, they’ll write a grant that’s super technical and has no social impact linkage, like what I’ve been talking about. They’ll think, “Oh, I wrote a grant to write a new encryption scheme for this thing, or a new database.” There’s probably not a lot of places that will just fund you to work on random technology, but if you make your grant about fixing an actual problem in society, then I think grant people will be like, “Oh, you want to fix this problem, and you’re going to do it as open source?” That’s actually a competitive advantage over other…
[01:04:17.15] A lot of grant people have been funding technology over the last 10-15 years, and they’re starting to understand how funding technology works, which is things like they have a lot of technical debt, they have a lot of projects that have horrible project management, or they have… People will say in the grant, “Oh yeah, we’re going to make awesome, reusable software,” and then they make software that’s very difficult to reuse. These are all just inherent to software in general. Anybody that works on software will tell you that it’s really easy to have a lot of technical debt and make a giant app that is really inflexible.
You still have to make your pitch be about a social cause, but if you can say, “By the way, we’re doing it as open source and we actually want to invest in building up this ecosystem around this problem”, that’s actually an advantage to you. I don’t think open source is the reason you get the grant, it’s just a thing that helps. The reason you get the grant is you’re committing to a cause they care about.
And just like you were saying earlier, grants want to be tied to the social cause, right?
It’s what they want. It’s not that programmers don’t care about social causes. If they didn’t, you wouldn’t be able to get such great people working on them. It’s just that getting them to speak in that language, and getting them to be on the same page as the grant writers, right?
In an ideal world, how do you picture that people would be able to work on open source? Because right now there are so many different grants that are… I think there’s a lot of ad-hoc opportunities, but if you were to think about this on an institutional level, how could that actually be supported and funded?
That is an awesome question! One way that I would answer it is procurement reform in government, which is the most boring phrase that you could possibly say.
Think about the amount of money that is spent on software in government. Well, most people probably don’t know, but there’s an average project in the federal government for like… Actually, this isn’t the federal government, this is the City of New York. They spent $600 million, two-thirds of an Instagram, on a time-tracking app...
...for New York City employees, and it never shipped!
Right, right. And one of the reasons… How much does it cost to apply to get that money, right?
Yeah, because you have to have invested dozens of years into the nepotistic system of existing government procurement. It’s not a technical problem to fix procurement, but if somebody fixes procurement — and by the way, it is being worked on now, because like I mentioned this earlier, healthcare.gov was so bad that the silver lining around that — that’s actually pretty exciting — is that there’s two new organizations in the federal government that are hiring remote, and they’re hiring technologists, and they’re paying people to work on open source inside of government. One is called the US Digital Service, and the other is called 18F, or one-eight-F. They’re a brother-sister organization; one is inside the executive branch, and they’re the technology advocates. They’re almost like the role that the EFF plays. They have people come up with policies, and they get the different agencies to adopt policies. I have a friend that works there; he gets to go in the VA, or the Social Security office, and they’re like, “Hey, check out this new hundred-million-dollar database that we contracted. What do you think?” He used to build data centers at Twitter, and he’s like, “If I was building this, I could have done it for $5 million, and saved you $95 million. Why did you bill this for $100 million?”
And they’re like, “That’s what the vendor told us.” “Oracle said this was a great deal!”
[01:08:08.12] So that is a really important cause right now that has a fair amount of momentum. 18F is where you go to work if you actually want to build the solutions. They’re like an actual contractor that is government employees that like hires people to work on the actual projects. USDS is where you go to set the policy.
For instance, they are doing a lot of stuff around making all federal websites have mandatory SSL so that the NSA can’t snoop on what you’re browsing. There’s a lot of cool momentum in fixing that system.
So if I was going to place a bet on where all the grants are going to be in the future, it’s around delivering government services in more efficient way, and actually competing for government grants because that landscape is about to get a lot more accessible to open source stuff because of all the work that’s happening at the federal level.
They had been working for this open access scientific journal, writing a journal article viewer and editor. They had all these other organizations… They were basically being contracted by this one journal called eLife, and they built this thing called eLife Lens, which is a really beautiful way to read papers. Because most people read papers on PDF, but trying to read a paper on your phone on a PDF, it has really wide columns and it’s like, “Why can’t I just have this be a web page?” They’re trying to fix some of these problems, but they had all these other organizations in this space, and they were like, “Well, we also want to invest together in better editing tools for science, or just editing tools for the web in general.” So they set up this thing called the Substance Consortium. There’s four stakeholders that all help pay for the development of Substance, but they’re not hiring exclusively the Substance team to work as employees on their projects. What’s really cool about it is Substance itself can still be its standalone project that can make reusable open source tools, but it has an open governance structure so any of the member organizations can help influence the project direction in a positive way, and work together to support the project without controlling the project. Their whole thing is cooperation without control. That work is being facilitated by a group called the Collaborative Knowledge Foundation, which is one of the stakeholders, or one of the people paying the Substance team.
Substance is just the editor components, but the Substance team doesn’t have a… They’re just two people, they don’t have the linkage to the social issue, they don’t have the grant-writing capability at this point. They want to get to that point, but they need incubating, and they need support for their project.
[01:11:45.01] Collaborative Knowledge Foundation is a couple of folks that started it that are really focused on fixing the scientific publishing ecosystem. They want every journal to be using open source publishing tools. So they have the social mission, that’s a huge social mission. Access to research is a really big cause right now. What’s cool is the Collaborative Knowledge Foundation has got some grants to work on fixing scientific publishing, and instead of hiring the Substance people as employees, they’re like, “Let’s support everyone in this ecosystem together, and have Substance still be standalone.” Because they think it would be toxic if they actually exclusively hired the Substance people that worked on their one thing. They would rather have Substance flourish and have a whole ecosystem, because…
That’s where open source works really well, when you have a bunch of interests that are supporting a factored-out, common infrastructure. I think the Substance Consortium model is really exciting; we’re trying to figure out how to… We need to come up with a cool name for that way of doing things. Ideally, the Dat project, since we are a distributive file system, it’s a pretty low-level component, and there’s a bunch of different interests... It would be awesome if we could get a similar thing for Dat, so we'd have a Dat Consortium. We would have the Dat project itself just be the technology, but then we would have all the different organizations that have a specific cause be able to support our work. Maybe we split up into two teams, like one of us is the science cause, and all the low-level people go and work on just the infrastructure stuff.
Awesome. Thank you so much for coming on here and talking to us about grant funding.
Yeah, anytime. Definitely, if you’re listening to this and you want to learn more, feel free to reach out to me, and I can send you some concrete examples of grants that I wrote, and stuff like that.
Great. Thanks, Max.
Our transcripts are open source on GitHub. Improvements are welcome. 💚