# guile-sdl2

> Guile bindings for SDL2

**Wikidata**: [Q110222133](https://www.wikidata.org/wiki/Q110222133)  
**Source**: https://4ort.xyz/entity/guile-sdl2

# guile-sdl2 Knowledge Entry

## Summary
guile-sdl2 is a free software library that provides Guile Scheme programming language bindings for SDL2 (Simple DirectMedia Layer 2). It enables developers to create games, multimedia applications, and graphical programs using Guile Scheme while leveraging SDL2's cross-platform capabilities for graphics, audio, and input handling. The project is licensed under the GNU Lesser General Public License version 3.0 or later.

## Key Facts
- **Description**: Guile bindings for SDL2 (Simple DirectMedia Layer 2)
- **License**: GNU Lesser General Public License, version 3.0 or later
- **Official Website**: https://dthompson.us/projects/guile-sdl2.html
- **Classification**: Instance of free software
- **Copyright Status**: Copyrighted
- **Guix Package Name**: guile-sdl2
- **Free Software Directory Entry**: Guile-sdl2
- **Distinct From**: GNU Guile-SDL (a separate project)
- **Operating System Support**: Cross-platform (Wikidata Q3251801)
- **Website Language**: English

## FAQs

### Q: What is the difference between guile-sdl2 and GNU Guile-SDL?
A: guile-sdl2 is a distinct project from GNU Guile-SDL, as explicitly noted in Wikidata records. While both provide SDL bindings for the Guile Scheme language, guile-sdl2 specifically targets SDL2, the modern version of the Simple DirectMedia Layer library.

### Q: What license does guile-sdl2 use?
A: guile-sdl2 is licensed under the GNU Lesser General Public License (LGPL), version 3.0 or later. This allows developers to link the library with their applications while preserving user freedoms to study, modify, and distribute the software.

### Q: Where can I find guile-sdl2?
A: The official project website is located at https://dthompson.us/projects/guile-sdl2.html. It is also listed in the Free Software Directory under "Guile-sdl2" and is available as a package in GNU Guix with the variable name "guile-sdl2."

### Q: What can I build with guile-sdl2?
A: guile-sdl2 allows developers to create games, emulators, multimedia players, and other interactive graphical applications using Guile Scheme. SDL2 provides low-level access to graphics, audio, keyboard, mouse, and joystick input across multiple platforms.

### Q: Is guile-sdl2 free software?
A: Yes, guile-sdl2 is classified as free software. Users are free to run, study, change, and distribute both the original and modified versions under the terms of the LGPL v3.0 or later.

## Why It Matters
guile-sdl2 serves as an essential bridge between the Guile Scheme programming language and SDL2, one of the most widely used cross-platform multimedia libraries in game development and interactive application creation. By providing these bindings, guile-sdl2 empowers developers who prefer functional programming paradigms or are working within the GNU ecosystem to create rich multimedia applications without abandoning their chosen language.

The project holds particular significance for the free software community. As an LGPL-licensed library, it ensures that the bindings themselves remain free while allowing flexible integration with a variety of projects. Its inclusion in GNU Guix as a first-class package demonstrates its relevance to the GNU System community, making installation straightforward for Guix users.

guile-sdl2 also represents the continued viability of Scheme languages for practical, modern application development. While game development is often dominated by languages like C++, C#, or Rust, guile-sdl2 demonstrates that Lisp-family languages can serve as capable tools for interactive media, offering developers the benefits of Scheme's elegance, macro system, and REPL-driven development workflow in a domain where such tools are uncommon.

## Notable For
- **SDL2-Specific Bindings**: Provides bindings specifically for SDL2 (Simple DirectMedia Layer 2), the modern, actively maintained version of the popular multimedia library
- **GNU Ecosystem Integration**: Available directly through GNU Guix with the package variable name "guile-sdl2," streamlining installation for GNU users
- **LGPLv3+ Licensing**: Uses the GNU Lesser GPL version 3.0 or later, balancing free software principles with practical library linking requirements
- **Free Software Directory Recognition**: Listed in the Free Software Directory as "Guile-sdl2," validating its status as legitimate free software
- **Distinct from Predecessor**: Explicitly differentiated from GNU Guile-SDL in Wikidata, clarifying that it is a separate project rather than a continuation

## Body

### Overview and Purpose
guile-sdl2 is a software library that provides Guile Scheme language bindings for SDL2, the Simple DirectMedia Layer version 2. SDL2 is a cross-platform development library designed to provide low-level access to audio, keyboard, mouse, joystick, and graphics hardware. The guile-sdl2 project enables programmers to write games, emulators, media players, and other multimedia applications using Guile Scheme rather than C or C++.

### Licensing and Legal Status
guile-sdl2 is released under the **GNU Lesser General Public License, version 3.0 or later** (LGPLv3+). The project maintains a copyrighted status while being distributed as free software. Under this license, users retain the rights to freely run, study, modify, and distribute both the original software and any modified versions they create.

The LGPL is particularly suited for library bindings, as it permits linking with non-free software while ensuring that modifications to the library itself remain free.

### Project Resources
- **Official Website**: https://dthompson.us/projects/guile-sdl2.html (English language)
- **Free Software Directory Entry**: Guile-sdl2
- **Guix Package Variable**: `guile-sdl2`

The project was documented in Wikidata with references retrieved on December 21, 2021.

### Relationship to Other Projects
According to Wikidata structured properties, guile-sdl2 is **explicitly different from GNU Guile-SDL**. This indicates that guile-sdl2 is a separate and independent project, not a direct continuation or rebranding of GNU Guile-SDL. The primary distinction lies in guile-sdl2's targeting of SDL2 specifically.

### Platform and Distribution
The project supports cross-platform operation, consistent with SDL2's design philosophy. It is available through the GNU Guix package manager, which provides reproducible package management across GNU/Linux distributions and the Guix System distribution. The Guix variable name for installation is `guile-sdl2`.

### Free Software Classification
guile-sdl2 is formally classified as an **instance of free software** in Wikidata. Free software, as defined by the Free Software Directory and referenced in the project's metadata, refers to software distributed under terms that allow users to freely run, study, change, and distribute it along with any modified versions.

## References

1. Free Software Directory