Relicense from Apache 2.0 to GNU GPLv3#142
Merged
Merged
Conversation
Keep the project open source and allow commercial use, but make it copyleft: anyone distributing the app or a derivative must keep it open under GPLv3 and provide their source. Prevents closed-source/proprietary forks. The author is the sole copyright holder, so the relicense is permitted; it applies to future versions (already-published Apache 2.0 commits stay Apache). - Replace LICENSE with the canonical GNU GPL v3.0 text. - README: license badge Apache 2.0 -> GPLv3 and rewrite the License section. - CircularProgressBar.java: Apache header -> GPLv3 header. - about_open_source string (en + ar): mention GPLv3 instead of Apache 2.0. Note: gradlew/gradlew.bat keep their Apache 2.0 headers (Gradle's own files). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The gauge widget is based on korre/android-circular-progress-bar by Kristoffer Matsson, MIT-licensed. MIT is GPL-compatible, so the file stays in the project under GPL v3, but MIT requires preserving the original copyright + license notice — which the prior header dropped. - CircularProgressBar.java: restore Matsson's MIT copyright + full permission notice, and state that the modifications and combined work are under GPL v3. - README: add an Acknowledgements note crediting the original project. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#141) A code comparison shows CircularProgressBar is derived from ylyc/circular_progress_bar by Leon Cheng (extends ProgressBar, the min+2*strokeWidth onMeasure, the cpb_* styleable, title/subtitle + shadow) — NOT korre/android-circular-progress-bar, which extends View, draws a full circle, has no custom attributes, and no subtitle. ylyc's library is Apache 2.0 ("Copyright 2013 Leon Cheng"), which is compatible with GPL v3, so the file stays under GPL v3 in the combined work with proper Apache attribution: - CircularProgressBar.java header: credit Leon Cheng + Apache 2.0 origin, note the file was modified, and reference the bundled license + notices. - README acknowledgement: point to ylyc/circular_progress_bar (Apache 2.0). - Add THIRD-PARTY-NOTICES.md recording the component, author, and license. - Bundle a copy of the Apache License 2.0 at licenses/Apache-2.0.txt (Apache 4a). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Use a Markdown extension for the project license so it renders on the repo home; update the README badge/link, THIRD-PARTY-NOTICES, and the source header to point at LICENSE.md. GitHub still detects it as GPL-3.0. The bundled third-party license (licenses/Apache-2.0.txt) stays plain text: it is the verbatim Apache 2.0 text (including the standard bracketed placeholders in its "how to apply" appendix, which are meant to stay as-is in a license copy). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #141.
Switches the project from Apache 2.0 to the GNU General Public License v3.0 — still open source and still allows commercial use, but now copyleft: anyone who distributes the app or a derivative must keep it open source under GPLv3 and make their source available. This blocks closed-source/proprietary forks while keeping the code free to read, study, modify, and share.
Changes
LICENSEwith the canonical GNU GPL v3.0 text.README.md: license badge Apache 2.0 → GPLv3, and rewrite the License section (explains copyleft + commercial-OK + copyright line).CircularProgressBar.java: Apache header → GPLv3 header.about_open_sourcestring (en + ar): the in-app "About" screen now says GPLv3.Notes
gradlew/gradlew.batkeep their Apache 2.0 headers — those are Gradle's own wrapper files, not project code.CircularProgressBar.javayour own original code (its header shows your copyright, 2015)? If it was adapted from a third-party Apache-licensedCircularProgressBarlibrary, that file may need to stay Apache 2.0 and be excluded from this change.🤖 Generated with Claude Code