The Linux Foundation Projects
Skip to main content
Blog | Software Discovery Tool

Software Discovery Tool

By | March 11, 2022

 

Mainframe is one of the most critical pieces of technology that’s powering the modern economy. Mainframes have been around for decades and have a very senior developer and admin base. To attract new talent and the next generation of developers, the Linux Foundation-hosted Open Mainframe Project is catering to modern developers and engineers, bringing the two worlds closer to each other.

The project is home to many mainframe technologies that help developers become more efficient and the Software Discovery Tool is one such technology. “The Software Discovery Tool is a tool that we put together to search for packages on the s390x architecture,” said Elizabeth Joseph, Chair of Open Mainframe Project’s Software Discovery Tool.

In addition to building technologies for developers, the project also runs many ‘people-focused’ programs to attract new developers. One such program is Open Mainframe’s Mentorship Program.

Check out this TFIR video with Joseph and Divya Goswami, a member of the Software Discovery Tool TSC and former 2021 Open Mainframe Project Summer mentee, or read the blog to learn more about the project and its mentorship program.


Swapnil Bhartiya: Hi, this is your host, Swapnil Bhartiya, and welcome to TFiR Let’s Talk. Today, we have two guests from the Open Mainframe Project, Elizabeth Joseph, Chair of Software Discovery Tool, and Divya Goswami, 2001 Open Mainframe Project mentee. Divya, Elizabeth, it’s good to have you both on the show.

Divya Goswami: Thank you so much for having me.

Elizabeth Joseph: Thanks for having us.

Divya Goswami: Thank you so much.

Swapnil Bhartiya: Elizabeth, of course, we have spoken so many times, but I want to hear from you. Can you tell us what is the Software Discovery Tool?

Elizabeth Joseph: The Software Discovery Tool is a tool that we put together to search for packages on the s390x architecture. So s390x is IBM Z, and you probably know them as mainframes. So it’s… The idea here is we’re trying to match organizations with software that runs on Z, and that means looking specifically for packages that are built for that architecture. And so there was a project previous to this that IBM had worked on, but ours is like the follow up to it. We add more Linux distributions to it. We added z/OS support so you can now search for both Linux and z/OS in the tool, but that’s pretty much what it is. It’s a web interface queries of database in the backend.

Swapnil Bhartiya: So it’s more or less like a web, as you mentioned, web front end, kind of for the repository of packages that are there available for the platform, is that correct?

Elizabeth Joseph: Right. And in the open source project that we maintain everything that is searchable is open source, but if you want to install it yourself, you can add the backend to search whatever software you want. So if you’re an organization, you have a bunch of software that’s available for the platform and you want your users to be able to search through that, you can just put together a JSON file, pop it in the backend, and then you can search that as well.

Swapnil Bhartiya: Is the access to the repository or a backend where you actually create the whole archive or repository? Is it restricted to certain folks or anybody just like we have seen other, let’s say Linux distributions, anybody can put there into official repository or there are some user repository as well. Can you explain that side of the story?

Elizabeth Joseph: So, one of the things we did in this project is we kind of re architected the whole tool from the one that we’ve worked from IBM. So one of the things we did is we created the repository for the application itself. We have a data repository and then we also have a deployment repository. So the data repository is where all the JSON files live. So the information is taken from like the Linux distributions and then put into our public data files. And these are all files that are part of the Open Mainframe Project. So all in the public Open Mainframe Project, GitHub.

Swapnil Bhartiya: And can anybody create packages in repository, or is once again somebody… So how do you insure- Yes, please go ahead. Yes, please go ahead.

Elizabeth Joseph: We accept full requests from anyone. So it’s all public there.

Swapnil Bhartiya: Right. How do you ensure that the packages are kind of, they have been tested, they’re secure because security is becoming a big challenge of course there. And when you’re running anything in your application, you have to also make sure that it complies with the code that you are running. So what do you do to ensure all of those issues?

Elizabeth Joseph: So the first thing is the… It is just a search tool and it doesn’t actually provide the packages themselves. So all we’re putting in the project is information. So it’ll say like this project with this version number in this Linux distribution, for instance, and maybe a description. So we’re just providing them information. And then it’s up to the user to go ahead and say like, okay, I’m going to go back to my Red Hat Enterprise Linux. And I know now that I can install this package and then they do it on that side. As far as verifying the data that comes into the project, when we get a poll request, first, what something I do now is I run a JSON validator to make sure that the JSON looks good, because if I pop it in my system and the JSON doesn’t look good, the whole thing will come burning down.

So we validate the JSON and then I kind of eyeball it. I mean, some of these… There are thousands of packages for Wintun for instance, like tens of thousands, so I can’t read them all. And so there’s a little bit of trust in there that I hope that they ran the script that Divya wrote to grab sources from something like Divya, and then upload it there. For the smaller ones like z/OS, I can actually read the entire file. So if someone is handcrafting something, usually that’s a little bit easier to review. But again, it’s just informational. So if something gets in there that’s not quite right, it’s not going to hurt anyone.

Swapnil Bhartiya: For how long have you been working on this project or when was this project now came out of, into existence?

Elizabeth Joseph: So the project we forked from, PDS, I’m not sure how that one’s been around for a few years. The software discovery tool itself was approved by the mainframe technical group in, I think it was April, 2020. And so for the first year, things were kind of slow. But then we got in touch with the mentorship program and that’s where things really took off. You know, Divya joining us as well as another mentee. And I had a list of things I wanted them to do, and then they did all of those plus more. So this summer really of 2021 is when things really took off for the project thanks to their work.

Swapnil Bhartiya: Yeah, I’ll be talking about the mentee and mentorship as well, but I just want to quickly get some background information about the tool itself is that as you mentioned, it was kind of approved in April 2020. Any major milestones that your project achieved in this time? Whatever you feel that, hey, this is what we have achieved.

Elizabeth Joseph: I’d say there were a few of them. So first adding more data sources. Originally the project had Ubuntu, SUSE Enterprise Linux and Red Hat Enterprise Linux and those sources are actually still maintained by IBM. They a work fine in our tool. But what we want to do is add the community supported distributions. And so that means Debian, openSUSE, both Tumbleweed and Leap and Fedora. And so we have all of the community maintained ones in there now. We also have a data file for z/OS so, and that one is actually a little trickier to maintain because it’s manually updated. The other ones we just grabbed from their packages list that are built for s390x. But with z/OS, we had to like handcraft it because the open source projects come from all over the place. There’s not like a centralized repository, like Linux has for something like z/OS. So that was a big one, getting more data sources. Another one was getting the deployment working well and automated. And so now you can do an automated deployment of the tool. And then another one of our milestones, oh, we did like UI improvements and things that made it look really good. So yeah, those are really the big ones.

Swapnil Bhartiya: Excellent. Thanks. Now let’s talk about the mentorship program. Talk about how, as we talk about Open Mainframe, what mainframe is kind of, it comes from, it has a long legacy. So you do look at attracting modern developers as well. So talk about what efforts you folks are making and what role does mentorship program play there? Just talk about the mentorship program and involving fresh developers.

Elizabeth Joseph: Yeah. So one of the things that I… Seems to me with the Open Mainframe Project is there are a lot of people who work on the project who are doing this as part of their job. Like if they’re tasked with working on open source, it is a big part of their job. But to some extent, there are hobbyists who are working on this project. There are people who are passionate about mainframe and they do their day job, and then they do Open Mainframe stuff on the side. Because either it helps them, they want to, or it helps them with whatever where they’re working on at work, but it oftentimes lands in like this extra bucket of stuff at work.

And so the problem there is we don’t have so much time for it. So for me, being able to engage with this mentorship program meant that one, I could talk to my boss and say like, listen, I’m not just working on this tool. That’s really great for us, but I’m also driving engagement in both the Linux foundation project here at the Open Mainframe Project and also just building up more interest in IBM Z and doing the advocacy that I’m wanting to do. And so in that case, the mentorship program ends up being really valuable to us because it kind of kills two birds with one stone, you know. We’re getting the work done, we’re driving interest, doing things like this, where we can reach more folks because we’re doing really fun, cool stuff. And now we get to talk about it.

Swapnil Bhartiya: Now Divya, let’s talk about you. As Elizabeth was saying, there are like couple different kinds of people. Some are hobbyists, some are working on these projects and data. So tell me which category do you belong to? How are you involved with Open Mainframe? Then we’ll talk about joining the mentorship program.

Divya Goswami: About me, so I wasn’t really there. I didn’t know that the mainframe still existed for a start, but it was still… It’s like a bit everyone comes to when you first meet Open Mainframe Project, you see that, are they still alive? And how are these still working? And then I came to this thing and I saw that, is this only for the men? Because I never saw any women work in this because I’m really not from this thing, technical background. So this was more like a challenge to me, is it, let’s just try out how it is, how will it really change me and how will I end up exploring things? So that’s what it is to me.

Swapnil Bhartiya: And there was any specific reason that you were looking at projects and suddenly you saw Open Mainframe. You’re like, this is a project that I want to get involved with. Why did you choose Open Mainframe?

Divya Goswami: Correct. So I was really looking into, it was my early stages of my third year, that was pre graduation. I was looking for some open source project that I will contribute to. And then I saw this, I saw Linux foundation and I thought that Linux is something I love. So I should really see what are the projects that really contributed. And then I came across Open Mainframe Project and the same thought ran through me that really mainframes are still working. And so I quickly checks the background, so I saw that Open Mainframe Project is right now conducting, taking me a mentorship. So that really took a five seconds thing to just go and fill the form. That’s it.

Swapnil Bhartiya: So, and if I’m not wrong, you’re specifically working on the software discovery tool. Is that correct?

Divya Goswami: Correct.

Swapnil Bhartiya: So if I ask you, I have of course heard from Elizabeth. If I ask, how would you define this tool? What does the tool do and what are you working on, on this project?

Divya Goswami: So basically when I started on this tool, it was basically, again, a fork of PDS as Elizabeth mentioned. So I didn’t really have to work on the backend of how is it searching. I had to change, where is it searching and how exactly it should be help to the Open Mainframe Project. Previously first from IBM Z. So I actually was more interested into how the packages are getting stored. So my work mainly was automating the whole thing. It was really a manual thing and whatever the hosting and the basic workflow was really a manual work. And I really did was automating the thing. Yeah.

Swapnil Bhartiya: So if I ask you how challenging was it when you took it and what kind of support you got either from the Open Mainframe community or Linux Foundation community or from Elizabeth, your mentor?

Divya Goswami: Yeah, so this one was really challenging for me because I was afraid at the first, because I didn’t see any really… It’s a thing that you need a woman’s support when you’re first coming into this thing, and I didn’t find any. There were no people really inside. I didn’t find anyone who will be telling me that you can try this out. This is what you do basically here. So it was more like a challenge to me. And when I entered and I found that my mentor is actually a woman, I was so glad to thank God. So the huge support I got was like, she being a really young woman and being from IBM Z, I really got in touch with so many other open source communities, like from ClefOS and then openSUSE, and then I got to know that there are actually women here. So that’s the kind of support I got from the Open Mainframe Project.

Swapnil Bhartiya: Yeah, so she brought up a very interesting point about the diversity and inclusion that she was looking for. If there is a woman in this space, if I ask you from Open Mainframes perspective, how do you make it more welcoming? Because if you look at the community of people from around the globe from different cultural backgrounds, they are coming, joining to make it welcoming, and she did not even know that. So how to make it more visible, you know what? It’s a welcoming community, anybody can come and join, and it doesn’t really matter who you are.

Elizabeth Joseph: Yeah. So the Open Mainframe Project has been working on diversity initiatives. So we had the Open Mainframe summit back in September, and there were a few diversity panels there and things, so it was really nice. There was a talk specifically about, I think it was being called Mainframe Mavens, where they covered a couple of like historical women who worked on mainframe. But they quickly went into like some women who are working on it today, where they had live interviews. And so I… It was really nice to see that. There’s also folks involved with the Open Mainframe Project who are doing things like they’re working with historically black universities. And then IBM itself, one of the things that I’ve been really impressed with is that IBM hires a lot of folks right out of college and then puts them into really great, satisfying, technical roles, and people end up staying at IBM for decades.

And so what I like to say is like, they get them before the pipeline has leaked. So there’s like this leaky pipeline thing where people quit tech who are minorities. And so if they end up at IBM, I mean, chances are, they’re going to stick around because it’s a really good place. So I’ve noticed in the ranks at IBM specifically, that there is greater diversity. And of course that influences the mainframe community. At the same time it is still a very male dominated field just because historically and tech in general, but we’re definitely working on it. And some of my, like my mentors within IBM and in the mainframe community, they’re women. I’m thinking like Misty Decker. She used to work at IBM, but now she works at another mainframe company. And then like Rosalind Radcliffe, she heads up a lot of the DevOp initiatives for IBM Z. She’s really amazing, she sometimes has time to talk to me too. But there are some really strong women in the organization who are doing a lot of work.

Swapnil Bhartiya: Right. And as challenging as it is for mentees, it’s also challenging for you because you have to try to put yourself into their shoes because they are apprehensive. They are intimidated about it. So, I mean, if I can ask you, if you have any playbook or tips that you can share with other mentors that, hey, this is how you should work with somebody who is new, not only in the field, but in the, just out of college and people are intimidated.

Elizabeth Joseph: I think one of the things is we have to remember that this is all new to them. I mean, some people have worked in open source before, but I think getting over like the first hurdle of communicating in public. Don’t just spend your time messaging with them privately. Really push them out into those public channels, push them out onto the mailing lists. And also things like doing introductions. So for some of the tasks in this project, I would take the lead, I’d say like, here is a person I know over at openSUSE. I’m going to do an introduction and then you’re going to take it from there. And that kind of breaks the ice and allows for that initial contact so that they’re in the email thread. And even though they’re going to be scared and shy to hit the send button, once they reply, at least they’re already in the loop.

And then just generally telling stories about my own history, like where things were scary. Like, I like to tell the story when I submitted some patches to OpenStack and they had, there were like 40 comments on it. And finally, finally it got merged and that’s really, it seems embarrassing but we all have this story where things went back and forth and then finally it got merged. I mean, it is no reflection on you and people aren’t really going to dig through, get commits and be like, “Oh, look at this silly thing you did.” We all do silly things and whether it’s public or not. But just getting over the hurdle of putting your stuff out there.

Swapnil Bhartiya: Perfect. Now, Divya if I look at it from your perspective, what kind of expectations you would have, or what you’d say, “Hey, this is how mentors should approach us so that it makes it easy for us.” And also at the same time, how you want to make it easier for your mentors so they can build that connection.

Divya Goswami: For my, as a… So for the mentors, I would really, I mean, it’s really taken from Elizabeth’s way of really grooming me. So I just like the way Elizabeth said that if you just create the connection between two big bodies, maybe I’m not able to reach to them because they just, they don’t know me. I’m a simple, self contributor, just random contributor. So if someone knows them and if she’s my mentor, or if he or she’s my mentor, that will be an easy bridge between me and the body to communicate. Yeah, so that’s very important. I would say that’s the main thing I would really say for every mentor.

Yeah, and really my other mentees getting really… So I would really suggest mentees to be open to your mentor if you’re having some problem in some, in any silly thing, even if it is a silly thing, I would say an example of some get commits, you’re not able to do it. So just really, because mentor is your first area of contact. You can’t really go to any other person right now. Maybe you are feeling that you won’t be appreciated if you ask in the public channel. So the mentor is like really your first point of contact. So always be open to your mentor whatever problems you’re facing, even if it is something not related to the technical part. Maybe you’re not able to give time to it, say that to your mentor. Maybe he, or she’ll be able to cover it up for you.

Swapnil Bhartiya: If I ask you, if you reflect on this engagement with the Open Mainframe company, if I ask, what are the best part of your experience with them? How would you define though this whole experience?

Divya Goswami: So when I was really first time into this project, so the main objective or the main goal I saw when I first entered the… So the first initial two weeks, it’ll be just my project. This is my project. I have to do this task within three months and then really get out of this place. But it didn’t turn out that way, but I really got introduced into new people, like I got introduced into the openSUSE people who are maintaining packages for the mainframes. I really got into touch with the ClefOS people who are doing the same thing for mainframes. So what it did was really create a new branches for me to try out new things in this area. So I was suddenly, all of a sudden I felt that I should really explore this place.

It’s just not my project, but it’s really this ecosystem that I got introduced into. And that is very important for someone who’s entering into an organization, starting into an open source contribution, because you don’t really belong to the project. You belong to the organization because every contribution counts. Even the mail you send to someone, it’s really alerting someone about something that is there in the project that you want to include into your project. So that’s the bridge, everything counts.

Swapnil Bhartiya: Divya, I think you are going to show us a demo of the tool. So please go ahead and show us the demo.

Divya Goswami: Okay. So currently the demo is, and you go to this area. There’s a navigation bar where you have all the lines where the operating systems, the Linux distributions are present. You have to basically, you have to search, you have to input a search, you have to input a query of a package you want to search. And that’s… If you just go and click on the which distribution exactly you want to search, the list comes out and you can really man play the list. It initially source 20 results, but you can show it, 5200 results.

Also with that, you also have a version managing place where you can narrow the search using another place where you can query the version and it will show you which current version is in which distribution. So that’s basically it, plus with that, you have the FAQ region. If you have some basic small problems, or really, if you want to see that from where the data is getting collected or who is behind this whole project, you can check out the FAQ section also. That’s basically the demo.

Swapnil Bhartiya: Excellent. Thank you. Elizabeth. I’ll come back to you now. Let’s talk about the tool once again. You talk about the milestones earlier. If I ask you, what are the next challenges that you are looking at solving or what goals you have for the next year with this tool?

Elizabeth Joseph: The big thing I think for the next year is going to be around both automation and sort of hardening of the deployment. Right now we have monitoring on it because sometimes it falls over. So getting it a bit like, if we load up a source and the source doesn’t quite work, the whole thing comes down. So we focused really on getting a lot of features out there and getting it working. So now it’s just going to be resiliency. And then automation, like some of the things are still manual and we do have to do some documenting of the automation procedure, just so people can replicate it. I mean, like right now, if our server went away and I had to create a new one, I’m not sure I could actually do it. I think I’d have to ask Divya for some help. So we just want to make sure we’re documenting everything and have, make sure the automated deployment is working well.

Swapnil Bhartiya: Does that also mean you will be needing more help to do all this work or you want to do it all yourself?

Elizabeth Joseph: Yeah, definitely would like some more help. People who are interested in operations would be good. Again, since this is just a search tool it’s just running on Linux. So just someone who wants to get involved with how to do automated deployments and such would be great.

Swapnil Bhartiya: How they can get involved? How they can reach out, who they should reach out to?

Elizabeth Joseph: So we have a mailing list and we also have a Slack channel on the open mainframe Slack. And so either of those, they can pop into the Slack channel and say, “Hey, I want to help out.” Or they can go on the mailing list. We also have, if they’re curious and don’t want to talk to us yet, we have open issues in our GitHub projects for the things that we want to work on. And I think I need to add a few more, but there will be more for sure. So they can just browse at first, if they just want to have a look and then reach out. They can reply in the issues as well. Like, “This one’s interesting to me, let’s talk about it.” So the Open Mainframe Project itself, the leadership, I think it’s on the board is 40% women. And they’re also doing a webinar series. I think it’s like, making our strong community stronger, which is focused on diversity, and those are all going to be published to the public in coming months.

Swapnil Bhartiya: Elizabeth, Divya, thank you so much for taking time out today and not only talk about, of course, this tool that you folks are building for the Open Mainframe community, but also more importantly, the mentor/mentorship relationship. So thanks for those insights. And I look forward to talk to you again. Thank you.

Elizabeth Joseph: Yeah, thanks for having us.

Divya Goswami: Thank you, thank you.

For more details about Software Discovery Tool, click here. You can also chat with Elizabeth, Divya and the rest of the Software Discovery Tool community on the Open Mainframe Project Slack Channel. Click here and go to #software-discover-tool.