Python Documentary Companion Pod

## Metadata
- Author: [[The Changelog: Software Development, Open Source]]
- Full Title: Python Documentary Companion Pod
- Category: #podcasts
- URL: https://share.snipd.com/episode/3be3864e-c506-448f-b33b-b3292064c909
## Document Notes
## Highlights
- **Python Became An Ecosystem**
- Python grew into an ecosystem of many communities rather than one single community.
- Special Interest Groups allowed different use cases (scientific, web, packaging) to flourish without forcing everyone into one conversation.
Transcript:
Travis Oliphant
Yeah.
Jerod Santo
I was going to say, it's like so big, it can't be a community even.
Travis Oliphant
No, it can't be a single community. And actually that's one of the things for the major leadership of the Python, the Python Software Foundation or the ecosystem facilitators understand. I think that's one of the primary things I would, I could articulate this under is just, as you get so big, you're actually encompassing many nation states, respectively. How do you be the UN as opposed to an organization that's running one country, county, city, like the skills and the, what you have to do is different. And how do you do that without effectively making it feel like you're a bully or a totalitarian for other groups? Because what ends up happening is some people feel unwelcome. Not because they're intending to, but just because, well, you know, we're limited. Every human is limited. And if you have an organization, people have to do work. They have to do stuff. If the stuff they do just isn't feel inclusive enough for other people, then those people start to feel annoyed. So what are the patterns? And Python is definitely big enough for that. And you'll see issues on this over and over again, whether it be the documentary didn't cover this group enough. I'm sure we'll get that. I'm sure it's true. The documentary, I'm just like excited to see anything talked about that emphasize a couple of great points about Python, that it's been such a great group of people who have tried to Bring their best foot forward and try to do what's best for each other. Not perfectly, of course, because none of us can, but try and try to be inclusive, try to bring other people in, try to manage the growth and different mindsets that are there. I understood very, very well the difference between the, let's call it the developer mindset, the person who's using Python to build a website, and then from there, a system prompt Or a script and operating system or build an event programming system versus somebody who's building, using this to run a scientific experiment or to do math or to run physics systems And now evolving into data science and AI. Like the kinds of problems they have and the needs they have are different than somebody building a website or a database or a Raspberry Pi, right? Or a web app. All great, all wonderful. You know, there's not a, there's no judgment about which is more important. It's just simply different. And then as they come together, how do you have a language support all of these use cases? Great question, right? I think it's challenging. But the community is awesome. I think one thing that comes out in the documentary is very true, is people come for the language and stay for the community. And that has to do with kind of, you know, the original group, you know, Guido, his original personality and approach he took to engaging with people and the group of people that came Around him in the early days and then how that spawned multiple subgroups. Even from the very early days, they had these SIGs, special interest groups they created just to allow other communities to form instead of just all one mailing list in other places. Hey, you could talk about that problem over here and not be, and everybody didn't have to chime in on that problem if they weren't interested. And so people have these special interest groups. And that special interest group is the matrix SIG actually that ended up giving rise to numeric and then NumPy and then the SciPy ecosystem came out of that special interest group. Then you had other special interest groups that gave rise to Django and then FastAPI. And then there's packaging. It's its own story that we can go on about because there's still challenges there. But so I think that's one of the key things to understand. But each of those interest groups was infused with at least a general sense of, hey, here's how you treat people. Here's how you, you know, let's avoid kind of the, even though, you know, we want to make sure excellence is achieved and people do really good work and not just lowest common denominator Code gets in. It's still, how do you make it welcoming? You know, how do you make it so there's new people, they don't feel scared away because they're not capable enough to, or the people they feel they're not capable enough. How do you make it so that they feel welcome? ([Time 0:06:26](https://share.snipd.com/snip/4c42a850-3e7d-49bb-92f1-9ee9885fb79d))
- **Discovering Python For Science**
- Travis Oliphant discovered Python in 1996–97 while solving scientific imaging problems at the Mayo Clinic.
- He adopted Python because Numeric provided a fast array extension and the language let him stay in his domain instead of chasing pointers in C.
Transcript:
Travis Oliphant
Great question so i am a. I was a electrical engineering student who went to the Mayo Clinic to study medicine because I wanted to help diagnose cancer and diabetes and instead of make, make bombs. Right. I was, I knew I was, I loved applied math. I loved electromagneticism and I loved signal processing. And then I had this opportunity to go to the Mayo Clinic to study. And initially, when I was a master's student, I was measuring wind speed. I was sorry, I was measuring backscatter radiation from the planet in satellites. It's called satellite scatterometry. And then from the information from that signal from the satellite, you could infer wind speed. You could also infer other things like vegetation coverage, ice coverage. In the lab I was in, we were doing those kind of earth observation at the time. I was using, I was on a Vax VMS actually back in the day. We were using, it was programming C, Fortran, MATLAB, and then some Perl. So I just started to pull out Perl and my experience with Perl in the back, back 94, 96, I would write it and like, okay, this is pretty cool. I can do the scripting. I can write some code. But then I'd come back three months later, a year later, and I had no idea what I'd written. It was like, it was write once, read never. Right. And, you know, very interesting, like ideas were there and it was cool, but that was my experience. So as a domain expert who was using coding I couldn't use it because I couldn't understand what I'd written past so fast forward to 97 I'm at the Mayo Clinic doing work on magnetic resonance Elastography trying to measure I take a big MRI image and look at the phase that image to infer motion and from that motion you can see a kind of a propagating wave inside of tissue. You could then try to figure out the elasticity, like how stiff it is, and make a picture of elasticity. So that was the problem I was solving, and I needed to find derivatives and compute them on essentially four or five-dimensional data sets, so big data sets. And MATLAB was, I was using MATLAB a bit, but I ran out of space and I didn't have enough, I couldn't change the precision well enough, so I was looking around for other ways to do this. Now, I could just write C code, but man, when I write C, I'm spending a lot of time on pointer arithmetic and figuring out where memory references are, and I want to be thinking about my Problem, which is here's my volume of data, and I want to do derivative calculation. So if I have to write that, you know, if every line is like 10 lines of C, I lose track in my mind of what I'm doing very quickly. So that's what a high-level language did is give me a chance to be in my domain, writing some scripting or high-level conversations, but I needed to be fast. I needed to be efficient. So I was looking around for ways to do that in 1996, 1997. And I came across Python. Python was pretty new. It had been around for just a little bit. And it had an array library called Numeric that I learned later had been written by Jim Huguenin out of this matrix SIG, which was formed in 94, right? And the language itself was written 91. But I came to it about 97, right? And it was still early, still nascent, you know, kind of this thing on the net that a few people were doing and it wasn't being broadcast or promoted by anybody but the people who found It and then started to share their experiences. So I found it. I found, oh, this language actually feels familiar. It's like high level enough that I don't have to, the syntax doesn't get in my way. I'm not worried about chasing pointers, just a straightforward language that also can be extended. So if I had C code that did something fast, it wasn't like, good luck, run that in a different process. It was, that's fine. You can actually load that in a shared library into the main, into this, into the language. Next, you could extend it. And Numeric had already done that to make an array object. So if Numeric hadn't existed, I would not have, I would not have come out. I would not have start used it. I would have been using something else very likely. ([Time 0:13:00](https://share.snipd.com/snip/6af69045-ddb6-46ca-b721-14c732b0c86f))
- **Packaging Drove Adoption**
- Travis described how community members created installers and binaries that massively increased adoption of SciPy-era tools.
- That packaging ease directly influenced his later decision to found Anaconda to simplify distribution for users.
Transcript:
Travis Oliphant
So anyway, that's how I got started. It was that awareness of, oh, this works. And then the enjoyment of engaging with community driven development of people. I share it, people come, they add things to it and you have this community on the mailing list. And I finally, I think went to a Python conference probably I think it was 2000 before I went to my first Python conference I don't really remember but then you go to a conference and then We had we started our own sci-fi conferences in 2001 so I'd gone to a Python conference before then we started our own sci-fi conference in 2001 and man that just hooked me right you go To this you go and you have these engagements with people it's like yeah this these are people. This is my crowd. And I had done a lot of scientific conferences. I'd gone to published papers and gone to MRI ultrasound conferences. And I liked them. They were also very interesting. But a lot of those conferences, it ends up with people competing for grants and for notoriety. And so it's, there's not as much collaboration that goes on in those conferences. A little bit does, but a lot of times it's, you know, you give your presentation to an audience of people staring at you and not listening. And then you get some questions, but people will come up and they'd answer the question would be something like, this is interesting, but have you seen my work? You know, why didn't you incorporate my work? And it's like, well, okay, that's, I didn't mean to offend you, but I'm just, so there's a lot of that going on. And in the Python conferences, I found a lot more collaboration. How do we build it? And part of it's because it's a practical problem, solving a problem for people and they're using it and scratching their niche. They're solving problems they have. And it just created a space that to happen, and it was beautiful. So the SciPy community inherited a lot from the Python community, but kind of organized its own story. So SciPy came around in 2001 when Eric Jones and Piara Peterson and Eric Jones and – that's a separate story – but Eric Jones and Piara Peterson have been also writing some modules, and They said, hey, why don't we blend these together and make a single thing called SciPy you could download. And SciPy was really a distribution of a bunch of these modules in one place, masquerading as a library. ([Time 0:20:05](https://share.snipd.com/snip/971479cd-20b7-4469-b87d-4965d49cf609))
- **Voting Culture Smoothed Language Change**
- Python's governance used lightweight signals (plus one/zero/minus one) to manage community decisions and reduce noise.
- That voting culture helped scientific ambassadors get language features like extended slices and complex numbers accepted.
Transcript:
Travis Oliphant
You know, we had the matrix operator added finally. That was a missing element for many, many years. So that's a bit of drama around how did the matrix operator get added. And Nathaniel Smith made that happen, right? And he was as an ambassador.
Jerod Santo
What did he do, sneak into the repo at night and slip it in there? No, no, no, no, exactly.
Travis Oliphant
He didn't. So I'll tell you how it works like you have to actually go into these communities whether it's a discord channel a public discuss channel now you spend hours basically talking to people Helping them understand why it's important answering their questions because a lot of them are coming from a space of i don't know why this is important and then kind of so therefore I'm negative about it. And as the language matures, of course, it gets harder and harder early on. The, the, the affect was, okay, I don't know about this, but I'm, I'm a, I'm a plus zero. So Python, this sort of story of negative one, negative zero, plus zero, plus one emerged. You know, the early community said, okay, here's how we're going to vote on things, right? Plus one or minus one, but you can also do a plus zero minus zero. Okay. It's kind of, I don't really care, but I'm leaning one way or the other to help differentiate the different ways people might feel about it. That's interesting. That's still, it is actually very, it's very useful. Yeah, I like that. A lot of people use that actually to help kind of navigate this, you know, a lot of people paying attention, a lot of bike shed people, but like who really cares? Right. If you don't really care, why are we listening to your voice?
Jerod Santo
Because you're there. Plus zero. Yeah. Okay.
Travis Oliphant
Well, plus zero. Great. That's good to know, but okay. Let's figure out the plus ones versus the minus ones. Understand that, understand that dichotomy and see if there actually is a compromise somewhere. Maybe it's a misunderstanding. A lot of times it absolutely is. A lot of times it's a misunderstanding. ([Time 0:27:41](https://share.snipd.com/snip/97d91229-1ae1-44f7-9638-d09da7bd66c8))
- **NumPy Born From A Teaching Gap**
- Travis built NumPy in 2005 during a gap in his teaching schedule to unify competing array projects.
- He later lost his tenure-track position because he devoted too much time to the project, showing the personal cost of open-source leadership.
Transcript:
Travis Oliphant
I basically was a professor at BYU at the time, and I said, ah, this is a problem, but who's going to solve it? Like, nobody's going to do this because, you know, it's complicated, and who knows enough to be able to do something like this. So there was a semester, a class fell through, and so I didn't have any teaching load. And so I said, well, I'll just do this. I'll take the next three months and do this. Why not? Okay. I've written a bunch of modules for Sci-Fi. I'll do this. That was in 2005. So that was NumPy. So that's where NumPy came from. That's where NumPy came from. Okay. And a big part of the strategy was actually, well, how do we get adoption? Well, let me go talk to Guido. Maybe we make NumPy and we put it into Python. So I to talk to Guido around that time, around 2005, about how do we make the Python community more aware of the NumPy ecosystem, and maybe by putting NumPy into Python itself. And I met with them about 2005. We talked about it, decided against it initially, but that is where the idea of the buffer protocol and the memory view object came. So the memory view object and the extended buffer protocol, there was one already, we made a better one. That came because of those conversations. And I would say we got the data structure of numeric of NumPy into Python, if not the library. Right. So that was, that was the, and that's how I became like this deep embedded ambassador for a few years, probably about seven years. I did that for a while.
Jerod Santo
Did that solve the problem of this division and this competition?
Travis Oliphant
Yes. Yes. It solved the problem. It absolutely solved the problem. So NumPy was wildly successful, way more successful than I thought it would be. Honestly, it blew me away. It was work. And I actually ended up losing my tenure track position at university because I spent too much time on NumPy.
Jerod Santo
Oh, really?
Travis Oliphant
Yeah. Now I know why you're an entrepreneur now. That's what I'm – yeah, exactly. ([Time 0:43:00](https://share.snipd.com/snip/342be819-7e24-4014-8065-2abeb3d3d1aa))
- **People, Not Logos, Drove Adoption**
- Industry adoption of Python often followed key hires and evangelists inside companies rather than top-down corporate decisions.
- Financial firms and Google seeded large-scale enterprise uptake by hiring Python-savvy engineers and open-sourcing tooling.
Transcript:
Travis Oliphant
And it has this similar multifaceted story narrative that also coincides with individuals using it. And those individuals then go get hired by the companies. So one of the very first was Google, because Google started to very early on, they honestly, they used Python as kind of a, oh, this is a way for us to find great developers, because the Only people using Python are people who are care enough to go and do this on their own. And so they kind of used it as a selection filter to find great developers. And then early on, okay, you're here. All right, you want to use some Python? Okay. And they started to use some Python internally. But it was more because of the people they pulled in who wanted to help Python grow.
Adam Stacoviak
Gotcha.
Travis Oliphant
But they built it. They've used it quite a bit. But lots of languages are supported inside of Google, right. They've supported lots of this open source growth. I think initially it was the people that drove it. And then my experience personally has been in the financial industry and in the scientific use of coding industry, where they were trying to solve problems and the scientists need To solve a problem. One character, for example, is a guy named Karat Singh, who had made the rounds between Goldman Sachs and then J.P. Morgan and then Bank of America until they went to his own company. And every time, he was basically trying to build a system for derivatives management. Many people understand and know a little bit at least about the derivatives empire, the fact that we have these underlying equities, then you have derivatives on them, the derivatives Value can get ballooned up and it led to the 2008 crisis, all that stuff. Well, about 2008, suddenly that's when all the investment banks said, we got to get our handle around this. So there was requirements to build a system that would manage their risk assessment or their understanding where they are. And Karat Singh was there helping them build that. And he went, oh, well, let me just use Python. Rather than Goldman Sachs had been in their own language. In fact, if Goldman Sachs had actually released their language as open source back in 92 or 93 when they built it, we might all be using slang. Right? Because, you know, they had this. They had something pretty good inside of Goldman Sachs way back then. It's called Slang. It's called Slang. Slang and SecDB is a database. Never heard of it. No, exactly. Neither does anybody else. Yeah, they should have released it. You might have if they had a release as open source. It's actually a good story to Enterprise. And so Enterprise is starting to learn that story, right? This is also part of why I think companies start to come to Python, because companies say that. So part of it is just the developers and part of his companies realizing that they need to rely on these open source projects. There's been dependencies on it and they should start participating in it. Right. And how do they do that? And I think that journey is still with us. I think companies haven't figured that out yet. And that's one area that I love to talk to people about, because I think I have some insight having seen so many things in this direction, both inside of big companies as well as part of The communities that are there. There's some where's the friction and where's the real opportunity. But, you know, these these financial community, they all start to build these tools around Python. Right. Because really of these key connected people, again, and people have written books about this. You know, the Mavens, I think, is the book that is the word they use to these these key connectors, these influencers, I call it technology influencers. Yeah. And it's kind of, you know, it's people that do a bunch of work. And then because they do the work, other people go, cool, you've done the work, I'll use it. OK. Right. And so then they build from there. It's how open source is diffused throughout, throughout the world. But companies started to rely on it for risk assessments and risk assessment is mathy. Like there's a bunch of simulation. There's a bunch of array math you're doing. And so all of that leveraged the NumPy, SciPy and related ecosystems or emerging pandas. So Wes McKinney was at AQR, one of the hedge funds, that was heavily reliant on Python. He and every single other hedge fund, heavily reliant on Python, built their own data frame object, or something like a data frame object themselves. Wes McKinney was able to convince AQR to let him open source it. And then he spent further time in 2011, 2014, shepherding that early release to make pandas what it is. Right. So, and he was a friend, connection, part of the sci-fi community. ([Time 0:46:37](https://share.snipd.com/snip/bc9cae2b-c350-4fde-8d2a-a124ac97d37d))
- **Org Structure Shapes OSS Success**
- How a company manages internal usage versus public development shapes whether its open source project gains community adoption.
- PyTorch succeeded by separating community-facing work; TensorFlow struggled because internal dependence limited outside contributions.
Transcript:
Travis Oliphant
Now, fortunately, we'd fixed it twice in NumPy. Not only do I create NumPy, the array library, but also create a buffer protocol so that even if new array libraries existed and showed up, you could still share data. So there's a fix it twice concept. And then that's what we did get in there so that, OK, great. There are all these array libraries, but at least you can share data now. You don't have to copy data from one another. So that's that's at least the saving grace, but they're all over the place. Each one of these companies, they did it. You know, primarily they wrote like PyTorch started as a Lua library. There's a C++ Lua library and there's three versions of it. TensorFlow was a C++ library called Disbelief. You know, each of these have their own internal organizational C++ stories. They started to launch them in 2015 timeframe, 2014, 13, 14, 15, started to put these libraries out there. People started to use it. Well, at this time, there'd already been 13 years of the SciPy ecosystem and the SciPy conference. And a lot of academics in the very first machine learning library, Theano was right in the middle of the SciPy ecosystem. So a lot of these first early array, these early papers on machine learning were Python based. And so when these big companies came and shipped their libraries, the community said, where's your Python interfaces? And demanded the Python interfaces. And then, oh, okay. I mean, I've heard this story specifically from several of these people inside these organizations. So they went back, okay, they built the Python interface, sometimes badly, TensorFlow, sometimes better. Fixed their problem by buying Keras. Keras was a good interface. And so that's the interface for TensorFlow now that's great. But PyTorch from the beginning, because they were in the research lab, they from the beginning tried to build community around what they were doing. And so because they did that, they were actually able to get more scientific embedding. So a lot of this is how a company goes about doing open source matters a lot in terms of its longevity and how it's going to be, I think who's going to win. You can predict based on how they're approaching the open source ecosystem. And PyTorch did a better job than TensorFlow, even though Google invested in a group to try to make that happen. But the problem is it's not just having a few people do some podcasts and do some DevRel. It's actually how are you managing internally? ([Time 0:51:55](https://share.snipd.com/snip/3d638a95-5f93-481d-92dd-5e6eb1293777))
- **Open Source Beats Résumé Chasing**
- If you want a career edge, participate in open source to build visible, reusable work you can show.
- Contributing publicly often beats spending all your time on resume hunting or whiteboard puzzles.
Transcript:
Travis Oliphant
So we've gotten into some of those conversations about what are the incentives that drive open source? How do you mimic those inside of an organization? Can you? One of the critical things to me, and this also why it goes back to the people stay for the community, it really comes down to respect and ownership and accountability. And do people feel that in the community? Do they feel like their voice matters? They feel like they can when they contribute, it's not just ignored, but it's heard. And they and then furthermore, do they do something that they feel pride in? Because like this is the thing I built and I show it to the world. Right. And that's what open source enables for engineers that inside of a big company doesn't happen as well. You know, you go to get another job and you're like, cool, I did all this great work. Well, can I see it? No, it's over there on their repo. I can't show you. Whereas if it's open source, here it is. I can show it. ([Time 0:59:10](https://share.snipd.com/snip/42c1ba34-00bc-4bd8-a5e5-fd8d9915df41))
- **Contribute Small, Often, To Open Source**
- Contribute to open source regularly to build skills and reputation; even documentation helps.
- Spend small, consistent blocks of time and focus on projects you enjoy to get more career impact than endless resume applications.
Transcript:
Travis Oliphant
A few open source communities you love. You get excited about and start participating in them. Just show up, you know, hear what the problems are. Contribute something to it. You know, if it's documentation, even if it's just, oh, read me for a newbie. If you're new, great. You have a power nobody else has in the community because you're new to it. Everybody else has been there a while. They don't know what the problems are for someone new adopting it. So great. Document your journey and write a story for a new person how to make this more accessible. There's a lot you can do, anybody can do to participate in open source and do that. Okay, maybe you can't do it 20 hours a week, but do it for five hours a week. Do it for an afternoon. Do it for a weekend. ([Time 1:00:29](https://share.snipd.com/snip/2784a075-a16d-4367-a2a2-cbc4240813ad))
- **Performance Comes From Python Subsets**
- Many projects compile Python subsets to get performance; the ecosystem includes Numba, Cython, Julia-era efforts and new entrants like Mojo.
- A shared statically-typed Python sublanguage spec could let diverse compilers interoperate and scale performance broadly.
Transcript:
Travis Oliphant
Yes, yes. So I'm excited by this kind of innovation, right? In 2011, 2012, I started a project called Numba. At the same time, there was a language called Julia that was emerging. And Numba was a Python compiler that took a subset of the Python language and made machine code to make things fast. And we actually, by 2013, were targeting GPUs. So you could actually write Python code that ran faster than any C++. Like we were showing that in 2013 at the GTC conference at NVIDIA, because you could basically write Python code that would run on GPUs directly. So I love that whole space. Like this is something that it took me a while because I was, this is when I finally learned how to write compilers. Now I wrote the first version and then quickly found other people to make it better. But, but I took, I actually took a pilot class from my friend, David Beasley in Chicago to try to understand, at least have something besides just what I picked up from the internet, right? And that helped me see the vision for, oh, Python can actually be orchestrating compiler tools, and there's no reason you can't just write syntax that's Pythonic, looks Pythonic, And then have it compile the machine code. There's zero reason that can't happen. So there's no reason you have to use C++ or RUST to write machine code. You can totally write a subset of Python and have very fast code. And Numba proved that and proved it pretty well, actually. And then since then, there's been like 20 other versions of that. Like right now, if you go to lpython.org, lpython stands for LLVM Python. It's an example of a compiler for Python, lpython.org. And a table there shows a list of other similar projects. Some of them are a little bit more like Mutica, where they're translators from Python to C++. Others are like Pythran is another one. Kodon's another one that's out there. There are literally a dozen.
Jerod Santo
Yeah, I'm looking at the table. It's probably two dozen.
Travis Oliphant
Two dozen. Yeah. Now, you know, all of them are kind of this example of scratch your own itch, something that's, you know, that is built, you know, Numba has a team that kind of still working on it. And so it's actually received a lot of support. And so it's kept up to date with the latest releases. And there's, you know, there's a lot of, every time the bytecode changes, and Python, Numba's got to change because it goes from the bytecode on. And you can actually write. There's also a tool called Cython out there. Cython was in the same. It's not exactly the same, but it was like, oh, write it in this language, and then you can write extensions quickly. And even something like F2Pi might be considered in that category. But Cython, Numba. So I love this space, right? I would say, so Mojo is great because Christian was one of the original creators of LLVM and Numba depended on LLVM. Like, so I've been an LLVM fan for a long time. So I'm like, well, this is awesome. We get kind of the OG kind of bringing Python to compiled languages. Awesome. What's he going to do? Let's make that happen. I think what I'm hopeful for, and I know he's got funded and there's a company structure there. So some of the same concerns about, okay, corporate capture of communities and how does that work? I don't think he's actually even had those conversations yet. I think those are, you know, so I'm right now I'm, I'm very, I'm very hopeful and excited by the technology innovation that will occur. And I'm cautiously optimistic about what that might mean. I know that he wrote, I think one, very concretely, he transformed Objective-C to Swift, essentially, with LLVM. And so I think part of his thing, and I talked to Christian, so I know a little bit, but I don't know him 100%. But I've had a couple of conversations with him about what does he think, where is he trying to go with this. I think his experience making Objective-C users move to Swift was pretty easy, right? Because Objective-C, it's kind of all Apple community. Right. Python's much, much different. You're not going to have the same experience. You're not going to be able to take the whole Python ecosystem and move them to Mojo in maybe a decade. You could pull that off, or billions of dollars. Money might be able to, but that money has also got to be able to hire the right people to have the right connection points so you're interacting with the right communities. Because you can't just have great tech and then push it on people. I'm, but so I'm eager, I'm open. I'm really eager to see it, but I'm, okay, is Mojo open source yet? Is it, you know, is it community driven? How are decisions made? And it's all early days. So I don't, I don't, I don't, these are hard things. So I'm right now, I'm of the attitude. I'm excited. I love seeing what he's going to come up with because he's a brilliant guy. And I want, I want to see an explosion of languages that are Python-like that enable the Python ecosystem to ([Time 1:04:43](https://share.snipd.com/snip/d93ca76f-cc8a-48b6-8bdd-5010e3a44ae3))
- **Turning Dependencies Into Financial Stakes**
- Fair OSS proposes mapping open source projects to tradable ownership via a 'millibips' cap-table to channel corporate and investor funding back to maintainers.
- The idea aims to convert dependency graphs into financial instruments that distribute value to projects and contributors.
Transcript:
Travis Oliphant
Effectively, you just have an organization that, on the one hand, works with open source communities to document their dependencies, both their dependencies on code and their dependencies On people. So essentially, I call it a it's their end dips, their millibips table. Right. And they basically have a basis point. And if you do a thousand of a basis point you basically have 10 million units to give out for every project and a project governance essentially gives out basis points for dependencies Like oh i'm numpy i depend on python a lot so we're going to give we're going to give you know 40 of our of our cap table to python right and then from the the rest of it we're going to give, you Know, award it to people and you have someone reserve. And as people come in and make contributions, the governance can actually go, oh, here you go. Here's, you know, here's ownership. Here's so you basically have one side helping people organize that because there's a specification, you stick in the GitHub table, then it's there and you can say, oh, this is you, the Project who decided a cap table, basically. You've constructed a capitalization table for the project, right? And it depends on the governance. It's not our decision. Now, what we can do is to drive that as Fair OSS could essentially have a default approach to doing that. So it says, well, this is what we'll use if you don't tell us what not to use. This is how we're going to do it. And then, of course, encourage them to do that. So we're not gated by whether they participate or not. So you build that. And then to the companies, you go to companies and say, hey, you're missing from your cap table, your employee option pool, your investor group, the warrants you're giving out to partners, Because this happens all the time. You're missing all the open source ecosystem from that group. And so let's get on your cap table. So we get on the ownership table of a company. And, of course, you know, we can't get a million open source contributors on the cap table. Okay, great. We put an entity on the cap table. And the entity on the cap table represents the open source you depend on. So you have an entry on the cap table and Ferrosys maintains your dependency, like their millibips table. Like who do, what do you depend on? Right. And it's, and then as equity returns happen, which is distant, usually it's like, as a venture capitalist, I know how this works. And you basically, over time, value will flow. Now, if you want quick value, it could be maybe you're not going to give up equity. You're a mature company. Equity is hard to come by, but we'll do a dividend agreement, like anacondas and dividend agreements with an agreement where we'll just allow some of this to come. Our venture fund, for example, we already do this with our carried interest. Like we have carried interest, which some of you know what that is. It's the, it's the motivation for the partners to find good deals to invest in for their LP's money. And then they get a percentage of that growth. And so we, our general partner, some of that carried interest already goes to fund open source. Right? And so it's the same thing. We can formalize it through that process. You got all these, now you have all these inputs. Right? You have equity deals. You have dividend deals. You have carried interest deals that are flowing through this instrument that becomes the funding source for all the open source dependencies. And then as opportunities arise, you're just streaming it out, distribution style, to the cap tables. And it flows down the cap table tree. Because, oh, you're dependent on Pandas. Well, Pandas looks like, oh, it's dependent on Python and NumPy. And then it flows down until you end up at the leaf nodes where there's individuals who are basically participating. So that's the basic idea. And then what I did, I tested that out with a few companies because I actually get these agreements. Could I get people to agree to that? And I thought I'd have to have a venture fund, actually. The whole reason I started a venture fund in 2019 is because I thought I would have to go to startups and say, yes, I'll invest in your company, but you have to do this. You have to put open source on your cap table, right? Because I knew they would say yes to that deal. What I found is I actually got people to say yes without the money. They understood the problem. Yeah. And so I went, oh, okay, that's good because, you know, it's like RegEx. You know, you use RegEx to solve string parsing. Now you have two problems. You have the problem I was trying to solve and then understanding RegEx. Same thing with starting a venture fund. Same thing with starting a company. I started Anaconda as a company to solve the problem. How do I fund NumPy? How do I make Cyp? How do I fund Cyp? How do I build this thing? So my whole life has been like, okay, here's a problem. How do I solve that problem? Here's the meta problem. Here's the next problem. How do I solve that problem? And they're just trying to learn along the way and just try to figure out ways that are learning from other people, trying to organize. Because what drives me is I want to create a world where open source is a meaningful way to live a life. You can be an open source contributor and still pay for your kids and still have it. That's a job and it's meaningful. It's not just a thing you do on the weekends and nights and when your day job is doing something else. So this is why I've been thinking about this.
Adam Stacoviak
And FAIR OSS is the epicenter of this?
Travis Oliphant
Yeah, it's the first version of the organization we've created to do this. And it's an idea of how it could be done. And we've tried it enough to know that I know it will work. But for it to work and to create the vision of where you can actually have investors, because eventually we'll have, you can have a ticker symbol for every open source project, literally. You can have a market where, oh, how's this open source project doing? That's going back to your stars. Your GitHub stars literally could translate to a value, a fair price, a fair market value for that open source project. And investors are looking and going, oh, yeah, I want to buy some of that. Right? Because they could. They could say, oh, I'll put in my portfolio that project because I think that's going to go somewhere. And how is it going to go? Because people are going to depend on it. And therefore, enough of these agreements are in place where value will accrue because of those agreements in place. So FeroSys puts the instrument together. ([Time 1:15:19](https://share.snipd.com/snip/8f920325-a9ed-4eef-a74b-b7d74ff5c39d))
- **Fund The Market Before Expecting Returns**
- Fair OSS needs initial, patient funding to hire staff and build both company and project-side trust.
- Travis estimates roughly $2–5M to staff a 10-year build that can bootstrap the investor/project marketplace.
Transcript:
Travis Oliphant
So the next step is to, is that money. That's for me, the next step is to get that pocket of money. And 5 million is really 2 million is like the minimum, but I'd like 500K to invest in this company for 10 years. That's why 5 million. Because it's got to be funded so that there's people who are hired to pay attention to this problem and are working towards it and it's going to and i want it for 10 years because this is Not something's going to be solved in three years three months or six months yeah some ([Time 1:37:20](https://share.snipd.com/snip/4a9d5633-e42b-4848-818a-63275c78732e))