Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Re: [Django] #35829: Update/Fix Font Awesome icons

24 views
Skip to first unread message

Django

unread,
Oct 10, 2024, 9:38:24 AM10/10/24
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------+--------------------------------------
Reporter: stefan6419846 | Owner: (none)
Type: Bug | Status: new
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------------------------
Description changed by stefan6419846:

Old description:

> While looking through the source code, I stumbled upon the
> https://github.com/django/django/tree/main/django/contrib/admin/static/admin/img
> directory.
>
> From reading the provided information, these files were originally
> created by the Font Awesome project, although being converted to
> standalone SVG files by some third-party. As far as I can see, they have
> received some modifications for Django to set some other color for
> example.
>
> There possibly are multiple license-related aspects which show up here
> (Disclaimer: IANAL):
>
> * Splitting the big SVG file as done by ''Font-Awesome-SVG-PNG'' might be
> considered derivative work with a new name per OFL-1.1 and at least is
> covered by the weak copyleft effect of the OFL-1.1. The MIT LICENSE file
> provided in the directory is clearly wrong here.
> * Changing the color of individual files or re-arranging them can more
> likely be considered derivative work, usually requiring using a different
> name under the terms of the OFL-1.1 and applying the OFL-1.1 to these
> files.
>
> Given these observations, I would propose to update this directory
> accordingly:
>
> 1. Update Font Awesome to the latest version. Desktop releases for
> version 6.6.0 already provide individual SVG files which actually have a
> license comment inside as well.
> 2. Update the README and LICENSE file accordingly to indeed include the
> correct license text, id est the OFL-1.1 one. The README ideally
> documents which changes were done.

New description:

While looking through the source code, I stumbled upon the
https://github.com/django/django/tree/main/django/contrib/admin/static/admin/img
directory.

From reading the provided information, these files were originally created
by the Font Awesome project, although being converted to standalone SVG
files by some third-party. As far as I can see, they have received some
modifications for Django to set some other color for example.

There possibly are multiple license-related aspects which show up here
(Disclaimer: IANAL):

* Splitting the big SVG file as done by ''Font-Awesome-SVG-PNG'' might be
considered derivative work with a new name per OFL-1.1 and at least is
covered by the weak copyleft effect of the OFL-1.1. The MIT LICENSE file
provided in the directory is clearly wrong here.
* Changing the color of individual files or re-arranging them can more
likely be considered derivative work, usually requiring using a different
name under the terms of the OFL-1.1 and applying the OFL-1.1 to these
files.

Given these observations, I would propose to update this directory
accordingly:

1. Update Font Awesome to the latest version. Desktop releases for version
6.6.0 already provide individual SVG files which actually have a license
comment inside as well.
2. Update the README and LICENSE file accordingly to indeed include the
correct license text, id est the OFL-1.1 one. The README ideally documents
which changes were done to which original version.

--
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Oct 10, 2024, 9:44:45 AM10/10/24
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------+--------------------------------------
Reporter: stefan6419846 | Owner: (none)
Type: Bug | Status: new
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------------------------
Comment (by stefan6419846):

Additional note: At least for recent versions of the Font Awesome the SVG
files itself are available under the terms of CC-BY-4.0, possibly
simplifying things quite a lot.
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:3>

Django

unread,
Oct 10, 2024, 2:10:39 PM10/10/24
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):

* type: Bug => Cleanup/optimization
* ui_ux: 0 => 1

Comment:

Hello stefan6419846, thank you for your ticket. I'm also not a layer, and
I don't have clarity on what we really need to do here. Some replies
inline:

Replying to [ticket:35829 stefan6419846]:
> From reading the provided information, these files were originally
created by the Font Awesome project, although being converted to
standalone SVG files by some third-party. As far as I can see, they have
received some modifications for Django to set some other color for
example.

I agree with this conclusion as far as I can see. Though note that the
standalone SVG files do seem to be licensed under MIT as per
https://github.com/Rush/Font-Awesome-SVG-PNG/?

> * Splitting the big SVG file as done by ''Font-Awesome-SVG-PNG'' might
be considered derivative work with a new name per OFL-1.1 and at least is
covered by the weak copyleft effect of the OFL-1.1. The MIT LICENSE file
provided in the directory is clearly wrong here.

Wouldn't this be an issue that https://github.com/Rush/Font-Awesome-SVG-
PNG has to deal with?

> * Changing the color of individual files or re-arranging them can more
likely be considered derivative work, usually requiring using a different
name under the terms of the OFL-1.1 and applying the OFL-1.1 to these
files.

I'm not seeing name matching between what we have in Django and what I
have downloaded from Font Awesome. Could you please provide a few specific
examples?

> 1. Update Font Awesome to the latest version. Desktop releases for
version 6.6.0 already provide individual SVG files which actually have a
license comment inside as well.
> 2. Update the README and LICENSE file accordingly to indeed include the
correct license text, id est the OFL-1.1 one. The README ideally documents
which changes were done to which original version.

I don't object with this proposal, it feels like a good refresh though it
would need more work than that. We'd need the proper coloring and resizing
to be applied, and potentially a re-take of all the admin screenshots used
in the docs.

If we eventually accept this ticket, would you be able to help with this?
Thanks!
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:4>

Django

unread,
Oct 11, 2024, 5:00:33 AM10/11/24
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Comment (by stefan6419846):

> I agree with this conclusion as far as I can see. Though note that the
standalone SVG files do seem to be licensed under MIT as per
https://github.com/Rush/Font-Awesome-SVG-PNG/?
>
> Wouldn't this be an issue that https://github.com/Rush/Font-Awesome-SVG-
PNG has to deal with?

Yes, this repository is marked as MIT, although mentioning in the README
that the Font Awesome font is subject to OFL-1.1. Unfortunately, just
relying on this information is not sufficient. In theory, every user of
the package (or every part of the supply chain, depending on how you want
to name it) is required to review this and look for possible
inconsistencies. With the usual warranty disclaimers of FOSS packages it
ultimately is the task of the final distributor to verify the correctness
of the provided data - especially if Django is part of commercial
applications where contracts specify warranty-related clauses. (Please
note that this might differ depending on the jurisdiction/country. AFAIK
this is what holds true for Germany.)

For now, it is not completely clear for me which version of Font Awesome
Django currently uses. According to the history at
https://github.com/django/django/commits/main/django/contrib/admin/static/admin/img/README.txt
and the upstream history, this might be version 4.3.0, which would match
the README statement about OFL-1.1: https://github.com/Rush/Font-Awesome-
SVG-PNG/blob/31dd85aef85aed8cfbe8c8d4423ca9a262a23620/package.json#L24

https://github.com/Rush/Font-Awesome-SVG-PNG/issues/79 already is an
upstream issue about this. Depending on the Font Awesome version,
different terms are relevant, which I have documented there a bit more.

> > * Changing the color of individual files or re-arranging them can more
likely be considered derivative work, usually requiring using a different
name under the terms of the OFL-1.1 and applying the OFL-1.1 to these
files.
>
> I'm not seeing name matching between what we have in Django and what I
have downloaded from Font Awesome. Could you please provide a few specific
examples?

This is about using the reserved font name "Font Awesome", which according
to the OFL-1.1 cannot be used for derivatives of the original font. This
initially arises from ''Font-Awesome-SVG-PNG'' as well, but still holds
true for Django as well. To be honest, applying the name clause (3) to
standalone SVG icons does not necessarily make sense and only occurs for
the problematic Font Awesome version 4.

> I don't object with this proposal, it feels like a good refresh though
it would need more work than that. We'd need the proper coloring and
resizing to be applied, and potentially a re-take of all the admin
screenshots used in the docs.

At least coloring and resizing should ideally be easy enough due to SVG
files basically being XML with plain drawing operations. As for how
different the icons are between the different versions, this is something
which would have to be evaluated - the initial problem with this is
finding the matching Font Awesome names for the symbols used by Django, as
this is not documented and Django renamed the files to better match the
corresponding use cases. (For example, ''eye.svg'' has been renamed to
''icon-viewlink.svg'' in Django.)

> If we eventually accept this ticket, would you be able to help with
this? Thanks!

Yes, I should be able to help with this.
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:5>

Django

unread,
Oct 11, 2024, 8:50:42 AM10/11/24
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
--------------------------------------+------------------------------------
Reporter: stefan6419846 | Owner: (none)
Type: Cleanup/optimization | Status: new
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
--------------------------------------+------------------------------------
Changes (by Natalia Bidart):

* cc: Jacob Kaplan-Moss (added)
* stage: Unreviewed => Accepted

Comment:

Thank you for the extra details! I think those make sense, and
specifically they help me understand the overall issue a bit more.

I'll be accepting on the basis to, at least, document and clarify this
usage more clearly. Original font-awesome kit was added in #20597.
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:6>

Django

unread,
Oct 11, 2024, 10:48:28 AM10/11/24
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
--------------------------------------+------------------------------------
Reporter: stefan6419846 | Owner: (none)
Type: Cleanup/optimization | Status: new
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
--------------------------------------+------------------------------------
Comment (by Jacob Kaplan-Moss):

Natalia asked me to take a look with my DSF Board hat on. I'm very much
not a lawyer but I do know some things about licensing. I tend to agree
with stefan6419846 that this probably is a license violation, and that
upgrading and updating the README/LICENSE seems like a proper remedy. I
don't think it's a super huge risk, but it is _a_ risk and we should take
care of it.

(Another option would be to switch to a different icon set that has a more
compatible license, e.g. https://github.com/feathericons/feather is MIT,
but honestly that seems like a lot more work for little extra benefit.)
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:7>

Django

unread,
Dec 9, 2024, 11:28:51 AM12/9/24
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: Pablo
Type: | Bengoechea
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Pablo Bengoechea):

* owner: (none) => Pablo Bengoechea
* status: new => assigned

--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:8>

Django

unread,
Dec 10, 2024, 12:14:52 PM12/10/24
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
--------------------------------------+------------------------------------
Reporter: stefan6419846 | Owner: (none)
Type: Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
--------------------------------------+------------------------------------
Changes (by Pablo Bengoechea):

* owner: Pablo Bengoechea => (none)

Comment:

Hi,

This is my first time contributing to a repository, and I’d like to know
if I should submit a pull request or attach a patch directly here.

The changes I’ve made include:

Updating the icons in the django/contrib/admin/static/admin/img folder to
the latest versions from Font Awesome Free 6.7.1.
Updating the README and LICENSE files in the same folder to reflect the
changes and ensure compliance with Font Awesome's current licenses.
Additionally, I noticed that the django/contrib/admin/static/admin/img/gis
folder contains some icons, but I’m unsure if those are still being used.
I also couldn’t find equivalents for those icons in the Font Awesome
library, so I’d appreciate guidance on how to proceed with them.
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:9>

Django

unread,
Dec 10, 2024, 12:16:24 PM12/10/24
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: Pablo
Type: | Bengoechea
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Pablo Bengoechea):

* owner: (none) => Pablo Bengoechea

--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:10>

Django

unread,
Dec 10, 2024, 1:49:05 PM12/10/24
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: Pablo
Type: | Bengoechea
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Pablo Bengoechea):

* cc: Pablo Bengoechea (added)
* has_patch: 0 => 1

Comment:

[https://github.com/django/django/pull/18914 PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:11>

Django

unread,
Jan 22, 2025, 8:21:00 AMJan 22
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: Pablo
Type: | Bengoechea
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):

* cc: David Smith, Claude Paroz (added)

Comment:

Confirmation that the GIS icons need update or look OK is still pending, I
have asked for help to Claude and David S.
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:12>

Django

unread,
Jan 22, 2025, 8:21:07 AMJan 22
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: Pablo
Type: | Bengoechea
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 1 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):

* needs_tests: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:13>

Django

unread,
Apr 15, 2025, 10:04:51 AMApr 15
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: Pablo
Type: | Bengoechea
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):

* needs_better_patch: 0 => 1
* needs_tests: 1 => 0

Comment:

Setting the patch needs improvement flag because the owner will update the
PR to use the latest released version from Font Awesome Free (6.7.2).
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:14>

Django

unread,
May 14, 2025, 10:03:56 PMMay 14
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: Pablo
Type: | Bengoechea
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):

* needs_better_patch: 1 => 0
* stage: Accepted => Ready for checkin

--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:15>

Django

unread,
May 15, 2025, 8:09:37 AMMay 15
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: Pablo
Type: | Bengoechea
Cleanup/optimization | Status: closed
Component: contrib.admin | Version: dev
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by nessita <124304+nessita@…>):

* resolution: => fixed
* status: assigned => closed

Comment:

In [changeset:"87ab54b488cb58d810939112f208bb37068710e0" 87ab54b]:
{{{#!CommitTicketReference repository=""
revision="87ab54b488cb58d810939112f208bb37068710e0"
Fixed #35829 -- Updated admin icons using Font Awesome Free version 6.7.2.

Co-authored-by: Stefan <96178532+st...@users.noreply.github.com>
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:16>

Django

unread,
May 20, 2025, 7:57:21 AMMay 20
to django-...@googlegroups.com
#35829: Update/Fix Font Awesome icons
-------------------------------------+-------------------------------------
Reporter: stefan6419846 | Owner: Pablo
Type: | Bengoechea
Cleanup/optimization | Status: closed
Component: contrib.admin | Version: dev
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Comment (by GitHub <noreply@…>):

In [changeset:"8c279113864c31cef539c6384a683e6ed832adca" 8c279113]:
{{{#!CommitTicketReference repository=""
revision="8c279113864c31cef539c6384a683e6ed832adca"
Refs #35829 -- Made cosmetic edits to
django/contrib/admin/static/admin/img/README.md.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/35829#comment:17>
Reply all
Reply to author
Forward
0 new messages