diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..f77adf3
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,34 @@
+# Contributing to rdfpipe-rs
+
+**Thank you very much for considering contributing to this project!**
+
+We welcome any form of contribution:
+
+ * New issues (feature requests, bug reports, questions, ideas, ...)
+ * Pull requests (documentation improvements, code improvements, new features, ...)
+
+**Note**: Before you take the time to open a pull request, please open an issue first. This will
+give us the chance to discuss any potential changes first.
+
+## Opening a pull request (PR)
+
+Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests:
+
+1. Fork the repo and create your branch from main.
+2. If you've added code that should be tested, add tests.
+3. If you've changed APIs, update the documentation.
+4. Ensure the test suite passes.
+5. Create the pull request!
+
+**Note:** PRs can only be merged if the [`build`](https://github.com/SDSC-ORD/rdfpipe-rs/blob/main/.github/workflows/rust.yml) GitHub action passes.
+
+## License
+
+By contributing, you agree that your contributions will be licensed under its GPL-3.0 License.
+
+## Important links
+
+ * [Open issues](https://github.com/SDSC-ORD/rdfpipe-rs/issues)
+ * [Open pull requests](https://github.com/SDSC-ORD/rdfpipe-rs/pulls)
+ * [Development section in the README](https://github.com/SDSC-ORD/rdfpipe-rs#development)
+ * [LICENSE](https://github.com/SDSC-ORD/rdfpipe-rs/blob/main/LICENSE)
diff --git a/README.md b/README.md
index 6cd7a9a..88479db 100644
--- a/README.md
+++ b/README.md
@@ -50,3 +50,27 @@ Options:
-h, --help Print help
```
+## Development
+
+See [CONTRIBUTING.md](CONTRIBUTING.md) to learn about the different ways you can contribute to rdfpipe-rs.
+
+```sh
+# Install for development
+git clone https://github.com/SDSC-ORD/rdfpipe-rs
+cd rdfpipe-rs
+
+# Run unit and integration tests
+cargo test
+
+# Build documentation
+cargo doc
+
+# Build debug binary
+cargo build
+
+# Build optimized binary
+cargo build --release
+
+# Install
+cargo install --path .
+```
diff --git a/src/cli.rs b/src/cli.rs
index 160da46..c5fb9ee 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -1,3 +1,20 @@
+// rdfpipe-rs
+// Copyright (C) 2023 - Swiss Data Science Center (SDSC)
+// A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and
+// Eidgenössische Technische Hochschule Zürich (ETHZ).
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
//! Command line interface for the RDF conversion tool.
use clap;
use clap::{Parser, ValueEnum};
diff --git a/src/converter.rs b/src/converter.rs
index fef19db..c24ee88 100644
--- a/src/converter.rs
+++ b/src/converter.rs
@@ -1,3 +1,20 @@
+// rdfpipe-rs
+// Copyright (C) 2023 - Swiss Data Science Center (SDSC)
+// A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and
+// Eidgenössische Technische Hochschule Zürich (ETHZ).
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
//! # Conversion logic
//!
//! This module contains the `RdfIO` trait which is used to parse and serialize RDF graphs.
diff --git a/src/formats.rs b/src/formats.rs
index 37ad8a4..3d156f7 100644
--- a/src/formats.rs
+++ b/src/formats.rs
@@ -1,3 +1,20 @@
+// rdfpipe-rs
+// Copyright (C) 2023 - Swiss Data Science Center (SDSC)
+// A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and
+// Eidgenössische Technische Hochschule Zürich (ETHZ).
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
//! # Implementation of concrete RDF formats
//!
//! This module implements `RdfIO` trait for each RDF serialization format.
diff --git a/src/io.rs b/src/io.rs
index a39a137..f4c6cbe 100644
--- a/src/io.rs
+++ b/src/io.rs
@@ -1,3 +1,20 @@
+// rdfpipe-rs
+// Copyright (C) 2023 - Swiss Data Science Center (SDSC)
+// A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and
+// Eidgenössische Technische Hochschule Zürich (ETHZ).
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
//! # Input and Output helpers
//!
//! This module contains the `Input` and `Output` helper structs.
diff --git a/src/main.rs b/src/main.rs
index e36e337..d282242 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,3 +1,20 @@
+// rdfpipe-rs
+// Copyright (C) 2023 - Swiss Data Science Center (SDSC)
+// A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and
+// Eidgenössische Technische Hochschule Zürich (ETHZ).
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
//! # rdfpipe-rs
//!
//! A command-line tool for converting between RDF serialization formats.