Skip to content

Software

Defining Openness

"Open means anyone can freely access, use, modify, and share for any purpose (subject, at most, to requirements that preserve provenance and openness)." - The Open Definition

Licenses

Creative Commons Licenses

Open Source Initiative Licenses

Scientific Support Systems

Center for Open Science - nonprofit improving openness, integrity, and reproducibility of research

Digital Object Identifier (DOI) Org - is the registration authority for the ISO standard (ISO 26324) for the DOI system. The DOI system provides a technical and social infrastructure for the registration and use of persistent interoperable identifiers, called DOIs, for use on digital networks

ORCID - unique digital ID for every researcher

ROR (Research Organization Registry) - community-led registry of open, sustainable, usable identifiers for research organizations

Crossref - official DOI registration agency for scholarly metadata

DataCite - global DOI registration agency for research data and other research outputs

Zenodo - EU funded project for DOIs, hosts open datasets and software

Zotero - open source publication and citation manager

Mendeley - reference manager and academic social network

Protocols.io - open access repository of science methods and research protocols

Scientific Programming Languages

Compiled Languages

C - general-purpose computer programming language, foundational for systems programming

C++ - general-purpose programming language with object-oriented features

C# - general-purpose, multi-paradigm programming language by Microsoft

Fortran - designed from the ground up for computationally intensive applications in science and engineering

  • LFortran - modern open-source interactive Fortran compiler built on LLVM, supports multi-core CPUs and GPUs

Go - open source programming language by Google, excellent for concurrent systems

Rust - blazingly fast and memory-efficient systems language with no garbage collector, increasingly popular in scientific computing

Swift - powerful open-source language by Apple, used for machine learning (Swift for TensorFlow)

Zig - general-purpose systems programming language emphasizing robustness and maintainability

Scripting & Interpreted Languages

BASH - GNU Project's shell, the Bourne Again SHell

UNIX Shell - command-line interpreter for Unix-like systems

Julia - high-level, high-performance dynamic language for technical computing

MATLAB - proprietary multi-paradigm programming language for numerical computing (see GNU Octave for open alternative)

GNU Octave - free, open-source alternative to MATLAB for numerical computations

PERL - high-level, general-purpose, interpreted dynamic programming language

Python - high-level, interpreted, general-purpose programming language, dominant in scientific computing

R - programming language for statistical computing and graphics

Scala - functional and object-oriented language, runs on JVM, used in big data (Apache Spark)

TypeScript - strongly typed programming language built on JavaScript

Web & Markup Languages

HTML - markup language for structuring content on the World Wide Web

JavaScript - programming language of the Web

JSON - JavaScript Object Notation, lightweight data-interchange format

GeoJSON - JSON extension for geospatial data

YAML - "YAML Ain't Markup Language" used in application configurations

TOML - Tom's Obvious, Minimal Language for configuration files

Build Tools

Make - build automation tool using Makefiles

CMake - open-source, cross-platform family of tools to build, test and package software

Meson - open source build system designed for speed and usability

Bazel - fast, scalable, multi-language build system by Google

Lightweight Markup Languages

Lightweight Markup Languages are designed to be human readable with minimal syntax

Markdown - lightweight markup language for creating formatted text using plain-text editor

ReStructuredText (RST) - file format for textual data used primarily in Python for technical documentation

AsciiDoc - text document format for writing notes, documentation, articles, books

Operating Systems

Linux (UNIX)

Android - mobile operating system based on Linux kernel

Arch Linux - lightweight and flexible rolling-release Linux distribution

Chrome OS - Linux-based operating system by Google

Debian - stable, free Linux distribution and basis for many others

Fedora - innovative Linux distribution sponsored by Red Hat

Red Hat Enterprise Linux (RHEL) - enterprise Linux distribution

Rocky Linux - community enterprise operating system, 100% bug-for-bug compatible with RHEL

Ubuntu - popular Debian-based Linux distribution

FreeBSD - free Unix-like operating system descended from BSD

OpenBSD - security-focused Unix-like operating system

Apple

macOS - Unix-based desktop operating system

iOS - mobile operating system for iPhone and iPad

Microsoft

Windows - proprietary operating system

Windows Subsystem for Linux 2 (WSL2) - compatibility layer for running Linux on Windows

Package Managers

System Package Managers

apt - Debian/Ubuntu package manager

yum - RPM package manager for older Red Hat systems

dnf - next-generation package manager for Fedora/RHEL

pacman - Arch Linux package manager

Homebrew - package manager for macOS and Linux

pkg - FreeBSD package manager

🍫 Chocolatey - Windows package manager

Snap - universal Linux package manager by Canonical

Flatpak - universal Linux application distribution framework

Language-Specific Package Managers

pip - Python package installer

Conda - cross-platform package manager for Python and R

Mamba - fast, drop-in replacement for Conda

Cargo - Rust package manager and build system

npm - Node.js package manager

yarn - fast, reliable JavaScript package manager

CRAN - Comprehensive R Archive Network

RubyGems - Ruby package manager

Version Control

Git - distributed version control system

GitHub - web-based Git repository hosting and collaboration platform

GitLab - DevOps platform with Git repository management

Bitbucket - Git repository hosting by Atlassian

Apache Subversion (SVN) - centralized version control system

Mercurial - distributed version control system

Continuous Integration / Continuous Deployment

GitHub Actions - automation and CI/CD integrated with GitHub

GitLab CI/CD - built-in continuous integration and deployment

Jenkins - open-source automation server

CircleCI - cloud-based CI/CD platform

Travis CI - hosted continuous integration service

Drone CI - container-native continuous delivery platform

Infrastructure as Code & Configuration Management

Ansible - simple IT automation for cloud provisioning, configuration management, application deployment

Argo Workflows - open source container-native workflow engine for Kubernetes

Chef - infrastructure automation platform

Puppet - automated configuration management

SaltStack - event-driven IT automation and configuration management

Terraform (HashiCorp) - infrastructure as code for provisioning cloud resources

Vagrant (HashiCorp) - tool for building and managing virtual machine environments

Scientific Computing Libraries & Frameworks

Python Scientific Stack

NumPy - fundamental package for scientific computing with arrays

SciPy - library for mathematics, science, and engineering

pandas - data analysis and manipulation library

matplotlib - comprehensive library for creating visualizations

Plotly - interactive graphing library

Seaborn - statistical data visualization based on matplotlib

scikit-learn - machine learning library

SymPy - symbolic mathematics library

NetworkX - package for complex network analysis

Biopython - tools for biological computation

Geospatial & Earth Science

Pangeo - community platform for big data geoscience

Python for GIS Ecosystem - comprehensive GIS tools in Python

Xarray - N-D labeled arrays and datasets for Earth science

GeoPandas - extends pandas for geospatial data

Rasterio - reads and writes geospatial raster datasets

Fiona - reads and writes geographic vector data formats

R Statistical Computing

Tidyverse - collection of R packages for data science

R-Universe - platform for publishing and discovering R packages

Shiny - R package for building interactive web applications

ggplot2 - declarative data visualization system

data.table - high-performance data manipulation

Julia Ecosystem

JuliaStats - statistics and machine learning in Julia

JuliaDiff - differentiation tools for Julia

JuliaPlots - visualization ecosystem for Julia

Artificial Intelligence & Machine Learning

Comprehensive AI/ML Resources

For a complete catalog of 100+ AI/ML tools, frameworks, and platforms, see the dedicated AI & Machine Learning page covering:

  • Open source LLMs (Meta LLaMA, Mistral, EleutherAI)
  • LLM inference engines (vLLM, Ollama, llama.cpp)
  • Agentic AI frameworks (LangChain, LlamaIndex, AutoGPT)
  • RAG systems and vector databases
  • MLOps platforms (MLflow, Weights & Biases, Kubeflow)
  • Scientific AI applications (AlphaFold, ESMFold)
  • AI ethics and fairness tools
  • Model hubs and repositories

OpenAI Platform - ChatGPT, GPT-4, DALL-E APIs

Google Gemini - Google's multimodal AI (formerly Bard)

Anthropic Claude - AI assistant focused on safety and reliability

🤗 Hugging Face - platform for sharing and discovering AI models and datasets

Papers with Code - machine learning papers with code implementations

Containers & Virtualization

Container Runtimes

Docker - widely used container platform for distributed computing

Podman - daemonless container engine for developing, managing, and running OCI containers

containerd - industry-standard container runtime

Apptainer - container platform for HPC and scientific computing (Linux Foundation project)

Singularity - containers optimized for HPC and scientific workloads

LXC/LXD - system containers offering VM-like experience with container efficiency

Container Orchestration

Kubernetes - open source container orchestration platform by Google

Docker Swarm - native clustering for Docker

Nomad - simple, flexible orchestrator by HashiCorp

Desktop Streaming & Workspaces

Kasm Workspaces - container streaming platform for delivering desktops and applications to web browsers

Kasm Community Edition - free version of Kasm Workspaces for up to 5 concurrent sessions

Kasm Registry - community-maintained Docker images optimized for Kasm Workspaces including browsers, IDEs, and desktop environments

Container Registries

Docker Hub - official public registry for Docker images

GitHub Container Registry (GHCR) - container registry integrated with GitHub

GitLab Container Registry - built-in container registry for GitLab

Red Hat Quay.io - secure container registry by Red Hat

Amazon Elastic Container Registry (ECR) - fully managed container registry by AWS

Google Artifact Registry - universal package and container registry

Azure Container Registry (ACR) - private container registry by Microsoft

NVIDIA GPU Cloud (NGC) - GPU-optimized containers for AI and HPC

BioContainers Registry - community-driven registry for bioinformatics containers

Productivity & Documentation

Document Editing

CryptPad - encrypted collaborative documents and spreadsheets

Google Docs - online word processor and collaboration suite

Microsoft Excel - spreadsheet application (proprietary)

LibreOffice - free and open-source office suite

Diagrams & Visual Tools

Draw.io (diagrams.net) - free online diagram and flowchart editor

Excalidraw - virtual whiteboard for sketching hand-drawn diagrams

Mermaid - JavaScript-based diagramming and charting from markdown

Documentation Platforms

MkDocs - fast, simple static site generator for project documentation

Material for MkDocs - modern documentation theme for MkDocs

Zensical - Rust-based documentation tool by Material for MkDocs team (replaces MkDocs)

JupyterBook - create publication-quality books from Jupyter Notebooks

GitBook - modern documentation platform using Git and Markdown

ReadTheDocs - documentation hosting supporting multiple markup languages

Docusaurus - modern static website generator by Meta/Facebook

Sphinx - documentation generator originally created for Python

LaTeX & Scientific Writing

LaTeX - high-quality typesetting system for scientific documents

Overleaf - collaborative LaTeX editor in the cloud

TeXstudio - cross-platform LaTeX editor

Online Collaboration

HackMD - collaborative markdown editor

Etherpad - real-time collaborative editor

Software Preservation

Software Heritage - archive preserving software source code for future generations

Project Management

Atlassian Suite:

  • Confluence - team collaboration and documentation
  • Jira - issue tracking and project management
  • Trello - visual project management with boards

GitHub Issues - issue tracking integrated with GitHub

GitHub Projects - project management boards on GitHub

Open Project - open-source project management software

ZenHub - agile project management for GitHub

Asana - work management platform for teams

Monday.com - work operating system for teams

Workflow Management & Orchestration

Scientific Workflow Systems - critical for scaling computational analyses with big data

Apache Airflow - platform to author, schedule and monitor workflows as directed acyclic graphs (DAGs)

Prefect - modern workflow orchestration tool for data pipelines

Dask Distributed - parallel computing task scheduler for Python

Nextflow - workflow system for data-intensive computational pipelines, popular in bioinformatics

SnakeMake - Python-based workflow management system for reproducible analyses

Cromwell - workflow management system supporting WDL and CWL

Pegasus - workflow management system mapping abstract workflows to distributed resources

Common Workflow Language (CWL) - open standard for describing workflows

Workflow Description Language (WDL) - workflow language developed by Broad Institute

Luigi - Python module for building complex pipelines by Spotify

Apache Beam - unified programming model for batch and streaming data processing

Development Tools & IDEs

Integrated Development Environments

Visual Studio Code - free, open-source code editor by Microsoft

JetBrains IDEs - professional development tools (PyCharm, IntelliJ IDEA, etc.)

Jupyter - interactive computing notebooks for data science

JupyterLab - next-generation web-based interface for Jupyter

RStudio / Posit - IDE for R and Python (rebranded from RStudio in 2022)

Spyder - scientific Python development environment

Thonny - Python IDE for beginners

Text Editors

Vim - highly configurable terminal text editor

Neovim - hyperextensible Vim-based text editor

Emacs - extensible, customizable text editor

Sublime Text - sophisticated text editor (proprietary)

Atom - hackable text editor (community fork, original by GitHub sunset)

Code Quality & Analysis

SonarQube - continuous code quality inspection

CodeClimate - automated code review and quality metrics

Black - Python code formatter

Pylint - Python code analyzer

ESLint - JavaScript linting utility

Clippy - Rust linter

APIs & Specifications

OpenAPI Specification - standard for describing REST APIs

GraphQL - query language for APIs

gRPC - high-performance RPC framework

Swagger - tools for designing and documenting APIs

Postman - API platform for testing and development