All of lore.kernel.org
 help / color / mirror / Atom feed
* [layerindex-web] Add SPDX Identifier
@ 2019-10-21 15:15 Yann CARDAILLAC
  2019-10-21 19:37 ` Paul Eggleton
  0 siblings, 1 reply; 4+ messages in thread
From: Yann CARDAILLAC @ 2019-10-21 15:15 UTC (permalink / raw)
  To: yocto; +Cc: paul.eggleton, mark.hatle

[-- Attachment #1: Type: text/plain, Size: 1179 bytes --]

Hi,

https://bugzilla.yoctoproject.org/show_bug.cgi?id=13527

I'm beginning the work of updating the layerindex-web repo, this one is a
bit tricky, how should I treat the files generated using Django ?

*For now I've given them MIT as for the other hand written script. However
I'm kind of worried that it's not the proper licence. *

For the css side, I've added MIT to :

./rrs/static/css/rrs-additional.css
and
./layerindex/static/css/additional.css

*I've let the bootstraps css untouched since I guess that's not for us to
licence. *

I've yet to do html, txt and sh files, do you have any advices before I
start?

Regards,

-- 
[image: SMILE] <http://www.smile.eu/>

20 rue des Jardins
92600 Asnières-sur-Seine
*Yann CARDAILLAC*
Ingénieur Systèmes Embarqués

[image: email] yann.cardaillac@smile.fr
[image: url] http://www.smile.eu

[image: Twitter] <https://twitter.com/GroupeSmile> [image: Facebook]
<https://www.facebook.com/smileopensource> [image: LinkedIn]
<https://www.linkedin.com/company/smile> [image: Github]
<https://github.com/Smile-SA>


[image: eco] Pour la planète, n'imprimez ce mail que si c'est nécessaire

[-- Attachment #2: Type: text/html, Size: 4603 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [layerindex-web] Add SPDX Identifier
  2019-10-21 15:15 [layerindex-web] Add SPDX Identifier Yann CARDAILLAC
@ 2019-10-21 19:37 ` Paul Eggleton
  2019-10-22 13:25   ` Yann CARDAILLAC
  0 siblings, 1 reply; 4+ messages in thread
From: Paul Eggleton @ 2019-10-21 19:37 UTC (permalink / raw)
  To: Yann CARDAILLAC; +Cc: yocto

Hi Yann

Thanks for looking into this.

On Tuesday, 22 October 2019 4:15:03 AM NZDT Yann CARDAILLAC wrote:
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=13527
> 
> I'm beginning the work of updating the layerindex-web repo, this one is a
> bit tricky, how should I treat the files generated using Django ?
> 
> *For now I've given them MIT as for the other hand written script. However
> I'm kind of worried that it's not the proper licence. *

I believe the correct license for Django-derived files is BSD-3-Clause:

  https://github.com/django/django/blob/master/LICENSE

> For the css side, I've added MIT to :
> 
> ./rrs/static/css/rrs-additional.css
> and
> ./layerindex/static/css/additional.css

That should be fine, those files were authored as part of the project.

> *I've let the bootstraps css untouched since I guess that's not for us to
> licence. *

Correct, and we'd be required to re-apply it every time we upgraded as well 
which is likely to get forgotten. You could always get them to add one 
upstream if you're really keen :)
 
> I've yet to do html, txt and sh files, do you have any advices before I
> start?

Note that some of the templates used for authentication originally came from 
here:

  https://github.com/macdhuibh/django-registration-templates

The LICENSE file indicates MIT for those though.

The txt files are tricky because any stray newlines will affect formatting. I 
would probably avoid touching them.

Cheers
Paul

-- 

Paul Eggleton
Intel System Software Products




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [layerindex-web] Add SPDX Identifier
  2019-10-21 19:37 ` Paul Eggleton
@ 2019-10-22 13:25   ` Yann CARDAILLAC
  2019-10-29  3:27     ` Paul Eggleton
  0 siblings, 1 reply; 4+ messages in thread
From: Yann CARDAILLAC @ 2019-10-22 13:25 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: yocto


[-- Attachment #1.1: Type: text/plain, Size: 1857 bytes --]

On Mon, Oct 21, 2019 at 9:37 PM Paul Eggleton <paul.eggleton@linux.intel.com>
wrote:

> On Tuesday, 22 October 2019 4:15:03 AM NZDT Yann CARDAILLAC wrote:
> > https://bugzilla.yoctoproject.org/show_bug.cgi?id=13527
> >
> > I'm beginning the work of updating the layerindex-web repo, this one is a
> > bit tricky, how should I treat the files generated using Django ?
>
> I believe the correct license for Django-derived files is BSD-3-Clause:
>
>   https://github.com/django/django/blob/master/LICENSE
>
> > I've yet to do html, txt and sh files, do you have any advices before I
> > start?
>
> Note that some of the templates used for authentication originally came
> from
> here:
>
>   https://github.com/macdhuibh/django-registration-templates
>
> The LICENSE file indicates MIT for those though.
>
> The txt files are tricky because any stray newlines will affect
> formatting. I
> would probably avoid touching them.
>
> I did not yet add MIT to html files, I don't really know if that makes
sense or not?  I didn't do that because it seemed a bit weird to me, but I
don't know what to think of that. Most of the time you'll find copyright on
the footer of the page, but I'm not sure about Licensing those.

So here is a first iteration of the patch without htmls file licensed.

Regards,

-- 
[image: SMILE] <http://www.smile.eu/>

20 rue des Jardins
92600 Asnières-sur-Seine
*Yann CARDAILLAC*
Ingénieur Systèmes Embarqués

[image: email] yann.cardaillac@smile.fr
[image: url] http://www.smile.eu

[image: Twitter] <https://twitter.com/GroupeSmile> [image: Facebook]
<https://www.facebook.com/smileopensource> [image: LinkedIn]
<https://www.linkedin.com/company/smile> [image: Github]
<https://github.com/Smile-SA>


[image: eco] Pour la planète, n'imprimez ce mail que si c'est nécessaire

[-- Attachment #1.2: Type: text/html, Size: 5798 bytes --]

[-- Attachment #2: 0001-add-SPDX-License-identifier.patch --]
[-- Type: text/x-patch, Size: 52659 bytes --]

From e46cd0244aa8134318236a2f1aee96682e09715b Mon Sep 17 00:00:00 2001
From: Yann CARDAILLAC <yann.cardaillac@smile.fr>
Date: Tue, 22 Oct 2019 15:17:21 +0200
Subject: [PATCH] add SPDX License identifier

Signed-off-by: Yann CARDAILLAC <yann.cardaillac@smile.fr>
---
 __init__.py                                                     | 2 ++
 check_requirements.sh                                           | 1 +
 docker/connectivity_check.sh                                    | 1 +
 docker/git-proxy                                                | 1 +
 docker/migrate.sh                                               | 1 +
 docker/refreshlayers.sh                                         | 1 +
 docker/settings.py                                              | 1 +
 docker/updatelayers.sh                                          | 1 +
 dockersetup.py                                                  | 1 +
 layerindex/__init__.py                                          | 1 +
 layerindex/admin.py                                             | 1 +
 layerindex/auth_forms.py                                        | 1 +
 layerindex/auth_views.py                                        | 1 +
 layerindex/bulkchange.py                                        | 1 +
 layerindex/context_processors.py                                | 1 +
 layerindex/forms.py                                             | 1 +
 layerindex/layerconfparse.py                                    | 1 +
 layerindex/middleware.py                                        | 1 +
 layerindex/migrations/0001_initial.py                           | 1 +
 layerindex/migrations/0002_distro.py                            | 1 +
 layerindex/migrations/0003_auto_20161011_0304.py                | 1 +
 layerindex/migrations/0004_layerdependency_required.py          | 1 +
 layerindex/migrations/0005_layerupdate.py                       | 1 +
 layerindex/migrations/0006_change_branch_meta.py                | 1 +
 layerindex/migrations/0007_layeritem_status_noupdate.py         | 1 +
 layerindex/migrations/0008_yp_compatible.py                     | 1 +
 layerindex/migrations/0009_layerbranch_collection.py            | 1 +
 layerindex/migrations/0010_add_dependencies.py                  | 1 +
 layerindex/migrations/0011_source.py                            | 1 +
 layerindex/migrations/0012_layeritem_vcs_commit_url.py          | 1 +
 layerindex/migrations/0013_patch.py                             | 1 +
 layerindex/migrations/0014_sitenotice.py                        | 1 +
 layerindex/migrations/0015_comparison.py                        | 1 +
 layerindex/migrations/0016_classicrecipe_delete.py              | 1 +
 layerindex/migrations/0017_classicrecipe_needs_attention.py     | 1 +
 layerindex/migrations/0018_layerrecipeextraurl.py               | 1 +
 layerindex/migrations/0019_layeritem_classic_comparison.py      | 1 +
 layerindex/migrations/0020_update_manual.py                     | 1 +
 layerindex/migrations/0021_layerupdate_add_layer_branch.py      | 1 +
 layerindex/migrations/0022_layerupdate_set_layer_branch.py      | 1 +
 layerindex/migrations/0023_layerupdate_layer_branch_finalise.py | 1 +
 layerindex/migrations/0024_layerupdate_vcs_revs.py              | 1 +
 layerindex/migrations/0025_update_retcode.py                    | 1 +
 layerindex/migrations/0026_incfile.py                           | 1 +
 layerindex/migrations/0027_patch_apply_order.py                 | 1 +
 layerindex/migrations/0028_branch_hidden.py                     | 1 +
 layerindex/migrations/0030_securityquestion.py                  | 1 +
 layerindex/migrations/0031_securityquestion_populate.py         | 1 +
 layerindex/migrations/0032_patchdisposition.py                  | 1 +
 layerindex/migrations/0034_source_sha256sum.py                  | 1 +
 layerindex/migrations/0036_layerbranch_local_path.py            | 1 +
 layerindex/migrations/0037_patch_applied.py                     | 1 +
 layerindex/migrations/0038_patch_striplevel.py                  | 1 +
 layerindex/migrations/0041_recipe_configopts.py                 | 1 +
 layerindex/migrations/0042_recipe_pe_pr.py                      | 1 +
 layerindex/migrations/__init__.py                               | 2 ++
 layerindex/models.py                                            | 1 +
 layerindex/querysethelper.py                                    | 1 +
 layerindex/recipedesc.py                                        | 1 +
 layerindex/recipeparse.py                                       | 1 +
 layerindex/restperm.py                                          | 1 +
 layerindex/restviews.py                                         | 1 +
 layerindex/securityquestions.py                                 | 1 +
 layerindex/static/css/additional.css                            | 1 +
 layerindex/tasks.py                                             | 1 +
 layerindex/templatetags/__init__.py                             | 1 +
 layerindex/templatetags/extrafilters.py                         | 1 +
 layerindex/tools/fedora-fetch.py                                | 1 +
 layerindex/tools/fixup_duplicates.py                            | 1 +
 layerindex/tools/github-fetch.py                                | 1 +
 layerindex/tools/import_classic.py                              | 1 +
 layerindex/tools/import_classic_wiki.py                         | 1 +
 layerindex/tools/import_layer.py                                | 1 +
 layerindex/tools/import_layers.py                               | 1 +
 layerindex/tools/import_otherdistro.py                          | 1 +
 layerindex/tools/import_project.py                              | 1 +
 layerindex/tools/import_wiki_layers.py                          | 1 +
 layerindex/tools/initial_db_dump.sh                             | 1 +
 layerindex/tools/site_name.py                                   | 1 +
 layerindex/tools/update_classic_status.py                       | 1 +
 layerindex/tools/webapi-test.py                                 | 1 +
 layerindex/update.py                                            | 1 +
 layerindex/update_layer.py                                      | 1 +
 layerindex/urls.py                                              | 1 +
 layerindex/urls_branch.py                                       | 1 +
 layerindex/utils.py                                             | 1 +
 layerindex/views.py                                             | 1 +
 manage.py                                                       | 1 +
 password_validation.py                                          | 1 +
 rrs/__init__.py                                                 | 1 +
 rrs/admin.py                                                    | 1 +
 rrs/apps.py                                                     | 1 +
 rrs/context_processors.py                                       | 1 +
 rrs/migrations/0001_initial.py                                  | 1 +
 rrs/migrations/0002_maintenanceplan.py                          | 1 +
 rrs/migrations/0003_release_plan.py                             | 1 +
 rrs/migrations/0004_maint_plan_default.py                       | 1 +
 rrs/migrations/0005_release_plan_nonnull.py                     | 1 +
 rrs/migrations/0006_maintplan_email.py                          | 1 +
 rrs/migrations/0007_python23.py                                 | 1 +
 rrs/migrations/0008_upgrade_info.py                             | 1 +
 rrs/migrations/0009_rmh_layerbranch.py                          | 1 +
 rrs/migrations/0010_recipemaintenancelink.py                    | 1 +
 rrs/migrations/0011_release_name_unique.py                      | 1 +
 rrs/migrations/0012_reup_layerbranch_field.py                   | 1 +
 rrs/migrations/0013_reup_layerbranch_populate.py                | 1 +
 rrs/migrations/0014_reup_layerbranch_nonnull.py                 | 1 +
 rrs/migrations/0015_rmh_layerbranch_populate.py                 | 1 +
 rrs/migrations/0016_rmh_layerbranch_nonnull.py                  | 1 +
 rrs/migrations/0017_maintenanceplan_maintainer_style.py         | 1 +
 rrs/migrations/0018_rmh_unique.py                               | 1 +
 rrs/migrations/0019_maintplan_admin_delete_null.py              | 1 +
 rrs/migrations/__init__.py                                      | 1 +
 rrs/models.py                                                   | 1 +
 rrs/static/css/rrs-additional.css                               | 1 +
 rrs/tools/common.py                                             | 1 +
 rrs/tools/daily_run.sh                                          | 1 +
 rrs/tools/historytool.py                                        | 1 +
 rrs/tools/rrs_distros.py                                        | 1 +
 rrs/tools/rrs_maintainer_history.py                             | 1 +
 rrs/tools/rrs_upgrade_history.py                                | 1 +
 rrs/tools/rrs_upstream_email.py                                 | 1 +
 rrs/tools/rrs_upstream_history.py                               | 1 +
 rrs/tools/upgrade_history_internal.py                           | 1 +
 rrs/urls.py                                                     | 1 +
 rrs/views.py                                                    | 1 +
 rrs/wsgi.py                                                     | 1 +
 settings.py                                                     | 1 +
 tests/test_update.py                                            | 1 +
 urls.py                                                         | 1 +
 wsgi.py                                                         | 1 +
 131 files changed, 133 insertions(+)

diff --git a/__init__.py b/__init__.py
index e69de29..e77f6cf 100644
--- a/__init__.py
+++ b/__init__.py
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: MIT
+
diff --git a/check_requirements.sh b/check_requirements.sh
index 8d8e6f5..2f39488 100644
--- a/check_requirements.sh
+++ b/check_requirements.sh
@@ -1,4 +1,5 @@
 #!/bin/sh
+# SPDX-License-Identifier: MIT
 
 # Script to be used on a regular basis to prevent requirements.txt
 # from going stale
diff --git a/docker/connectivity_check.sh b/docker/connectivity_check.sh
index 59b26b8..db27f9c 100755
--- a/docker/connectivity_check.sh
+++ b/docker/connectivity_check.sh
@@ -1,4 +1,5 @@
 #!/bin/sh
+# SPDX-License-Identifier: MIT
 
 # Run a few connectivity checks
 echo "Checking external connectivity..."
diff --git a/docker/git-proxy b/docker/git-proxy
index 6a6a526..d46685e 100755
--- a/docker/git-proxy
+++ b/docker/git-proxy
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: MIT
 
 # This simple proxy script (for git) resides at /opt/bin in the layersapp
 # container. If you use it, uncomment the appropriate line in .gitproxy
diff --git a/docker/migrate.sh b/docker/migrate.sh
index ca15368..c53f284 100755
--- a/docker/migrate.sh
+++ b/docker/migrate.sh
@@ -1,2 +1,3 @@
 #!/bin/bash
+# SPDX-License-Identifier: MIT
 python3 /opt/layerindex/manage.py migrate "$@"
diff --git a/docker/refreshlayers.sh b/docker/refreshlayers.sh
index 0c550bd..f50b11f 100755
--- a/docker/refreshlayers.sh
+++ b/docker/refreshlayers.sh
@@ -1,3 +1,4 @@
 #!/bin/bash
+# SPDX-License-Identifier: MIT
 update=/opt/layerindex/layerindex/update.py
 $update -q -r
diff --git a/docker/settings.py b/docker/settings.py
index 2821d82..d5fec42 100644
--- a/docker/settings.py
+++ b/docker/settings.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # Django settings for layerindex project.
 #
 # Based on settings.py from the Django project template
diff --git a/docker/updatelayers.sh b/docker/updatelayers.sh
index 21640ba..647b22f 100755
--- a/docker/updatelayers.sh
+++ b/docker/updatelayers.sh
@@ -1,3 +1,4 @@
 #!/bin/bash
+# SPDX-License-Identifier: MIT
 update=/opt/layerindex/layerindex/update.py
 $update -q
diff --git a/dockersetup.py b/dockersetup.py
index 3cc8b2d..3cbbfe0 100755
--- a/dockersetup.py
+++ b/dockersetup.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Layer index Docker setup script
 #
diff --git a/layerindex/__init__.py b/layerindex/__init__.py
index e69de29..548d2d4 100644
--- a/layerindex/__init__.py
+++ b/layerindex/__init__.py
@@ -0,0 +1 @@
+# SPDX-License-Identifier: MIT
diff --git a/layerindex/admin.py b/layerindex/admin.py
index b89ef56..154664c 100644
--- a/layerindex/admin.py
+++ b/layerindex/admin.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - admin interface definitions
 #
 # Copyright (C) 2013 Intel Corporation
diff --git a/layerindex/auth_forms.py b/layerindex/auth_forms.py
index fc3d2d1..747f828 100644
--- a/layerindex/auth_forms.py
+++ b/layerindex/auth_forms.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - extended authentication forms
 #
 # Copyright (C) 2018 Intel Corporation
diff --git a/layerindex/auth_views.py b/layerindex/auth_views.py
index d10c750..ae9a30c 100644
--- a/layerindex/auth_views.py
+++ b/layerindex/auth_views.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - extended authentication views
 #
 # Copyright (C) 2018 Intel Corporation
diff --git a/layerindex/bulkchange.py b/layerindex/bulkchange.py
index 3d1ee2b..1b7b9b3 100644
--- a/layerindex/bulkchange.py
+++ b/layerindex/bulkchange.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+# SPDX-License-Identifier: MIT
 
 # layerindex-web - bulk change implementation
 #
diff --git a/layerindex/context_processors.py b/layerindex/context_processors.py
index 3352e63..13ed0b8 100644
--- a/layerindex/context_processors.py
+++ b/layerindex/context_processors.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - custom context processor
 #
 # Copyright (C) 2013, 2018 Intel Corporation
diff --git a/layerindex/forms.py b/layerindex/forms.py
index 13ba3aa..0c4d4aa 100644
--- a/layerindex/forms.py
+++ b/layerindex/forms.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - form definitions
 #
 # Copyright (C) 2013, 2016-2019 Intel Corporation
diff --git a/layerindex/layerconfparse.py b/layerindex/layerconfparse.py
index a812140..18581de 100644
--- a/layerindex/layerconfparse.py
+++ b/layerindex/layerconfparse.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # Utility functions for parsing layer.conf using bitbake within layerindex-web
 #
 # Copyright (C) 2016 Wind River Systems
diff --git a/layerindex/middleware.py b/layerindex/middleware.py
index cea207e..d85784b 100644
--- a/layerindex/middleware.py
+++ b/layerindex/middleware.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - middleware definitions
 #
 # Copyright (C) 2019 Intel Corporation
diff --git a/layerindex/migrations/0001_initial.py b/layerindex/migrations/0001_initial.py
index d08a1aa..b248746 100644
--- a/layerindex/migrations/0001_initial.py
+++ b/layerindex/migrations/0001_initial.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0002_distro.py b/layerindex/migrations/0002_distro.py
index 732007d..86277ab 100644
--- a/layerindex/migrations/0002_distro.py
+++ b/layerindex/migrations/0002_distro.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0003_auto_20161011_0304.py b/layerindex/migrations/0003_auto_20161011_0304.py
index e0ccdff..f52d06c 100644
--- a/layerindex/migrations/0003_auto_20161011_0304.py
+++ b/layerindex/migrations/0003_auto_20161011_0304.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0004_layerdependency_required.py b/layerindex/migrations/0004_layerdependency_required.py
index 0700fce..6f2b8e5 100644
--- a/layerindex/migrations/0004_layerdependency_required.py
+++ b/layerindex/migrations/0004_layerdependency_required.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0005_layerupdate.py b/layerindex/migrations/0005_layerupdate.py
index 3cf4ab2..b025285 100644
--- a/layerindex/migrations/0005_layerupdate.py
+++ b/layerindex/migrations/0005_layerupdate.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0006_change_branch_meta.py b/layerindex/migrations/0006_change_branch_meta.py
index 8a9dc43..83195dd 100644
--- a/layerindex/migrations/0006_change_branch_meta.py
+++ b/layerindex/migrations/0006_change_branch_meta.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0007_layeritem_status_noupdate.py b/layerindex/migrations/0007_layeritem_status_noupdate.py
index e917b0e..2adc696 100644
--- a/layerindex/migrations/0007_layeritem_status_noupdate.py
+++ b/layerindex/migrations/0007_layeritem_status_noupdate.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0008_yp_compatible.py b/layerindex/migrations/0008_yp_compatible.py
index b4bb368..9d2577b 100644
--- a/layerindex/migrations/0008_yp_compatible.py
+++ b/layerindex/migrations/0008_yp_compatible.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0009_layerbranch_collection.py b/layerindex/migrations/0009_layerbranch_collection.py
index bf6276f..8b519b1 100644
--- a/layerindex/migrations/0009_layerbranch_collection.py
+++ b/layerindex/migrations/0009_layerbranch_collection.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0010_add_dependencies.py b/layerindex/migrations/0010_add_dependencies.py
index 16cd776..e533b6b 100644
--- a/layerindex/migrations/0010_add_dependencies.py
+++ b/layerindex/migrations/0010_add_dependencies.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0011_source.py b/layerindex/migrations/0011_source.py
index 515e71c..021dba3 100644
--- a/layerindex/migrations/0011_source.py
+++ b/layerindex/migrations/0011_source.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0012_layeritem_vcs_commit_url.py b/layerindex/migrations/0012_layeritem_vcs_commit_url.py
index 1836aba..a9bd92e 100644
--- a/layerindex/migrations/0012_layeritem_vcs_commit_url.py
+++ b/layerindex/migrations/0012_layeritem_vcs_commit_url.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0013_patch.py b/layerindex/migrations/0013_patch.py
index 9e7180e..35884d1 100644
--- a/layerindex/migrations/0013_patch.py
+++ b/layerindex/migrations/0013_patch.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0014_sitenotice.py b/layerindex/migrations/0014_sitenotice.py
index 630700c..72892bc 100644
--- a/layerindex/migrations/0014_sitenotice.py
+++ b/layerindex/migrations/0014_sitenotice.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0015_comparison.py b/layerindex/migrations/0015_comparison.py
index 7d24f13..0dfca50 100644
--- a/layerindex/migrations/0015_comparison.py
+++ b/layerindex/migrations/0015_comparison.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0016_classicrecipe_delete.py b/layerindex/migrations/0016_classicrecipe_delete.py
index e9be903..25fbd9c 100644
--- a/layerindex/migrations/0016_classicrecipe_delete.py
+++ b/layerindex/migrations/0016_classicrecipe_delete.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0017_classicrecipe_needs_attention.py b/layerindex/migrations/0017_classicrecipe_needs_attention.py
index 6d9d209..e2e6812 100644
--- a/layerindex/migrations/0017_classicrecipe_needs_attention.py
+++ b/layerindex/migrations/0017_classicrecipe_needs_attention.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/layerindex/migrations/0018_layerrecipeextraurl.py b/layerindex/migrations/0018_layerrecipeextraurl.py
index a9f7cdf..f932b2e 100644
--- a/layerindex/migrations/0018_layerrecipeextraurl.py
+++ b/layerindex/migrations/0018_layerrecipeextraurl.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-05-15 04:10
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0019_layeritem_classic_comparison.py b/layerindex/migrations/0019_layeritem_classic_comparison.py
index 64c1e7a..2c8e5d2 100644
--- a/layerindex/migrations/0019_layeritem_classic_comparison.py
+++ b/layerindex/migrations/0019_layeritem_classic_comparison.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-05-15 05:25
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0020_update_manual.py b/layerindex/migrations/0020_update_manual.py
index 1423a82..5cbda6d 100644
--- a/layerindex/migrations/0020_update_manual.py
+++ b/layerindex/migrations/0020_update_manual.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-06-07 04:55
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0021_layerupdate_add_layer_branch.py b/layerindex/migrations/0021_layerupdate_add_layer_branch.py
index 573c7cb..9bdcf56 100644
--- a/layerindex/migrations/0021_layerupdate_add_layer_branch.py
+++ b/layerindex/migrations/0021_layerupdate_add_layer_branch.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-08-13 22:44
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0022_layerupdate_set_layer_branch.py b/layerindex/migrations/0022_layerupdate_set_layer_branch.py
index e0e4729..8d68012 100644
--- a/layerindex/migrations/0022_layerupdate_set_layer_branch.py
+++ b/layerindex/migrations/0022_layerupdate_set_layer_branch.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-08-13 23:05
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0023_layerupdate_layer_branch_finalise.py b/layerindex/migrations/0023_layerupdate_layer_branch_finalise.py
index ba6b72f..b436c4d 100644
--- a/layerindex/migrations/0023_layerupdate_layer_branch_finalise.py
+++ b/layerindex/migrations/0023_layerupdate_layer_branch_finalise.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-08-13 23:06
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0024_layerupdate_vcs_revs.py b/layerindex/migrations/0024_layerupdate_vcs_revs.py
index 0d69043..0322332 100644
--- a/layerindex/migrations/0024_layerupdate_vcs_revs.py
+++ b/layerindex/migrations/0024_layerupdate_vcs_revs.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-08-13 23:24
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0025_update_retcode.py b/layerindex/migrations/0025_update_retcode.py
index d1ad814..72f15b8 100644
--- a/layerindex/migrations/0025_update_retcode.py
+++ b/layerindex/migrations/0025_update_retcode.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-09-18 00:46
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0026_incfile.py b/layerindex/migrations/0026_incfile.py
index 27168dd..2f20a25 100644
--- a/layerindex/migrations/0026_incfile.py
+++ b/layerindex/migrations/0026_incfile.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-11-05 19:50
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0027_patch_apply_order.py b/layerindex/migrations/0027_patch_apply_order.py
index efd775c..9ad37c4 100644
--- a/layerindex/migrations/0027_patch_apply_order.py
+++ b/layerindex/migrations/0027_patch_apply_order.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-02-13 02:42
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0028_branch_hidden.py b/layerindex/migrations/0028_branch_hidden.py
index c64c75b..b942fe4 100644
--- a/layerindex/migrations/0028_branch_hidden.py
+++ b/layerindex/migrations/0028_branch_hidden.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-06-21 05:15
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0030_securityquestion.py b/layerindex/migrations/0030_securityquestion.py
index 4f4db0f..265f2d2 100644
--- a/layerindex/migrations/0030_securityquestion.py
+++ b/layerindex/migrations/0030_securityquestion.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.17 on 2019-01-08 22:30
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0031_securityquestion_populate.py b/layerindex/migrations/0031_securityquestion_populate.py
index 88a2a56..a88b0f2 100644
--- a/layerindex/migrations/0031_securityquestion_populate.py
+++ b/layerindex/migrations/0031_securityquestion_populate.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.17 on 2019-01-03 01:25
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0032_patchdisposition.py b/layerindex/migrations/0032_patchdisposition.py
index 9da7bf1..35b3a73 100644
--- a/layerindex/migrations/0032_patchdisposition.py
+++ b/layerindex/migrations/0032_patchdisposition.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-03-21 20:37
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0034_source_sha256sum.py b/layerindex/migrations/0034_source_sha256sum.py
index 2349297..94c621b 100644
--- a/layerindex/migrations/0034_source_sha256sum.py
+++ b/layerindex/migrations/0034_source_sha256sum.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-04-01 03:20
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0036_layerbranch_local_path.py b/layerindex/migrations/0036_layerbranch_local_path.py
index d1d2af2..96853da 100644
--- a/layerindex/migrations/0036_layerbranch_local_path.py
+++ b/layerindex/migrations/0036_layerbranch_local_path.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-04-02 20:22
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0037_patch_applied.py b/layerindex/migrations/0037_patch_applied.py
index 2b2bddb..b097d90 100644
--- a/layerindex/migrations/0037_patch_applied.py
+++ b/layerindex/migrations/0037_patch_applied.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-04-03 12:20
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0038_patch_striplevel.py b/layerindex/migrations/0038_patch_striplevel.py
index b5b22e2..7ee2882 100644
--- a/layerindex/migrations/0038_patch_striplevel.py
+++ b/layerindex/migrations/0038_patch_striplevel.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-04-03 12:22
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0041_recipe_configopts.py b/layerindex/migrations/0041_recipe_configopts.py
index 00a9644..2574045 100644
--- a/layerindex/migrations/0041_recipe_configopts.py
+++ b/layerindex/migrations/0041_recipe_configopts.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-04-15 00:18
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/0042_recipe_pe_pr.py b/layerindex/migrations/0042_recipe_pe_pr.py
index 5583696..59246ff 100644
--- a/layerindex/migrations/0042_recipe_pe_pr.py
+++ b/layerindex/migrations/0042_recipe_pe_pr.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.24 on 2019-09-24 21:34
 from __future__ import unicode_literals
diff --git a/layerindex/migrations/__init__.py b/layerindex/migrations/__init__.py
index e69de29..e77f6cf 100644
--- a/layerindex/migrations/__init__.py
+++ b/layerindex/migrations/__init__.py
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: MIT
+
diff --git a/layerindex/models.py b/layerindex/models.py
index 332ba39..4e42cdc 100644
--- a/layerindex/models.py
+++ b/layerindex/models.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - model definitions
 #
 # Copyright (C) 2013-2018 Intel Corporation
diff --git a/layerindex/querysethelper.py b/layerindex/querysethelper.py
index 5a856ee..a550922 100644
--- a/layerindex/querysethelper.py
+++ b/layerindex/querysethelper.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 import operator
 import functools
 from django.db.models import Q, CharField
diff --git a/layerindex/recipedesc.py b/layerindex/recipedesc.py
index 26280ee..9f7ef88 100644
--- a/layerindex/recipedesc.py
+++ b/layerindex/recipedesc.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+# SPDX-License-Identifier: MIT
 
 # Test script
 #
diff --git a/layerindex/recipeparse.py b/layerindex/recipeparse.py
index 3990091..710afe0 100644
--- a/layerindex/recipeparse.py
+++ b/layerindex/recipeparse.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # Utility functions for parsing recipes using bitbake within layerindex-web
 #
 # Copyright (C) 2013 Intel Corporation
diff --git a/layerindex/restperm.py b/layerindex/restperm.py
index fb9f715..53dcf10 100644
--- a/layerindex/restperm.py
+++ b/layerindex/restperm.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 from rest_framework import permissions
 
 class ReadOnlyPermission(permissions.BasePermission):
diff --git a/layerindex/restviews.py b/layerindex/restviews.py
index 7de4cd7..e7b3b97 100644
--- a/layerindex/restviews.py
+++ b/layerindex/restviews.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # OpenEmbedded Layer Index REST API implementation
 #
 # Copyright (C) 2014, 2016-2019 Intel Corporation
diff --git a/layerindex/securityquestions.py b/layerindex/securityquestions.py
index a6a0e1c..05b5a35 100644
--- a/layerindex/securityquestions.py
+++ b/layerindex/securityquestions.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 security_questions = ["What was the name of your first pet?",
                        "What was the last name of your third grade teacher?",
                        "What is your favorite pizza topping?",
diff --git a/layerindex/static/css/additional.css b/layerindex/static/css/additional.css
index ea4e555..d85c31c 100644
--- a/layerindex/static/css/additional.css
+++ b/layerindex/static/css/additional.css
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: MIT */
 html {
     overflow-y: scroll;
 }
diff --git a/layerindex/tasks.py b/layerindex/tasks.py
index ae62b91..38046b3 100644
--- a/layerindex/tasks.py
+++ b/layerindex/tasks.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # Celery task definitions for the layer index app
 #
 # Copyright (C) 2018 Intel Corporation
diff --git a/layerindex/templatetags/__init__.py b/layerindex/templatetags/__init__.py
index e69de29..548d2d4 100644
--- a/layerindex/templatetags/__init__.py
+++ b/layerindex/templatetags/__init__.py
@@ -0,0 +1 @@
+# SPDX-License-Identifier: MIT
diff --git a/layerindex/templatetags/extrafilters.py b/layerindex/templatetags/extrafilters.py
index d79f9a1..4b7a78e 100644
--- a/layerindex/templatetags/extrafilters.py
+++ b/layerindex/templatetags/extrafilters.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 from django import template
 from .. import utils
 
diff --git a/layerindex/tools/fedora-fetch.py b/layerindex/tools/fedora-fetch.py
index 492082a..cef66f1 100755
--- a/layerindex/tools/fedora-fetch.py
+++ b/layerindex/tools/fedora-fetch.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Fedora Pagure (e.g. https://src.fedoraproject.org/) fetch utility
 
diff --git a/layerindex/tools/fixup_duplicates.py b/layerindex/tools/fixup_duplicates.py
index 5abe2c2..4939e01 100644
--- a/layerindex/tools/fixup_duplicates.py
+++ b/layerindex/tools/fixup_duplicates.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Fix recipes that were moved out
 #
diff --git a/layerindex/tools/github-fetch.py b/layerindex/tools/github-fetch.py
index 11c977a..4b6406f 100755
--- a/layerindex/tools/github-fetch.py
+++ b/layerindex/tools/github-fetch.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Github fetch utility
 
diff --git a/layerindex/tools/import_classic.py b/layerindex/tools/import_classic.py
index fca054c..fea3a6d 100755
--- a/layerindex/tools/import_classic.py
+++ b/layerindex/tools/import_classic.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Import OE-Classic recipe data into the layer index database
 #
diff --git a/layerindex/tools/import_classic_wiki.py b/layerindex/tools/import_classic_wiki.py
index bfebcd9..29d703a 100755
--- a/layerindex/tools/import_classic_wiki.py
+++ b/layerindex/tools/import_classic_wiki.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+# SPDX-License-Identifier: MIT
 
 # Import migration info from OE-Classic recipes wiki page into OE
 # layer index database
diff --git a/layerindex/tools/import_layer.py b/layerindex/tools/import_layer.py
index ace58e5..5955443 100755
--- a/layerindex/tools/import_layer.py
+++ b/layerindex/tools/import_layer.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Import a layer into the database
 #
diff --git a/layerindex/tools/import_layers.py b/layerindex/tools/import_layers.py
index 3548568..86b2699 100755
--- a/layerindex/tools/import_layers.py
+++ b/layerindex/tools/import_layers.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Import layers from another layer index instance
 #
diff --git a/layerindex/tools/import_otherdistro.py b/layerindex/tools/import_otherdistro.py
index 46eeeca..0eb51b6 100755
--- a/layerindex/tools/import_otherdistro.py
+++ b/layerindex/tools/import_otherdistro.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Import other distro information
 #
diff --git a/layerindex/tools/import_project.py b/layerindex/tools/import_project.py
index 27a0de3..8e5be8a 100755
--- a/layerindex/tools/import_project.py
+++ b/layerindex/tools/import_project.py
@@ -1,4 +1,5 @@
 #!/usr/bin/python3
+# SPDX-License-Identifier: MIT
 
 # Import a project into the database.
 #  This will scan through the directories in a project and find any layer and
diff --git a/layerindex/tools/import_wiki_layers.py b/layerindex/tools/import_wiki_layers.py
index 71f26ea..502a679 100755
--- a/layerindex/tools/import_wiki_layers.py
+++ b/layerindex/tools/import_wiki_layers.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+# SPDX-License-Identifier: MIT
 
 # Import layer index wiki page into database
 #
diff --git a/layerindex/tools/initial_db_dump.sh b/layerindex/tools/initial_db_dump.sh
index 1675092..a638aac 100755
--- a/layerindex/tools/initial_db_dump.sh
+++ b/layerindex/tools/initial_db_dump.sh
@@ -1,4 +1,5 @@
 #!/bin/sh
+# SPDX-License-Identifier: MIT
 
 # Dump database without user tables (for the purpose of creating a dump
 # that can be imported into a fresh database)
diff --git a/layerindex/tools/site_name.py b/layerindex/tools/site_name.py
index 836a0c1..8d74712 100755
--- a/layerindex/tools/site_name.py
+++ b/layerindex/tools/site_name.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+# SPDX-License-Identifier: MIT
 
 # Updates site name in Django database
 #
diff --git a/layerindex/tools/update_classic_status.py b/layerindex/tools/update_classic_status.py
index 4edfc75..6a2439d 100755
--- a/layerindex/tools/update_classic_status.py
+++ b/layerindex/tools/update_classic_status.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+# SPDX-License-Identifier: MIT
 
 # Update cover info for OE-Classic / other distro recipes in OE layer index database
 #
diff --git a/layerindex/tools/webapi-test.py b/layerindex/tools/webapi-test.py
index 20fc36b..e96a6c8 100755
--- a/layerindex/tools/webapi-test.py
+++ b/layerindex/tools/webapi-test.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Layerindex web API test utility
 
diff --git a/layerindex/update.py b/layerindex/update.py
index 851b76c..bf0b1a7 100755
--- a/layerindex/update.py
+++ b/layerindex/update.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Fetch layer repositories and update layer index database
 #
diff --git a/layerindex/update_layer.py b/layerindex/update_layer.py
index fcae54f..9c9ca69 100644
--- a/layerindex/update_layer.py
+++ b/layerindex/update_layer.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+# SPDX-License-Identifier: MIT
 
 # Update layer index database for a single layer
 #
diff --git a/layerindex/urls.py b/layerindex/urls.py
index 89e70a2..a03ad52 100644
--- a/layerindex/urls.py
+++ b/layerindex/urls.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - URL definitions
 #
 # Copyright (C) 2013, 2018 Intel Corporation
diff --git a/layerindex/urls_branch.py b/layerindex/urls_branch.py
index 2fa925a..1d91a32 100644
--- a/layerindex/urls_branch.py
+++ b/layerindex/urls_branch.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - Branch-based URL definitions
 #
 # Copyright (C) 2013-2016 Intel Corporation
diff --git a/layerindex/utils.py b/layerindex/utils.py
index 2a1689b..1536524 100644
--- a/layerindex/utils.py
+++ b/layerindex/utils.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # Utilities for layerindex-web
 #
 # Copyright (C) 2013 Intel Corporation
diff --git a/layerindex/views.py b/layerindex/views.py
index 2dacf51..743e2b1 100644
--- a/layerindex/views.py
+++ b/layerindex/views.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - view definitions
 #
 # Copyright (C) 2013-2018 Intel Corporation
diff --git a/manage.py b/manage.py
index a815fa3..7da2e47 100755
--- a/manage.py
+++ b/manage.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
 
 # layerindex-web - Django management script
 #
diff --git a/password_validation.py b/password_validation.py
index 8669250..7e7d947 100644
--- a/password_validation.py
+++ b/password_validation.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 from django.core.exceptions import ValidationError
 from django.utils.translation import ugettext as _
 
diff --git a/rrs/__init__.py b/rrs/__init__.py
index 3eab2fe..f9e0b68 100644
--- a/rrs/__init__.py
+++ b/rrs/__init__.py
@@ -1,2 +1,3 @@
+# SPDX-License-Identifier: MIT
 
 default_app_config = 'rrs.apps.RecipeReportingSystemConfig'
diff --git a/rrs/admin.py b/rrs/admin.py
index 5f75026..f7eca43 100644
--- a/rrs/admin.py
+++ b/rrs/admin.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # rrs-web - admin interface definitions
 #
 # Copyright (C) 2014 Intel Corporation
diff --git a/rrs/apps.py b/rrs/apps.py
index ea25060..54cf67d 100644
--- a/rrs/apps.py
+++ b/rrs/apps.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 from django.apps import AppConfig
 
 
diff --git a/rrs/context_processors.py b/rrs/context_processors.py
index 0d79bd1..c695adc 100644
--- a/rrs/context_processors.py
+++ b/rrs/context_processors.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # rrs-web - custom context processor
 #
 # Copyright (C) 2014 Intel Corporation
diff --git a/rrs/migrations/0001_initial.py b/rrs/migrations/0001_initial.py
index e60b934..030eeb5 100644
--- a/rrs/migrations/0001_initial.py
+++ b/rrs/migrations/0001_initial.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0002_maintenanceplan.py b/rrs/migrations/0002_maintenanceplan.py
index b6718dc..2b645f9 100644
--- a/rrs/migrations/0002_maintenanceplan.py
+++ b/rrs/migrations/0002_maintenanceplan.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0003_release_plan.py b/rrs/migrations/0003_release_plan.py
index 934ac4b..59381bc 100644
--- a/rrs/migrations/0003_release_plan.py
+++ b/rrs/migrations/0003_release_plan.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0004_maint_plan_default.py b/rrs/migrations/0004_maint_plan_default.py
index 1d192d0..2a8669a 100644
--- a/rrs/migrations/0004_maint_plan_default.py
+++ b/rrs/migrations/0004_maint_plan_default.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0005_release_plan_nonnull.py b/rrs/migrations/0005_release_plan_nonnull.py
index c797ae5..a478cf8 100644
--- a/rrs/migrations/0005_release_plan_nonnull.py
+++ b/rrs/migrations/0005_release_plan_nonnull.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0006_maintplan_email.py b/rrs/migrations/0006_maintplan_email.py
index 161af05..08fb1cf 100644
--- a/rrs/migrations/0006_maintplan_email.py
+++ b/rrs/migrations/0006_maintplan_email.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0007_python23.py b/rrs/migrations/0007_python23.py
index a7a70fb..c074f7f 100644
--- a/rrs/migrations/0007_python23.py
+++ b/rrs/migrations/0007_python23.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0008_upgrade_info.py b/rrs/migrations/0008_upgrade_info.py
index cbacfc3..2f2d9db 100644
--- a/rrs/migrations/0008_upgrade_info.py
+++ b/rrs/migrations/0008_upgrade_info.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0009_rmh_layerbranch.py b/rrs/migrations/0009_rmh_layerbranch.py
index b2a7b86..0cd78a8 100644
--- a/rrs/migrations/0009_rmh_layerbranch.py
+++ b/rrs/migrations/0009_rmh_layerbranch.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0010_recipemaintenancelink.py b/rrs/migrations/0010_recipemaintenancelink.py
index 2d94f44..09213fe 100644
--- a/rrs/migrations/0010_recipemaintenancelink.py
+++ b/rrs/migrations/0010_recipemaintenancelink.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0011_release_name_unique.py b/rrs/migrations/0011_release_name_unique.py
index 0c2442d..6deef34 100644
--- a/rrs/migrations/0011_release_name_unique.py
+++ b/rrs/migrations/0011_release_name_unique.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0012_reup_layerbranch_field.py b/rrs/migrations/0012_reup_layerbranch_field.py
index 18aebbd..46287e5 100644
--- a/rrs/migrations/0012_reup_layerbranch_field.py
+++ b/rrs/migrations/0012_reup_layerbranch_field.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0013_reup_layerbranch_populate.py b/rrs/migrations/0013_reup_layerbranch_populate.py
index f5e88a7..ec32bf6 100644
--- a/rrs/migrations/0013_reup_layerbranch_populate.py
+++ b/rrs/migrations/0013_reup_layerbranch_populate.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0014_reup_layerbranch_nonnull.py b/rrs/migrations/0014_reup_layerbranch_nonnull.py
index 1ee6ee9..1504f88 100644
--- a/rrs/migrations/0014_reup_layerbranch_nonnull.py
+++ b/rrs/migrations/0014_reup_layerbranch_nonnull.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0015_rmh_layerbranch_populate.py b/rrs/migrations/0015_rmh_layerbranch_populate.py
index 5c3d5e3..786cf29 100644
--- a/rrs/migrations/0015_rmh_layerbranch_populate.py
+++ b/rrs/migrations/0015_rmh_layerbranch_populate.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0016_rmh_layerbranch_nonnull.py b/rrs/migrations/0016_rmh_layerbranch_nonnull.py
index 5c192fd..fee2b3c 100644
--- a/rrs/migrations/0016_rmh_layerbranch_nonnull.py
+++ b/rrs/migrations/0016_rmh_layerbranch_nonnull.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
diff --git a/rrs/migrations/0017_maintenanceplan_maintainer_style.py b/rrs/migrations/0017_maintenanceplan_maintainer_style.py
index 243d43a..9ddf9dd 100644
--- a/rrs/migrations/0017_maintenanceplan_maintainer_style.py
+++ b/rrs/migrations/0017_maintenanceplan_maintainer_style.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-04-18 02:26
 from __future__ import unicode_literals
diff --git a/rrs/migrations/0018_rmh_unique.py b/rrs/migrations/0018_rmh_unique.py
index e378357..1a15d83 100644
--- a/rrs/migrations/0018_rmh_unique.py
+++ b/rrs/migrations/0018_rmh_unique.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-04-18 05:42
 from __future__ import unicode_literals
diff --git a/rrs/migrations/0019_maintplan_admin_delete_null.py b/rrs/migrations/0019_maintplan_admin_delete_null.py
index 5363181..71e1387 100644
--- a/rrs/migrations/0019_maintplan_admin_delete_null.py
+++ b/rrs/migrations/0019_maintplan_admin_delete_null.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-02-25 22:50
 from __future__ import unicode_literals
diff --git a/rrs/migrations/__init__.py b/rrs/migrations/__init__.py
index e69de29..548d2d4 100644
--- a/rrs/migrations/__init__.py
+++ b/rrs/migrations/__init__.py
@@ -0,0 +1 @@
+# SPDX-License-Identifier: MIT
diff --git a/rrs/models.py b/rrs/models.py
index 2ff6f8e..5aeb66f 100644
--- a/rrs/models.py
+++ b/rrs/models.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # rrs-web - model definitions
 #
 # Copyright (C) 2014 Intel Corporation
diff --git a/rrs/static/css/rrs-additional.css b/rrs/static/css/rrs-additional.css
index 0117a8d..20301ae 100644
--- a/rrs/static/css/rrs-additional.css
+++ b/rrs/static/css/rrs-additional.css
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: MIT */
 .recipe_column {
     max-width: 150px;
     word-wrap: break-word;
diff --git a/rrs/tools/common.py b/rrs/tools/common.py
index 7996828..07979ef 100644
--- a/rrs/tools/common.py
+++ b/rrs/tools/common.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # Common functionality for RRS tools. 
 #
 # Copyright (C) 2015 Intel Corporation
diff --git a/rrs/tools/daily_run.sh b/rrs/tools/daily_run.sh
index 99f0c01..b455b8b 100755
--- a/rrs/tools/daily_run.sh
+++ b/rrs/tools/daily_run.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: MIT
 
 rrs_dir=__RRS_PATH__
 venv_activate=__VENV_ACTIVATE__
diff --git a/rrs/tools/historytool.py b/rrs/tools/historytool.py
index 06456d1..cf4fe3b 100755
--- a/rrs/tools/historytool.py
+++ b/rrs/tools/historytool.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # RRS Upstream history export/import tool
 #
diff --git a/rrs/tools/rrs_distros.py b/rrs/tools/rrs_distros.py
index e803328..1824d29 100755
--- a/rrs/tools/rrs_distros.py
+++ b/rrs/tools/rrs_distros.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Update current distro information for recipes.
 #
diff --git a/rrs/tools/rrs_maintainer_history.py b/rrs/tools/rrs_maintainer_history.py
index faaa7c0..de2343f 100755
--- a/rrs/tools/rrs_maintainer_history.py
+++ b/rrs/tools/rrs_maintainer_history.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Standalone script which rebuilds the history of maintainership
 #
diff --git a/rrs/tools/rrs_upgrade_history.py b/rrs/tools/rrs_upgrade_history.py
index aebf5aa..718fd87 100755
--- a/rrs/tools/rrs_upgrade_history.py
+++ b/rrs/tools/rrs_upgrade_history.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Standalone script which rebuilds the history of all the upgrades.
 #
diff --git a/rrs/tools/rrs_upstream_email.py b/rrs/tools/rrs_upstream_email.py
index 0c3dbe2..0f7e64c 100755
--- a/rrs/tools/rrs_upstream_email.py
+++ b/rrs/tools/rrs_upstream_email.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 # -*- coding: utf-8 -*-
 
 # Send email to maintainers about the current status of the recipes.
diff --git a/rrs/tools/rrs_upstream_history.py b/rrs/tools/rrs_upstream_history.py
index e9346a1..a9ac75c 100755
--- a/rrs/tools/rrs_upstream_history.py
+++ b/rrs/tools/rrs_upstream_history.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python3
+# SPDX-License-Identifier: MIT
 
 # Get upstream information for recipes.
 #
diff --git a/rrs/tools/upgrade_history_internal.py b/rrs/tools/upgrade_history_internal.py
index abcc2f2..c857d8d 100644
--- a/rrs/tools/upgrade_history_internal.py
+++ b/rrs/tools/upgrade_history_internal.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # Internal script called by rrs_upgrade_history.py
 #
 # To detect package versions of the recipes the script uses the name of the recipe.
diff --git a/rrs/urls.py b/rrs/urls.py
index 30d86b7..b431bce 100644
--- a/rrs/urls.py
+++ b/rrs/urls.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 from django.conf.urls import include, url
 
 from rrs.models import Release, Milestone
diff --git a/rrs/views.py b/rrs/views.py
index a16f53c..72d46e7 100644
--- a/rrs/views.py
+++ b/rrs/views.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 import urllib
 
 import csv
diff --git a/rrs/wsgi.py b/rrs/wsgi.py
index 1d7e7b7..514c2b0 100644
--- a/rrs/wsgi.py
+++ b/rrs/wsgi.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 import os
 
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
diff --git a/settings.py b/settings.py
index e9bf6cc..d69ed1d 100644
--- a/settings.py
+++ b/settings.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # Django settings for layerindex project.
 #
 # Based on settings.py from the Django project template
diff --git a/tests/test_update.py b/tests/test_update.py
index e00775d..ae79ccc 100644
--- a/tests/test_update.py
+++ b/tests/test_update.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 # layerindex-web - tests for update script
 #
 # Copyright (C) 2018 Intel Corporation
diff --git a/urls.py b/urls.py
index 41324da..afbeded 100644
--- a/urls.py
+++ b/urls.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
 # layerindex-web - URLs
 #
 # Based on the Django project template
diff --git a/wsgi.py b/wsgi.py
index 99f0915..3aa41dd 100644
--- a/wsgi.py
+++ b/wsgi.py
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: MIT
 import os, sys
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
 sys.path.append('/var/www/html/layerindex')
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [layerindex-web] Add SPDX Identifier
  2019-10-22 13:25   ` Yann CARDAILLAC
@ 2019-10-29  3:27     ` Paul Eggleton
  0 siblings, 0 replies; 4+ messages in thread
From: Paul Eggleton @ 2019-10-29  3:27 UTC (permalink / raw)
  To: Yann CARDAILLAC; +Cc: yocto

Hi Yann

On Wednesday, 23 October 2019 2:25:48 AM NZDT Yann CARDAILLAC wrote:
> On Mon, Oct 21, 2019 at 9:37 PM Paul Eggleton <paul.eggleton@linux.intel.com>
> wrote:
> > On Tuesday, 22 October 2019 4:15:03 AM NZDT Yann CARDAILLAC wrote:
> > > https://bugzilla.yoctoproject.org/show_bug.cgi?id=13527
> > >
> > > I'm beginning the work of updating the layerindex-web repo, this one is a
> > > bit tricky, how should I treat the files generated using Django ?
> >
> > I believe the correct license for Django-derived files is BSD-3-Clause:
> >
> >   https://github.com/django/django/blob/master/LICENSE
> >
> > > I've yet to do html, txt and sh files, do you have any advices before I
> > > start?
> >
> > Note that some of the templates used for authentication originally came
> > from
> > here:
> >
> >   https://github.com/macdhuibh/django-registration-templates
> >
> > The LICENSE file indicates MIT for those though.
> >
> > The txt files are tricky because any stray newlines will affect
> > formatting. I would probably avoid touching them.
>
> I did not yet add MIT to html files, I don't really know if that makes
> sense or not?  I didn't do that because it seemed a bit weird to me, but I
> don't know what to think of that. Most of the time you'll find copyright on
> the footer of the page, but I'm not sure about Licensing those.
> 
> So here is a first iteration of the patch without htmls file licensed.

I think it's fine to add to the HTML as long as you add it as part of the Django template comment at the top and not in the actual text that gets rendered.

Looking over the license definitions they look fine, except the migrations - if these are considered derived from Django (which is fine) then they should all be BSD-3-Clause rather than some being MIT. It looks like some of the earlier ones don't have a "generated by django" comment, but they were all initially generated with ./manage.py makemigrations; some then had additional code added to them.

Cheers
Paul

-- 

Paul Eggleton
Intel System Software Products




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-10-29  3:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-21 15:15 [layerindex-web] Add SPDX Identifier Yann CARDAILLAC
2019-10-21 19:37 ` Paul Eggleton
2019-10-22 13:25   ` Yann CARDAILLAC
2019-10-29  3:27     ` Paul Eggleton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.