# Copyright and license of Julia packages

**URL:** <https://discourse.julialang.org/t/copyright-and-license-of-julia-packages/129598>\
**Category:** General Usage\
**Tags:** question\
**Created:** [June 3, 2025, 2:10pm UTC](https://discourse.julialang.org/t/copyright-and-license-of-julia-packages/129598 "2025-06-03T14:10:09Z")\
**Posts on this page:** 1\
**Showing post:** 38

<div class="post-metadata">

**Author:** ![gwr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gwr/32/33632_2.png) [@gwr](https://discourse.julialang.org/u/gwr)\
**Post date:** [July 17, 2025, 5:45pm UTC](https://discourse.julialang.org/t/copyright-and-license-of-julia-packages/129598/38 "2025-07-17T17:45:25Z")

</div>

Great topic and I just recently had that discussion in the Modelica community, which complicates things as tools serialize the code, so that code may end up in more or less files than you had intended (see [here](https://github.com/modelica/ModelicaSpecification/issues/3680)).

My last post there kind of wraps things up and most of it should carry over to this community as well.

[https://github.com/modelica/ModelicaSpecification/issues/3680#issuecomment-2866339224](https://github.com/modelica/ModelicaSpecification/issues/3680#issuecomment-2866339224)

Some key points:

1. **Your copyright needs no explicit statement, but …** You do have a copyright the moment you _create_ something, which is not trivial (to give a loose definition). Including per file headers is a **precaution** that you (or your organization) may take or not. The advantage is that it is ultimately extremely safe as it is _machine_ **and** _human_ readable at the raw source level.

2. **REUSE compliance is much less hassle than it looks.** As has been pointed out here before, you can use a `REUSE.toml` to elegantly assign SPDX headers to multiple files _en bloc_. This extremely lightens the burden of adding labels to files like `.gitignore` or tons of image files. Finally, there are _pre-commit hooks_ to add SPDX tags conveniently to files still lacking one.

3. **A single license file does not meet today’s complexity.** With just two lines of SPDX tags a lot of ambiguity can be removed. Why shouldn’t some of the _images_ that I ship in my project have a different license than the stricter one given for the main code? (It’s also extremely likely that those artifacts get distributed separately down the road.) It’s also a good idea to explicitly separate branding and trademark related copyrights from the rest. Often the license text does address this (but not always), yet the license file in my repo and the file with my corporate logo may get separated. I find it nice that there is an additional way to explicitly label that logo a “proprietary asset” even in an open source project.

#### TL;DR

In Julia, we value the flexibility and composability of _multiple dispatch_. It’s interesting to see, how the very same people that value this kind of flexibility still believe a single license file in a repo is all that should ever be needed in a _world of composition (e.g., copy & paste)_. 🙂  
The legal world of IP is surprisingly more complicated than it may look. The REUSE specification imho goes a long way in dealing with that complexity in a rather clear, unambiguous, and even convenient way.

---

_[View the full topic](https://discourse.julialang.org/t/copyright-and-license-of-julia-packages/129598)._
