diff --git a/.github/workflows/cla-check.yaml b/.github/workflows/cla-check.yaml
new file mode 100644
index 000000000..61984a017
--- /dev/null
+++ b/.github/workflows/cla-check.yaml
@@ -0,0 +1,9 @@
+name: cla-check
+on: [pull_request_target]
+
+jobs:
+ cla-check:
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Check if CLA signed
+ uses: canonical/has-signed-canonical-cla@v1
diff --git a/AUTHORS.md b/AUTHORS.md
new file mode 100644
index 000000000..806f72f0f
--- /dev/null
+++ b/AUTHORS.md
@@ -0,0 +1,13 @@
+# Authors
+
+Original idea and implementation by [Frederik Feichtmeier](https://github.com/Feichtmeier).
+
+Design by [Frederik Feichtmeier](https://github.com/Feichtmeier) and [Mads Rosendahl](https://github.com/madsrh).
+
+
+# Contributors
+
+- [Paul Kepinski](https://github.com/Jupi007)
+- [Elio Qoshi](https://github.com/elioqoshi)
+- [JP Nurmi](https://github.com/jpnurmi)
+- [Olivier Tilloy](https://github.com/oSoMoN)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 000000000..c0c6f3edf
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,20 @@
+# Contributing
+
+## Code of Conduct
+
+This project is subject to the [Ubuntu Code of Conduct](https://ubuntu.com/community/code-of-conduct) to foster an open and welcoming place to contribute.
+By participating in the project (in the form of code contributions, issues, comments, and other activities), you agree to abide by its terms.
+
+## Bugs
+
+Bugs are tracked as [GitHub issues](https://github.com/ubuntu-flutter-community/software/issues?q=is%3Aissue+label%3Abug).
+
+## Pull requests
+
+Changes to this project should be proposed as [pull requests on GitHub](https://github.com/ubuntu-flutter-community/software/pulls).
+Make sure that the pull request is [linked to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue). If there isn't an issue yet to track the bug or improvement you are working on, consider filing one.
+
+## Contributor License Agreement
+
+This project is subject to the [Canonical contributor license agreement](https://ubuntu.com/legal/contributors), please make sure you have [signed it](https://ubuntu.com/legal/contributors/agreement) before (or shortly after) submitting your first pull request.
+
diff --git a/README.md b/README.md
index cbb06ccc5..8867fb94c 100644
--- a/README.md
+++ b/README.md
@@ -59,3 +59,11 @@ flutter run
```
or press the run icon in vscode.
+
+## Contributing
+
+See our [contributor guidelines](CONTRIBUTING.md).
+
+## License
+
+This application is licensed under the [GNU General Public License version 3](LICENSE).
diff --git a/lib/l10n/l10n.dart b/lib/l10n/l10n.dart
index 4f6d51bfb..7bc3a24a6 100644
--- a/lib/l10n/l10n.dart
+++ b/lib/l10n/l10n.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter/widgets.dart';
diff --git a/lib/main.dart b/lib/main.dart
index 0f2506f32..eed79ecf1 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:desktop_notifications/desktop_notifications.dart';
import 'package:flutter/material.dart';
diff --git a/lib/package_installer/package_installer_app.dart b/lib/package_installer/package_installer_app.dart
index 5e82fdc67..438d6bcb8 100644
--- a/lib/package_installer/package_installer_app.dart
+++ b/lib/package_installer/package_installer_app.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:liquid_progress_indicator/liquid_progress_indicator.dart';
import 'package:provider/provider.dart';
diff --git a/lib/package_installer/package_installer_model.dart b/lib/package_installer/package_installer_model.dart
index 09de1b29a..389f40f70 100644
--- a/lib/package_installer/package_installer_model.dart
+++ b/lib/package_installer/package_installer_model.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:async';
import 'package:packagekit/packagekit.dart';
diff --git a/lib/package_installer/wizard_page.dart b/lib/package_installer/wizard_page.dart
index cc4690df4..e3c07bfd1 100644
--- a/lib/package_installer/wizard_page.dart
+++ b/lib/package_installer/wizard_page.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
/// The spacing between Continue and Back buttons.
diff --git a/lib/package_state.dart b/lib/package_state.dart
index 1b03ca668..d2fafc016 100644
--- a/lib/package_state.dart
+++ b/lib/package_state.dart
@@ -1 +1,18 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
enum PackageState { processing, ready }
diff --git a/lib/services/app_change_service.dart b/lib/services/app_change_service.dart
index e3f9cffba..b35bce721 100644
--- a/lib/services/app_change_service.dart
+++ b/lib/services/app_change_service.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:async';
import 'package:desktop_notifications/desktop_notifications.dart';
diff --git a/lib/services/color_generator.dart b/lib/services/color_generator.dart
index 724e918eb..062fc3596 100644
--- a/lib/services/color_generator.dart
+++ b/lib/services/color_generator.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:palette_generator/palette_generator.dart';
import 'package:quiver/cache.dart';
diff --git a/lib/services/package_service.dart b/lib/services/package_service.dart
index b598a4c71..d7c37c13c 100644
--- a/lib/services/package_service.dart
+++ b/lib/services/package_service.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:async';
import 'dart:io';
diff --git a/lib/snapx.dart b/lib/snapx.dart
index 9e70d9faf..23e5f1c8e 100644
--- a/lib/snapx.dart
+++ b/lib/snapx.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:collection/collection.dart';
import 'package:snapd/snapd.dart';
diff --git a/lib/store_app/common/constants.dart b/lib/store_app/common/constants.dart
index 51bf11ecb..0b8aea28f 100644
--- a/lib/store_app/common/constants.dart
+++ b/lib/store_app/common/constants.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
const dialogWidth = 450.0;
diff --git a/lib/store_app/common/link.dart b/lib/store_app/common/link.dart
index a6f663cd2..fdc27ad19 100644
--- a/lib/store_app/common/link.dart
+++ b/lib/store_app/common/link.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
diff --git a/lib/store_app/common/offline_page.dart b/lib/store_app/common/offline_page.dart
index cce1b9fdf..19682a7a9 100644
--- a/lib/store_app/common/offline_page.dart
+++ b/lib/store_app/common/offline_page.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:software/l10n/l10n.dart';
import 'package:yaru_icons/yaru_icons.dart';
diff --git a/lib/store_app/common/package_dialog.dart b/lib/store_app/common/package_dialog.dart
index 659e13db6..3bd648c38 100644
--- a/lib/store_app/common/package_dialog.dart
+++ b/lib/store_app/common/package_dialog.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:flutter_markdown/flutter_markdown.dart';
import 'package:packagekit/packagekit.dart';
diff --git a/lib/store_app/common/package_model.dart b/lib/store_app/common/package_model.dart
index 5dca8e500..258cdab0e 100644
--- a/lib/store_app/common/package_model.dart
+++ b/lib/store_app/common/package_model.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:async';
import 'package:packagekit/packagekit.dart';
diff --git a/lib/store_app/common/snap_channel_expandable.dart b/lib/store_app/common/snap_channel_expandable.dart
index 4971be8ab..9319f81e8 100644
--- a/lib/store_app/common/snap_channel_expandable.dart
+++ b/lib/store_app/common/snap_channel_expandable.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:software/l10n/l10n.dart';
import 'package:yaru_icons/yaru_icons.dart';
diff --git a/lib/store_app/common/snap_connections_settings.dart b/lib/store_app/common/snap_connections_settings.dart
index 0248724df..a9098a285 100644
--- a/lib/store_app/common/snap_connections_settings.dart
+++ b/lib/store_app/common/snap_connections_settings.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:snapd/snapd.dart';
import 'package:software/l10n/l10n.dart';
diff --git a/lib/store_app/common/snap_content.dart b/lib/store_app/common/snap_content.dart
index 52300eb03..14204d67c 100644
--- a/lib/store_app/common/snap_content.dart
+++ b/lib/store_app/common/snap_content.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:software/l10n/l10n.dart';
import 'package:software/store_app/common/link.dart';
diff --git a/lib/store_app/common/snap_dialog.dart b/lib/store_app/common/snap_dialog.dart
index b7aa73312..49ca38c83 100644
--- a/lib/store_app/common/snap_dialog.dart
+++ b/lib/store_app/common/snap_dialog.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:snapd/snapd.dart';
diff --git a/lib/store_app/common/snap_installation_controls.dart b/lib/store_app/common/snap_installation_controls.dart
index 11f5e9d43..9c2c26fa3 100644
--- a/lib/store_app/common/snap_installation_controls.dart
+++ b/lib/store_app/common/snap_installation_controls.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:software/l10n/l10n.dart';
import 'package:yaru_widgets/yaru_widgets.dart';
diff --git a/lib/store_app/common/snap_model.dart b/lib/store_app/common/snap_model.dart
index 76af40e51..858b4c894 100644
--- a/lib/store_app/common/snap_model.dart
+++ b/lib/store_app/common/snap_model.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:async';
import 'dart:io';
diff --git a/lib/store_app/common/snap_page_header.dart b/lib/store_app/common/snap_page_header.dart
index cd8c044eb..637e0f005 100644
--- a/lib/store_app/common/snap_page_header.dart
+++ b/lib/store_app/common/snap_page_header.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:software/l10n/l10n.dart';
import 'package:yaru_icons/yaru_icons.dart';
diff --git a/lib/store_app/common/snap_section.dart b/lib/store_app/common/snap_section.dart
index 24df18b82..e7c043e0c 100644
--- a/lib/store_app/common/snap_section.dart
+++ b/lib/store_app/common/snap_section.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
// ignore_for_file: constant_identifier_names
import 'package:flutter/widgets.dart';
diff --git a/lib/store_app/common/utils.dart b/lib/store_app/common/utils.dart
index b1c880e81..827fdd6c1 100644
--- a/lib/store_app/common/utils.dart
+++ b/lib/store_app/common/utils.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:math';
String formatBytes(int bytes, int decimals) {
diff --git a/lib/store_app/explore/explore_model.dart b/lib/store_app/explore/explore_model.dart
index 1634d8e03..80de8aa52 100644
--- a/lib/store_app/explore/explore_model.dart
+++ b/lib/store_app/explore/explore_model.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:async';
import 'package:packagekit/packagekit.dart';
diff --git a/lib/store_app/explore/explore_page.dart b/lib/store_app/explore/explore_page.dart
index af2fa15b2..db61d8234 100644
--- a/lib/store_app/explore/explore_page.dart
+++ b/lib/store_app/explore/explore_page.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:snapd/snapd.dart';
diff --git a/lib/store_app/explore/search_field.dart b/lib/store_app/explore/search_field.dart
index 9ccbc6fb6..4b37eaea8 100644
--- a/lib/store_app/explore/search_field.dart
+++ b/lib/store_app/explore/search_field.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
diff --git a/lib/store_app/explore/search_page.dart b/lib/store_app/explore/search_page.dart
index f08808b43..c1e377301 100644
--- a/lib/store_app/explore/search_page.dart
+++ b/lib/store_app/explore/search_page.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:packagekit/packagekit.dart';
import 'package:provider/provider.dart';
diff --git a/lib/store_app/explore/section_banner_grid.dart b/lib/store_app/explore/section_banner_grid.dart
index be518c750..94ce45854 100644
--- a/lib/store_app/explore/section_banner_grid.dart
+++ b/lib/store_app/explore/section_banner_grid.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:software/snapx.dart';
diff --git a/lib/store_app/explore/snap_banner_carousel.dart b/lib/store_app/explore/snap_banner_carousel.dart
index 0bf768229..0da1fb72d 100644
--- a/lib/store_app/explore/snap_banner_carousel.dart
+++ b/lib/store_app/explore/snap_banner_carousel.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:snapd/snapd.dart';
diff --git a/lib/store_app/my_apps/my_apps_page.dart b/lib/store_app/my_apps/my_apps_page.dart
index 41956f131..968010604 100644
--- a/lib/store_app/my_apps/my_apps_page.dart
+++ b/lib/store_app/my_apps/my_apps_page.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:software/l10n/l10n.dart';
import 'package:software/store_app/my_apps/my_packages_page.dart';
diff --git a/lib/store_app/my_apps/my_packages_model.dart b/lib/store_app/my_apps/my_packages_model.dart
index 6272a6751..cae8caa8b 100644
--- a/lib/store_app/my_apps/my_packages_model.dart
+++ b/lib/store_app/my_apps/my_packages_model.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:async';
import 'package:packagekit/packagekit.dart';
diff --git a/lib/store_app/my_apps/my_packages_page.dart b/lib/store_app/my_apps/my_packages_page.dart
index 6cd79fea2..1c17299ed 100644
--- a/lib/store_app/my_apps/my_packages_page.dart
+++ b/lib/store_app/my_apps/my_packages_page.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:software/services/package_service.dart';
diff --git a/lib/store_app/my_apps/my_snaps_model.dart b/lib/store_app/my_apps/my_snaps_model.dart
index b262cda31..6577b4fa1 100644
--- a/lib/store_app/my_apps/my_snaps_model.dart
+++ b/lib/store_app/my_apps/my_snaps_model.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:async';
import 'package:safe_change_notifier/safe_change_notifier.dart';
diff --git a/lib/store_app/my_apps/my_snaps_page.dart b/lib/store_app/my_apps/my_snaps_page.dart
index 6c258bf28..06a460e04 100644
--- a/lib/store_app/my_apps/my_snaps_page.dart
+++ b/lib/store_app/my_apps/my_snaps_page.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:snapd/snapd.dart';
diff --git a/lib/store_app/my_apps/sort_by.dart b/lib/store_app/my_apps/sort_by.dart
index 216f00129..2a583c978 100644
--- a/lib/store_app/my_apps/sort_by.dart
+++ b/lib/store_app/my_apps/sort_by.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:software/l10n/l10n.dart';
enum SortBy {
diff --git a/lib/store_app/my_apps/sortby_dropdown.dart b/lib/store_app/my_apps/sortby_dropdown.dart
index 1c49194b8..d6d08069b 100644
--- a/lib/store_app/my_apps/sortby_dropdown.dart
+++ b/lib/store_app/my_apps/sortby_dropdown.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:software/l10n/l10n.dart';
import 'package:software/store_app/my_apps/sort_by.dart';
diff --git a/lib/store_app/settings/settings_model.dart b/lib/store_app/settings/settings_model.dart
index 259daa637..5ac8580d1 100644
--- a/lib/store_app/settings/settings_model.dart
+++ b/lib/store_app/settings/settings_model.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:package_info_plus/package_info_plus.dart';
import 'package:safe_change_notifier/safe_change_notifier.dart';
diff --git a/lib/store_app/settings/settings_page.dart b/lib/store_app/settings/settings_page.dart
index c17fb2990..964312944 100644
--- a/lib/store_app/settings/settings_page.dart
+++ b/lib/store_app/settings/settings_page.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:flutter_markdown/flutter_markdown.dart';
import 'package:provider/provider.dart';
diff --git a/lib/store_app/store_app.dart b/lib/store_app/store_app.dart
index 207c7a7d8..9dae0c787 100644
--- a/lib/store_app/store_app.dart
+++ b/lib/store_app/store_app.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:badges/badges.dart';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:flutter/material.dart';
diff --git a/lib/store_app/store_model.dart b/lib/store_app/store_model.dart
index e690d4169..3951ce51e 100644
--- a/lib/store_app/store_model.dart
+++ b/lib/store_app/store_model.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:async';
import 'package:connectivity_plus/connectivity_plus.dart';
diff --git a/lib/store_app/updates/update_banner.dart b/lib/store_app/updates/update_banner.dart
index 3d2eadee2..fda1a77ca 100644
--- a/lib/store_app/updates/update_banner.dart
+++ b/lib/store_app/updates/update_banner.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:packagekit/packagekit.dart';
import 'package:software/store_app/common/constants.dart';
diff --git a/lib/store_app/updates/updates_model.dart b/lib/store_app/updates/updates_model.dart
index 96cb30352..112b25c28 100644
--- a/lib/store_app/updates/updates_model.dart
+++ b/lib/store_app/updates/updates_model.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'dart:async';
import 'package:packagekit/packagekit.dart';
diff --git a/lib/store_app/updates/updates_page.dart b/lib/store_app/updates/updates_page.dart
index b94fd5963..0a890efbc 100644
--- a/lib/store_app/updates/updates_page.dart
+++ b/lib/store_app/updates/updates_page.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
import 'package:flutter/material.dart';
import 'package:liquid_progress_indicator/liquid_progress_indicator.dart';
import 'package:provider/provider.dart';
diff --git a/lib/updates_state.dart b/lib/updates_state.dart
index 376054beb..b886af341 100644
--- a/lib/updates_state.dart
+++ b/lib/updates_state.dart
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2022 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
enum UpdatesState {
noUpdates,
updating,