Contributing to a great open-source library is the best way to establish your portfolio and to join an amazing community.
I've compiled 31 open-source libraries and some good first issues to help boost your journey.
DON'T FORGET TO STAR & SUPPORT THESE 🌟
AI Favorites🦾:
1. CopilotKit - In-app AI chatbots and AI Textareas
Open-source platform for integrating key AI features into react apps using two react components.
CopilotPortal: in-app AI chatbots that can "see" the current app state and take actions.
CopilotTextarea: AI-powered replacement. With autocomplete, insertions and generations.
Good First Issue:
Gracefully fail if CopilotProvider is omitted
The bug:
Virtually every CopilotKit functionality depends on a CopilotContext provided by the CopilotProvider. e.g. CopilotTextarea autocompletions, chatbot, etc.
However when a CopilotProvider does not wrap the component, functionality fails silently.
To Reproduce
1. Omit <CopilotProvider>...</CopilotProvider>
2. trigger useMakeCopilotReadable, useMakeCopilotActionable, CopilotTextarea, CopilotSidebarUIProvider
3. See how functionality does not work, but no error is emitted
Expected behavior An error is emitted, with clear description of the likely core issue and how to resolve it (namely, wrap the app in a CopilotProvider). Point to docs.
2.PortKeyAI
Portkey-AI
/
gateway
A Blazing Fast AI Gateway with integrated Guardrails. Route to 200+ LLMs, 50+ AI Guardrails with 1 fast & friendly API.
Portkey-AI / gateway
A Blazing Fast AI Gateway with integrated Guardrails. Route to 200+ LLMs, 50+ AI Guardrails with 1 fast & friendly API.
3.Pezzo.ai
4.OpenVoice
myshell-ai
/
OpenVoice
Instant voice cloning by MIT and MyShell.
myshell-ai / OpenVoice
Instant voice cloning by MIT and MyShell.
5.LLMCourse
mlabonne
/
llm-course
Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.
mlabonne / llm-course
Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.
Cloud & Database☁️
6. Winglang - Cloud Oriented Programming Language
Wing is a programming language for cloud apps.
It combines code for cloud infrastructure and applications, making cloud service development easier.
Wing's unique execution model and testing simulator help build and deploy cloud apps efficiently.
Good First Issue:
Support Array.sort() method
Feature Spec:
let arr: MutArray<num>=[2, 1, 3, 9, 6, 4];
arr.sort();
log("${arr}"); // it should print sorted array in ascending order, eg: [1, 2, 3, 4, 6, 9]
Component:
Wing SDK
Community Notes:
If you are interested to work on this issue, please leave a comment. If this issue is labeled needs-discussion, it means the spec has not been finalized yet. Please reach out on the #dev channel in the Wing Slack.
7. StackQL - SQL-Based Cloud Resource Management
StackQL provides a unique SQL-based framework to manage and query cloud resources and APIs across different providers like Google, AWS, Azure, and more.
It simplifies cloud operations by allowing SQL-like commands for provisioning and operating cloud services.
This makes StackQL a versatile tool for cloud resource management and interaction, especially for those familiar with SQL.
Good First Issue:
Add unit testing to package writer
Add unit testing for internal/stackql/writer .
Description:
add implementation for testing sql_writer.go
modify sql_writer.go by adding function for dependency injection
add implementation for testing generic.go
modify generic.go by adding variable for patching GetDB function
modify entryutil.go to adjust sql_writer.go
8.Appwrite
9.Supabase
10.SuperDuperDB
superduper-io
/
superduper
Superduper: Integrate AI models and machine learning workflows with your database to implement custom AI applications, without moving your data. Including streaming inference, scalable model hosting, training and vector search.
Bring AI to your favourite database
What is Superduper?
Superduper (formerly SuperDuperDB) is a Python framework for integrating AI models and workflows with major databases. Implement custom AI solutions without moving your data through complex pipelines and specialized vector databases, including hosting of your own models, streaming inference and scalable model training/fine-tuning.
Transform your existing database into an AI development and deployment stack with one command, streamlining your AI workflows in one environment instead of being spread across systems and environments:
db = superduper('mongodb|postgres|mysql|sqlite|duckdb|snowflake://<your-db-uri>')
Run Superduper anywhere, or contact us to learn more about the enterprise platform for bringing your apps to production at scale.
Key features
-
Integration of AI with your existing data infrastructure: Integrate any AI models and APIs with your databases in a single environment, without the need for additional pre-processing steps, ETL…
superduper-io / superduper
Superduper: Integrate AI models and machine learning workflows with your database to implement custom AI applications, without moving your data. Including streaming inference, scalable model hosting, training and vector search.
Bring AI to your favourite database
What is Superduper?
Superduper (formerly SuperDuperDB) is a Python framework for integrating AI models and workflows with major databases. Implement custom AI solutions without moving your data through complex pipelines and specialized vector databases, including hosting of your own models, streaming inference and scalable model training/fine-tuning.
Transform your existing database into an AI development and deployment stack with one command, streamlining your AI workflows in one environment instead of being spread across systems and environments:
db = superduper('mongodb|postgres|mysql|sqlite|duckdb|snowflake://<your-db-uri>')
Run Superduper anywhere, or contact us to learn more about the enterprise platform for bringing your apps to production at scale.
Key features
- Integration of AI with your existing data infrastructure: Integrate any AI models and APIs with your databases in a single environment, without the need for additional pre-processing steps, ETL…
Dev Utilities🛠️
11. Firecamp - Multi-Protocol API Collaboration Tool
Firecamp is a versatile API development tool, supporting protocols like Rest, GraphQL, and WebSockets.
It simplifies designing, testing, and documenting APIs, and enhances team collaboration on API projects.
Good First Issue:
Help out with Manual Testing of Firecamp
Responsibilities:
Executing test cases and reporting results
Logging bugs and issues in the Github issue tracker
Providing feedback on usability and the testing process
Suggesting improvements to tests and expanding test coverage.
Benefits
Benefits for your testing profile and career:
Experience testing a real-world open source application
Each release will include your name with bugs fixes.
Exposure to different types of testing such as UI, API, integration, etc
Opportunity to have your contributions and feedback incorporated into the product
Collaborating with an open source community
Having your testing work visible to potential employers
Firecamp Swags (T-shirts and stickers)
Community shoutout and promotion
12.Odigos
odigos-io
/
odigos
Distributed tracing without code changes. 🚀 Instantly monitor any application using OpenTelemetry and eBPF
Generate distributed traces for any application in k8s without code changes.
✨ Language Agnostic Auto-instrumentation
Odigos supports any application written in Java, Python, .NET, Node.js, and Go.
Historically, compiled languages like Go have been difficult to instrument without code changes. Odigos solves this problem by uniquely leveraging eBPF.
🤝 Keep your existing observability tools
Odigos currently supports all the popular managed and open-source destinations.
By producing data in the OpenTelemetry format, Odigos can be used with any observability tool that supports OTLP.
For a complete list of supported destinations, see here.
🎛️ Collectors Management
Odigos automatically scales OpenTelemetry collectors based on observability data volume.
Manage and configure collectors via a convenient web UI.
Installation
Installing Odigos takes less than 5 minutes and requires no code changes.
Download our CLI and run the following command:
odigos install
For more details…
odigos-io / odigos
Distributed tracing without code changes. 🚀 Instantly monitor any application using OpenTelemetry and eBPF
Generate distributed traces for any application in k8s without code changes.
✨ Language Agnostic Auto-instrumentation
Odigos supports any application written in Java, Python, .NET, Node.js, and Go.
Historically, compiled languages like Go have been difficult to instrument without code changes. Odigos solves this problem by uniquely leveraging eBPF.
🤝 Keep your existing observability tools
Odigos currently supports all the popular managed and open-source destinations.
By producing data in the OpenTelemetry format, Odigos can be used with any observability tool that supports OTLP.
For a complete list of supported destinations, see here.
🎛️ Collectors Management
Odigos automatically scales OpenTelemetry collectors based on observability data volume.
Manage and configure collectors via a convenient web UI.
Installation
Installing Odigos takes less than 5 minutes and requires no code changes. Download our CLI and run the following command:
odigos install
For more details…
13.Digger
14.Mirrord
metalbear-co
/
mirrord
Connect your local process and your cloud environment, and run local code in cloud conditions.
metalbear-co / mirrord
Connect your local process and your cloud environment, and run local code in cloud conditions.
Backend⚙️
15. Cerbos - Scalable, Language-Agnostic Authorization
Cerbos offers unique, scalable solutions for implementing context-specific user permissions in applications.
Its flexible, language-agnostic approach allows for easy integration and management of complex authorization structures.
Distinctively, Cerbos simplifies the development of access control policies, making them more adaptable to various application needs.
Good First Issue:
Produce output when the rule condition is not satisfied
Currently the output block is only evaluated if the rule is actually activated (action, roles and conditions are satisfied).
In certain situations, it's desirable to produce output when the rule is nearly activated (action and roles match but the condition is not satisfied).
In order to maintain backward compatibility, reduce noise, and to keep policy execution as fast as possible (outputs incur a tiny overhead), the proposal is to let users add an optional when section to the output block to opt into this behaviour.
- actions: ['view']
effect: EFFECT_ALLOW
roles: ['user']
condition:
match:
expr: timestamp(R.expiry_date) > now()
output:
expr: >
format("%d hours until expiry", (timestamp(R.expiry_date) - now()).getHours())
when:
cond_fail: >
format("expired on %s", R.expiry_date)
When evaluating the above rule,
if the action, roles and condition match, output will be the result of evaluating output.expr
If the condition is not satisfied, output will be the result of evaluating output. when.cond_fail if it exists. Otherwise no output will be produced.
16.Novu
17.Trigger.dev
triggerdotdev
/
trigger.dev
Trigger.dev is the open source background jobs platform.
triggerdotdev / trigger.dev
Trigger.dev is the open source background jobs platform.
18.SuperTokens
supertokens
/
supertokens-core
Open source alternative to Auth0 / Firebase Auth / AWS Cognito
supertokens / supertokens-core
Open source alternative to Auth0 / Firebase Auth / AWS Cognito
19.Wazuh
UI/UX 🦋:
20. Flowbite - Top Library of CSS Components
One of the best and most respected libraries of UI components.
Based on utility-first CSS framework.
Easy to work with, full of important supports and templates.
21.MaterialUI - Foundational React components implemented with Google's Material Design
mui / material-ui
Material UI: Comprehensive React component library that implements Google's Material Design. Free forever.
22. SwiperUI - Respected library for implementing mobile swipe UI
nolimits4web / swiper
Most modern mobile touch slider with hardware accelerated transitions
23.ReactSpring - implement animations in React with realistic physics
pmndrs / react-spring
✌️ A spring physics based React animation library
Misc🎨
24. SwirlSearch - Multi-Source AI Data Searcher
Swirl is an AI-powered search tool that simultaneously queries multiple data sources, including databases and public data services.
It uses AI to rank results and generate insights, allowing for comprehensive searches across diverse data repositories.
Swirl simplifies searching and analyzing data from various sources in one go, making it a unique tool for data-driven insights.
Good First Issue:
Add a Connector: Yahoo search
It would help to search anything with Swirl on Yahoo effectively.
Locate and read a bit in their search API first. You might just need to make a new SearchProvider configration vs. a new Connector. Their docs should help guide you a bit in which way you might need to go.
25. Wasp - Develop full-stack web apps with React & Node.js
Rapid Full-Stack Web App Development with React & Node.js.
Wasp offers a simplified approach to building modern web applications, combining React for front-end and Node.js for back-end in a cohesive framework.
Good First Issue:
Add images (or link to the example app) of auth UI helpers Wasp provides
At this point in docs (also in the tutorial if we're using it), it would be nice to add an image of UI helpers for Auth (login/signup form, Google/GitHub button, ...) so developers can immediately see what they are getting and how nice it looks.
26.Logstash
27.Snapify
Top comments (12)
Great list. And really, thanks for introducing Swirl to this list.
It's a great library, thanks for showing it to me!
Super actionable article! Great start to 2024!
Thanks!
Hey @uliyahoo, wonderful list and thank you for adding Winglang to the article amongst so many other great open-source libraries!
🙏🏼
Nice list!
Thank you Bap!
Wow, you really went all-in with the upvoting bot accounts.
Thanks you for checking out the article
Usually not a fan of listicles, but really appreciate the good first issues. Will be great for some weekend contributions
Glad you enjoyed it! Listicles get a bad wrap, but aggregating sources for people can be incredibly helpful especially first issues for those looking to get started with contributing.