Forgejo welcomes copyleft contributions #204

Merged
Ghost merged 10 commits from :wip-gpl into main 2023-06-06 07:48:08 +02:00
Preview: https://forgejo.codeberg.page/@pull_204/2023-06-copyleft/ This is a companion blog for the [decision to welcome copyleft contributions](https://codeberg.org/forgejo/governance/pulls/20).
Ghost force-pushed wip-gpl from dba8fd4c9b
Some checks failed
forgejo-ci/pr/woodpecker Pipeline failed
to 86df3b91fb
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 19:19:02 +02:00
Compare
Collaborator
Preview ready: https://forgejo.codeberg.page/@pull_204/
Ghost force-pushed wip-gpl from 86df3b91fb
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to 9de0b42f12
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 19:20:43 +02:00
Compare

I wonder if there should be a paragraph about copyrightable work. If someone fixes a typo in a comment, they do not have any copyright. For a contribution to be copyrightable, it must be original which a typo fix is not. Most trivial bug fixes are not either. This may be important in case someone think they can submit such a change under a copyleft license to trigger the decision.

Maybe it is best to leave that for later, when and if someone actually tries that. Otherwise it may trigger a long and controversial theoretical discussion.

I wonder if there should be a paragraph about copyrightable work. If someone fixes a typo in a comment, they do not have any copyright. For a contribution to be copyrightable, it must be original which a typo fix is not. Most trivial bug fixes are not either. This may be important in case someone think they can submit such a change under a copyleft license to trigger the decision. Maybe it is best to leave that for later, when and if someone actually tries that. Otherwise it may trigger a long and controversial theoretical discussion.
Ghost requested review from Owners 2023-04-16 19:27:40 +02:00
Ghost force-pushed wip-gpl from 9de0b42f12
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to ed5090f3af
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 22:43:49 +02:00
Compare
Ghost force-pushed wip-gpl from ed5090f3af
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to 2bd0ce6610
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 23:14:20 +02:00
Compare
Ghost force-pushed wip-gpl from 2bd0ce6610
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to ec521f6f39
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 23:17:53 +02:00
Compare
Ghost force-pushed wip-gpl from ec521f6f39
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to 6567438c20
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 23:20:29 +02:00
Compare
Ghost force-pushed wip-gpl from 6567438c20
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to 6639d56c20
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 23:21:17 +02:00
Compare
Ghost force-pushed wip-gpl from 6639d56c20
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to 0a4297efac
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 23:22:46 +02:00
Compare
Ghost force-pushed wip-gpl from 0a4297efac
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to f9539dd653
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 23:26:43 +02:00
Compare
Ghost force-pushed wip-gpl from f9539dd653
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to 0b7b4f0071
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 23:32:56 +02:00
Compare
Ghost force-pushed wip-gpl from 0b7b4f0071
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to ca633eafb2
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 23:35:56 +02:00
Compare
Ghost force-pushed wip-gpl from ca633eafb2
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to 8e183b2099
Some checks failed
forgejo-ci/pr/woodpecker Pipeline failed
2023-04-16 23:37:20 +02:00
Compare
Ghost force-pushed wip-gpl from 8e183b2099
Some checks failed
forgejo-ci/pr/woodpecker Pipeline failed
to 43e6807999
Some checks failed
forgejo-ci/pr/woodpecker Pipeline failed
2023-04-16 23:38:09 +02:00
Compare
Ghost force-pushed wip-gpl from 43e6807999
Some checks failed
forgejo-ci/pr/woodpecker Pipeline failed
to 8c38bd8c96
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 23:38:42 +02:00
Compare
Ghost force-pushed wip-gpl from 8c38bd8c96
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to 6fdb3ce4dd
Some checks failed
forgejo-ci/pr/woodpecker Pipeline failed
2023-04-16 23:50:18 +02:00
Compare
Ghost force-pushed wip-gpl from 6fdb3ce4dd
Some checks failed
forgejo-ci/pr/woodpecker Pipeline failed
to a67fc4b745
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-04-16 23:52:47 +02:00
Compare
First-time contributor

This message was redacted by the moderation team

*This message was redacted by the moderation team*
Contributor

I went ahead and proposed an agreement that re-uses material from this draft blog post at forgejo/governance#20

I went ahead and proposed an agreement that re-uses material from this draft blog post at https://codeberg.org/forgejo/governance/pulls/20
Contributor

An agreement was reached and this could be published. It needs fixing to please the CI.

An [agreement was reached](https://codeberg.org/forgejo/governance/pulls/20) and this could be published. It needs fixing to please the CI.
Ghost force-pushed wip-gpl from 33da0242f4
Some checks failed
forgejo-ci/pr/woodpecker Pipeline failed
to 4cd03ecfa3
Some checks are pending
forgejo-ci/pr/woodpecker Pipeline is pending
2023-05-10 11:58:11 +02:00
Compare
Ghost changed title from WIP: Forgejo welcomes copyleft contributions to Forgejo welcomes copyleft contributions 2023-05-10 12:13:29 +02:00
Ghost requested reviews from fnetX, fr33domlover, crystal, caesar, Gusted, oliverpool, xy and removed review requests for Owners 2023-05-10 12:13:47 +02:00

This is a major step for Forgejo and it should be properly explained. Please express your concerns & ideas to improve this blog post.

This is a major step for Forgejo and it should be properly explained. Please express your concerns & ideas to improve this blog post.
xy approved these changes 2023-05-21 19:07:58 +02:00
Gusted approved these changes 2023-05-24 11:44:28 +02:00
oliverpool left a comment
Member

I am unsure about the last paragraph, but I think removing the last sentence would be enough for me to publish this blog post.

I am unsure about the last paragraph, but I think removing the last sentence would be enough for me to publish this blog post.
@ -0,0 +21,4 @@
Developers who feel strongly about exclusively publishing their work under a permissive license can keep doing so when working on Forgejo. By the terms of this permissive license, they accept that their work can be sublicensed and redistributed under a proprietary license. And they also accept that it can be sublicensed and redistributed as part of Forgejo, under a copyleft license.
The choice of a copyleft license is a delicate balance and it is expected that different opinions will be voiced within the Forgejo community. There already were debates comparing the merits of the [AGPL](https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License) which was designed for online services and the [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) which was designed before the internet age. The least controversial choice would be to choose the same license as Git since there already is a de facto consensus because all developers and users agree on it.
Member

I would remove the last sentence (or maybe the last paragraph):

The least controversial choice would be to choose the same license as Git since there already is a de facto consensus because all developers and users agree on it.

I consider choosing GPLv2-only for Forgejo to be very much controversial (among other things, it would prevent accepting AGPL contributions in the future)

I would remove the last sentence (or maybe the last paragraph): > The least controversial choice would be to choose the same license as Git since there already is a de facto consensus because all developers and users agree on it. I consider choosing GPLv2-only for Forgejo to be very much controversial (among other things, it would prevent accepting AGPL contributions in the future)

I agree that this last paragraph is not needed because it speculates on a debate that is yet to happen. It was removed.

I agree that this last paragraph is not needed because it speculates on a debate that is yet to happen. It was removed.
Ghost marked this conversation as resolved
Ghost force-pushed wip-gpl from 878bca04bc
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to e468d2c1ef
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-05-25 18:20:18 +02:00
Compare
oliverpool approved these changes 2023-05-25 19:45:52 +02:00
Owner

Will this change anything for ...

Well, if it doesn't change anything, why dare this step? I actually hope that it changes how Forgejo can and will be used, especially that there are no proprietary Forgejo (SaaSS) variants.

If many people here agree on the plan that this is how the future of Forgejo should look like, we should be honest about it. This is a step towards AGPL for some, which is IMHO not comparable to Git, because you cannot patch Forgejo on a server without offering the source ...

All in all, the article is good, but I wonder if "nothing will change" is the honest essence we should convey in the introduction.

> Will this change anything for ... Well, if it doesn't change anything, why dare this step? I actually hope that it changes how Forgejo can and will be used, especially that there are no proprietary Forgejo (SaaSS) variants. If many people here agree on the plan that this is how the future of Forgejo should look like, we should be honest about it. This is a step towards AGPL for some, which is IMHO not comparable to Git, because you cannot patch Forgejo on a server without offering the source ... All in all, the article is good, but I wonder if "nothing will change" is the honest essence we should convey in the introduction.
@ -0,0 +9,4 @@
## Forgejo users already welcome copyleft
Forgejo is a [software forge](<https://en.wikipedia.org/wiki/Forge_(software)>), an online development environment, based on [Git](https://en.wikipedia.org/wiki/Git). **Both Forgejo and Git must be installed together**, either as individual binaries or bundled into the [official container images](https://codeberg.org/forgejo/-/packages/container/forgejo/1.19-rootless). The license of Git is [GNU GPLv2](https://git-scm.com/about/free-and-open-source) which is a [copyleft license](https://www.gnu.org/licenses/copyleft.html). Although the Forgejo codebase includes basic support for [gogit](https://github.com/go-git/go-git), a Go package distributed under a permissive license that can be used in place of Git, it is not supported or packaged because it is [not fully compatible](https://github.com/go-git/go-git/blob/master/COMPATIBILITY.md) and could corrupt git repositories.
Owner

^Git repositories (upper case)

It seems like "gogit" is actually always written as "go-git", I propose we do so, too.

^Git repositories (upper case) It seems like "gogit" is actually always written as "go-git", I propose we do so, too.
Ghost marked this conversation as resolved
Contributor

All in all, the article is good, but I wonder if "nothing will change" is the honest essence we should convey in the introduction.

I think it changes people perception in a fundamental way: using Forgejo means using copyleft software, because of Git.

I also think that jumping directly to the AGPL vs GPL debate is likely to trigger anti-copyleft criticism from people who are under the illusion that Forgejo can be used in an environment that forbids copyleft software for whatever reason (ideological, legal, ...).

> All in all, the article is good, but I wonder if "nothing will change" is the honest essence we should convey in the introduction. I think it changes people perception in a fundamental way: using Forgejo means using copyleft software, because of Git. I also think that jumping directly to the AGPL vs GPL debate is likely to trigger anti-copyleft criticism from people who are under the illusion that Forgejo can be used in an environment that forbids copyleft software for whatever reason (ideological, legal, ...).

In the introduction it clearly states that it will change nothing for users and developers. But it also clearly states that it will change one thing: copyleft is welcome. That's something.

In the introduction it clearly states that it will change nothing for users and developers. But it also clearly states that it will change one thing: copyleft is welcome. That's something.
Ghost force-pushed wip-gpl from e468d2c1ef
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
to 972ee27b0b
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
2023-06-06 07:36:48 +02:00
Compare
update DCO URL
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
f729ac00a8
rename the file
All checks were successful
forgejo-ci/pr/woodpecker Pipeline was successful
15e1407180

It has been six weeks since the decision was made and this blog post proposed. This is an unusually long discussion but it is also a delicate topic and it is good that all voices got plenty of time to be heard.

Since it has been approved and no objection was raised, I re-read it one last time and will go ahead to merge it.

It has been six weeks since the decision was made and this blog post proposed. This is an unusually long discussion but it is also a delicate topic and it is good that all voices got plenty of time to be heard. Since it has been approved and no objection was raised, I re-read it one last time and will go ahead to merge it.
Ghost merged commit e5cfb63aed into main 2023-06-06 07:48:08 +02:00
Ghost deleted branch wip-gpl 2023-06-06 07:48:08 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
8 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo/website!204
No description provided.