Nell Shamrell-Harrington

In this episode, Nell Shamrell-Harrington, Principal Software Engineer at Microsoft, talks about fun corporate law-y things like open-source licenses, trademarks, and patents, diving headfirst into the Rust language, and the importance of being kind. Don’t do tech alone! Communities are fun. Community is important.

Should you find a burning need to share your thoughts or rants about the show, please spray them at devrel@newrelic.com. While you’re going to all the trouble of shipping us some bytes, please consider taking a moment to let us know what you’d like to hear on the show in the future. Despite the all-caps flaming you will receive in response, please know that we are sincerely interested in your feedback; we aim to appease. Follow us on the Twitters: @ObservyMcObserv.

Jonan Scheffler: Hello and welcome back to Observy McObservface, the observability podcast that we let the internet name and got exactly what we deserve. My name is Jonan. I’m on the developer relations team here at New Relic, and I will be back every week with a new guest and the latest in observability news and trends. If you have an idea for a topic you’d like to hear me cover on this show, or perhaps a guest you would like to hear from, maybe you would like to appear as a guest yourself, please reach out. My email address is jonan@newrelic.com. You can also find me on Twitter as @thejonanshow. We are here to give the people what they want. This is the people’s observability podcast. Thank you so much for joining us. Enjoy the show.

I am joined today by Nell Shamrell-Harrington. How are you today, Nell?

Nell Shamrell-Harrington: I’m doing fantastic. It’s a bit soggy here in Seattle, but that is par for the course Seattle in November.

Jonan: Yeah. We’ve been getting a lot of rain. I’m in Portland, just a bit south of you. We’ve been getting a lot of rain. I think we get a lot more reputation for rain, but I think Seattle overall has more rain in a year than we do.

Nell: I think we do. I lived in Vancouver, Washington, for a number of years. I went to St. Mary’s Academy in Portland, Oregon, for high school, and I can confirm it does rain a little less in Portland.

Jonan: I live maybe 15 minutes away from St. Mary’s down here.

Nell: Oh, that's cool.

Jonan: Yeah, that’s cool. I realized now suddenly that here we are talking about the weather, and this is good small talk, but we’re in a tech podcast.

Nell: That’s true.

Jonan: So we should talk about weather-related technologies, I think, as the subject.

Nell: Ooh.

Jonan: No, this is actually an observability podcast, which is convenient. Observing the weather with technology would be a relevant topic. I'm not too worried about relevance. Dear Observy McObservface community, you can expect us to go in whichever direction we care to on any given day, including the weather. So I do want to actually get our listeners some background on your career and how you ended up here, and how it came to be that you live in a city that is rainier than Portland. I want everyone to note we are not the rainiest.

Nell: That is true. And Seattle's also not the rainiest. I think that might be Juneau, Alaska, or something like that. I'm probably going to get corrected on Twitter.

Jonan: Of course we will, yeah.

Nell: Hello, everyone. I'm Nell. My tech career is a bit weird in that I was a theater major in college who also did computer science courses. I graduated from college in 2007. The economy crashed horribly in 2008. There were no theater jobs whatsoever. So I took an office assistant job at the University of Washington. And once they figured out I could code, I started doing that more and more and moved into that full-time. And I've been doing development work ever since. Right now, I'm at Microsoft. I work on the ClearlyDefined project, which we are in some ways observing various sources of open source software and trying to figure out what the license most likely is for that package, especially when there's conflicting reports from different feeds or different sources. Prior to this, I was at Mozilla. And prior to that, I was at Chef for five years.

Jonan: I was going to ask about this open source license thing. Because when I think about open source licenses, I generate a gem or a library or something, and it often will just come with a license file, or I immediately create a license. All my stuff is MIT license because I expect nobody really wants to use it. It's straight dangerous a lot of it, but that's not the case for many projects. How is it that you have to determine that? It seems to me like, well, we get the file, we can compare the file.

Nell: Right. Part of it is certain companies can only use certain open source licenses. They can't use anything that is not Apache or anything that is GPL; that’s the biggest one we encounter. And a lot of projects will just put the boilerplate Apache license in their project, and that's great when that happens, but not all of them do. Some of them alter the licenses. And so part of what we do is we parse the text that's in the license file—if there is a license file—and determine, does this really match the license that it says it's matching? And sometimes certain package managers will list a license, and another package manager that's pulling from that same GitHub repo lists a different license. And we have to figure out which one it's most likely to be.

Jonan: So this is a question then for me. I don't understand how this works in a cascading fashion. Is it like style sheets? Like, the most recent license wins? If I have a library that I'm using in my library, I write a Ruby gem and slap an MIT license on it, but it uses a bunch of GPL components. Who wins? Obviously GPL.

Nell: [Laughs] When you're a corporate lawyer, you're probably going to go with the fact that it has a GPL dependency and act based on that. It depends. In some ways, we evaluate different sources of information and evaluate, you know, if something is a dependency, of a dependency, of a dependency and it has GPL, does that affect the license of the package itself? I just started about a month ago, so I'm still learning all the various ways we determine that. But what we do is, we come up with a score for how likely it is the license on that software is consistent across different sources and how likely it is that you're not going to get sued if you use it. A lot of our customers right now are lawyers, which is fine—I'm married to a lawyer. They do very, very important work, but I'm hoping to expand into developers more and help them better understand licensing and how to make their software most usable by the most amount of people.

Jonan: This is actually a thing I considered before getting into software. I was at the time working as a poker dealer, which you can imagine has a very easy transition into law.

Nell: Oh yeah.

Jonan: I was going to the library every week and taking LSATs, taking practice LSATs, and I was doing three a week for a year. It was honestly maybe two years I did this, to go take the LSAT because I was convinced if I got a good enough score on the LSAT, it's definitely beatable, that I'd be able to get into a good school. Anyway, the IP law stuff I think in software is pretty fundamentally broken right now. I'm certain there's someone who has patented zeros and ones somehow. And so at a base level, anything you use presents a risk of being sued, and from my naive perception of the legal world, of intellectual property in tech, if you're a large company like Microsoft or Google, you develop a patent portfolio and you're just basically trying to set up mutually assured destruction. "Like, yes, you want to sue us about this. Well, we're suing you over mobile, and also this, and this other graphics thing you used." It just goes back and forth. "And then we can all spend all our money, or you just stay there with your lawyers staring down our lawyers, and we'll all be fine." Right?

Nell: That's the idea with big tech companies, yes. But then you've got smaller startups that have their trademarks and their patents. And part of the reason licensing is there, and part of the reason it's a good thing, is so that they do have some sort of legal standing. We've seen this a lot—if an Amazon or a Microsoft or something takes that open source technology and makes money from it, they want to have some way of pushing, or at least a lot of projects want to have some way of pushing back on that. We saw this with MongoDB and AWS.

Jonan: Redshift!

Nell: [Chuckles] MongoDB came up with a new license, and AWS sort of rewrote or wrote something that can interact with the MongoDB API. So it's a very young field. It's very interesting to watch, and I think there's going to be a lot more developments over the next ten years.

Jonan: Yeah, I think I'm excited for the future. I'm happy to see people adopting models in open source that are a little more sustainable than we've had in the past.

Nell: Very much.

Jonan: I think to some degree, developers are kind of a trusting community. And when it comes to late-stage capitalism, we find ourselves in a situation where these very large corporations, when it comes right down to it, they don't have a human motive of doing the right thing by people, some of the time, and we shouldn't expect them to. This is how companies work, and money works. And so building situations where you can work on open source, and it's not just that the rest of your life and your labor is free now. You have some way to get compensated eventually. So from that open source world, you've started getting into Rust lately, you were telling me. How is that tying in?

Nell: I found the Rust community working on an open source project at Chef called Habitat—it's written in Rust. And what I liked about it when I started to learn the language is, I could go into the community Discord channel and ask a question and not be made to feel stupid because of that question. Now, I did my research. I Googled something beforehand, but Rust is such a young language that there's a lot that's still living in people's minds and is not necessarily Googleable. But I could go to Discord, and no one called me a noob. No one made fun of me or called me stupid, and that was such a breath of fresh air. I think a lot of open source communities are improving. But if we look at the stereotype of open source from 10 years ago, or even five years ago, what I like to say about the Rust community is we are a community where personal maturity and empathy are as important, if not more important, than technical excellence, and it can be done, and it can be successful.

Jonan: It's a rare thing for such a young language. How long has Rust been around now? Five, six years?

Nell: I think it was created seven years ago. Don't quote me on that, but roughly around that time. But it's only become sort of mainstream in the last four or five years.

Jonan: I wrote some Rust in the very beginning. We had a Rust meetup at New Relic, and I would go and write a "hello world," and then every time I went back, it was broken again because something had changed.

Nell: Right. Early days, yeah. [Chuckles]

Jonan: Early days. Yeah. But it was a fascinating language to me the way that they hold the … like, when I hand you a variable from one function to another, I tell you how you're allowed to use it or if I want it back—that kind of thing.

Nell: Exactly.

Jonan: And that allows me then to do garbage collection and not also. Am I mistaken?

Nell: The way I put it is, I learned Rust and then I started learning C++. I didn't understand all the benefits of Rust until I started experiencing all the pain when you don't have the guard rails that Rust has in, like getting Stack Overflows, your annex doing a shallow copy rather than a deep copy. That always makes me want to sing the “Shallow” song from A Star Is Born, by the way, but that's the theater person in me. [Laughs] A lot of times, when you see people first starting to learn Rust, you'll see posts on Reddit like "How can I stop fighting the compiler?" "I'm fighting the compiler." "I can't make it do what I want." You're not supposed to fight it. The compiler is not meant as an adversary. It's guiding you toward writing really safe code, a code that is less likely to be exploited, a code that is more efficient. And it took me a few months to learn how to kind of listen to that guidance. And really, it's not the guidance of the compilers; it's the guidance of all the Rust programmers who have come before you. And because it's an open source project, when they've noticed they're running into something and there's not a helpful error message, they will go in and add those error messages to the compiler. So it's a guide, and it's kind of the collective wisdom of all the Rust developers who have come before you.

Jonan: This is a project that's just been out on GitHub from the beginning. When Rust language began, I, as a developer, have been able to just go fix a bad error message anytime.

Nell: As far as I know, yes.

Jonan: This is, I think, what gives it a huge advantage over a lot of other languages out there and why probably it is moving so quickly, among other things. I think the community is a huge part of it, too. That's vitally important. And I've experienced several different language communities over the years. I have even gone to many conferences, and the difference between language communities makes or breaks it for me.

Nell: It does.

Jonan: I work in community stuff, so it kind of makes sense. But that feeling you're describing of walking into a channel where you have a problem that you've pretty well researched to the best of your ability, and you ask for help, and someone sends you a “let me Google that for you” link.

Nell: Yeah.

Jonan: Right? How is it that there are people in this industry who expect people to know things before they know them? You learned how to say cat back in the day, but you didn't turn to the other toddler and be like, "You're a dumb idiot. I can say cat, and you can't." Where do we pick it up along the way? It's very interesting to me.

Nell: It is.

Jonan: The Rust community, is it pretty well involved with Microsoft? I know that you worked at Mozilla for a while.

Nell: I did.

Jonan: They had a lot of work going on with Rust, right?

Nell: Right. Rust came out of Mozilla. Mozilla, at least as of recently, still owned the trademark to the Rust language. There is work now being done to create an independent Rust foundation that would own those trademarks instead, particularly since much of the staff who was working at Rust or at Mozilla was laid off back in August, including myself, which is how I ended up at Microsoft. Microsoft definitely has an interest in Rust, and it is growing. They are, in fact, starting to rewrite some of the classic C++ code on Windows and such in Rust because it is safer. So Microsoft has an interest, Google, Facebook. I think every one of the major companies uses Rust in some way and has some interest in it. And one of the challenges we had, I was working on creating the foundation in the early days with several other people, is how do we make it so that no one company has too much influence on the language? We want to have input, of course, but when it comes to the decisions, who makes the decision on where the language goes?

Jonan: This is a mistake that a lot of people make. I think there are languages that very well have the support of large corporations. I think for Google, for example, Golang and Python, actually both very deep in those languages. I think Python is less in this case because it was around before Google really widely adopted it, but they dump a lot of money in that house. And Golang was created by Rob Pike at Google, if I remember. So it was actually designed, if I remember, to kind of be this thing that they had similar goals in mind. They were trying to get more of this safety around memory management. Have you played with Golang at all?

Nell: Very little, but I've heard it's similar to Rust in some ways, at least in the ways it handles memory and its similar use cases. People do use Rust in web development and such, but mainly it's been used for systems programming. My understanding of Go is it's similar. There's different things you can do with it, but it's mainly been used for systems programming. And both of them kind of are improvements on C++, which was used for many decades.

Jonan: One of the things I really like about working with Go is that I can run my binary wherever I want. Is this also true of Rust?

Nell: Let me get back to you on that one. I actually don't know.

Jonan: I think that we're headed towards a place where this is pretty common, actually. I think that with the advent of WebAssembly and similar technologies, I think we are headed towards a future where it matters less what you are writing in, and having to tailor your tool choices to the environment where they will run is going to become increasingly uncommon as we move forward. Here's hoping.

Nell: Here's hoping, indeed. When I worked on Habitat, I remember Adam Jacob, then CTO of Chef, one of the founders of Chef, told me, "I want to run on shoes." I said, "What are you talking about? You want to run on shoes?" And he said, "Like smart shoes. We have so many things now that have compute power that we never imagined they wouldn't have to do computation. We need an ability to run software across all these different platforms without needing to tailor it specifically for each one."

Jonan: You've written Ruby as well, right?

Nell: Yeah, I have. My first developer job was in Ruby.

Jonan: This is a project that has taken off in Japan, actually. In the Ruby community, there's a project called mruby for embedded Ruby. It currently runs in a lot of vending machines in Japan.

Nell: I have been to Japan. There's three vending machines on every corner, not just one on every corner. That's really interesting. I will have to look at that.

Jonan: It's a super fun language to play with. I actually have a watch that someone has mruby running on. I can hack my watch with mruby. I really like IoT. I like running this code everywhere. And it presents an interesting transition for us here into this observability space kind of because in the same way we're trying to run code everywhere, we want to watch all of it. We don't want to just watch it; we need to derive value. We want actionable insight.

Nell: Right. We want meaning in all the metrics that we're collecting.

Jonan: Yeah. And the kind of work that you're doing now is kind of similar in that you're out there and try to grab the whole world. But what do you think is going on in that space right now? How would you describe the observability space to someone in your Rust community who doesn't know what it is? You say "observability" when you're out for lunch at a conference, and someone says, "What?" What's your answer?

Nell: My answer is it's different from logging. I think it is confused a lot. With logging and observability, you're just collecting the information in your logs; you're not necessarily observing. You can watch it as a stream, but you're collecting it. You're not deriving meaning from it. Observability is forming questions after your application is running. So usually, you set up the logging before the application is running, but after the application is running, asking questions about your software or how people are using your software and finding some sort of meaning in it.

Jonan: And across all of these, you've got your metrics, and your logs, and your traces and all of these things. The OpenTelemetry project, have you heard of this project?

Nell: I have, but I'm not too involved with it, but I definitely have heard of it.

Jonan: This is a project that is developing a common standard for all of these metrics. So New Relic back in the day, for example, we had a proprietary protocol for communicating with our agents, and many people did early on in the space. New Relic was a pretty early player in this game. And now, most companies in the observability space are moving to this OpenTelemetry standard so that we can all interoperate as platforms. I, as a developer, no longer have to choose when I choose a technology based on what other ones I'm trying to communicate. We're trying to break down those walled gardens.

Nell: There's a great Rust project that's called Vector. It's out of a company called Timber.io. I don't know if they're based in New York or Portland. It doesn't matter at this point. [Chuckles] We're all working really from where we are, but it is set up to ingest logs and ingest from lots and lots of different sources of information and allow you to put together questions to find meaning from all of it.

Jonan: I remember Timber because they were deep in on the structured log like logs as data thing. When I was starting out, and I still do it from time to time with stuff that I write, I have these kinds of artisanal handcrafted log messages because I'm being silly or I'm, like, here's an error. I'm frequently playing with these things, and when it comes down to it, I'm not very good as a developer. I do a lot of things in my job. I'm not going to brag about my development skills to someone who knows as many languages as you do. But I do okay. And one approach that I really appreciated about companies like Timber and companies like Heroku is this structured logging, these logs as data that really has gotten us to this place. That transition to OpenTelemetry and these open protocols talked a little bit about where open source is heading and a little bit about the legal ramifications of choices of where trademarks live. And then we have these OpenTelemetry projects that are being pushed by The Cloud Native Computing Foundation (CNCF), now that's actually a place where a lot of trademarks live as well.

Nell: That is true, yeah.

Jonan: We'll hand them over the fence. So the Rust foundation would not be a CNCF organization, though?

Nell: As far as I know, no, though I'm no longer directly involved because I have a day job now. I'm no longer directly involved in creating the foundation, but I don't think so.

Jonan: I wonder what comes next when we have all of these organizations out there doing this thing. I think as developers, what we're trying to do is protect ourselves from corporate interests with our software projects. If I'm going to go and spend my personal time committing to Rust or one of these projects, I want to know that a company is not able to step in and make billions of dollars off of my hard work and not have to share that wealth back to the world, not have to pay it forward. It's fine with me if you come and make money off the software that I write—again, unlikely in my specific case. But if you do, I would expect you to pay it forward in the world. What do you think is going to happen there in the future? How is that going to evolve in the ecosystem? Do you have any guesses about what may come?

Nell: I think we will need to measure contribution by corporations who are using the open source software and are certainly allowed to use the open source software, measuring their contribution not just in money, though that is part of it, but in engineering. You have someone like Amazon or Microsoft who have, I don't even know how many thousands of engineers; if you have six people across the world all maintaining very highly used open source projects, they really need engineering help. And one of the best things that you can do as a corporation which uses that is give back intellectual talent, give back that ability to engineer and participate in the engineering process.

Jonan: This is hard to measure, I think, as a community. I imagined suddenly, as you were explaining, that when I go job hunting, every company has a score; we as a software community maintain a spreadsheet, something more modern than a spreadsheet. Spreadsheets are great, lots of programming happens with spreadsheets. But there's a website where Microsoft gets a seven, Google gets an eight as far as what they're actually giving back in dollars, in talent. I want to see who the zeros are because if you're not paying it forward, I'm not interested in helping you build whatever it is you're building.

Nell: Right. That would be fascinating.

Jonan: Right? I can't think of very many companies today that wouldn't go out of business overnight if cURL stopped existing.

Nell: Oh yeah, or OpenSSL.

Jonan: Yeah. And these are projects that are sometimes maintained, like you said, by just a handful of people. This is a bus factor for a multi-billion-dollar industry. That is huge. That's terrifying to me. Hopefully, we never come to that. So, open source maintainers, we love you, we see you, we're working on ways to get you money. And in the meantime, we'll just keep bullying big companies about it.

Nell: The dilemma I think the open source world has had the past few years is they achieved their goal of the '90s, which was that everyone would be using open source software; everything would be built using open source software. They've largely achieved that but didn't think through at the time how to make that sustainable. And I think that's where the emphasis is now, and where the emphasis needs to be is, how do we make this way of developing sustainable for us and for the world?

Jonan: This, I think, is a really frustrating thing for developers today. The open source developers I know are frequently on Twitter with a screenshot of some issue. There's a lot of entitlement to open source now that it is ubiquitous. Don't do this thing where you go onto someone's repo, and you say, "This feature should have already been implemented. This thing that you wrote, this is wrong. It should have been done this way." You don't get to unless you bring the code. Bring the code, show us your way, show us why it's better, explain your reasoning. And if the maintainers of that project like your logic, they will implement it. And if they don't, that's okay because it is their project.

Nell: Right, right. Exactly.

Jonan: You're using it by their grace. Be kind. Stop leaving mean pull requests and mean issues.

Nell: Often, I'm talking to maintainers, and I tell them the correct answer to a pull request is always thank you even if it's something you can't merge in. The correct answer to anytime you open a pull request or you open an issue, and the maintainer is not able to address it or merge, it is still thank you for them taking the time to look at it and to consider your point of view. The great thing about open source is anyone can have input and have their point of view considered, and it does take time and energy to do that. So, yeah, I think if people said thank you more often, the open source world as a whole would be a better place.

Jonan: I think we just solved the internet actually with that bit of advice. [Chuckles]

Nell: [Laughs]

Jonan: Say, "Thank you." Be grateful. Do you play Magic: The Gathering by chance?

Nell: I have in the past, and I really like it.

Jonan: There's a new version of this Magic online that only allows you, I think, three or four options of things you can say. It's like having a social feature that's not [Crosstalk].

Nell: Well, it's like Hearthstone. I always liked that.

Jonan: You could say, "Your turn." Or you can say, "Thank you," or "Good game." But of course, people still abuse the feature. They play a big monster that's going to get their opponent, and then they start clicking good game over and over again. It doesn't really matter what we do. People are going to be terrible to each other.

Nell: They are, though. You can mute them when they're being terrible, at least you can with Hearthstone. It took me a lot to figure out squish means you mute them. I thought squish meant I was trying to literally squish my little opponent, and they'd be mad at me.

Jonan: [Laughs]

Nell: But yeah, you can mute them. Yeah, people are hard. [Laughs]

Jonan: I think it comes from this connection that the internet has introduced. When you're in the same room with people, othering them is hard. Tribalism comes naturally to human beings. This is a thing we do, there's us and there's them. It's important, I think, for early evolution that that feature of humans existed. It's less important now, but the internet has really made that problem worse because looking at someone through a screen where they don't even have a face, they have a little cartoon avatar, it's real easy to forget that that person has friends, and family, and all of the trials and tribulations that are common to the human experience. And in that moment, you forget, and you treat them like a robot. Be nice to robots, too. Alexa is made up in Seattle. I try to be nice to Alexa.

Nell: [Laughs] Yep.

Jonan: My kids say mean things to Alexa sometimes. So the future moves towards open source. We find more and more sustainable models there, and the communities head more in the Rust direction. And if I'm piling all these things up, it sounds like overall, you feel like tech is headed in a positive direction because some days I wake up and I think I can see dystopia from here, like, we're right on the edge. How is it that you maintain that optimism about things?

Nell: I also have my moments of “Oh my God, what have I gotten myself into?” What has humanity gotten itself into? And what I think about is, we can't make the technology go away. We can't put the toothpaste back in the tube, I think, is how I heard it used once. We won't be able to make it go away, and we won't be able to change what has happened already. But what we can do … the great thing about software is it's so easily changeable—that's why it's called software. We are not powerless to technology with all its faults as it is right now. We can particularly, as people with technical skills, choose our destiny. Original Terminator films are one of my absolute favorite films. And I always love the message of, yes, there's a potential for these massive bad things, mass dystopia happening. It's not inevitable. Now, the third film and the last one kind of took that message and turned it around. But the message of the original films has always stayed with me. We can choose what our fate is. There's no fate but what we make. We can choose to turn in a more positive direction. And I think the past four years particularly has forced a massive reckoning in the technical community, in the technical world. What I hope is, people aren't being made to feel powerless but are made to feel empowered, that they can change the way that things are going with what they create. They can change the path we're on right now.

Jonan: I think we can. And I don't like to talk about tech people like we have more power necessarily than we do, but I think it's important to realize in the moment that power is relative. Several hundred years ago, we, by default, have more power than all of those people, as far as audience reach and the ability to communicate with each other. You and I could have a startup right now and realistically, in two years, have an audience of a billion people who've seen that page. It would be a very popular thing. We'd have to build, but it's conceivable, and that's pretty incredible. And yet, we have less than 1% of the planet who have this skill set.

Nell: Yeah, that's a good point.

Jonan: So get out there and teach people, go and participate in these communities. There's a real risk, I think, for humanity when 1% or fewer end up with most of the money and power. I feel like history has shown us that.

Nell: Yeah, it doesn't go well. The correction to that often doesn't go well at first, at least. I tell people the French revolution, yes, has been seen as glorious. It was really bloody. There was a Reign of Terror around there for a good number of years, and I'd like to avoid that. So yes, teaching people how to use technology, making our technology, not just resemble us as technologists because we're pretty homogenous but resemble the world of the people who use it. I heard someone saying cable TV used to be the great equalizer, and now it's smartphones. Just about everyone, even in very developing countries, has a smartphone. So how do we grant them that power to shape their own destiny?

Jonan: Yeah, that's actually really interesting. That was a big part of Mozilla's Charter a lot of the time. Some of the projects I saw coming out of Mozilla, I think, were involved in enabling that kind of stuff: lightweight code, lightweight web access. Someone was talking to me recently about this use case for … I want to say maybe it was people in the Nigerian software community who are learning to code, where they will go to a place and they'll download a bunch of educational videos over YouTube. They go to a coffee shop and get on the WiFi or a cafe, and then they go back home where they have a very slow internet connection, and they just couldn't watch the YouTube content anyway. And then YouTube downloader or the youtube-dl, there was some package that Twitter is all abuzz about. What is that about? Do you know more about that?

Nell: It's a project on GitHub, and you can download it. Basically, it scrapes the video, or it records the stream as you watch it. There was a big controversy that said, "Hey, that's violating our copyrights because we put something on YouTube, and then someone makes a copy of it and can do something with it." So it was, I believe, removed from GitHub for a short time, but there was an enormous backlash. And, of course, there's lots of legal arguments going on, saying, "Well, if that is being presented anyway, the person is watching it anyway, are they violating any copyright by watching it even though they're saving a local copy of it?" So it has been restored to GitHub. I think the conversations around that are going to be continuing for a long time. But that's a great point you make in that it allows people who don't have a steady … we've seen with the pandemic that broadband is not a given. And I think we forget that a lot when we're in places like Seattle or San Francisco or Portland. And people need an ability to record something when they're near a fast internet connection, and then be able to play it later when they have a slower internet connection or no internet connection at all.

Jonan: Yeah. And they're recording it for their own personal use. They're not reselling your YouTube videos. By the way, anyone who wants to use youtube-dl, you have rights to my content. You can download any of my YouTube videos anytime. There's this conflict, though, and I respect the rights of creators. I want them to get paid in the same way that I feel about open source. I get how much goes into it when you're an artist developing this. It's important that those people get paid for their work. However, you've got to stop and think about how that affects the world at large and what choices you're making right now where you are inadvertently punishing quite vulnerable portions of the population. The broadband question sparked a thought in my mind that three years from now, it's very likely Starlink will have blanketed the planet. So then what happens when the whole world has broadband? What happens when that 1% is instead 0.5%? It'll be interesting to see. My hope is that people in tech continue fighting the good fight and get the money on the right side of history.

Nell: Right. Even if you lose an initial fight, that doesn't mean you have to stop. I wrote open source software for the Hillary Clinton campaign back in 2016. And obviously, that did not go the way any of us on the campaign wanted it to, but the work I created for them was reused by the Women's March on Washington. It's been reused by other campaigns or other organizations that have built upon it. And that's one of the best things about open source is we can release something into the world, and it may not have the effect we originally hoped it would have, but other people can take it, and build on it, and add to it. So it's, I think, a virtuous ecosystem, at least the philosophy of it is, and it is executed with that virtue from time to time.

Jonan: This actually brings up, I think, a good finish for the episode here. When it comes to licensing, there is a new license out, the ethical open source license that I'm probably calling the wrong thing. You know what I'm talking about?

Nell: Yeah, I do. Hippocratic.

Jonan: Yep. That's it, the Hippocratic License. How do you feel about that in terms of the future of the project? It's being adopted, but just like as a lawyer for a company about the IPO, I immediately go through all the code and rip out all the GPL. Do you think it's going to be effective long-term, or some iteration of that is going to be effective?

Nell: I'm watching it. I admit my first reaction when I heard about it was this isn't going to work, or I felt like it kind of went against the definition of open source. However, Coraline, I can't quite remember her last name, is working with lawyers, and she is working with experts in open source. I'm interested to see where it goes. For me, it's a little bit of a challenge because I grew up in the military. I work with the military. I work with the Marine Corps, and I work with veterans’ organizations like Operation Code. And for me, per my power as a developer, it's very important to me that they always be able to use my work. Other developers have a different point of view. And for them, it's very important that their work only be used in the context they meant it to be worked in. It's interesting. I'm watching it, and I'm looking forward to learning more from the discussions around it.

Jonan: I am, too. I want to see where that evolves. I agree with you that Coraline is brilliant when it comes to this kind of thing, the Contributor Covenant.

Nell: Yeah, absolutely, which is why I've adopted that in all my projects. It's widely adopted.

Jonan: The presence of a code of conduct in software communities and company projects are a strong hallmark of a good community. I know that it's a place I want to be involved in if I start to see that. So please consider it if you're out there. Well, thank you so much for joining me.

Nell: Thank you for having me.

Jonan: I appreciate you being here now. Do you have maybe any tips for people who are where you were early on in your career? If someone out there is on a similar career path, maybe they are in the military right now, and they're considering software when they come out … first of all, probably get involved with Operation Code.

Nell: Oh, absolutely.

Jonan: Do you have any advice for them?

Nell: There are a thousand paths you can take in tech. You don't have to take and stick to only one specific one. What we find in Operation Code is there's a few different paths people typically take; one is developer, one is more operations though there's a lot of development involved in that. And then another is more of a security route. Now there's commonalities between all those paths: having a foundation at least in one programming language, having an understanding of how systems work, how system design works, but I would say you're not going to be locked in. So, pursue one, pursue it as long as it interests you. It's going to be hard at first. What I tell people is, if you come from a background that isn't the traditional background that someone comes into software with, it will be harder for you, but you don't have to do it alone. So my biggest piece of advice is to find a community. There are so many really good communities out there. We have Operation Code, we have VetsinTech. We have a wonderful Women in Tech community that's been enormously helpful to me over the years. Don't do it alone. That's my biggest piece of advice.

Jonan: Get some friends. They'll help hold you accountable, and they'll help to be there during the lows because when you hit that wall in programming, and you then are able to climb into it, that's the high that we're all here for. But there are many people out there right now hitting that wall and walking away because they just don't have the resources; they can't find the connections. This is really good advice. Thank you. Well, I hope you have a wonderful day. Enjoy the rain. I will try to enjoy our rain as well.

Nell: Thank you.

Jonan: I look forward to having you back someday, and we can check in on open source and the licensing and see how our predictions went.

Nell: I would love to come back.

Jonan: I forgot to ask you, how can people find you on the internet, Nell?

Nell: The best way to find me is on Twitter, honestly. I'm @nellshamrell. I'm sure that'll be in the show notes. Reach out to me. I do have DMs off for people I'm not following just because you get weird stuff in those. But if you ever have a question or want to talk to me, just ping me on Twitter. Just tag me and say, "I have a question. Do you mind opening your DMs?" And I always do. And then if people are weird, I close them again. But 99% of the time, if people are taking the effort to tag me in something, they're not going to be that weird, at least not any weirder than all of us are.

Jonan: We're all weird. And so, if you want to reach out to Nell, Nell prefers to be contacted via Fleets, these new stories-style Twitter. Is that correct?

Nell: I still don't understand what that is, to be honest. [Laughs]

Jonan: I think they put some Instagram in there. They're trying to be TikTokgram Twitter, which has historically gone well for social companies when they try to adopt every feature of every platform.

Nell: I tell people I'm an elder millennial. I was born in the early '80s. Facebook I get, Twitter I get … TikTok, I have no idea.

Jonan: It's a little bit harder. It's getting complicated. I feel older. Well, again, thank you for coming. I hope you have a wonderful day, and we'll see you back in the future, I hope. Thank you.

Nell: Sounds good. Take care.

Jonan: Thank you so much for joining us for another episode of Observy McObservface. This podcast is available on Spotify and iTunes, and wherever fine podcasts are sold. Please remember to subscribe, so you don’t miss an episode. If you have an idea for a topic or a guest you would like to hear on the show, please reach out to me. My email address is jonan@newrelic.com. You can also find me on Twitter as @thejonanshow. The show notes for today’s episode, along with many other lovely nerdy things, are available on developer.newrelic.com. Stop by and check it out. Thank you so much. Have a great day.