From 3fbe745e47e84754d4f4ab7e8cb8925ec6d8c68f Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 16 May 2021 11:05:50 +0300 Subject: add sponsored-by.md --- sponsored-by.md | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 sponsored-by.md diff --git a/sponsored-by.md b/sponsored-by.md new file mode 100644 index 0000000..2c5c7ec --- /dev/null +++ b/sponsored-by.md @@ -0,0 +1,69 @@ +# Executive summary + +To make sponsorship of free and open source software more visible, add +a `Sponsored-By` pseudo-header to git commit messages. + +# The problem + +Free and open source software is sometimes funded by its authors: they +work on it in their free time. Sometimes development is funded by a +company who employs people to develop the software. Sometimes it's +fully or partially funded by donations or gifts: some party gives +money to the developers so they can work on the software, but not as +employment; we call this sponsorship. + +Overall, for any particular project, it's unclear how it's funded. +Sometimes the project makes it clear, but often it's not clear. In a +large project, with partied funding parts of the work such as the +Linux kernel, it's hard to keep track of who funds the work. Currently +it is done by heuristics based on author commit email addresses. + +One of the problems is that employment and sponsorship tends to be +scarce, and difficult to get, and even many important, popular +software projects do not have people who can work on it full time. +This hurts the quality of the software, and slows down its development +significantly. + +# A partial solution + +We propose that it would help to make sponsorship more obvious. Apart +from the project's web site, each commit could label the work as +sponsored using a pseudo-header: + +~~~ +Sponsored-by: Example Corp. +~~~ + +Any commits done as part of sponsored work would have this. This would +raise the visibility of sponsorship, thereby hopefully making it more +interesting to sponsor. + +# Specification + +We suggest the following specification as a base of discussion: + +* sponsorship of work to produce a commit is marked by one or more + `Sponsored-by` pseudo-headers in the commit message +* lack of such a header does not say anything about whether the work + was sponsored; use of the header is optional +* a header only applies to the commit it appears in +* all headers referring to the same sponsor should try to use the same + value so it's easier to collect statistics +* the value has the same format as a git commit author field; it can + be a bare email address, or lack an email address +* the special value `author` means the work was done without + sponsorship + +Examples: + +* `Sponsored-by: author` +* `Sponsored-by: Lars Wirzenius ` +* `Sponsored-by: Wikimedia Foundation` +* `Sponsored-by: IBM ` + + +--- +title: Sponsored-By in git commit messages +author: L.W. and D.S. +documentclass: report +... -- cgit v1.2.1