aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/api.go5
-rw-r--r--api/category.go5
-rw-r--r--api/entry.go5
-rw-r--r--api/feed.go5
-rw-r--r--api/icon.go5
-rw-r--r--api/middleware.go5
-rw-r--r--api/opml.go5
-rw-r--r--api/payload.go5
-rw-r--r--api/subscription.go5
-rw-r--r--api/user.go5
-rw-r--r--cli/ask_credentials.go5
-rw-r--r--cli/cli.go5
-rw-r--r--cli/create_admin.go5
-rw-r--r--cli/daemon.go5
-rw-r--r--cli/doc.go8
-rw-r--r--cli/flush_sessions.go5
-rw-r--r--cli/health_check.go5
-rw-r--r--cli/info.go5
-rw-r--r--cli/reset_password.go5
-rw-r--r--client/client.go5
-rw-r--r--client/doc.go5
-rw-r--r--client/model.go5
-rw-r--r--client/request.go5
-rw-r--r--config/config.go5
-rw-r--r--config/config_test.go5
-rw-r--r--config/doc.go8
-rw-r--r--config/options.go5
-rw-r--r--config/parser.go5
-rw-r--r--config/parser_test.go5
-rw-r--r--crypto/crypto.go5
-rw-r--r--crypto/doc.go8
-rw-r--r--database/database.go5
-rw-r--r--database/migrations.go5
-rw-r--r--doc.go8
-rw-r--r--errors/doc.go8
-rw-r--r--errors/errors.go5
-rw-r--r--fever/doc.go8
-rw-r--r--fever/handler.go5
-rw-r--r--fever/middleware.go5
-rw-r--r--fever/response.go5
-rw-r--r--googlereader/doc.go8
-rw-r--r--googlereader/handler.go5
-rw-r--r--googlereader/middleware.go5
-rw-r--r--googlereader/response.go5
-rw-r--r--http/client/client.go5
-rw-r--r--http/client/client_test.go5
-rw-r--r--http/client/doc.go8
-rw-r--r--http/client/response.go5
-rw-r--r--http/client/response_test.go5
-rw-r--r--http/cookie/cookie.go5
-rw-r--r--http/cookie/doc.go8
-rw-r--r--http/request/client_ip.go5
-rw-r--r--http/request/client_ip_test.go5
-rw-r--r--http/request/context.go5
-rw-r--r--http/request/context_test.go5
-rw-r--r--http/request/cookie.go5
-rw-r--r--http/request/cookie_test.go5
-rw-r--r--http/request/doc.go8
-rw-r--r--http/request/params.go5
-rw-r--r--http/request/params_test.go5
-rw-r--r--http/response/builder.go5
-rw-r--r--http/response/builder_test.go5
-rw-r--r--http/response/doc.go8
-rw-r--r--http/response/html/doc.go8
-rw-r--r--http/response/html/html.go5
-rw-r--r--http/response/html/html_test.go5
-rw-r--r--http/response/json/doc.go8
-rw-r--r--http/response/json/json.go5
-rw-r--r--http/response/json/json_test.go5
-rw-r--r--http/response/xml/doc.go8
-rw-r--r--http/response/xml/xml.go5
-rw-r--r--http/response/xml/xml_test.go5
-rw-r--r--http/route/doc.go8
-rw-r--r--http/route/route.go5
-rw-r--r--integration/espial/espial.go3
-rw-r--r--integration/instapaper/instapaper.go5
-rw-r--r--integration/integration.go5
-rw-r--r--integration/linkding/linkding.go5
-rw-r--r--integration/matrixbot/matrixbot.go5
-rw-r--r--integration/nunuxkeeper/nunuxkeeper.go5
-rw-r--r--integration/pinboard/pinboard.go5
-rw-r--r--integration/pocket/connector.go5
-rw-r--r--integration/pocket/pocket.go5
-rw-r--r--integration/telegrambot/telegrambot.go5
-rw-r--r--integration/wallabag/wallabag.go5
-rw-r--r--locale/catalog.go5
-rw-r--r--locale/catalog_test.go5
-rw-r--r--locale/doc.go8
-rw-r--r--locale/locale.go5
-rw-r--r--locale/locale_test.go5
-rw-r--r--locale/plural.go5
-rw-r--r--locale/plural_test.go5
-rw-r--r--locale/printer.go5
-rw-r--r--locale/printer_test.go6
-rw-r--r--logger/doc.go8
-rw-r--r--logger/logger.go5
-rw-r--r--main.go5
-rw-r--r--metric/metric.go5
-rw-r--r--model/api_key.go5
-rw-r--r--model/app_session.go5
-rw-r--r--model/categories_sort_options.go5
-rw-r--r--model/category.go5
-rw-r--r--model/doc.go8
-rw-r--r--model/enclosure.go5
-rw-r--r--model/enclosure_test.go3
-rw-r--r--model/entry.go5
-rw-r--r--model/feed.go5
-rw-r--r--model/feed_test.go5
-rw-r--r--model/home_page.go5
-rw-r--r--model/icon.go5
-rw-r--r--model/integration.go5
-rw-r--r--model/job.go5
-rw-r--r--model/model.go5
-rw-r--r--model/subscription.go5
-rw-r--r--model/theme.go5
-rw-r--r--model/user.go5
-rw-r--r--model/user_session.go5
-rw-r--r--oauth2/doc.go8
-rw-r--r--oauth2/google.go5
-rw-r--r--oauth2/manager.go5
-rw-r--r--oauth2/oidc.go5
-rw-r--r--oauth2/profile.go5
-rw-r--r--oauth2/provider.go5
-rw-r--r--proxy/media_proxy.go5
-rw-r--r--proxy/media_proxy_test.go5
-rw-r--r--proxy/proxy.go5
-rw-r--r--reader/atom/atom_03.go5
-rw-r--r--reader/atom/atom_03_test.go5
-rw-r--r--reader/atom/atom_10.go5
-rw-r--r--reader/atom/atom_10_test.go5
-rw-r--r--reader/atom/atom_common.go5
-rw-r--r--reader/atom/doc.go8
-rw-r--r--reader/atom/parser.go5
-rw-r--r--reader/atom/parser_test.go5
-rw-r--r--reader/browser/browser.go5
-rw-r--r--reader/browser/doc.go8
-rw-r--r--reader/date/doc.go8
-rw-r--r--reader/date/parser.go5
-rw-r--r--reader/date/parser_test.go5
-rw-r--r--reader/doc.go8
-rw-r--r--reader/encoding/doc.go8
-rw-r--r--reader/encoding/encoding.go5
-rw-r--r--reader/handler/handler.go5
-rw-r--r--reader/icon/doc.go8
-rw-r--r--reader/icon/finder.go5
-rw-r--r--reader/icon/finder_test.go5
-rw-r--r--reader/json/doc.go8
-rw-r--r--reader/json/json.go5
-rw-r--r--reader/json/parser.go5
-rw-r--r--reader/json/parser_test.go5
-rw-r--r--reader/media/media.go5
-rw-r--r--reader/media/media_test.go5
-rw-r--r--reader/opml/doc.go8
-rw-r--r--reader/opml/handler.go5
-rw-r--r--reader/opml/opml.go5
-rw-r--r--reader/opml/parser.go5
-rw-r--r--reader/opml/parser_test.go5
-rw-r--r--reader/opml/serializer.go5
-rw-r--r--reader/opml/serializer_test.go5
-rw-r--r--reader/opml/subscription.go5
-rw-r--r--reader/parser/doc.go8
-rw-r--r--reader/parser/format.go5
-rw-r--r--reader/parser/format_test.go5
-rw-r--r--reader/parser/parser.go5
-rw-r--r--reader/parser/parser_test.go5
-rw-r--r--reader/processor/doc.go8
-rw-r--r--reader/processor/processor.go5
-rw-r--r--reader/processor/processor_test.go5
-rw-r--r--reader/rdf/doc.go8
-rw-r--r--reader/rdf/dublincore.go5
-rw-r--r--reader/rdf/parser.go5
-rw-r--r--reader/rdf/parser_test.go5
-rw-r--r--reader/rdf/rdf.go5
-rw-r--r--reader/readability/doc.go8
-rw-r--r--reader/readability/readability.go5
-rw-r--r--reader/rewrite/doc.go8
-rw-r--r--reader/rewrite/rewrite_functions.go5
-rw-r--r--reader/rewrite/rewriter.go5
-rw-r--r--reader/rewrite/rewriter_test.go5
-rw-r--r--reader/rewrite/rules.go5
-rw-r--r--reader/rss/doc.go8
-rw-r--r--reader/rss/dublincore.go5
-rw-r--r--reader/rss/feedburner.go5
-rw-r--r--reader/rss/parser.go5
-rw-r--r--reader/rss/parser_test.go5
-rw-r--r--reader/rss/podcast.go5
-rw-r--r--reader/rss/rss.go5
-rw-r--r--reader/sanitizer/doc.go8
-rw-r--r--reader/sanitizer/sanitizer.go5
-rw-r--r--reader/sanitizer/sanitizer_test.go5
-rw-r--r--reader/sanitizer/srcset.go5
-rw-r--r--reader/sanitizer/srcset_test.go5
-rw-r--r--reader/sanitizer/strip_tags.go5
-rw-r--r--reader/sanitizer/strip_tags_test.go5
-rw-r--r--reader/sanitizer/truncate.go5
-rw-r--r--reader/sanitizer/truncate_test.go5
-rw-r--r--reader/scraper/doc.go8
-rw-r--r--reader/scraper/rules.go5
-rw-r--r--reader/scraper/scraper.go5
-rw-r--r--reader/scraper/scraper_test.go5
-rw-r--r--reader/subscription/doc.go8
-rw-r--r--reader/subscription/finder.go5
-rw-r--r--reader/subscription/finder_test.go5
-rw-r--r--reader/subscription/subscription.go5
-rw-r--r--reader/xml/decoder.go5
-rw-r--r--reader/xml/decoder_test.go5
-rw-r--r--service/httpd/doc.go8
-rw-r--r--service/httpd/httpd.go5
-rw-r--r--service/httpd/middleware.go5
-rw-r--r--service/scheduler/doc.go8
-rw-r--r--service/scheduler/scheduler.go5
-rw-r--r--storage/api_key.go5
-rw-r--r--storage/category.go5
-rw-r--r--storage/certificate_cache.go5
-rw-r--r--storage/doc.go8
-rw-r--r--storage/enclosure.go5
-rw-r--r--storage/entry.go5
-rw-r--r--storage/entry_pagination_builder.go5
-rw-r--r--storage/entry_query_builder.go5
-rw-r--r--storage/feed.go5
-rw-r--r--storage/feed_query_builder.go5
-rw-r--r--storage/icon.go5
-rw-r--r--storage/integration.go5
-rw-r--r--storage/job.go5
-rw-r--r--storage/session.go5
-rw-r--r--storage/storage.go5
-rw-r--r--storage/timezone.go5
-rw-r--r--storage/user.go5
-rw-r--r--storage/user_session.go5
-rw-r--r--systemd/systemd.go5
-rw-r--r--template/engine.go5
-rw-r--r--template/functions.go5
-rw-r--r--template/functions_test.go5
-rw-r--r--tests/category_test.go5
-rw-r--r--tests/doc.go8
-rw-r--r--tests/endpoint_test.go5
-rw-r--r--tests/entry_test.go5
-rw-r--r--tests/feed_test.go5
-rw-r--r--tests/import_export_test.go5
-rw-r--r--tests/subscription_test.go5
-rw-r--r--tests/tests.go5
-rw-r--r--tests/user_test.go5
-rw-r--r--timer/doc.go8
-rw-r--r--timer/timer.go5
-rw-r--r--timezone/doc.go8
-rw-r--r--timezone/timezone.go5
-rw-r--r--timezone/timezone_test.go5
-rw-r--r--ui/about.go5
-rw-r--r--ui/api_key_create.go5
-rw-r--r--ui/api_key_list.go5
-rw-r--r--ui/api_key_remove.go5
-rw-r--r--ui/api_key_save.go5
-rw-r--r--ui/bookmark_entries.go5
-rw-r--r--ui/category_create.go5
-rw-r--r--ui/category_edit.go5
-rw-r--r--ui/category_entries.go5
-rw-r--r--ui/category_entries_all.go5
-rw-r--r--ui/category_feeds.go5
-rw-r--r--ui/category_list.go5
-rw-r--r--ui/category_mark_as_read.go5
-rw-r--r--ui/category_refresh.go5
-rw-r--r--ui/category_remove.go5
-rw-r--r--ui/category_save.go5
-rw-r--r--ui/category_update.go5
-rw-r--r--ui/doc.go8
-rw-r--r--ui/entry_bookmark.go5
-rw-r--r--ui/entry_category.go5
-rw-r--r--ui/entry_enclosure_save_position.go5
-rw-r--r--ui/entry_feed.go5
-rw-r--r--ui/entry_read.go5
-rw-r--r--ui/entry_save.go5
-rw-r--r--ui/entry_scraper.go5
-rw-r--r--ui/entry_search.go5
-rw-r--r--ui/entry_toggle_bookmark.go5
-rw-r--r--ui/entry_unread.go5
-rw-r--r--ui/entry_update_status.go5
-rw-r--r--ui/feed_edit.go5
-rw-r--r--ui/feed_entries.go5
-rw-r--r--ui/feed_entries_all.go5
-rw-r--r--ui/feed_icon.go5
-rw-r--r--ui/feed_list.go5
-rw-r--r--ui/feed_mark_as_read.go5
-rw-r--r--ui/feed_refresh.go5
-rw-r--r--ui/feed_remove.go5
-rw-r--r--ui/feed_update.go5
-rw-r--r--ui/form/api_key.go5
-rw-r--r--ui/form/auth.go5
-rw-r--r--ui/form/category.go5
-rw-r--r--ui/form/doc.go8
-rw-r--r--ui/form/feed.go5
-rw-r--r--ui/form/integration.go5
-rw-r--r--ui/form/settings.go5
-rw-r--r--ui/form/settings_test.go3
-rw-r--r--ui/form/subscription.go5
-rw-r--r--ui/form/user.go5
-rw-r--r--ui/handler.go5
-rw-r--r--ui/history_entries.go5
-rw-r--r--ui/history_flush.go5
-rw-r--r--ui/integration_pocket.go5
-rw-r--r--ui/integration_show.go5
-rw-r--r--ui/integration_update.go5
-rw-r--r--ui/login_check.go3
-rw-r--r--ui/login_show.go5
-rw-r--r--ui/logout.go5
-rw-r--r--ui/middleware.go5
-rw-r--r--ui/oauth2.go5
-rw-r--r--ui/oauth2_callback.go5
-rw-r--r--ui/oauth2_redirect.go5
-rw-r--r--ui/oauth2_unlink.go5
-rw-r--r--ui/offline.go5
-rw-r--r--ui/opml_export.go5
-rw-r--r--ui/opml_import.go5
-rw-r--r--ui/opml_upload.go5
-rw-r--r--ui/pagination.go5
-rw-r--r--ui/proxy.go5
-rw-r--r--ui/search_entries.go5
-rw-r--r--ui/session/doc.go8
-rw-r--r--ui/session/session.go5
-rw-r--r--ui/session_list.go5
-rw-r--r--ui/session_remove.go5
-rw-r--r--ui/settings_show.go5
-rw-r--r--ui/settings_update.go5
-rw-r--r--ui/share.go5
-rw-r--r--ui/shared_entries.go5
-rw-r--r--ui/static/doc.go8
-rw-r--r--ui/static/static.go5
-rw-r--r--ui/static_app_icon.go5
-rw-r--r--ui/static_favicon.go5
-rw-r--r--ui/static_javascript.go5
-rw-r--r--ui/static_manifest.go5
-rw-r--r--ui/static_stylesheet.go5
-rw-r--r--ui/subscription_add.go5
-rw-r--r--ui/subscription_bookmarklet.go5
-rw-r--r--ui/subscription_choose.go5
-rw-r--r--ui/subscription_submit.go5
-rw-r--r--ui/ui.go5
-rw-r--r--ui/unread_entries.go5
-rw-r--r--ui/unread_mark_all_read.go5
-rw-r--r--ui/user_create.go5
-rw-r--r--ui/user_edit.go5
-rw-r--r--ui/user_list.go5
-rw-r--r--ui/user_remove.go5
-rw-r--r--ui/user_save.go5
-rw-r--r--ui/user_update.go5
-rw-r--r--ui/view/doc.go8
-rw-r--r--ui/view/view.go5
-rw-r--r--url/doc.go8
-rw-r--r--url/url.go5
-rw-r--r--url/url_test.go5
-rw-r--r--validator/category.go5
-rw-r--r--validator/entry.go5
-rw-r--r--validator/entry_test.go5
-rw-r--r--validator/feed.go5
-rw-r--r--validator/subscription.go5
-rw-r--r--validator/user.go5
-rw-r--r--validator/validator.go5
-rw-r--r--validator/validator_test.go5
-rw-r--r--version/doc.go8
-rw-r--r--version/version.go5
-rw-r--r--worker/doc.go8
-rw-r--r--worker/pool.go5
-rw-r--r--worker/worker.go5
362 files changed, 629 insertions, 1324 deletions
diff --git a/api/api.go b/api/api.go
index ff2126d2..03e6c1fb 100644
--- a/api/api.go
+++ b/api/api.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package api // import "miniflux.app/api"
diff --git a/api/category.go b/api/category.go
index 64cc036b..3f4723a2 100644
--- a/api/category.go
+++ b/api/category.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package api // import "miniflux.app/api"
diff --git a/api/entry.go b/api/entry.go
index 5545b200..26c306c6 100644
--- a/api/entry.go
+++ b/api/entry.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package api // import "miniflux.app/api"
diff --git a/api/feed.go b/api/feed.go
index 725ed801..339557c5 100644
--- a/api/feed.go
+++ b/api/feed.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package api // import "miniflux.app/api"
diff --git a/api/icon.go b/api/icon.go
index 4720cddc..6dc19dff 100644
--- a/api/icon.go
+++ b/api/icon.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package api // import "miniflux.app/api"
diff --git a/api/middleware.go b/api/middleware.go
index d7cf7483..da7b4652 100644
--- a/api/middleware.go
+++ b/api/middleware.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package api // import "miniflux.app/api"
diff --git a/api/opml.go b/api/opml.go
index e5af7c9d..bc269286 100644
--- a/api/opml.go
+++ b/api/opml.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package api // import "miniflux.app/api"
diff --git a/api/payload.go b/api/payload.go
index 16eca293..1bd8505d 100644
--- a/api/payload.go
+++ b/api/payload.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package api // import "miniflux.app/api"
diff --git a/api/subscription.go b/api/subscription.go
index f391dc9d..5f7be916 100644
--- a/api/subscription.go
+++ b/api/subscription.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package api // import "miniflux.app/api"
diff --git a/api/user.go b/api/user.go
index cd40bc68..b985d1e9 100644
--- a/api/user.go
+++ b/api/user.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package api // import "miniflux.app/api"
diff --git a/cli/ask_credentials.go b/cli/ask_credentials.go
index 37341325..d8aa0de5 100644
--- a/cli/ask_credentials.go
+++ b/cli/ask_credentials.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package cli // import "miniflux.app/cli"
diff --git a/cli/cli.go b/cli/cli.go
index 5f17a85d..664fac22 100644
--- a/cli/cli.go
+++ b/cli/cli.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package cli // import "miniflux.app/cli"
diff --git a/cli/create_admin.go b/cli/create_admin.go
index 9eefc370..8070e646 100644
--- a/cli/create_admin.go
+++ b/cli/create_admin.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package cli // import "miniflux.app/cli"
diff --git a/cli/daemon.go b/cli/daemon.go
index 5953bb95..4ab42bcf 100644
--- a/cli/daemon.go
+++ b/cli/daemon.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package cli // import "miniflux.app/cli"
diff --git a/cli/doc.go b/cli/doc.go
deleted file mode 100644
index a7bab431..00000000
--- a/cli/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package cli implements command line arguments for Miniflux application.
-*/
-package cli // import "miniflux.app/cli"
diff --git a/cli/flush_sessions.go b/cli/flush_sessions.go
index 43e6e930..0d02d1bc 100644
--- a/cli/flush_sessions.go
+++ b/cli/flush_sessions.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package cli // import "miniflux.app/cli"
diff --git a/cli/health_check.go b/cli/health_check.go
index 8e6a4e85..b04135b1 100644
--- a/cli/health_check.go
+++ b/cli/health_check.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package cli // import "miniflux.app/cli"
diff --git a/cli/info.go b/cli/info.go
index 8cbc028b..182d2587 100644
--- a/cli/info.go
+++ b/cli/info.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package cli // import "miniflux.app/cli"
diff --git a/cli/reset_password.go b/cli/reset_password.go
index 93556576..3fb634cf 100644
--- a/cli/reset_password.go
+++ b/cli/reset_password.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package cli // import "miniflux.app/cli"
diff --git a/client/client.go b/client/client.go
index e1276d06..67d0fbd0 100644
--- a/client/client.go
+++ b/client/client.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package client // import "miniflux.app/client"
diff --git a/client/doc.go b/client/doc.go
index aadfe992..b44495a1 100644
--- a/client/doc.go
+++ b/client/doc.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
/*
Package client implements a client library for the Miniflux REST API.
diff --git a/client/model.go b/client/model.go
index 0e18c29a..e544c832 100644
--- a/client/model.go
+++ b/client/model.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package client // import "miniflux.app/client"
diff --git a/client/request.go b/client/request.go
index 913c5dc7..f409f979 100644
--- a/client/request.go
+++ b/client/request.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package client // import "miniflux.app/client"
diff --git a/config/config.go b/config/config.go
index 60909748..fa999b7d 100644
--- a/config/config.go
+++ b/config/config.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package config // import "miniflux.app/config"
diff --git a/config/config_test.go b/config/config_test.go
index de502d7a..8eb0e88d 100644
--- a/config/config_test.go
+++ b/config/config_test.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package config // import "miniflux.app/config"
diff --git a/config/doc.go b/config/doc.go
deleted file mode 100644
index acaa32f0..00000000
--- a/config/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package config handles configuration management for the application.
-*/
-package config // import "miniflux.app/config"
diff --git a/config/options.go b/config/options.go
index d92645fc..f7448578 100644
--- a/config/options.go
+++ b/config/options.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package config // import "miniflux.app/config"
diff --git a/config/parser.go b/config/parser.go
index 770870d0..d8c3c7db 100644
--- a/config/parser.go
+++ b/config/parser.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package config // import "miniflux.app/config"
diff --git a/config/parser_test.go b/config/parser_test.go
index 8f896c12..8b080cb1 100644
--- a/config/parser_test.go
+++ b/config/parser_test.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package config // import "miniflux.app/config"
diff --git a/crypto/crypto.go b/crypto/crypto.go
index c06cd307..5e0b688f 100644
--- a/crypto/crypto.go
+++ b/crypto/crypto.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package crypto // import "miniflux.app/crypto"
diff --git a/crypto/doc.go b/crypto/doc.go
deleted file mode 100644
index 060c48b2..00000000
--- a/crypto/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package crypto implements helpers related to cryptography.
-*/
-package crypto // import "miniflux.app/crypto"
diff --git a/database/database.go b/database/database.go
index d310e072..274f128c 100644
--- a/database/database.go
+++ b/database/database.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package database // import "miniflux.app/database"
diff --git a/database/migrations.go b/database/migrations.go
index edf926dc..32161e35 100644
--- a/database/migrations.go
+++ b/database/migrations.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package database // import "miniflux.app/database"
diff --git a/doc.go b/doc.go
deleted file mode 100644
index 7d315a57..00000000
--- a/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Miniflux is a feed reader application.
-*/
-package main // import "miniflux.app"
diff --git a/errors/doc.go b/errors/doc.go
deleted file mode 100644
index cc509ff2..00000000
--- a/errors/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package errors handles localized errors.
-*/
-package errors // import "miniflux.app/errors"
diff --git a/errors/errors.go b/errors/errors.go
index e6a979a4..7abdae73 100644
--- a/errors/errors.go
+++ b/errors/errors.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package errors // import "miniflux.app/errors"
diff --git a/fever/doc.go b/fever/doc.go
deleted file mode 100644
index 87d2ade5..00000000
--- a/fever/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package fever implements Fever API endpoints.
-*/
-package fever // import "miniflux.app/fever"
diff --git a/fever/handler.go b/fever/handler.go
index 3be63916..c7c576b3 100644
--- a/fever/handler.go
+++ b/fever/handler.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package fever // import "miniflux.app/fever"
diff --git a/fever/middleware.go b/fever/middleware.go
index e4bbf871..0f8f8482 100644
--- a/fever/middleware.go
+++ b/fever/middleware.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package fever // import "miniflux.app/fever"
diff --git a/fever/response.go b/fever/response.go
index 0c68646a..6c8346d7 100644
--- a/fever/response.go
+++ b/fever/response.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package fever // import "miniflux.app/fever"
diff --git a/googlereader/doc.go b/googlereader/doc.go
deleted file mode 100644
index 10b3d564..00000000
--- a/googlereader/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2022 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package googlereader implements Google Reader API endpoints.
-*/
-package googlereader // import "miniflux.app/googlereader"
diff --git a/googlereader/handler.go b/googlereader/handler.go
index f52b38bf..49815012 100644
--- a/googlereader/handler.go
+++ b/googlereader/handler.go
@@ -1,6 +1,5 @@
-// Copyright 2022 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package googlereader // import "miniflux.app/googlereader"
diff --git a/googlereader/middleware.go b/googlereader/middleware.go
index c7d542e6..d999582e 100644
--- a/googlereader/middleware.go
+++ b/googlereader/middleware.go
@@ -1,6 +1,5 @@
-// Copyright 2022 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package googlereader // import "miniflux.app/googlereader"
diff --git a/googlereader/response.go b/googlereader/response.go
index 58501256..6ea96a58 100644
--- a/googlereader/response.go
+++ b/googlereader/response.go
@@ -1,6 +1,5 @@
-// Copyright 2022 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package googlereader // import "miniflux.app/googlereader"
diff --git a/http/client/client.go b/http/client/client.go
index cb966944..6e7c2282 100644
--- a/http/client/client.go
+++ b/http/client/client.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package client // import "miniflux.app/http/client"
diff --git a/http/client/client_test.go b/http/client/client_test.go
index 618345cf..7c65aa63 100644
--- a/http/client/client_test.go
+++ b/http/client/client_test.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package client // import "miniflux.app/http/client"
diff --git a/http/client/doc.go b/http/client/doc.go
deleted file mode 100644
index 03cb6cf0..00000000
--- a/http/client/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package client provides an HTTP client builder.
-*/
-package client // import "miniflux.app/http/client"
diff --git a/http/client/response.go b/http/client/response.go
index e61bf562..5f25eaf1 100644
--- a/http/client/response.go
+++ b/http/client/response.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package client // import "miniflux.app/http/client"
diff --git a/http/client/response_test.go b/http/client/response_test.go
index dfcf17e5..42aa2ec0 100644
--- a/http/client/response_test.go
+++ b/http/client/response_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package client // import "miniflux.app/http/client"
diff --git a/http/cookie/cookie.go b/http/cookie/cookie.go
index 8874c412..37688b55 100644
--- a/http/cookie/cookie.go
+++ b/http/cookie/cookie.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package cookie // import "miniflux.app/http/cookie"
diff --git a/http/cookie/doc.go b/http/cookie/doc.go
deleted file mode 100644
index f80831bb..00000000
--- a/http/cookie/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package cookie provides functions to build cookies.
-*/
-package cookie // import "miniflux.app/http/cookie"
diff --git a/http/request/client_ip.go b/http/request/client_ip.go
index 83d3a577..32952b67 100644
--- a/http/request/client_ip.go
+++ b/http/request/client_ip.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package request // import "miniflux.app/http/request"
diff --git a/http/request/client_ip_test.go b/http/request/client_ip_test.go
index 714b0dcd..5a76fd6b 100644
--- a/http/request/client_ip_test.go
+++ b/http/request/client_ip_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package request // import "miniflux.app/http/request"
diff --git a/http/request/context.go b/http/request/context.go
index 542c3d49..3fdaf798 100644
--- a/http/request/context.go
+++ b/http/request/context.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package request // import "miniflux.app/http/request"
diff --git a/http/request/context_test.go b/http/request/context_test.go
index f33e2d87..6f3858fb 100644
--- a/http/request/context_test.go
+++ b/http/request/context_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package request // import "miniflux.app/http/request"
diff --git a/http/request/cookie.go b/http/request/cookie.go
index 88cc626b..dddf1aed 100644
--- a/http/request/cookie.go
+++ b/http/request/cookie.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package request // import "miniflux.app/http/request"
diff --git a/http/request/cookie_test.go b/http/request/cookie_test.go
index 9c3b54db..ec8f1a8a 100644
--- a/http/request/cookie_test.go
+++ b/http/request/cookie_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package request // import "miniflux.app/http/request"
diff --git a/http/request/doc.go b/http/request/doc.go
deleted file mode 100644
index a35fcae2..00000000
--- a/http/request/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package request contains helper functions to work with the HTTP request.
-*/
-package request // import "miniflux.app/http/request"
diff --git a/http/request/params.go b/http/request/params.go
index 3c5849ca..dc7512b6 100644
--- a/http/request/params.go
+++ b/http/request/params.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package request // import "miniflux.app/http/request"
diff --git a/http/request/params_test.go b/http/request/params_test.go
index 7f1f8802..852959af 100644
--- a/http/request/params_test.go
+++ b/http/request/params_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package request // import "miniflux.app/http/request"
diff --git a/http/response/builder.go b/http/response/builder.go
index 99197293..33c144b5 100644
--- a/http/response/builder.go
+++ b/http/response/builder.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package response // import "miniflux.app/http/response"
diff --git a/http/response/builder_test.go b/http/response/builder_test.go
index c154dfe3..069eba78 100644
--- a/http/response/builder_test.go
+++ b/http/response/builder_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package response // import "miniflux.app/http/response"
diff --git a/http/response/doc.go b/http/response/doc.go
deleted file mode 100644
index 6987ae26..00000000
--- a/http/response/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package response contains everything related to HTTP responses.
-*/
-package response // import "miniflux.app/http/response"
diff --git a/http/response/html/doc.go b/http/response/html/doc.go
deleted file mode 100644
index 9051ea4f..00000000
--- a/http/response/html/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package html contains HTML response functions.
-*/
-package html // import "miniflux.app/http/response/html"
diff --git a/http/response/html/html.go b/http/response/html/html.go
index 3bba07f3..29d00592 100644
--- a/http/response/html/html.go
+++ b/http/response/html/html.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package html // import "miniflux.app/http/response/html"
diff --git a/http/response/html/html_test.go b/http/response/html/html_test.go
index 62c9bb80..433e1691 100644
--- a/http/response/html/html_test.go
+++ b/http/response/html/html_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package html // import "miniflux.app/http/response/html"
diff --git a/http/response/json/doc.go b/http/response/json/doc.go
deleted file mode 100644
index 7c10e5e6..00000000
--- a/http/response/json/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package json contains JSON response functions.
-*/
-package json // import "miniflux.app/http/response/json"
diff --git a/http/response/json/json.go b/http/response/json/json.go
index dfd49784..3033045d 100644
--- a/http/response/json/json.go
+++ b/http/response/json/json.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package json // import "miniflux.app/http/response/json"
diff --git a/http/response/json/json_test.go b/http/response/json/json_test.go
index ee5580bf..1f3e6f19 100644
--- a/http/response/json/json_test.go
+++ b/http/response/json/json_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package json // import "miniflux.app/http/response/json"
diff --git a/http/response/xml/doc.go b/http/response/xml/doc.go
deleted file mode 100644
index 8ca4655e..00000000
--- a/http/response/xml/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package xml contains XML response functions.
-*/
-package xml // import "miniflux.app/http/response/xml"
diff --git a/http/response/xml/xml.go b/http/response/xml/xml.go
index 771a85ef..de26ad66 100644
--- a/http/response/xml/xml.go
+++ b/http/response/xml/xml.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package xml // import "miniflux.app/http/response/xml"
diff --git a/http/response/xml/xml_test.go b/http/response/xml/xml_test.go
index ada6bd4f..638e14d4 100644
--- a/http/response/xml/xml_test.go
+++ b/http/response/xml/xml_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package xml // import "miniflux.app/http/response/xml"
diff --git a/http/route/doc.go b/http/route/doc.go
deleted file mode 100644
index 3633d709..00000000
--- a/http/route/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package route contains helper functions to work with defined routes.
-*/
-package route // import "miniflux.app/http/route"
diff --git a/http/route/route.go b/http/route/route.go
index 0a0ec3b6..4cee659e 100644
--- a/http/route/route.go
+++ b/http/route/route.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package route // import "miniflux.app/http/route"
diff --git a/integration/espial/espial.go b/integration/espial/espial.go
index 0ae8f0d5..c276774f 100644
--- a/integration/espial/espial.go
+++ b/integration/espial/espial.go
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
+
package espial // import "miniflux.app/integration/espial"
import (
diff --git a/integration/instapaper/instapaper.go b/integration/instapaper/instapaper.go
index e333a177..2f24a813 100644
--- a/integration/instapaper/instapaper.go
+++ b/integration/instapaper/instapaper.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package instapaper // import "miniflux.app/integration/instapaper"
diff --git a/integration/integration.go b/integration/integration.go
index 898380a1..373c27d1 100644
--- a/integration/integration.go
+++ b/integration/integration.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package integration // import "miniflux.app/integration"
diff --git a/integration/linkding/linkding.go b/integration/linkding/linkding.go
index ec67ef2d..72a9fc34 100644
--- a/integration/linkding/linkding.go
+++ b/integration/linkding/linkding.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package linkding // import "miniflux.app/integration/linkding"
diff --git a/integration/matrixbot/matrixbot.go b/integration/matrixbot/matrixbot.go
index 35ec1763..b9aab38c 100644
--- a/integration/matrixbot/matrixbot.go
+++ b/integration/matrixbot/matrixbot.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package matrixbot // import "miniflux.app/integration/matrixbot"
diff --git a/integration/nunuxkeeper/nunuxkeeper.go b/integration/nunuxkeeper/nunuxkeeper.go
index 31e51d86..217cb371 100644
--- a/integration/nunuxkeeper/nunuxkeeper.go
+++ b/integration/nunuxkeeper/nunuxkeeper.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package nunuxkeeper // import "miniflux.app/integration/nunuxkeeper"
diff --git a/integration/pinboard/pinboard.go b/integration/pinboard/pinboard.go
index 12bddf1b..5a56ef20 100644
--- a/integration/pinboard/pinboard.go
+++ b/integration/pinboard/pinboard.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package pinboard // import "miniflux.app/integration/pinboard"
diff --git a/integration/pocket/connector.go b/integration/pocket/connector.go
index ab6796ab..3df818d4 100644
--- a/integration/pocket/connector.go
+++ b/integration/pocket/connector.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package pocket // import "miniflux.app/integration/pocket"
diff --git a/integration/pocket/pocket.go b/integration/pocket/pocket.go
index 52214e24..6d46ccfc 100644
--- a/integration/pocket/pocket.go
+++ b/integration/pocket/pocket.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package pocket // import "miniflux.app/integration/pocket"
diff --git a/integration/telegrambot/telegrambot.go b/integration/telegrambot/telegrambot.go
index b24974bc..b7dbbcdc 100644
--- a/integration/telegrambot/telegrambot.go
+++ b/integration/telegrambot/telegrambot.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package telegrambot // import "miniflux.app/integration/telegrambot"
diff --git a/integration/wallabag/wallabag.go b/integration/wallabag/wallabag.go
index 4f04f586..0255714f 100644
--- a/integration/wallabag/wallabag.go
+++ b/integration/wallabag/wallabag.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package wallabag // import "miniflux.app/integration/wallabag"
diff --git a/locale/catalog.go b/locale/catalog.go
index 60a47dcd..71053c41 100644
--- a/locale/catalog.go
+++ b/locale/catalog.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package locale // import "miniflux.app/locale"
diff --git a/locale/catalog_test.go b/locale/catalog_test.go
index 35232fcd..203a9f0c 100644
--- a/locale/catalog_test.go
+++ b/locale/catalog_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package locale // import "miniflux.app/locale"
diff --git a/locale/doc.go b/locale/doc.go
deleted file mode 100644
index 2f6849e7..00000000
--- a/locale/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package locale handles the internationalization of the application.
-*/
-package locale // import "miniflux.app/locale"
diff --git a/locale/locale.go b/locale/locale.go
index bdf22255..8c6e4915 100644
--- a/locale/locale.go
+++ b/locale/locale.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package locale // import "miniflux.app/locale"
diff --git a/locale/locale_test.go b/locale/locale_test.go
index 9f49b601..c69157fe 100644
--- a/locale/locale_test.go
+++ b/locale/locale_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package locale // import "miniflux.app/locale"
diff --git a/locale/plural.go b/locale/plural.go
index 9fe21af1..37ef1580 100644
--- a/locale/plural.go
+++ b/locale/plural.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package locale // import "miniflux.app/locale"
diff --git a/locale/plural_test.go b/locale/plural_test.go
index 4cd9accc..5d1d3b61 100644
--- a/locale/plural_test.go
+++ b/locale/plural_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package locale // import "miniflux.app/locale"
diff --git a/locale/printer.go b/locale/printer.go
index ef04e050..1a2812f2 100644
--- a/locale/printer.go
+++ b/locale/printer.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package locale // import "miniflux.app/locale"
diff --git a/locale/printer_test.go b/locale/printer_test.go
index 1d8f58d6..54510a6a 100644
--- a/locale/printer_test.go
+++ b/locale/printer_test.go
@@ -1,6 +1,6 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
+
package locale // import "miniflux.app/locale"
import "testing"
diff --git a/logger/doc.go b/logger/doc.go
deleted file mode 100644
index 82852a44..00000000
--- a/logger/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package logger handles application log messages with different levels.
-*/
-package logger // import "miniflux.app/logger"
diff --git a/logger/logger.go b/logger/logger.go
index f329b2c6..67e8ce3d 100644
--- a/logger/logger.go
+++ b/logger/logger.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package logger // import "miniflux.app/logger"
diff --git a/main.go b/main.go
index aaed0c53..a3b9c6d0 100644
--- a/main.go
+++ b/main.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package main // import "miniflux.app"
diff --git a/metric/metric.go b/metric/metric.go
index 924f44ac..2ec51978 100644
--- a/metric/metric.go
+++ b/metric/metric.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package metric // import "miniflux.app/metric"
diff --git a/model/api_key.go b/model/api_key.go
index 479c429e..7f105a68 100644
--- a/model/api_key.go
+++ b/model/api_key.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/app_session.go b/model/app_session.go
index ad4db3bb..ad4fb5dc 100644
--- a/model/app_session.go
+++ b/model/app_session.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/categories_sort_options.go b/model/categories_sort_options.go
index fa77f1cc..0ec086bf 100644
--- a/model/categories_sort_options.go
+++ b/model/categories_sort_options.go
@@ -1,6 +1,5 @@
-// Copyright 2022 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/category.go b/model/category.go
index 6bb415d4..a66e63db 100644
--- a/model/category.go
+++ b/model/category.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/doc.go b/model/doc.go
deleted file mode 100644
index c5536ff1..00000000
--- a/model/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package model contains all data structures used by the application.
-*/
-package model // import "miniflux.app/model"
diff --git a/model/enclosure.go b/model/enclosure.go
index b0887ef4..b25657e5 100644
--- a/model/enclosure.go
+++ b/model/enclosure.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
import "strings"
diff --git a/model/enclosure_test.go b/model/enclosure_test.go
index e1a3b6b4..37b19b4d 100644
--- a/model/enclosure_test.go
+++ b/model/enclosure_test.go
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
+
package model
import (
diff --git a/model/entry.go b/model/entry.go
index 3290d273..3bb396b8 100644
--- a/model/entry.go
+++ b/model/entry.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/feed.go b/model/feed.go
index 3294c0d6..5abaa9eb 100644
--- a/model/feed.go
+++ b/model/feed.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/feed_test.go b/model/feed_test.go
index f24ce497..0083c2f4 100644
--- a/model/feed_test.go
+++ b/model/feed_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/home_page.go b/model/home_page.go
index f5195550..4f0737ef 100644
--- a/model/home_page.go
+++ b/model/home_page.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/icon.go b/model/icon.go
index e47fc4a5..f039798b 100644
--- a/model/icon.go
+++ b/model/icon.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/integration.go b/model/integration.go
index bab15ca0..3002e07a 100644
--- a/model/integration.go
+++ b/model/integration.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/job.go b/model/job.go
index 7a42437a..af303d17 100644
--- a/model/job.go
+++ b/model/job.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/model.go b/model/model.go
index 74b72b34..fa990c98 100644
--- a/model/model.go
+++ b/model/model.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/subscription.go b/model/subscription.go
index e1157cb5..281ec30d 100644
--- a/model/subscription.go
+++ b/model/subscription.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/theme.go b/model/theme.go
index 12016ce7..64cc3e37 100644
--- a/model/theme.go
+++ b/model/theme.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/user.go b/model/user.go
index 62a0594d..19fbf612 100644
--- a/model/user.go
+++ b/model/user.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/model/user_session.go b/model/user_session.go
index 55c2d67c..6db92b0c 100644
--- a/model/user_session.go
+++ b/model/user_session.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package model // import "miniflux.app/model"
diff --git a/oauth2/doc.go b/oauth2/doc.go
deleted file mode 100644
index bfc0ff68..00000000
--- a/oauth2/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package oauth2 abstracts different OAuth2 providers.
-*/
-package oauth2 // import "miniflux.app/oauth2"
diff --git a/oauth2/google.go b/oauth2/google.go
index d0685f0b..ba5f33d6 100644
--- a/oauth2/google.go
+++ b/oauth2/google.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package oauth2 // import "miniflux.app/oauth2"
diff --git a/oauth2/manager.go b/oauth2/manager.go
index 52b2fc8b..dd8abf9f 100644
--- a/oauth2/manager.go
+++ b/oauth2/manager.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package oauth2 // import "miniflux.app/oauth2"
diff --git a/oauth2/oidc.go b/oauth2/oidc.go
index 26d73433..518ff9ba 100644
--- a/oauth2/oidc.go
+++ b/oauth2/oidc.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package oauth2 // import "miniflux.app/oauth2"
diff --git a/oauth2/profile.go b/oauth2/profile.go
index c3e013e0..4a9e6135 100644
--- a/oauth2/profile.go
+++ b/oauth2/profile.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package oauth2 // import "miniflux.app/oauth2"
diff --git a/oauth2/provider.go b/oauth2/provider.go
index a1fbe94c..41de8916 100644
--- a/oauth2/provider.go
+++ b/oauth2/provider.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package oauth2 // import "miniflux.app/oauth2"
diff --git a/proxy/media_proxy.go b/proxy/media_proxy.go
index 965ce993..1e433f2a 100644
--- a/proxy/media_proxy.go
+++ b/proxy/media_proxy.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package proxy // import "miniflux.app/proxy"
diff --git a/proxy/media_proxy_test.go b/proxy/media_proxy_test.go
index 45469f0b..2afd27f1 100644
--- a/proxy/media_proxy_test.go
+++ b/proxy/media_proxy_test.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package proxy // import "miniflux.app/proxy"
diff --git a/proxy/proxy.go b/proxy/proxy.go
index 1fe9eceb..a701ecfb 100644
--- a/proxy/proxy.go
+++ b/proxy/proxy.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package proxy // import "miniflux.app/proxy"
diff --git a/reader/atom/atom_03.go b/reader/atom/atom_03.go
index 3e8dc6d0..1b9ff48f 100644
--- a/reader/atom/atom_03.go
+++ b/reader/atom/atom_03.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package atom // import "miniflux.app/reader/atom"
diff --git a/reader/atom/atom_03_test.go b/reader/atom/atom_03_test.go
index f88424c3..b9cb6f49 100644
--- a/reader/atom/atom_03_test.go
+++ b/reader/atom/atom_03_test.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package atom // import "miniflux.app/reader/atom"
diff --git a/reader/atom/atom_10.go b/reader/atom/atom_10.go
index 350c0660..1779d25a 100644
--- a/reader/atom/atom_10.go
+++ b/reader/atom/atom_10.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package atom // import "miniflux.app/reader/atom"
diff --git a/reader/atom/atom_10_test.go b/reader/atom/atom_10_test.go
index bf45a7a9..42166ca4 100644
--- a/reader/atom/atom_10_test.go
+++ b/reader/atom/atom_10_test.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package atom // import "miniflux.app/reader/atom"
diff --git a/reader/atom/atom_common.go b/reader/atom/atom_common.go
index 4a01fa94..4b965d97 100644
--- a/reader/atom/atom_common.go
+++ b/reader/atom/atom_common.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package atom // import "miniflux.app/reader/atom"
diff --git a/reader/atom/doc.go b/reader/atom/doc.go
deleted file mode 100644
index 5cbecc2b..00000000
--- a/reader/atom/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package atom provides an Atom feed parser.
-*/
-package atom // import "miniflux.app/reader/atom"
diff --git a/reader/atom/parser.go b/reader/atom/parser.go
index e4e66819..76eaf605 100644
--- a/reader/atom/parser.go
+++ b/reader/atom/parser.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package atom // import "miniflux.app/reader/atom"
diff --git a/reader/atom/parser_test.go b/reader/atom/parser_test.go
index fac14ef6..ad3ff2ab 100644
--- a/reader/atom/parser_test.go
+++ b/reader/atom/parser_test.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package atom // import "miniflux.app/reader/atom"
diff --git a/reader/browser/browser.go b/reader/browser/browser.go
index a3c3ec47..c539bc09 100644
--- a/reader/browser/browser.go
+++ b/reader/browser/browser.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package browser // import "miniflux.app/reader/browser"
diff --git a/reader/browser/doc.go b/reader/browser/doc.go
deleted file mode 100644
index bcb8d99e..00000000
--- a/reader/browser/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package browser handles website crawling.
-*/
-package browser // import "miniflux.app/reader/browser"
diff --git a/reader/date/doc.go b/reader/date/doc.go
deleted file mode 100644
index fe79d070..00000000
--- a/reader/date/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package date provides a feed date parser.
-*/
-package date // import "miniflux.app/reader/date"
diff --git a/reader/date/parser.go b/reader/date/parser.go
index 04826daa..bc55ada2 100644
--- a/reader/date/parser.go
+++ b/reader/date/parser.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package date // import "miniflux.app/reader/date"
diff --git a/reader/date/parser_test.go b/reader/date/parser_test.go
index f1d68179..0056dcb5 100644
--- a/reader/date/parser_test.go
+++ b/reader/date/parser_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package date // import "miniflux.app/reader/date"
diff --git a/reader/doc.go b/reader/doc.go
deleted file mode 100644
index a7844e6c..00000000
--- a/reader/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package reader implements everything related to feed parsing.
-*/
-package reader // import "miniflux.app/reader"
diff --git a/reader/encoding/doc.go b/reader/encoding/doc.go
deleted file mode 100644
index 5ab63799..00000000
--- a/reader/encoding/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package encoding handles workarounds to deal with encoding edge cases found into feeds.
-*/
-package encoding // import "miniflux.app/reader/encoding"
diff --git a/reader/encoding/encoding.go b/reader/encoding/encoding.go
index 6bfb9128..a69ccf44 100644
--- a/reader/encoding/encoding.go
+++ b/reader/encoding/encoding.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package encoding // import "miniflux.app/reader/encoding"
diff --git a/reader/handler/handler.go b/reader/handler/handler.go
index 09445766..b727ef90 100644
--- a/reader/handler/handler.go
+++ b/reader/handler/handler.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package handler // import "miniflux.app/reader/handler"
diff --git a/reader/icon/doc.go b/reader/icon/doc.go
deleted file mode 100644
index 6c72aed9..00000000
--- a/reader/icon/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package icon provides all the logic to download website icons.
-*/
-package icon // import "miniflux.app/reader/icon"
diff --git a/reader/icon/finder.go b/reader/icon/finder.go
index df583240..02d0fe61 100644
--- a/reader/icon/finder.go
+++ b/reader/icon/finder.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package icon // import "miniflux.app/reader/icon"
diff --git a/reader/icon/finder_test.go b/reader/icon/finder_test.go
index 3f32a566..321b2f7b 100644
--- a/reader/icon/finder_test.go
+++ b/reader/icon/finder_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package icon // import "miniflux.app/reader/icon"
diff --git a/reader/json/doc.go b/reader/json/doc.go
deleted file mode 100644
index af67ce08..00000000
--- a/reader/json/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package json provides a JSON feed parser.
-*/
-package json // import "miniflux.app/reader/json"
diff --git a/reader/json/json.go b/reader/json/json.go
index faddbafb..0011dc23 100644
--- a/reader/json/json.go
+++ b/reader/json/json.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package json // import "miniflux.app/reader/json"
diff --git a/reader/json/parser.go b/reader/json/parser.go
index 56383177..f7ef8331 100644
--- a/reader/json/parser.go
+++ b/reader/json/parser.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package json // import "miniflux.app/reader/json"
diff --git a/reader/json/parser_test.go b/reader/json/parser_test.go
index b488acc3..4640502c 100644
--- a/reader/json/parser_test.go
+++ b/reader/json/parser_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package json // import "miniflux.app/reader/json"
diff --git a/reader/media/media.go b/reader/media/media.go
index d414191d..8a507598 100644
--- a/reader/media/media.go
+++ b/reader/media/media.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package media // import "miniflux.app/reader/media"
diff --git a/reader/media/media_test.go b/reader/media/media_test.go
index b0d2842d..5a1cee15 100644
--- a/reader/media/media_test.go
+++ b/reader/media/media_test.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package media // import "miniflux.app/reader/media"
diff --git a/reader/opml/doc.go b/reader/opml/doc.go
deleted file mode 100644
index d4e79deb..00000000
--- a/reader/opml/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package opml provides an OPML parser and writer.
-*/
-package opml // import "miniflux.app/reader/opml"
diff --git a/reader/opml/handler.go b/reader/opml/handler.go
index 7661cd4c..a5ad9d8e 100644
--- a/reader/opml/handler.go
+++ b/reader/opml/handler.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package opml // import "miniflux.app/reader/opml"
diff --git a/reader/opml/opml.go b/reader/opml/opml.go
index 98a7b3f9..d65136fe 100644
--- a/reader/opml/opml.go
+++ b/reader/opml/opml.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package opml // import "miniflux.app/reader/opml"
diff --git a/reader/opml/parser.go b/reader/opml/parser.go
index 2dcb809d..7fc4255f 100644
--- a/reader/opml/parser.go
+++ b/reader/opml/parser.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package opml // import "miniflux.app/reader/opml"
diff --git a/reader/opml/parser_test.go b/reader/opml/parser_test.go
index 091d9952..04d2ff14 100644
--- a/reader/opml/parser_test.go
+++ b/reader/opml/parser_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package opml // import "miniflux.app/reader/opml"
diff --git a/reader/opml/serializer.go b/reader/opml/serializer.go
index fd3acb33..54f72f40 100644
--- a/reader/opml/serializer.go
+++ b/reader/opml/serializer.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package opml // import "miniflux.app/reader/opml"
diff --git a/reader/opml/serializer_test.go b/reader/opml/serializer_test.go
index ff26e195..f53fcc08 100644
--- a/reader/opml/serializer_test.go
+++ b/reader/opml/serializer_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package opml // import "miniflux.app/reader/opml"
diff --git a/reader/opml/subscription.go b/reader/opml/subscription.go
index 415b0957..5fd9e9ed 100644
--- a/reader/opml/subscription.go
+++ b/reader/opml/subscription.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package opml // import "miniflux.app/reader/opml"
diff --git a/reader/parser/doc.go b/reader/parser/doc.go
deleted file mode 100644
index 872ea0ef..00000000
--- a/reader/parser/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package parser provides a generic feed parser that abstract all different formats.
-*/
-package parser // import "miniflux.app/reader/parser"
diff --git a/reader/parser/format.go b/reader/parser/format.go
index c85dd159..27cd8302 100644
--- a/reader/parser/format.go
+++ b/reader/parser/format.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package parser // import "miniflux.app/reader/parser"
diff --git a/reader/parser/format_test.go b/reader/parser/format_test.go
index b2836b6c..7010abd3 100644
--- a/reader/parser/format_test.go
+++ b/reader/parser/format_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package parser // import "miniflux.app/reader/parser"
diff --git a/reader/parser/parser.go b/reader/parser/parser.go
index 6214fdb8..ea8e7eaa 100644
--- a/reader/parser/parser.go
+++ b/reader/parser/parser.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package parser // import "miniflux.app/reader/parser"
diff --git a/reader/parser/parser_test.go b/reader/parser/parser_test.go
index 19440b2c..03b8fb2c 100644
--- a/reader/parser/parser_test.go
+++ b/reader/parser/parser_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package parser // import "miniflux.app/reader/parser"
diff --git a/reader/processor/doc.go b/reader/processor/doc.go
deleted file mode 100644
index c57660b8..00000000
--- a/reader/processor/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package processor applies rules and sanitize content for feed entries.
-*/
-package processor // import "miniflux.app/reader/processor"
diff --git a/reader/processor/processor.go b/reader/processor/processor.go
index a5a26086..03765e76 100644
--- a/reader/processor/processor.go
+++ b/reader/processor/processor.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package processor
diff --git a/reader/processor/processor_test.go b/reader/processor/processor_test.go
index e91055b5..acdd674c 100644
--- a/reader/processor/processor_test.go
+++ b/reader/processor/processor_test.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package processor // import "miniflux.app/reader/processor"
diff --git a/reader/rdf/doc.go b/reader/rdf/doc.go
deleted file mode 100644
index d8334ed3..00000000
--- a/reader/rdf/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package rdf provides a RDF feed parser.
-*/
-package rdf // import "miniflux.app/reader/rdf"
diff --git a/reader/rdf/dublincore.go b/reader/rdf/dublincore.go
index f06456d7..fc0a2dfe 100644
--- a/reader/rdf/dublincore.go
+++ b/reader/rdf/dublincore.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rdf // import "miniflux.app/reader/rdf"
diff --git a/reader/rdf/parser.go b/reader/rdf/parser.go
index 70a9a9e6..75ec39fe 100644
--- a/reader/rdf/parser.go
+++ b/reader/rdf/parser.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rdf // import "miniflux.app/reader/rdf"
diff --git a/reader/rdf/parser_test.go b/reader/rdf/parser_test.go
index c1bc67cd..280ddc80 100644
--- a/reader/rdf/parser_test.go
+++ b/reader/rdf/parser_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rdf // import "miniflux.app/reader/rdf"
diff --git a/reader/rdf/rdf.go b/reader/rdf/rdf.go
index 9a86bff7..0d0e4606 100644
--- a/reader/rdf/rdf.go
+++ b/reader/rdf/rdf.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rdf // import "miniflux.app/reader/rdf"
diff --git a/reader/readability/doc.go b/reader/readability/doc.go
deleted file mode 100644
index 22179e55..00000000
--- a/reader/readability/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package readability implements a web page scraper that returns only relevant content.
-*/
-package readability // import "miniflux.app/reader/readability"
diff --git a/reader/readability/readability.go b/reader/readability/readability.go
index b9891a19..bf303e78 100644
--- a/reader/readability/readability.go
+++ b/reader/readability/readability.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package readability // import "miniflux.app/reader/readability"
diff --git a/reader/rewrite/doc.go b/reader/rewrite/doc.go
deleted file mode 100644
index 4f0c172e..00000000
--- a/reader/rewrite/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package rewrite provides functions to manipulate feed contents.
-*/
-package rewrite // import "miniflux.app/reader/rewrite"
diff --git a/reader/rewrite/rewrite_functions.go b/reader/rewrite/rewrite_functions.go
index 26a08b6e..20ba28cf 100644
--- a/reader/rewrite/rewrite_functions.go
+++ b/reader/rewrite/rewrite_functions.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rewrite // import "miniflux.app/reader/rewrite"
diff --git a/reader/rewrite/rewriter.go b/reader/rewrite/rewriter.go
index 9824fc3a..ae5397d1 100644
--- a/reader/rewrite/rewriter.go
+++ b/reader/rewrite/rewriter.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rewrite // import "miniflux.app/reader/rewrite"
diff --git a/reader/rewrite/rewriter_test.go b/reader/rewrite/rewriter_test.go
index 073809df..b7e04e90 100644
--- a/reader/rewrite/rewriter_test.go
+++ b/reader/rewrite/rewriter_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rewrite // import "miniflux.app/reader/rewrite"
diff --git a/reader/rewrite/rules.go b/reader/rewrite/rules.go
index 4f5196b3..c2262644 100644
--- a/reader/rewrite/rules.go
+++ b/reader/rewrite/rules.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rewrite // import "miniflux.app/reader/rewrite"
diff --git a/reader/rss/doc.go b/reader/rss/doc.go
deleted file mode 100644
index f5a92fca..00000000
--- a/reader/rss/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package rss provides a RSS feed parser.
-*/
-package rss // import "miniflux.app/reader/rss"
diff --git a/reader/rss/dublincore.go b/reader/rss/dublincore.go
index c461ece8..320d5c61 100644
--- a/reader/rss/dublincore.go
+++ b/reader/rss/dublincore.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rss // import "miniflux.app/reader/rss"
diff --git a/reader/rss/feedburner.go b/reader/rss/feedburner.go
index baa4e19e..87c9f875 100644
--- a/reader/rss/feedburner.go
+++ b/reader/rss/feedburner.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rss // import "miniflux.app/reader/rss"
diff --git a/reader/rss/parser.go b/reader/rss/parser.go
index 6c9af4ff..13f8e4b4 100644
--- a/reader/rss/parser.go
+++ b/reader/rss/parser.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rss // import "miniflux.app/reader/rss"
diff --git a/reader/rss/parser_test.go b/reader/rss/parser_test.go
index 20f885f1..e3d106da 100644
--- a/reader/rss/parser_test.go
+++ b/reader/rss/parser_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rss // import "miniflux.app/reader/rss"
diff --git a/reader/rss/podcast.go b/reader/rss/podcast.go
index 61501ee9..a7d9ab53 100644
--- a/reader/rss/podcast.go
+++ b/reader/rss/podcast.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rss // import "miniflux.app/reader/rss"
diff --git a/reader/rss/rss.go b/reader/rss/rss.go
index b8c7cf4c..48c436af 100644
--- a/reader/rss/rss.go
+++ b/reader/rss/rss.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package rss // import "miniflux.app/reader/rss"
diff --git a/reader/sanitizer/doc.go b/reader/sanitizer/doc.go
deleted file mode 100644
index 8e7a4d13..00000000
--- a/reader/sanitizer/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package sanitizer implements a HTML sanitizer that removes unsafe elements.
-*/
-package sanitizer // import "miniflux.app/reader/sanitizer"
diff --git a/reader/sanitizer/sanitizer.go b/reader/sanitizer/sanitizer.go
index 29b5d3fa..9d1154b9 100644
--- a/reader/sanitizer/sanitizer.go
+++ b/reader/sanitizer/sanitizer.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package sanitizer // import "miniflux.app/reader/sanitizer"
diff --git a/reader/sanitizer/sanitizer_test.go b/reader/sanitizer/sanitizer_test.go
index 65961875..4b2a5cb7 100644
--- a/reader/sanitizer/sanitizer_test.go
+++ b/reader/sanitizer/sanitizer_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package sanitizer // import "miniflux.app/reader/sanitizer"
diff --git a/reader/sanitizer/srcset.go b/reader/sanitizer/srcset.go
index 758d8d5c..0db17b43 100644
--- a/reader/sanitizer/srcset.go
+++ b/reader/sanitizer/srcset.go
@@ -1,6 +1,5 @@
-// Copyright 2022 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package sanitizer
diff --git a/reader/sanitizer/srcset_test.go b/reader/sanitizer/srcset_test.go
index 4f19f9c3..e1501373 100644
--- a/reader/sanitizer/srcset_test.go
+++ b/reader/sanitizer/srcset_test.go
@@ -1,6 +1,5 @@
-// Copyright 2022 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package sanitizer
diff --git a/reader/sanitizer/strip_tags.go b/reader/sanitizer/strip_tags.go
index 8dc944fc..263ef91f 100644
--- a/reader/sanitizer/strip_tags.go
+++ b/reader/sanitizer/strip_tags.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package sanitizer // import "miniflux.app/reader/sanitizer"
diff --git a/reader/sanitizer/strip_tags_test.go b/reader/sanitizer/strip_tags_test.go
index 18a0ce82..33a07016 100644
--- a/reader/sanitizer/strip_tags_test.go
+++ b/reader/sanitizer/strip_tags_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package sanitizer // import "miniflux.app/reader/sanitizer"
diff --git a/reader/sanitizer/truncate.go b/reader/sanitizer/truncate.go
index 04acc1d6..bac2b453 100644
--- a/reader/sanitizer/truncate.go
+++ b/reader/sanitizer/truncate.go
@@ -1,6 +1,5 @@
-// Copyright 2022 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package sanitizer
diff --git a/reader/sanitizer/truncate_test.go b/reader/sanitizer/truncate_test.go
index 2c7e87b6..bb50f039 100644
--- a/reader/sanitizer/truncate_test.go
+++ b/reader/sanitizer/truncate_test.go
@@ -1,6 +1,5 @@
-// Copyright 2022 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package sanitizer
diff --git a/reader/scraper/doc.go b/reader/scraper/doc.go
deleted file mode 100644
index 5419c257..00000000
--- a/reader/scraper/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package scraper implements a web page crawler.
-*/
-package scraper // import "miniflux.app/reader/scraper"
diff --git a/reader/scraper/rules.go b/reader/scraper/rules.go
index 5ee66b49..8e0fef74 100644
--- a/reader/scraper/rules.go
+++ b/reader/scraper/rules.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package scraper // import "miniflux.app/reader/scraper"
diff --git a/reader/scraper/scraper.go b/reader/scraper/scraper.go
index 81ebd8c8..d2fef40a 100644
--- a/reader/scraper/scraper.go
+++ b/reader/scraper/scraper.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package scraper // import "miniflux.app/reader/scraper"
diff --git a/reader/scraper/scraper_test.go b/reader/scraper/scraper_test.go
index 53bf37ee..9d586c78 100644
--- a/reader/scraper/scraper_test.go
+++ b/reader/scraper/scraper_test.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package scraper // import "miniflux.app/reader/scraper"
diff --git a/reader/subscription/doc.go b/reader/subscription/doc.go
deleted file mode 100644
index b8b4d1a0..00000000
--- a/reader/subscription/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package subscription implements the logic to find subscriptions on a website.
-*/
-package subscription // import "miniflux.app/reader/subscription"
diff --git a/reader/subscription/finder.go b/reader/subscription/finder.go
index 8d941e8d..df3d275a 100644
--- a/reader/subscription/finder.go
+++ b/reader/subscription/finder.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package subscription // import "miniflux.app/reader/subscription"
diff --git a/reader/subscription/finder_test.go b/reader/subscription/finder_test.go
index 6ea0606e..9124bdeb 100644
--- a/reader/subscription/finder_test.go
+++ b/reader/subscription/finder_test.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package subscription
diff --git a/reader/subscription/subscription.go b/reader/subscription/subscription.go
index 604dce56..2a7ff55b 100644
--- a/reader/subscription/subscription.go
+++ b/reader/subscription/subscription.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package subscription // import "miniflux.app/reader/subscription"
diff --git a/reader/xml/decoder.go b/reader/xml/decoder.go
index 7e5cd755..edf58f47 100644
--- a/reader/xml/decoder.go
+++ b/reader/xml/decoder.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package xml // import "miniflux.app/reader/xml"
diff --git a/reader/xml/decoder_test.go b/reader/xml/decoder_test.go
index 1208ef86..a350955a 100644
--- a/reader/xml/decoder_test.go
+++ b/reader/xml/decoder_test.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package xml // import "miniflux.app/reader/xml"
diff --git a/service/httpd/doc.go b/service/httpd/doc.go
deleted file mode 100644
index 05f6e7c8..00000000
--- a/service/httpd/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package httpd implements the HTTP service.
-*/
-package httpd // import "miniflux.app/service/httpd"
diff --git a/service/httpd/httpd.go b/service/httpd/httpd.go
index eac45b46..d36c1113 100644
--- a/service/httpd/httpd.go
+++ b/service/httpd/httpd.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package httpd // import "miniflux.app/service/httpd"
diff --git a/service/httpd/middleware.go b/service/httpd/middleware.go
index c169e08f..b34e9a7c 100644
--- a/service/httpd/middleware.go
+++ b/service/httpd/middleware.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package httpd // import "miniflux.app/service/httpd"
diff --git a/service/scheduler/doc.go b/service/scheduler/doc.go
deleted file mode 100644
index acb1425d..00000000
--- a/service/scheduler/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package scheduler implements the scheduler service.
-*/
-package scheduler // import "miniflux.app/service/scheduler"
diff --git a/service/scheduler/scheduler.go b/service/scheduler/scheduler.go
index c8dd1322..8acc4e7f 100644
--- a/service/scheduler/scheduler.go
+++ b/service/scheduler/scheduler.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package scheduler // import "miniflux.app/service/scheduler"
diff --git a/storage/api_key.go b/storage/api_key.go
index 00db91df..ea25e484 100644
--- a/storage/api_key.go
+++ b/storage/api_key.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/category.go b/storage/category.go
index 14e19a53..c5e5f74d 100644
--- a/storage/category.go
+++ b/storage/category.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/certificate_cache.go b/storage/certificate_cache.go
index 9025df13..0e0c26e0 100644
--- a/storage/certificate_cache.go
+++ b/storage/certificate_cache.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Dave Marquard. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/doc.go b/storage/doc.go
deleted file mode 100644
index f5af3109..00000000
--- a/storage/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package storage implements a set of functions to interact with the database.
-*/
-package storage // import "miniflux.app/storage"
diff --git a/storage/enclosure.go b/storage/enclosure.go
index 452804dc..048c3fde 100644
--- a/storage/enclosure.go
+++ b/storage/enclosure.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/entry.go b/storage/entry.go
index 1789de96..47151579 100644
--- a/storage/entry.go
+++ b/storage/entry.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/entry_pagination_builder.go b/storage/entry_pagination_builder.go
index 5b7d5ec1..13987c84 100644
--- a/storage/entry_pagination_builder.go
+++ b/storage/entry_pagination_builder.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/entry_query_builder.go b/storage/entry_query_builder.go
index ec54334a..ce50e342 100644
--- a/storage/entry_query_builder.go
+++ b/storage/entry_query_builder.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/feed.go b/storage/feed.go
index b10b2196..62be0009 100644
--- a/storage/feed.go
+++ b/storage/feed.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/feed_query_builder.go b/storage/feed_query_builder.go
index 8ef2d9a7..88862b55 100644
--- a/storage/feed_query_builder.go
+++ b/storage/feed_query_builder.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/icon.go b/storage/icon.go
index 57e6a6fb..ffae3ac2 100644
--- a/storage/icon.go
+++ b/storage/icon.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/integration.go b/storage/integration.go
index 367905de..2f8f8784 100644
--- a/storage/integration.go
+++ b/storage/integration.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/job.go b/storage/job.go
index 57e289ed..e983b55c 100644
--- a/storage/job.go
+++ b/storage/job.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/session.go b/storage/session.go
index f57b68e8..71de8291 100644
--- a/storage/session.go
+++ b/storage/session.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/storage.go b/storage/storage.go
index ca3d2360..5b582b1f 100644
--- a/storage/storage.go
+++ b/storage/storage.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/timezone.go b/storage/timezone.go
index d21ac262..14545093 100644
--- a/storage/timezone.go
+++ b/storage/timezone.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/user.go b/storage/user.go
index 4b0737f2..a3ff2715 100644
--- a/storage/user.go
+++ b/storage/user.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/storage/user_session.go b/storage/user_session.go
index e891bbcc..edc3c2a4 100644
--- a/storage/user_session.go
+++ b/storage/user_session.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package storage // import "miniflux.app/storage"
diff --git a/systemd/systemd.go b/systemd/systemd.go
index d4415a0c..5f7a149e 100644
--- a/systemd/systemd.go
+++ b/systemd/systemd.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package systemd // import "miniflux.app/systemd"
diff --git a/template/engine.go b/template/engine.go
index 3436de7a..2d3071c4 100644
--- a/template/engine.go
+++ b/template/engine.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package template // import "miniflux.app/template"
diff --git a/template/functions.go b/template/functions.go
index fd2b44a7..a3f5b341 100644
--- a/template/functions.go
+++ b/template/functions.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package template // import "miniflux.app/template"
diff --git a/template/functions_test.go b/template/functions_test.go
index 3df35bfb..5b6e4341 100644
--- a/template/functions_test.go
+++ b/template/functions_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package template // import "miniflux.app/template"
diff --git a/tests/category_test.go b/tests/category_test.go
index e99cb98d..5ef4a0bf 100644
--- a/tests/category_test.go
+++ b/tests/category_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
//go:build integration
// +build integration
diff --git a/tests/doc.go b/tests/doc.go
deleted file mode 100644
index 7c9975e7..00000000
--- a/tests/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package tests contains API integration tests.
-*/
-package tests // import "miniflux.app/tests"
diff --git a/tests/endpoint_test.go b/tests/endpoint_test.go
index 91871176..c864f9e1 100644
--- a/tests/endpoint_test.go
+++ b/tests/endpoint_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
//go:build integration
// +build integration
diff --git a/tests/entry_test.go b/tests/entry_test.go
index 97ce4cbe..8807c951 100644
--- a/tests/entry_test.go
+++ b/tests/entry_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
//go:build integration
// +build integration
diff --git a/tests/feed_test.go b/tests/feed_test.go
index a5ad4dad..7409a550 100644
--- a/tests/feed_test.go
+++ b/tests/feed_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
//go:build integration
// +build integration
diff --git a/tests/import_export_test.go b/tests/import_export_test.go
index 0233822f..b30e6acd 100644
--- a/tests/import_export_test.go
+++ b/tests/import_export_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
//go:build integration
// +build integration
diff --git a/tests/subscription_test.go b/tests/subscription_test.go
index b54f6ee7..01201097 100644
--- a/tests/subscription_test.go
+++ b/tests/subscription_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
//go:build integration
// +build integration
diff --git a/tests/tests.go b/tests/tests.go
index 27e7885d..56965ce6 100644
--- a/tests/tests.go
+++ b/tests/tests.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
//go:build integration
// +build integration
diff --git a/tests/user_test.go b/tests/user_test.go
index e8369f77..8b2fe8f3 100644
--- a/tests/user_test.go
+++ b/tests/user_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
//go:build integration
// +build integration
diff --git a/timer/doc.go b/timer/doc.go
deleted file mode 100644
index 216c08ca..00000000
--- a/timer/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package timer implements utility functions to measure the execution time of a block of code.
-*/
-package timer // import "miniflux.app/timer"
diff --git a/timer/timer.go b/timer/timer.go
index 8f311c3d..92c14970 100644
--- a/timer/timer.go
+++ b/timer/timer.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package timer // import "miniflux.app/timer"
diff --git a/timezone/doc.go b/timezone/doc.go
deleted file mode 100644
index d46da71c..00000000
--- a/timezone/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package timezone contains helper functions to work with timezones.
-*/
-package timezone // import "miniflux.app/timezone"
diff --git a/timezone/timezone.go b/timezone/timezone.go
index aaef655b..c14ae25e 100644
--- a/timezone/timezone.go
+++ b/timezone/timezone.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package timezone // import "miniflux.app/timezone"
diff --git a/timezone/timezone_test.go b/timezone/timezone_test.go
index ad62343d..0e8cfb94 100644
--- a/timezone/timezone_test.go
+++ b/timezone/timezone_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package timezone // import "miniflux.app/timezone"
diff --git a/ui/about.go b/ui/about.go
index c429ca52..3bfa554b 100644
--- a/ui/about.go
+++ b/ui/about.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/api_key_create.go b/ui/api_key_create.go
index c33f8d0e..68535089 100644
--- a/ui/api_key_create.go
+++ b/ui/api_key_create.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/api_key_list.go b/ui/api_key_list.go
index 0e6a8cd7..5fd1d0e3 100644
--- a/ui/api_key_list.go
+++ b/ui/api_key_list.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/api_key_remove.go b/ui/api_key_remove.go
index 7c1ceca8..50345478 100644
--- a/ui/api_key_remove.go
+++ b/ui/api_key_remove.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/api_key_save.go b/ui/api_key_save.go
index 4c7dfc59..84537385 100644
--- a/ui/api_key_save.go
+++ b/ui/api_key_save.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/bookmark_entries.go b/ui/bookmark_entries.go
index fcbd9876..38815a4c 100644
--- a/ui/bookmark_entries.go
+++ b/ui/bookmark_entries.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_create.go b/ui/category_create.go
index c61b2407..506dc331 100644
--- a/ui/category_create.go
+++ b/ui/category_create.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_edit.go b/ui/category_edit.go
index 41673cc3..71fcbf2d 100644
--- a/ui/category_edit.go
+++ b/ui/category_edit.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_entries.go b/ui/category_entries.go
index b2ef2ff6..f3ee0a2f 100644
--- a/ui/category_entries.go
+++ b/ui/category_entries.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_entries_all.go b/ui/category_entries_all.go
index 25fd24c9..fe860cf4 100644
--- a/ui/category_entries_all.go
+++ b/ui/category_entries_all.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_feeds.go b/ui/category_feeds.go
index cbcce7bd..7bec8419 100644
--- a/ui/category_feeds.go
+++ b/ui/category_feeds.go
@@ -1,6 +1,5 @@
-// Copyright 2019 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_list.go b/ui/category_list.go
index 1375888a..120d4dcd 100644
--- a/ui/category_list.go
+++ b/ui/category_list.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_mark_as_read.go b/ui/category_mark_as_read.go
index e7f12e37..aae83780 100644
--- a/ui/category_mark_as_read.go
+++ b/ui/category_mark_as_read.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_refresh.go b/ui/category_refresh.go
index 0b4689f9..9c871eea 100644
--- a/ui/category_refresh.go
+++ b/ui/category_refresh.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_remove.go b/ui/category_remove.go
index 8e616fc3..11080ece 100644
--- a/ui/category_remove.go
+++ b/ui/category_remove.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_save.go b/ui/category_save.go
index 6bf9d7df..c6f083ce 100644
--- a/ui/category_save.go
+++ b/ui/category_save.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/category_update.go b/ui/category_update.go
index 4475508b..f0e71274 100644
--- a/ui/category_update.go
+++ b/ui/category_update.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/doc.go b/ui/doc.go
deleted file mode 100644
index ea38fad6..00000000
--- a/ui/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package ui implements handlers to render to user interface.
-*/
-package ui // import "miniflux.app/ui"
diff --git a/ui/entry_bookmark.go b/ui/entry_bookmark.go
index 388c3643..f1261e45 100644
--- a/ui/entry_bookmark.go
+++ b/ui/entry_bookmark.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/entry_category.go b/ui/entry_category.go
index f3df2224..2cb15026 100644
--- a/ui/entry_category.go
+++ b/ui/entry_category.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/entry_enclosure_save_position.go b/ui/entry_enclosure_save_position.go
index 729fb163..d74e3745 100644
--- a/ui/entry_enclosure_save_position.go
+++ b/ui/entry_enclosure_save_position.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/entry_feed.go b/ui/entry_feed.go
index a331e2db..9a8ed6e3 100644
--- a/ui/entry_feed.go
+++ b/ui/entry_feed.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/entry_read.go b/ui/entry_read.go
index b61e64e7..3185b09d 100644
--- a/ui/entry_read.go
+++ b/ui/entry_read.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/entry_save.go b/ui/entry_save.go
index 43d25038..b467d68b 100644
--- a/ui/entry_save.go
+++ b/ui/entry_save.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/entry_scraper.go b/ui/entry_scraper.go
index 77755c74..ec9cfa9f 100644
--- a/ui/entry_scraper.go
+++ b/ui/entry_scraper.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/entry_search.go b/ui/entry_search.go
index 36a13e3b..3a32ac09 100644
--- a/ui/entry_search.go
+++ b/ui/entry_search.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/entry_toggle_bookmark.go b/ui/entry_toggle_bookmark.go
index 3e638a11..54cc416b 100644
--- a/ui/entry_toggle_bookmark.go
+++ b/ui/entry_toggle_bookmark.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/entry_unread.go b/ui/entry_unread.go
index 99033310..ceb1fe4f 100644
--- a/ui/entry_unread.go
+++ b/ui/entry_unread.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/entry_update_status.go b/ui/entry_update_status.go
index d01ef678..f1228310 100644
--- a/ui/entry_update_status.go
+++ b/ui/entry_update_status.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/feed_edit.go b/ui/feed_edit.go
index 14cf6b9f..b13abc4f 100644
--- a/ui/feed_edit.go
+++ b/ui/feed_edit.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/feed_entries.go b/ui/feed_entries.go
index 674cbdcf..7b93b8ff 100644
--- a/ui/feed_entries.go
+++ b/ui/feed_entries.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/feed_entries_all.go b/ui/feed_entries_all.go
index 4501706a..6493d258 100644
--- a/ui/feed_entries_all.go
+++ b/ui/feed_entries_all.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/feed_icon.go b/ui/feed_icon.go
index 66c47075..093952d7 100644
--- a/ui/feed_icon.go
+++ b/ui/feed_icon.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/feed_list.go b/ui/feed_list.go
index 761c803e..1d218349 100644
--- a/ui/feed_list.go
+++ b/ui/feed_list.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/feed_mark_as_read.go b/ui/feed_mark_as_read.go
index fce5646a..65400a95 100644
--- a/ui/feed_mark_as_read.go
+++ b/ui/feed_mark_as_read.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/feed_refresh.go b/ui/feed_refresh.go
index 724e50cf..e8c5f353 100644
--- a/ui/feed_refresh.go
+++ b/ui/feed_refresh.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/feed_remove.go b/ui/feed_remove.go
index 15d997d2..3874d47a 100644
--- a/ui/feed_remove.go
+++ b/ui/feed_remove.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/feed_update.go b/ui/feed_update.go
index 183c30c6..e8080110 100644
--- a/ui/feed_update.go
+++ b/ui/feed_update.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/form/api_key.go b/ui/form/api_key.go
index a30dcb0b..b2a56991 100644
--- a/ui/form/api_key.go
+++ b/ui/form/api_key.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package form // import "miniflux.app/ui/form"
diff --git a/ui/form/auth.go b/ui/form/auth.go
index eed0ef5a..9d0ad884 100644
--- a/ui/form/auth.go
+++ b/ui/form/auth.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package form // import "miniflux.app/ui/form"
diff --git a/ui/form/category.go b/ui/form/category.go
index 0c013f4b..e7488c9f 100644
--- a/ui/form/category.go
+++ b/ui/form/category.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package form // import "miniflux.app/ui/form"
diff --git a/ui/form/doc.go b/ui/form/doc.go
deleted file mode 100644
index d81ce0fe..00000000
--- a/ui/form/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package form handles HTML form validation and serialization.
-*/
-package form // import "miniflux.app/ui/form"
diff --git a/ui/form/feed.go b/ui/form/feed.go
index f93937aa..3a673379 100644
--- a/ui/form/feed.go
+++ b/ui/form/feed.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package form // import "miniflux.app/ui/form"
diff --git a/ui/form/integration.go b/ui/form/integration.go
index c5b7cf2c..e7a0218b 100644
--- a/ui/form/integration.go
+++ b/ui/form/integration.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package form // import "miniflux.app/ui/form"
diff --git a/ui/form/settings.go b/ui/form/settings.go
index 4a6c56e3..9dcc9d99 100644
--- a/ui/form/settings.go
+++ b/ui/form/settings.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package form // import "miniflux.app/ui/form"
diff --git a/ui/form/settings_test.go b/ui/form/settings_test.go
index 655c9fe2..3a58c838 100644
--- a/ui/form/settings_test.go
+++ b/ui/form/settings_test.go
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
+
package form // import "miniflux.app/ui/form"
import (
diff --git a/ui/form/subscription.go b/ui/form/subscription.go
index 642c9534..4a36f792 100644
--- a/ui/form/subscription.go
+++ b/ui/form/subscription.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package form // import "miniflux.app/ui/form"
diff --git a/ui/form/user.go b/ui/form/user.go
index 7abaeca7..ed626f29 100644
--- a/ui/form/user.go
+++ b/ui/form/user.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package form // import "miniflux.app/ui/form"
diff --git a/ui/handler.go b/ui/handler.go
index 1bfc3dae..78600ea0 100644
--- a/ui/handler.go
+++ b/ui/handler.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/history_entries.go b/ui/history_entries.go
index 4107fb69..c5275105 100644
--- a/ui/history_entries.go
+++ b/ui/history_entries.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/history_flush.go b/ui/history_flush.go
index e74c5b97..8a8a1203 100644
--- a/ui/history_flush.go
+++ b/ui/history_flush.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/integration_pocket.go b/ui/integration_pocket.go
index 3e771878..7d2d476c 100644
--- a/ui/integration_pocket.go
+++ b/ui/integration_pocket.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/integration_show.go b/ui/integration_show.go
index 1183604b..dc685084 100644
--- a/ui/integration_show.go
+++ b/ui/integration_show.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/integration_update.go b/ui/integration_update.go
index d5380c93..30f1824f 100644
--- a/ui/integration_update.go
+++ b/ui/integration_update.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/login_check.go b/ui/login_check.go
index fbafc58f..cdd7417b 100644
--- a/ui/login_check.go
+++ b/ui/login_check.go
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
+
package ui // import "miniflux.app/ui"
import (
diff --git a/ui/login_show.go b/ui/login_show.go
index d6abd2f6..81be88cc 100644
--- a/ui/login_show.go
+++ b/ui/login_show.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/logout.go b/ui/logout.go
index 479426b5..34dfe000 100644
--- a/ui/logout.go
+++ b/ui/logout.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/middleware.go b/ui/middleware.go
index 31a912ab..72334088 100644
--- a/ui/middleware.go
+++ b/ui/middleware.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/oauth2.go b/ui/oauth2.go
index 045d9cbc..7cf5aa3d 100644
--- a/ui/oauth2.go
+++ b/ui/oauth2.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/oauth2_callback.go b/ui/oauth2_callback.go
index cd033f86..ac1e19e8 100644
--- a/ui/oauth2_callback.go
+++ b/ui/oauth2_callback.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/oauth2_redirect.go b/ui/oauth2_redirect.go
index b2fe9bc8..fb24df37 100644
--- a/ui/oauth2_redirect.go
+++ b/ui/oauth2_redirect.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/oauth2_unlink.go b/ui/oauth2_unlink.go
index 46cc0df6..fa2f51bd 100644
--- a/ui/oauth2_unlink.go
+++ b/ui/oauth2_unlink.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/offline.go b/ui/offline.go
index b6c4dff7..da04e910 100644
--- a/ui/offline.go
+++ b/ui/offline.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/opml_export.go b/ui/opml_export.go
index 4eb6d2c9..a7b14161 100644
--- a/ui/opml_export.go
+++ b/ui/opml_export.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/opml_import.go b/ui/opml_import.go
index ea6b3626..0f7bbac0 100644
--- a/ui/opml_import.go
+++ b/ui/opml_import.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/opml_upload.go b/ui/opml_upload.go
index 08430737..bebab3e8 100644
--- a/ui/opml_upload.go
+++ b/ui/opml_upload.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/pagination.go b/ui/pagination.go
index 46e0a397..395e1714 100644
--- a/ui/pagination.go
+++ b/ui/pagination.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/proxy.go b/ui/proxy.go
index bffbc939..a21d75f5 100644
--- a/ui/proxy.go
+++ b/ui/proxy.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/search_entries.go b/ui/search_entries.go
index 5dfd6db7..28f648ac 100644
--- a/ui/search_entries.go
+++ b/ui/search_entries.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/session/doc.go b/ui/session/doc.go
deleted file mode 100644
index 617a69b8..00000000
--- a/ui/session/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package session provides helper functions to work with the user session.
-*/
-package session // import "miniflux.app/ui/session"
diff --git a/ui/session/session.go b/ui/session/session.go
index 0874f927..b0756daf 100644
--- a/ui/session/session.go
+++ b/ui/session/session.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package session // import "miniflux.app/ui/session"
diff --git a/ui/session_list.go b/ui/session_list.go
index 53051b2b..2db9e1cf 100644
--- a/ui/session_list.go
+++ b/ui/session_list.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/session_remove.go b/ui/session_remove.go
index 7e57b82f..024ebdf2 100644
--- a/ui/session_remove.go
+++ b/ui/session_remove.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/settings_show.go b/ui/settings_show.go
index 7b04d4e0..048f8953 100644
--- a/ui/settings_show.go
+++ b/ui/settings_show.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/settings_update.go b/ui/settings_update.go
index ce516eb6..5d0b0d1c 100644
--- a/ui/settings_update.go
+++ b/ui/settings_update.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/share.go b/ui/share.go
index 6d3ff6e4..0ee405da 100644
--- a/ui/share.go
+++ b/ui/share.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/shared_entries.go b/ui/shared_entries.go
index 16dc7561..3a00cbe7 100644
--- a/ui/shared_entries.go
+++ b/ui/shared_entries.go
@@ -1,6 +1,5 @@
-// Copyright 2020 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/static/doc.go b/ui/static/doc.go
deleted file mode 100644
index b1725468..00000000
--- a/ui/static/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package static contains assets for the user interface.
-*/
-package static // import "miniflux.app/ui/static"
diff --git a/ui/static/static.go b/ui/static/static.go
index 5f1bd003..0201cc98 100644
--- a/ui/static/static.go
+++ b/ui/static/static.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package static // import "miniflux.app/ui/static"
diff --git a/ui/static_app_icon.go b/ui/static_app_icon.go
index 46b16fe2..40f41011 100644
--- a/ui/static_app_icon.go
+++ b/ui/static_app_icon.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/static_favicon.go b/ui/static_favicon.go
index 1f158fd2..426fa52d 100644
--- a/ui/static_favicon.go
+++ b/ui/static_favicon.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/static_javascript.go b/ui/static_javascript.go
index 99255d84..a722c868 100644
--- a/ui/static_javascript.go
+++ b/ui/static_javascript.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/static_manifest.go b/ui/static_manifest.go
index 43489476..5f2424f9 100644
--- a/ui/static_manifest.go
+++ b/ui/static_manifest.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/static_stylesheet.go b/ui/static_stylesheet.go
index 8b67e306..f95e2ddf 100644
--- a/ui/static_stylesheet.go
+++ b/ui/static_stylesheet.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/subscription_add.go b/ui/subscription_add.go
index 5062c908..d42aabe6 100644
--- a/ui/subscription_add.go
+++ b/ui/subscription_add.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/subscription_bookmarklet.go b/ui/subscription_bookmarklet.go
index 01e4a8cc..38b09123 100644
--- a/ui/subscription_bookmarklet.go
+++ b/ui/subscription_bookmarklet.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/subscription_choose.go b/ui/subscription_choose.go
index 6d106330..d4b0e9a2 100644
--- a/ui/subscription_choose.go
+++ b/ui/subscription_choose.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/subscription_submit.go b/ui/subscription_submit.go
index 21b03f3f..ce88c0fc 100644
--- a/ui/subscription_submit.go
+++ b/ui/subscription_submit.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/ui.go b/ui/ui.go
index cf7b53c0..969bf975 100644
--- a/ui/ui.go
+++ b/ui/ui.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/unread_entries.go b/ui/unread_entries.go
index 31d626a0..5fe1ab2b 100644
--- a/ui/unread_entries.go
+++ b/ui/unread_entries.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/unread_mark_all_read.go b/ui/unread_mark_all_read.go
index 813d68ce..54effa16 100644
--- a/ui/unread_mark_all_read.go
+++ b/ui/unread_mark_all_read.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/user_create.go b/ui/user_create.go
index a30f3346..e8d3d408 100644
--- a/ui/user_create.go
+++ b/ui/user_create.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/user_edit.go b/ui/user_edit.go
index 23f577db..f675f4b7 100644
--- a/ui/user_edit.go
+++ b/ui/user_edit.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/user_list.go b/ui/user_list.go
index 6c19de41..9e9cce31 100644
--- a/ui/user_list.go
+++ b/ui/user_list.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/user_remove.go b/ui/user_remove.go
index 70536fe9..e6cc9847 100644
--- a/ui/user_remove.go
+++ b/ui/user_remove.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/user_save.go b/ui/user_save.go
index 45b9e84a..49827def 100644
--- a/ui/user_save.go
+++ b/ui/user_save.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/user_update.go b/ui/user_update.go
index 8d6be865..abdbe925 100644
--- a/ui/user_update.go
+++ b/ui/user_update.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package ui // import "miniflux.app/ui"
diff --git a/ui/view/doc.go b/ui/view/doc.go
deleted file mode 100644
index ed32f41f..00000000
--- a/ui/view/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package view handles template parameters.
-*/
-package view // import "miniflux.app/ui/view"
diff --git a/ui/view/view.go b/ui/view/view.go
index fd7df2c4..d63deefa 100644
--- a/ui/view/view.go
+++ b/ui/view/view.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package view // import "miniflux.app/ui/view"
diff --git a/url/doc.go b/url/doc.go
deleted file mode 100644
index 2204b955..00000000
--- a/url/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package url implements a set of utility functions to parse URL.
-*/
-package url // import "miniflux.app/url"
diff --git a/url/url.go b/url/url.go
index 859afc87..2806572a 100644
--- a/url/url.go
+++ b/url/url.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package url // import "miniflux.app/url"
diff --git a/url/url_test.go b/url/url_test.go
index 7aa1cf98..5d3d2ccc 100644
--- a/url/url_test.go
+++ b/url/url_test.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package url // import "miniflux.app/url"
diff --git a/validator/category.go b/validator/category.go
index 9a62b4e0..b4255176 100644
--- a/validator/category.go
+++ b/validator/category.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package validator // import "miniflux.app/validator"
diff --git a/validator/entry.go b/validator/entry.go
index c7a96acb..2d4c7eb2 100644
--- a/validator/entry.go
+++ b/validator/entry.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package validator // import "miniflux.app/validator"
diff --git a/validator/entry_test.go b/validator/entry_test.go
index 3d580454..2022ad71 100644
--- a/validator/entry_test.go
+++ b/validator/entry_test.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package validator // import "miniflux.app/validator"
diff --git a/validator/feed.go b/validator/feed.go
index 614b688e..89f086ca 100644
--- a/validator/feed.go
+++ b/validator/feed.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package validator // import "miniflux.app/validator"
diff --git a/validator/subscription.go b/validator/subscription.go
index a907f4fe..adfda342 100644
--- a/validator/subscription.go
+++ b/validator/subscription.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package validator // import "miniflux.app/validator"
diff --git a/validator/user.go b/validator/user.go
index f7f271c0..7a552ee7 100644
--- a/validator/user.go
+++ b/validator/user.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package validator // import "miniflux.app/validator"
diff --git a/validator/validator.go b/validator/validator.go
index 5ebaef88..4ef0a586 100644
--- a/validator/validator.go
+++ b/validator/validator.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package validator // import "miniflux.app/validator"
diff --git a/validator/validator_test.go b/validator/validator_test.go
index 6f26f660..fd72b4f9 100644
--- a/validator/validator_test.go
+++ b/validator/validator_test.go
@@ -1,6 +1,5 @@
-// Copyright 2021 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package validator // import "miniflux.app/validator"
diff --git a/version/doc.go b/version/doc.go
deleted file mode 100644
index 58d1bc0b..00000000
--- a/version/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package version contains application and build information.
-*/
-package version // import "miniflux.app/version"
diff --git a/version/version.go b/version/version.go
index 0b1a4b2b..c4494048 100644
--- a/version/version.go
+++ b/version/version.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package version // import "miniflux.app/version"
diff --git a/worker/doc.go b/worker/doc.go
deleted file mode 100644
index 909b34d8..00000000
--- a/worker/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-/*
-Package worker implements the background workers.
-*/
-package worker // import "miniflux.app/worker"
diff --git a/worker/pool.go b/worker/pool.go
index bcd075fd..b914cc20 100644
--- a/worker/pool.go
+++ b/worker/pool.go
@@ -1,6 +1,5 @@
-// Copyright 2018 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package worker // import "miniflux.app/worker"
diff --git a/worker/worker.go b/worker/worker.go
index 192cae50..2b3b473e 100644
--- a/worker/worker.go
+++ b/worker/worker.go
@@ -1,6 +1,5 @@
-// Copyright 2017 Frédéric Guillot. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
package worker // import "miniflux.app/worker"