summaryrefslogtreecommitdiff
path: root/sponsored-by.md
blob: 1b96572f0dc478561beba0e24893a89ed80b4f24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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 different parties 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 <liw@liw.fi>`
* `Sponsored-by: Wikimedia Foundation`
* `Sponsored-by: IBM <https://www.ibm.com/>`


---
title: Sponsored-by in git commit messages
author: L.W. and D.S.
documentclass: report
...