Transcript for Episode 239. Open Source Ethos & Pathos
[0:00:01.9] MN: Hello and welcome to The Rabbit Hole, the definitive developer’s podcast, living large in New York. I’m rabbit number one, Michael Nunez, and the other rabbit with me today –
[0:00:11.3] SC: Sophie Creutz.
[0:00:14.0] MN: Today, we’ll be talking about the ethos and pathos of open-source software. Open source has existed for some time and we’re going to talk about what can motivate one to want to participate in open source and some of the fancy-shmancy words I said at the very beginning of the title of this episode.
[0:00:33.9] SC: Yeah, what is this ethos of which we speak? Should we look at that a little bit? What’s the definition of ethos?
[0:00:41.0] MN: Yes, I’ll do my best for this definition, the ethos is the characteristic spirit of a culture error, a community, as manifested in its beliefs and aspirations.
[0:00:53.2] SC: There you go, yeah.
[0:00:54.6] MN: Imagine that in terms of like applying that kind of definition to software, it’s more like, building a community of a piece of software that you either want to use or you’ll see that should be free for everyone.
[0:01:10.0] SC: Yeah, it reminds me of this drama masks where you see in drama, the one mask that’s like smiling and the one that’s frowning, right? What’s the ethos that we’re trying to get at an open source? It seems like it can be a little bit of both, really. We want this OS, we want dissemination of knowledge, there’s even a, in one of these articles, there’s a metaphor that’s used that compares the ethos of open source software to like a pollination process in nature and how it creates natural biodiversity and therefore, a more resilient ecosystem.
[0:01:48.7] MN: Yeah, I think that – I mean, I get it, we got to make money, right? We got to pay for food and have to charge people things and services but I think that as you mentioned, the idea that being able to share information helps the community and people grow as far as that information can go, right?
If you’re behind a pay wall, chances are, people who may not have access to funds to be able to pay may not get that information. Very similar to buying software. If you have a piece of software, I don’t know, what comes to mind? I mean, let’s say you had to use a chart framework that exist and you have to pay for one versus an open source one. Well, you know you may have less individuals who have access to be able to pay for this framework.
The open source one might be appealing to some folks as well. It may not be as good because you know, people will like to work for moneys and that’s important.
[0:02:47.1] SC: I guess it’s true but then like, that’s the big question and then maybe here, we’re getting into the pay that it is part of it. We want this sustainable open source culture but as people aren’t getting what they need in order for the situation to be sustainable then there’s this sense of anger, frustration, you know, something’s not quite right there.
[0:03:10.4] MN: Right, I think like definitely have to check with your sustainability to be able to contribute to open source, right? If you're in need of funds or some kind of asset and open source is in the ethos definition, you’re doing this for the benefit of the community, it may not be the thing that you are capable of doing at the moment, right? I know that there’s a lot of software engineers who work in the day time, they’re putting their 40 hours and then they are writing some form of open-source software for individuals to use.
I think a lot of the libraries that we use as of right now, fall into this thing where it’s like, I mean, I had asked earlier before the recording, I am so grateful of Slick Carousel as a package that I could use to create Carousel. I’ve never – any time I’m at a client where they’re going to ask me to use a Carousel and it’s like, “Well, I know a package that already works and does it very well and is easy and accessible” and people have thought about all this particular problems that come –
[0:04:17.4] SC: People cared about it, you know? Yeah, they cared about their craft enough to come together based on shared goals like collaboration, communication and commitment to building something and they made something that lots of people can use, so that’s pretty awesome.
[0:04:33.2] MN: Right and I think you know, some person might have been like, “I’ve had it, I am not building another carousel, I’m going to build this one and share with all” and then some people may have resonated with that message to be able to then go and help build out this thing during their time.
[0:04:49.6] SC: You think on some level that that’s like enough for some open source developers that they collaborated and built something cool because I think it might be for me on some level, not if it started really taking over my life and I was putting in 60 hours a week on it or something like that but before that point, I can find that pretty motivating. You know, I get to build something cool with other smart, capable people, it’s going to get used, I learn something, what do you think?
[0:05:21.4] MN: I mean, yeah, especially if like – it could go two ways, right? Say, you started building this project yourself and slowly, people started using it, so then you feel motivated like, “Oh my god, there are other people who are validating this need for my open source project that’s going to give me motivation to continue building” that’s one way as I saw your message but the second one is also, “I’m going to help contribute to this open source software and people within that team are accepting the changes that I have in mind” which I think is also pretty cool.
[0:05:56.5] SC: Yes, it’s pretty cool.
[0:05:58.6] MN: I think that when there is a need for a particular package that exist, I imagine that the community of software engineers will slowly find that particular package and then raise it up, right? We can think about Graph QL as one of those packages I believe, that is open source and a ton of people love it and they use it and you're able to use it for your day-to-day work and if you find something that could be useful, you can definitely go and some of the pool request if you need to.
[0:06:30.2] SC: Yeah, sometimes maybe you're coding along and you find something and you think, “Gee, wouldn’t it just be improved if I could fix this and submit a PR to this open source library and then this would no longer be a problem.” That happens, it happens to all of us, so I guess maybe, it’s just about taking that extra step and then going and finding the library in GitHub and then in PR. Why not? It might not be approved, I guess I think but –
[0:07:02.5] MN: Yeah, well don’t – I imagine it’s a numbers game, make sure you do your best in putting something contributing into the open source library that you’re using but I think you brought up a good point to take that first step but that sounds very overwhelming, right? I want to add something to date JS as a package.
[0:07:21.5] SC: Yeah, what do you want to add, yeah.
[0:07:22.9] MN: I don’t know, that would be really overwhelming for me to do and I think the question that we had here, how could you start contributing to open source not so much so that it takes your life but where do you start?
[0:07:36.6] SC: Well, it’s funny. Our other resident rabbit, Dave, mentions that, “Okay, make it real simple” right? What if you find a spelling mistake somewhere in the library that you’re using? Correct that typo, right? Then send it up here. That could be a really, really easy place to start.
[0:07:53.3] MN: Right, because I know from my understanding there are some open source libraries that have very interesting poor request like templates that one may need to follow and I think it happens when you’re like, “Oh, I want to create a poor request” and it’s like, “Okay, well then make sure you follow all these things” right? Imagine the pressure of putting in a new function and then you have this particular template that you need to follow, throw that out the window, right?
It’s a lot of rules, if you just were able to change a typo and you had to deal with that, that’s a lot more manageable for you to then submit that.
[0:08:28.2] SC: Yeah.
[0:08:29.9] MN: So find those typos and spelling mistakes and you know, do your best to just get your name and then you can brag to your friends I guess and be like, “Yo, I got my commit and date JS,” and that’s the package that we’re using, which is great and I imagine that’s gut feelings. That’s the, I would say, the pathos of open source.
[0:08:47.3] SC: Yes, hopefully you’re really rewording, you’re rewording to actually see your code out there being used by a bunch of folks in open source.
[0:08:58.3] MN: Yeah, I imagine that is the pathos aspect of this entire experience, right? It’s like, “Oh I feel good that a package that I created is being used” A or “A package that I’m contributing to is for a good cause” which I think is pretty cool. Let’s say Sophie, let’s say you know, you found a typo, you made a poor request and it’s gets merged and then you slowly build with confidence in this open source project and boom, you’re a core contributor.
[0:09:31.3] SC: Oh wow, how did that happen? I woke up one day and there it was.
[0:09:38.3] MN: Well, I think a core contributor may be an individual who has deep knowledge of the code base inside and out.
[0:09:46.6] SC: Backwards and forward and upside down.
[0:09:48.9] MN: Exactly and if you started with the typo, yeah, you know well, you know?
[0:09:53.2] SC: The air you breathe, yeah.
[0:09:54.6] MN: Exactly, use in the package often and change in typos when needed and ensuring the things are working as intended and then be able to extend it allows you, you and I would think that that is the definition of a core contributor to an open source project.
[0:10:10.7] SC: Yeah, I think it can take a while to get there, right? I guess I can’t expect to get there overnight or anything but just to consistently contribute like find my place within that open source community, which is pretty compelling really. For example, let me share another quote from literature. To summarize the open access movement that we’re talking about here, open source, open access is an attempt to use the Internet as a tool for free access to research and is a platform for scholarship to be built off of and improved, which is pretty fascinating.
It reminds me of the Merrick Squires, call out to Erin Schwartz, where he basically like he’s downloading articles for free and then he’d gotten into a lot of trouble for that, so it’s just this kind of tension here between like information like why are these paywalls in place so that we can’t get information. What sorts of barriers does that create for us and within our society that’s problematic, right? I think open source is like pushing against that a little bit.
[0:11:17.6] MN: Yeah, because like people shouldn’t have their access blocked because they don’t have the monetary funds to information. I think that’s the idea.
[0:11:26.5] SC: It’s like if people are down, you just keep them down.
[0:11:29.4] MN: Yeah and money makes the world go round, that’s true and I think open source’s data put a stop to that or push it’s constraints on that particular philosophy. I think one of the issues and the scary thing that rarely happens but can is when the open source project that you use and that you subscribe to for your production application may be taken over by a malicious core contributor, right?
I think that’s a fear that everyone has in their mind and it rarely happens but I know that it can, so please, whoever supports Carousel do not go rogue and like –
[0:12:15.4] SC: That’s not the ethos we’re looking for here, yeah. That’s not a good spirit of culture and community, putting infinite whips in that Carousel, can you imagine?
[0:12:26.7] MN: Oh my gosh or Zalgo text, that is the craziest thing ever. I do not want my production code to suddenly start speaking to Cthulhu, that’s just not what I wanted to do at all.
[0:12:39.6] SC: It’s sort of objectively hilarious but if it happened to me, I would not want that in the projects.
[0:12:47.2] MN: I think and we would have to assess rogue core contributors as to some of the reasoning behind why one would do that and I think what we mentioned and we touched on before, I have the – I forgot what’s the term but it’s like the psychological safety of needs and ensuring the –
[0:13:04.9] SC: Or Maslow’s pyramid.
[0:13:06.7] MN: Yeah, exactly. The idea is like make sure that open source is a place where you’re allowed to share information and know that it’s highly likely that there’ll be no monetary gain when you do that. Trying to cripple your folks who subscribe to your particular package to force them to then suddenly pay and you know, these funds would be against the philosophy of open source.
[0:13:38.2] SC: It may not be a monetary compensation directly but there are certainly other benefits and I guess I could imagine that eventually that could lead to, you know, if you are contributing to open source and what you’re doing is physical, people see the contribution you make, the value that you bring to these contributions then ultimately, that will probably help your career too.
[0:14:02.7] MN: Yeah, I mean you have it on your resume. I made changes to broccoli JS, sounds like I think.
[0:14:09.8] SC: Go after it, yeah, sounds good.
[END OF INTERVIEW]
[0:14:12.1] MN: Follow us now on Twitter @radiofreerabbit so we can keep the conversation going. Like what you hear? Give us a five-star review and help developers like you find their way into The Rabbit Hole and never miss an episode, subscribe now however you listen to your favorite podcast. On behalf of our producer extraordinaire, William Jeffries, and my amazing co-host, Dave Anderson, and me, your host, Michael Nunez, thanks for listening to The Rabbit Hole.
Links and Resources:
Our seasoned cross-functional agilists work with you to develop technology, ship product and deliver value. We leverage our diverse expertise across industries and throughout the organizational growth cycle to your benefit. We bring best practices, emergent practices and creative solutions to your problems.