# \[ANN\] CommonLicenses.jl

**URL:** <https://discourse.julialang.org/t/ann-commonlicenses-jl/98822>\
**Category:** Package Announcements\
**Tags:** package\
**Created:** [May 14, 2023, 6:57am UTC](https://discourse.julialang.org/t/ann-commonlicenses-jl/98822 "2023-05-14T06:57:35Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![cadojo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cadojo/32/25328_2.png) [@cadojo](https://discourse.julialang.org/u/cadojo)\
**Post date:** [May 14, 2023, 6:57am UTC](https://discourse.julialang.org/t/ann-commonlicenses-jl/98822/1 "2023-05-14T06:57:35Z")

</div>

# New Package

I just wrote [~~~`Licenses.jl`~~~ `CommonLicenses.jl`](https://github.com/cadojo/CommonLicenses.jl)! ~~~And I need help with naming…~~~

## Overview

I’ve found myself cutting and pasting an MIT license into my Pluto notebooks. We’ll all be writing more executable documents in 2023, so I wrote a simple package which queries [https://spdx.org/licenses](https://spdx.org/licenses) for a requested SPDX identifier. It also queries the GitHub License API to see if more information is available there (hints for permissins, conditions, limitations). Then, a `License` type is constructed which displays with MIME types, like any other Julia type.

The end result is: you can type the following into your Pluto notebook to conveniently license your executable document.

```julia
using Licenses: MIT

MIT(copyright="Joe(y)")

```

## Naming

_Edit:_ Went with `CommonLicenses`!

I like the name `Licenses`, but I feel conspicuous taking a package name that is such a common / general word. That said, I do not think` SPDXLicenses` is appropriate, because SPDX files are their own thing: see [`SPDX.jl`](https://discourse.julialang.org/t/ann-spdx-jl-reading-and-writing-spdx-files/80523).

What do folks think?

---

<div class="post-metadata">

**Author:** ![longemen3000](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/longemen3000/32/7298_2.png) [@longemen3000](https://discourse.julialang.org/u/longemen3000)\
**Post date:** [May 14, 2023, 7:18am UTC](https://discourse.julialang.org/t/ann-commonlicenses-jl/98822/2 "2023-05-14T07:18:47Z")

</div>

what about `SoftwareLicenses`?

---

<div class="post-metadata">

**Author:** ![cadojo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cadojo/32/25328_2.png) [@cadojo](https://discourse.julialang.org/u/cadojo)\
**Post date:** [May 14, 2023, 7:21am UTC](https://discourse.julialang.org/t/ann-commonlicenses-jl/98822/3 "2023-05-14T07:21:16Z")

</div>

Yeah that’s definitely an option. I thought of OpenSourceLicenses, but this works for Creative Commons and other licenses too. I felt like the CC licenses are separate from software, but maybe that’s wrong?

---

<div class="post-metadata">

**Author:** ![cadojo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cadojo/32/25328_2.png) [@cadojo](https://discourse.julialang.org/u/cadojo)\
**Post date:** [May 14, 2023, 7:26am UTC](https://discourse.julialang.org/t/ann-commonlicenses-jl/98822/4 "2023-05-14T07:26:27Z")

</div>

The spicy matrix has spoken, and I rather like OpenLicenses.

 ![IMG_4872](https://global.discourse-cdn.com/julialang/original/3X/a/0/a0d0b0e6aa52d38b0a9a9b9a240b0d6992f3947f.jpeg)

---

<div class="post-metadata">

**Author:** ![Zach\_Christensen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zach_christensen/32/7220_2.png) [@Zach\_Christensen](https://discourse.julialang.org/u/Zach_Christensen)\
**Post date:** [May 14, 2023, 11:36am UTC](https://discourse.julialang.org/t/ann-commonlicenses-jl/98822/5 "2023-05-14T11:36:11Z")

</div>

That may be the best use for CharGPT I’ve seen. I’m terrible at naming things. Just ask my children, One and Two

---

<div class="post-metadata">

**Author:** ![cadojo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cadojo/32/25328_2.png) [@cadojo](https://discourse.julialang.org/u/cadojo)\
**Post date:** [May 14, 2023, 12:33pm UTC](https://discourse.julialang.org/t/ann-commonlicenses-jl/98822/6 "2023-05-14T12:33:21Z")

</div>

So cute! But `Base.eachindex` is highly recommended here. 😉

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [May 14, 2023, 12:41pm UTC](https://discourse.julialang.org/t/ann-commonlicenses-jl/98822/7 "2023-05-14T12:41:10Z")

</div>

Can’t find anything wrong with “Licences”…

---

<div class="post-metadata">

**Author:** ![cadojo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cadojo/32/25328_2.png) [@cadojo](https://discourse.julialang.org/u/cadojo)\
**Post date:** [May 14, 2023, 12:59pm UTC](https://discourse.julialang.org/t/ann-commonlicenses-jl/98822/8 "2023-05-14T12:59:32Z")

</div>

Yeah I now think open may be [misleading](https://blog.okfn.org/2010/10/15/open-licenses-vs-public-licenses/).

---

<div class="post-metadata">

**Author:** ![cadojo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cadojo/32/25328_2.png) [@cadojo](https://discourse.julialang.org/u/cadojo)\
**Post date:** [May 15, 2023, 4:29am UTC](https://discourse.julialang.org/t/ann-commonlicenses-jl/98822/9 "2023-05-15T04:29:28Z")

</div>

Ended up going with `CommonLicenses`, thanks all!
