paint-brush
Understanding the Open-source Ecosystem With AIby@a0m0rajab
182 reads

Understanding the Open-source Ecosystem With AI

by Abdurrahman RajabSeptember 12th, 2024
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

OpenSauced's StarSearch is an AI-based chatbot that understands the open-source ecosystem. StarSearch uses AI in the background to analyse and understand the Git commits, developer contributions on GitHub and more. With this data, you can have a ChatGPT-like chatbot to chat with.
featured image - Understanding the Open-source Ecosystem With AI
Abdurrahman Rajab HackerNoon profile picture

In the last few weeks, OpenSauced had its launch week, where they announced a couple of great features and news about their product. In this blog post, I will review one of them: StarSearch, your AI friend who understands the open-source ecosystem.

Based on OpenSauced, StarSearch is "the copilot of git history”. I would like to define it as your go-to nerdy friend who knows everything about that topic they are passionate about, which is Git and GitHub history for StarSearch!


StarSearch uses AI in the background to analyse and understand the Git commits, developer contributions on GitHub and more. With this data, you can have a ChatGPT-like chatbot to chat with about the open-source ecosystem.

Use Cases

Finding common contributors

Sometimes, you might want a contributor who used some of the technologies that you are using in your project, the standard way to do that would be:


  • Going through a project,
  • Finding a random contributor that you liked
  • Then, stalk their GitHub account to find signs of the other technologies you use in your project.


If you have done this before, you know how much this will consume your time for each contributor you look for, and if you can get distracted quickly, you know the rabbit hole you would enter by doing such work.


StarSearch helps you stay focused, find a list of contributors that use your tech stack, and even get information about a single contributor. Here is an example of that:


Understanding a contributor

One of the use cases of StarSearch is to understand a single contributor, which you read about in the previous paragraph, here you can see how StarSearch help you to learn about a contributor's determination, skills and contributions:


Here, I asked StarSearch to give me a rate of skills of my contributions, I know my skills, which could save some time for reflection and knowledge of the product's capabilities.


The prompt: Rate a0m0rajab skills from 1 to 10 in the NextJS, TypeScript, and tRPC technologies.



As you can see in the previous example, StarSearch provided some skills ratings for the technologies I asked for. I believe this would be a great use case for people to understand the developers and what they do. Yet I feel that it’s still not 100% correct since I have not used tRPC, and I was expecting to get a zero or unknown result there. But StarSearch provided 8/10 results for that.


Another example is to know if a contributor used some specific skill, which you can find in the next image as a result:



In the previous question star search was able to understand that the contributor did not use rust and pointed out to his profile to check it by yourself. While you assess the developer you might want to know their strongest skills. StarSearch can help with that, and help you to have a great conversation with the developer and even know what to talk about if you met them:



Besides all of that, you might ask general questions about design principles, the commit conventions etc, this can help you to see if the person fits your company culture and the tools you use, and even know if the developer has the mindset that you are looking for.



Exploring a project history

Another reason you might want to use StarSearch is to understand a project history, how many contributors the project had recently and what kind of work has been done in the repo. This might be helpful if you want to know the main contributors of a project, or even if you want to get inspiration from another project to start your project. Here are a few examples of that:


A simple example asking about who started, the project, the contributors information and even asking about active contributors:



Knowing the most active contributors:


And more, this makes sense for you if you want to save time from digging inside the GitHub repo and get information about someone, or even if you are from a non-technical background yet you still need to check the skills of a technical person, the StarSearch tool would be super helpful for your case.


A room for improvements

With all that being said, I noticed three important issues in the tool, which are the general issues of AI models in general:


  • Nondeterministic: Even though you ask questions about data and factual information, AI models might not provide the same answer to the same question; this is a general issue in AI and chatbots.


  • Generative hallucination: This happens when the model does not provide the facts or even the right information, and it might start to talk about something odd and not helpful for you.


  • Validation: There is always a need to gather insights from the model and double-check them from GitHub to see

    if you will make a critical decision based on the model. The model is helping you with that by giving you some insights and links to check for PRs and profiles.

Final thoughts

In the age of AI and programming, having tools that focus on the most valuable asset of this age: humans is great! Star Search is such a tool that shifts the focus from the idea of AI programming to AI finding the best programmers, which will have a significant impact on the future. No matter how much we improve and develop AI, humans will always be at the core of the technology.