Skip to content

Unmerged code submitted by the community may be built on by others

What does this MR do?

This MR clarifies that an unmerged community contribution which has been abandoned by another contributor may be picked up by other community members, completed and submitted to GitLab. This is ambiguous now especially in cases when no determination has yet been made as to what tier or license would apply to the original contribution.

This is the case a would-be contributor asks us about in #208412 (comment 337072391).

We wish to make this change because we want contributions and our existing agreements do not make clear whether it is permissible for would-be contributors to leverage the work of past contributions before said contributions are made available to the community through an open source license.

Cases already covered and for which no action is necessary.

If a the fork of the GitLab repository used to prepare a contribution grants includes a license file granting rights to the original contributor's work, no ambiguity exists. The contributor has licensed the code according to terms specified therein.

Alternatives

Alternative 1: Tell the would-be contributor to seek a grant of license from the original contributor

A would-be contributor could be directed to request a grant of license from the original contributor. This doesn't scale very nicely but requires no change. It could also be a dead-end if the original contributor does not respond.

Alternative 2: Make updates to contribution guidance, not to the agreement

We could clarify our intention to make all code submitted to us, merged or not, available to the community for "development and testing purposes only" -- this is the language used in the ee/LICENSE (excepted below).

Alternative 3: Change the contribution agreement differently

Instead of GitLab B.V. conveying rights, we could reword so that contributors themselves grant rights not only to GitLab B.V. but to other contributors using the ee/LICENSE language "for development and testing purposes only."

References

LICENSE file in the GitLab repository which specifies which licenses are granted to various parts of the GitLab codebase.

The ee/LICENSE grants the right to "modify this Software and publish patches to the Software" but also clarifies that "that GitLab...retain[s] all right, title and interest in and to all such modifications and/or patches." The license also grants special rights to: "copy and modify the Software for development and testing purposes, without requiring a subscription."

Our Stewardship of GitLab indicates that some contributions will be available via an open source license while others will not. Specific guidance regarding handling of both existing and non-existing community contributions is provided. The case at issue here is not directly addressed.

Neither Contribute to GitLab nor Contributing to Development make any statement about the licensing of contributed code released or unreleased. However they do define a process by which contributed code is submitted via a public fork of GitLab. This means that contributed code does not appear in the main GitLab repository which contains the license files governing use of the code until after the contribution has been merged.

The deprecated CONTRIBUTING.md now only points to other documents and does not address the questions at hand.

Related Questions

It is unclear to me whether a fork which retains our existing licenses files which specifically names GitLab, B.V. as grantor of rights but which contains no file identifying the contributor or indicating the contributor's intentions constitutes a grant of rights to the contribution beyond the grant made to GitLab B.V. by virtue of the contribution process.

Edited by Rémy Coutable

Merge request reports