Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Awesome Open-Source & Free CS Tools & Resources

A curated list of high-quality, actively-maintained open-source tools and repositories for computer science education, research, and practice.

Awesome GitHub last commit GitHub stars

Focus: Quality over comprehensiveness. Every entry is here because it genuinely solves a problem for students, researchers, and professionals of computer science.


Curation Philosophy

This list prioritizes quality over comprehensiveness:

Active Maintenance: Tools actively updated within the past few years.

Genuine Utility: Each tool solves real problems for CS students, researchers, and practitioners. No bloat, no niche-only tools.

Learning Value: Educational context provided where appropriate. We explain why a tool matters, not just that it exists.

Cross-Platform Support: Priority given to tools working on Linux, macOS, and Windows. Platform-specific alternatives are noted.

Community Adoption: Established projects with proven track records. Generally 100+ GitHub stars indicates real-world usage.

What This List Is NOT

  • A complete registry of all open-source CS tools (see GitHub Topics for exhaustive lists)
  • A replacement for language-specific awesome lists (Python, JavaScript, Rust, etc.)
  • A dumping ground for every project tagged "open-source"
  • Promotional material for anyone's pet project

Table of Contents


Package Managers

Tools used to automate the installation, updating, and management of software dependencies.

  • Homebrew MacOS [Website] | [Github]: The standard package manager for macOS. Installs command-line tools, applications, and programming language packages.
  • MacPorts MacOS [Website] | [Github]: Alternative to Homebrew with a different philosophy; less commonly used.
  • Nix Linux / MacOS [Website] | [Github]: Declarative package manager with reproducible builds; steep learning curve but powerful.
  • Snap Linux [Website] | [Github]: Canonical's containerized package format; great for quick installation of apps.
  • Flatpak Linux [Website] | [Github]: Sandboxed application framework; similar to Snap but with different trade-offs.
  • Scoop Windows [Website] | [Github]: Command-line installer for Windows; similar philosophy to Homebrew.
  • Chocolatey Windows [Website] | [Github]: Largest package manager for Windows; GUI and CLI options available.

Version Control & Git

Platforms used to track code changes, collaborate, manage versions, and contribute to open-source projects.

  • GitHub [Website]: Largest Git hosting platform; excellent for discovering projects, contributing, and building your portfolio.
  • GitLab [Website] | [Github]: Full DevOps platform with built-in CI/CD, container registry, and issue tracking.
  • Forgejo [Website] | [CodeBerg]: Lightweight, self-hosted Git service; perfect for private repositories on your own infrastructure.

Editors & IDEs

Tools used to write, edit, debug, and manage code efficiently.

  • Visual Studio Code (VSCode) Full-Featured IDE Linux / MacOS / Windows [Website] | [Github]: The most popular editor today. Lightweight yet extensible with thousands of plugins. Best for beginners and professionals alike.
  • VSCodium Full-Featured IDE Linux / MacOS / Windows [Website] | [Github]: VS Code without Microsoft branding, telemetry, or proprietary licensing; pure open-source.
  • Zed Full-Featured IDE MacOS / Linux [Website] | [Github]: High-performance collaborative editor written in Rust; designed for speed and collaboration.
  • JetBrains Full-Featured IDE Linux / MacOS / Windows [Website]: Full-featured IDEs for specific languages (PyCharm for Python, IntelliJ for Java, WebStorm for JavaScript). Free Community editions available.
  • Apache NetBeans Full-Featured IDE Linux / MacOS / Windows [Website] | [Github]: Full IDE for Java, C++, PHP, and JavaScript development.
  • Eclipse Full-Featured IDE Linux / MacOS / Windows [Website] | [Github]: Extensible open-source IDE with support for Java, C/C++, Python, and many other languages through plugins; highly customizable with a large ecosystem of extensions.
  • Sublime Text Lightweight Editors Linux / MacOS / Windows [Website]: Fast, distraction-free editor with powerful multi-selection and command palette. Commercial license available.
  • Lapce Lightweight Editors Linux / MacOS / Windows [Website] | [Github]: Fast, modern editor written in Rust; open-source alternative to VS Code with similar philosophy.
  • Geany Lightweight Editors Linux / MacOS / Windows [Website] | [Github]: Lightweight GTK editor; great for quick editing without overhead.
  • Vim Terminal Editors Linux / MacOS / Windows [Website]: Modal text editor; available on every Unix system. Master the basics to be productive everywhere.
  • Emacs Terminal Editors Linux / MacOS / Windows [Website]: Extensible Lisp machine; incredible power and flexibility but challenging for beginners.
  • Nano Terminal Editors Linux / MacOS / Windows [Website]: Beginner-friendly terminal editor; always available on Unix systems.
  • Neovim Terminal Editors Linux / MacOS / Windows [Website] | [Github]: Modern successor to Vim; highly extensible with Lua configuration; steep learning curve but unmatched efficiency for power users.
  • Helix Terminal Editors Linux / MacOS / Windows [Website] | [Github]: Modal editor combining the best of Vim and modern ergonomics.

Terminals & Shells

Tools used to interact with your computer, run commands, and manage development workflows.

  • Alacritty Terminal Linux / MacOS / Windows [Github]: GPU-accelerated terminal written in Rust. Blazing fast, minimal configuration. Best for speed.
  • Wezterm Terminal Linux / MacOS / Windows [Website] | [Github]: Feature-rich, written in Rust; excellent font rendering and tab support.
  • Kitty Terminal Linux / MacOS [Website] | [Github]: Modern terminal with image support, fast graphics, and cross-window operations.
  • iTerm2 Terminal MacOS [Website] | [Github]: Full-featured macOS terminal with split panes, search, autocomplete, and advanced features.
  • Ghostty Terminal MacOS / Linux [Website]: Fast, modern terminal emulator focused on simplicity and performance.
  • Zsh Shell Environments Linux / MacOS [Website]: More powerful than Bash with better completion and theming. Default on modern macOS.
  • Fish Shell Environments Linux / MacOS [Website] | [Github]: User-friendly shell with syntax highlighting and smart completions out of the box.

Terminal Multiplexers

Tools used to split terminals, manage panes, and maintain persistent sessions.

  • tmux Linux / MacOS [Website]: The standard multiplexer; available on every Unix system. Steep learning curve but industry standard.
  • Zellij Linux / MacOS / Windows [Website] | [Github]: Modern, user-friendly alternative to tmux written in Rust; better defaults.
  • GNU Screen Linux / MacOS [Website]: Older multiplexer; less popular than tmux but still widely available.
  • mtm Linux / MacOS [Website]: Minimal terminal multiplexer; lightweight alternative.

Shell Prompt Customization

Tools used to customize your terminal prompt with useful information and visual enhancements.

  • Starship Linux / MacOS / Windows [Website] | [Github]: Minimal, fast shell prompt written in Rust. Works with any shell.
  • Oh My Zsh Linux / MacOS [Website] | [Github]: Framework for Zsh configuration; includes themes, plugins, and aliases.
  • Pure Linux / MacOS [Github]: Minimal Zsh/Bash prompt written in pure shell script.
  • Powerlevel10k Linux / MacOS / Windows [Github]: Powerful Zsh theme with instant prompt; highly customizable.

Shell Extensions & Utilities

Tools used to extend shell functionality with plugins and command-line utilities.

  • zsh-syntax-highlighting [Github]: Real-time syntax highlighting in Zsh; catches errors before executing.
  • zsh-autosuggestions [Github]: Suggests previous commands as you type; huge productivity boost.
  • Bat [Github]: Cat clone with syntax highlighting and line numbers; makes code readable in terminal.
  • fd [Github]: Fast alternative to find command; simpler syntax and colored output.
  • ripgrep (rg) [Github]: Blazingly fast grep alternative; searches code recursively with smart defaults.
  • fzf [Github]: Fuzzy finder for command-line; search files, history, and processes interactively.
  • Atuin [Github]: Shell history database in SQLite; search and sync shell history across machines.
  • The Fuck [Github]: Corrects your previous console command; fun and useful.
  • eza [Github]: Modern replacement for ls; colored output, tree views, and better defaults.

Resource Monitors

Tools used to monitor CPU, memory, disk, network, and overall system performance.

  • htop Linux / MacOS [Github]: Interactive process viewer; better than top with colors and easy navigation.
  • btop Linux / MacOS [Github]: Modern resource monitor with graphs; beautiful dashboard.
  • Glances Linux / MacOS / Windows [Github]: Cross-platform system monitoring tool; available as web interface.
  • bpytop Linux / MacOS [Github]: Archived in favor of btop; still functional for older systems.

Documentation & Knowledge Management

Tools used to document code, projects, and technical knowledge.

  • MkDocs [Website] | [Github]: Static site generator for project documentation using Markdown. Simple and fast.
  • Sphinx [Website] | [Github]: Documentation generator originally for Python; now used for many projects.
  • Hugo [Website] | [Github]: Static site generator written in Go; extremely fast with thousands of themes.
  • Jekyll [Website] | [Github]: Static site generator powering GitHub Pages; perfect for blogs and documentation.
  • Obsidian [Website]: Local-first knowledge base with powerful linking and backlinking; proprietary but stores files locally.
  • Logseq [Website] | [Github]: Open-source knowledge base with outliner and graph view; alternative to Obsidian.
  • Joplin [Website] | [Github]: Open-source note-taking and to-do app with Markdown support, end-to-end encryption, syncing, and cross-platform support; alternative to Evernote and Obsidian.

API Development & Testing

Tools used to build, test, and interact with APIs efficiently.

  • Bruno API Client Linux / MacOS / Windows [Github]: Lightweight, Git-friendly API client. Similar to Postman but open-source and stores collections as text files.
  • Hoppscotch API Client Online / Self-hosted [Website] | [Github]: Free, lightweight API client that runs in the browser.
  • Insomnia API Client Linux / MacOS / Windows [Website] | [Github]: Full-featured API platform for design and testing.
  • HTTPie API Client Linux / MacOS / Windows [Website] | [Github]: Command-line HTTP client; simpler syntax than curl.
  • FastAPI API Framework [Website] | [Github]: Modern Python framework for building APIs with automatic documentation.
  • Flask API Framework [Website] | [Github]: Lightweight Python web framework; great for learning and small projects.
  • Django API Framework [Website] | [Github]: Full-featured Python framework with batteries included (ORM, admin panel, authentication).
  • Express.js API Framework [Website] | [Github]: Minimal Node.js framework for building web APIs.

Databases & Data Management

Databases used to store, query, and manage data for different applications and use cases.

  • PostgreSQL Relational [Website] | [Github]: The most advanced open-source relational database. Powerful, reliable, battle-tested at scale.
  • MySQL Relational [Website] | [Github]: Fast, reliable database; the M in LAMP and MEAN stacks.
  • SQLite Relational [Website] | [Github]: Embedded database; perfect for single-file databases and development.
  • MongoDB NoSQL [Website] | [Github]: Document database; flexible schemas, great for rapid development.
  • Cassandra NoSQL [Website] | [Github]: Distributed NoSQL database; horizontal scalability and fault tolerance.
  • Redis In-Memory [Website] | [Github]: In-memory data structure store; excellent for caching, sessions, and real-time applications.
  • Memcached In-Memory [Website] | [Github]: Simple, high-performance distributed memory caching system.
  • ClickHouse Time-Series [Website] | [Github]: Blazingly fast analytical database for big data; optimized for OLAP queries.
  • InfluxDB Time-Series [Website] | [Github]: Time-series database; perfect for metrics, monitoring, and time-stamped data.
  • Kafka Streaming [Website] | [Github]: Distributed event streaming platform for high-throughput, real-time data pipelines and event-driven applications.

Testing & Quality Assurance

Tools used to test software at different levels and ensure reliability.

  • pytest Unit Testing Python [Website] | [Github]: The most popular Python testing framework; simple to write, powerful assertions.
  • Jest Unit Testing JavaScript [Website] | [Github]: Popular JavaScript test framework with great defaults and snapshot testing.
  • JUnit Unit Testing Java [Website] | [Github]: Standard testing framework for Java.
  • Cypress E2E Testing Web [Website] | [Github]: Modern E2E testing framework; excellent developer experience with real browser automation.
  • Selenium E2E Testing Web [Website] | [Github]: Industry-standard browser automation; works with many languages and browsers.
  • Playwright E2E Testing Web [Website] | [Github]: Modern browser automation from Microsoft; supports Chrome, Firefox, and WebKit.
  • Appium UI Testing Mobile/Web/Desktop [Website] | [Github]: Cross-platform automation framework for testing native, hybrid, and mobile web applications.
  • Lighthouse UI Testing Web [Website] | [Github]: Automated web auditing tool for performance, accessibility, SEO, best practices, and progressive web apps.
  • Maestro UI Testing Mobile/Web [Website] | [Github]: Simple, declarative UI testing framework focused on reliable mobile and web end-to-end tests.
  • Flashlight UI Testing Mobile [Website] | [Github]: Open-source mobile application performance testing and profiling tool.
  • axe-core Accessibility Testing Web [Website] | [Github]: Open-source accessibility testing engine for detecting WCAG violations in web applications.
  • WAVE Accessibility Testing Web [Website]: Browser-based accessibility evaluation tool for identifying WCAG-related issues and accessibility improvements.
  • k6 Load Testing JavaScript [Website] | [Github]: Modern load testing tool; write tests in JavaScript, analyze results easily.
  • Apache JMeter Load Testing Java [Website] | [Github]: Popular load testing tool with GUI; supports many protocols.
  • SonarQube Code Quality Multiple languages [Website] | [Github]: Code quality and security analysis; integrates with CI/CD pipelines.
  • ESLint Code Quality JavaScript [Website] | [Github]: Find and fix problems in JavaScript code.
  • Pylint Code Quality Python [Website] | [Github]: Python code quality analyzer.

DevOps & CI/CD

Tools used to automate testing, building, and deploying software.

  • GitHub Actions CI/CD [Website] | [Docs]: Native GitHub integration; free tier generous. Best for GitHub projects.
  • GitLab CI/CD CI/CD [Docs]: Built into GitLab; powerful and flexible. Great for self-hosted runners.
  • Jenkins CI/CD Self-hosted [Website] | [Github]: The classic CI/CD platform; powerful but requires maintenance.
  • Travis CI CI/CD [Website] | [Github]: Hosted CI/CD platform with simple YAML-based configuration; integrates with GitHub and is well suited for automated builds, tests, and deployments.
  • Woodpecker CI/CD [Website] | [Github]: Simple, container-based CI/CD; works with GitHub, GitLab, Gitea.
  • Terraform Infrastructure as Code [Website] | [Github]: Infrastructure as code for any cloud provider; manage resources declaratively.
  • Ansible Infrastructure as Code [Website] | [Github]: Configuration management and infrastructure provisioning; agentless and simple.

Monitoring & Observability

Tools used to monitor system health, application performance, metrics, and logs.

  • Prometheus Metrics [Website] | [Github]: Time-series metrics database and alerting system. Industry standard.
  • Grafana Dashboard [Website] | [Github]: Visualization and analytics platform; create beautiful dashboards from any data source.
  • Loki Logging [Website] | [Github]: Log aggregation system by Grafana; works great with Prometheus.
  • Loguru Logging [Website] | [Github]: Simple, developer-friendly Python logging library with structured logging, automatic exception handling, rotation, and serialization.
  • Sentry Crash Reporting [Website] | [Github]: Real-time error tracking and application performance monitoring; captures exceptions, crashes, traces, and performance issues.
  • Countly Crash Reporting [Website] | [Github]: Open-source product analytics and crash reporting platform for tracking user behavior, application performance, and crashes.

Containers & Virtualization

Tools used to package applications with their dependencies for consistent deployment.

  • Docker Container Engine Linux / MacOS / Windows [Website] | [Github]: The standard container platform; ubiquitous in modern development.
  • Podman Container Engine Linux / MacOS / Windows [Github]: Drop-in Docker replacement; rootless containers, no daemon required.
  • containerd Container Engine Linux [Github]: Low-level container runtime used by Docker and Kubernetes.
  • Incus Container Engine / Virtual Machines Linux [Website] | [Github]: Open-source system container and virtual machine manager; lightweight alternative to Docker and traditional VM platforms, with support for Linux containers and full VMs.
  • container Container Engine MacOS [Github]: Apple's lightweight Linux container runtime for macOS, designed for fast, isolated Linux containers using Apple's virtualization technology.
  • Buildah Building Images [Github]: Build container images without a daemon; flexible and scriptable.
  • UTM Virtual Machines MacOS [Website] | [Github]: Virtual machine manager for macOS with great UI.
  • Quickemu Virtual Machines Linux / MacOS [Github]: Quick virtual machine provisioning script.
  • VirtualBox Virtual Machines Linux / MacOS / Windows [Website]: Free, powerful virtualization; works everywhere.
  • WebVM Virtual Machines Browser [Website] | [Github]: Browser-based virtual machine environment powered by WebAssembly; run Linux and other software directly in the browser without local installation.
  • Kubernetes Container Orchestration [Website] | [Github]: Production-grade container orchestration; steep learning curve but industry standard.
  • Docker Compose Container Orchestration [Website] | [Github]: Define and run multi-container applications; great for development.
  • Colima Container Runtime MacOS / Linux [Github]: Lightweight container runtime for macOS and Linux; provides Docker and containerd environments using a minimal virtual machine with simple CLI-based management.

Security Tools

Tools used to identify vulnerabilities and improve software security.

  • OpenSSL Encryption [Website] | [Github]: Cryptography and SSL/TLS libraries and tools.
  • GnuPG Encryption [Website] | [Github]: GNU implementation of PGP; sign and encrypt files and emails.
  • Bitwarden Password Manager [Website] | [Github]: Password manager with self-hosted option; secure and open-source.
  • KeePass Password Manager [Website] | [Github]: Offline password manager; stores database locally.
  • HashiCorp Vault Password Manager [Website] | [Github]: Secrets management for infrastructure; handles credentials, API keys, certificates.
  • OWASP ZAP Security Scanner [Website] | [Github]: Web application security scanner; find vulnerabilities before attackers do.
  • Trivy Security Scanner [Website] | [Github]: Vulnerability scanner for containers and artifacts.

Media & Diagramming

Tools used to create diagrams, presentations, graphics, and other visual content.

  • VLC Media Player Linux / MacOS / Windows [Website] | [Github]: Universal media player; plays virtually any format.
  • OBS Studio Media Streaming / Recording Linux / MacOS / Windows [Website] | [Github]: Live streaming and screen recording software.
  • Shotcut Media Editor Linux / MacOS / Windows [Github]: Video editor with timeline; free and feature-rich.
  • Inkscape Graphics Editor Linux / MacOS / Windows [Website] | [Github]: Vector graphics editor; design logos, illustrations, and technical drawings.
  • GIMP Graphics Editor Linux / MacOS / Windows [Website] | [Github]: Raster graphics editor; image manipulation and photo editing.
  • Krita Graphics Editor Linux / MacOS / Windows [Website] | [Github]: Painting software designed for digital artists; excellent brush engine.
  • draw.io Diagram Editor Web / Desktop [Website] | [Github]: Diagram editor for flowcharts, mockups, and architecture diagrams.
  • Mermaid Diagram Editor [Website] | [Github]: Create diagrams from markdown text; flowcharts, sequence diagrams, and more.
  • Excalidraw Diagram Editor [Website] | [Github]: Virtual whiteboard with hand-drawn aesthetic; great for sketches.
  • D2 Diagram Editor [Website] | [Github]: Modern diagram language; write diagrams as text.
  • Slidev Presentation Editor [Website] | [Github]: Presentations written in Markdown; developer-friendly.

USB Bootable OS Burners

Tools used to create bootable USB drives for installing or running operating systems.

  • balenaEtcher Windows / MacOS / Linux [Github]: Flash OS images to USB drives with one click.
  • Rufus Windows [Github]: Fast and reliable USB bootable media creator.
  • Ventoy Windows / Linux [Github]: Create bootable USB from multiple ISO files.

Remote Desktop & Access Tools

Tools used to remotely access and manage development machines.

  • RustDesk Remote Desktop Linux / MacOS / Windows [Website] | [Github]: Open-source, self-hostable remote desktop solution with low-latency access, file transfer, and cross-platform support.
  • TigerVNC Remote Desktop Linux / MacOS / Windows [Website] | [Github]: Open-source, high-performance VNC server and client for remotely accessing graphical desktops.
  • RealVNC Remote Desktop Linux / MacOS / Windows [Website]: Reliable VNC-based remote access with cloud connectivity, direct connections, and cross-platform support.
  • Apache Guacamole Remote Desktop Web / Linux / MacOS / Windows [Website] | [Github]: Open-source, clientless remote desktop gateway accessible through a web browser; supports VNC, RDP, and SSH.
  • Chrome Remote Desktop Remote Desktop Web [Website]: Simple, free remote access solution for securely connecting to computers through a web browser.
  • AnyDesk Remote Desktop Linux / MacOS / Windows [Website]: Fast, low-latency remote desktop with cross-platform support, file transfer, and remote administration features.
  • TeamViewer Remote Desktop Linux / MacOS / Windows [Website]: Popular cross-platform remote desktop and support platform with remote access, file transfer, device management, and collaboration features.
  • Mosh Remote Terminal Linux / MacOS / Windows [Website] | [Github]: SSH-like remote terminal designed for unreliable or changing networks; maintains sessions when switching networks or temporarily losing connectivity.
  • MeshCentral Remote Management Linux / MacOS / Windows [Website] | [Github] — Open-source, self-hosted remote computer management platform with browser-based desktop, terminal, file transfer, and device administration.

Related Awesome Lists


Contributing

Contributions are welcome! Before submitting, please review these guidelines.

What We're Looking For

  1. Open-source & actively maintained (updated within the past 2 years)
  2. Solves a real problem for CS students, researchers, or professionals
  3. Has community adoption (100+ GitHub stars is a good indicator)
  4. Educational value (good documentation, learning resources)

What We're NOT Looking For

  • Duplicate entries
  • Commercial products (even with free tiers)
  • Abandoned projects (>2 years without updates)
  • Niche tools with very small user base

Submission Format

Format your suggestion like this:

- **Name** `Platform(s)` [[Website](url)] | [[Github](url)]
  - One-sentence description of what it does.
  - Key features that make it stand out.

Guidelines

  • Does this really belong here? Check existing categories first. Don't fragment categories.
  • Creating a new category? Ensure there are 3+ tools to justify it. Keep categories focused.
  • Test all links before submitting to ensure they're current.
  • Respect the format so the list remains consistent and scannable.

License

This list and all its content are released under the CC0 1.0 Universal License.

All projects linked in this list are open-source with their respective licenses.


Thanks

  • The open-source community for building amazing tools
  • Contributors who've improved this list
  • awesome.re for the awesome badge and guidelines

About

Curated awesome list of open-source & free repositories and tools for computer science

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors