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¶
Open Source Initiative Licenses
Scientific Support Systems¶
Center for Open Science - nonprofit improving openness, integrity, and reproducibility of research
- Open Science Framework (OSF) - free, open platform to support research workflow and collaboration
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
Quick Links¶
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¶
- 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