Re: Funding Debian projects with money from Freexian's LTS service

2020-11-10 Thread Sam Hartman
I think it is really important that we find a way to accept funding like
this.  I'm fine if we  as a community have concerns about the specifics.
But free software isn't supposed to mean developers don't get paid, or
the software doesn't get funded (or even the software itself isn't
expensive although given the user freedoms you are generally able to
find someone to give you the source code cheaply).
Also, Debian is at a disadvantage, because we are not able to
effectively fund development in ways that other projects can.


I think it is important for us to find ways to counter those
disadvantages.

Things I like about this proposal:

* The Debian Project is not choosing who to fund or which projects to
  fund.  There might be cases where we choose to do that, but for a lot
  of reasons we've discussed regularly that has a tendency to
  disenfranchise our volunteers and create uncomfortable power dynamics.

* Anyone with sufficient funding could do the same thing.  I think
  that's important, because it means that if someone doesn't like
  Freexian's approach, they can do their own.  yes, there are ways in
  which if you have more money, you have more influence.
  That's true in many areas of the world including in various ways in
  the Debian project.  Which brings me to the third thing I like:

* This process sounds relatively transparent.  It's clear who has the
  ultimate influence (money) and what procedure is being used.

There's one thing I don't entirely like, although I am not raising it as
an objection:

* It's too tied to LTS.  This is purely personal bias speaking here.  I
  personally would love it if over time either this proposal or some
  other group doing something similar managed to get sponsors who were
  less and less tied to LTS.
  I want to emphasize that this is not an objection.  Freexian is
  reasonably focusing on the market they have connected with and is
  doing a great job.
  


signature.asc
Description: PGP signature


Funding Debian projects with money from Freexian's LTS service

2020-11-10 Thread Raphael Hertzog
Hello,

as you probably know, my company — Freexian — has been running the
commercial side of the Debian LTS project, collecting money from sponsors
and dispatching it to contributors handling the security updates. This is
working pretty well by now and the amount of funding is sufficient to
cover the workload.

This led me to think about expanding a bit the scope of the LTS funding
that Freexian is managing to answer two different needs that I identified:

1/ First, the LTS work necessarily had an impact on other Debian teams
that made the project possible (security team, DSA, buildd, ftpmasters,
debian-www mainly) and I wanted to be able to give back to those teams.

2/ we have always allowed paid contributors to go beyond just preparing
security updates for the LTS release. They can pick tasks that improve
the LTS project at large (we try to collect such tasks here:
https://salsa.debian.org/lts-team/lts-extra-tasks/-/issues) but they
should not go over 25% of their allocated monthly hours so this limits
their ability to tackle bigger projects and we would like to be able to
tackle bigger projects that can have a meaningful impact on the LTS
project and/or Debian in general.


So I thought about it and I made a proposal to the paid LTS contributors
that has been accepted: every month we are putting 10% of the LTS funding
aside to be able to fund larger tasks/projects. We will regularly seek
project proposals, review them and pay someone to implement the proposals
that have been retained.

We have tried to formalize a process for this in this salsa project:
https://salsa.debian.org/freexian-team/project-funding
https://salsa.debian.org/freexian-team/project-funding/-/blob/master/Rules-LTS.md
(I'm pasting a copy of the two relevant markdown files at the end)

We highly encourage the above-mentionned Debian teams to make proposals.

A member of those teams can implement the project and be paid for it. Or they
can decide to let someone else implement it (we expect some of the paid
LTS contributors to be willing to implement such projects), and just play
the reviewer role driving the person doing the work in the right
direction.

Contrary to Google's Summer of code and other similar projects, we put
the focus on the results (and not in recruiting new volunteers), so we
expect to work with experienced persons to implement the project. But
if the reviewer is happy to be a mentor and spend more time, then
it's OK for us too. The reviewer is not a paid position.

I really want to try out something on this level but I also know that
the topic is sensible so I want to get your feedback to make sure
we find a good balance and make it acceptable to Debian at large
(I'm not aiming at 100% acceptance, but I'd like this to be accepted
just like LTS funding has become normal for most Debian developers).

So I welcome your comments on this proposal. I'm really busy lately so I
might not be super-reactive but I have postponed this discussion for too
long already so I'm sending it out anyway (at this point we already have
13200 EUR that we can use to fund projects!).

Cheers,

PS: Here are the relevant files from the project-funding git repository:

README.md:
--

:warning: This document is currently in draft state.  Is subject to
frequent and significant revisions until it is finalized.

# Project Funding

This repository is used to track free software projects that Freexian is
willing to fund to some extent.

Freexian can fund projects for different reasons and the rules applied
in each case will vary depending on the origin of the funding:

* As part of its Debian LTS offering, Freexian has a budget to invest
  into projects that will directly or indirectly improve the Debian
  LTS project. Any Debian member can submit project proposals and they
  will all be considered. See [LTS-specific rules](Rules-LTS.md).

* Freexian can also put out projects proposals on its own. In that case,
  they are usually justified by internal needs or customer requests.
  See [Freexian-specific rules](Rules-Internal.md).
  
# Project Workflow

Each project progresses through several stages.  In order to ensure complete
high quality work on fully vetted projects, a project must be proposed,
approved, executed, and completed.

## Vocabulary

* Project submitter: the person or team that submits a project proposal
* Executor: the person who "executes" or "implements" the project, it's
  the person whose work will be funded by Freexian
* Reviewer: the person who ensures that the executor completed the project
  and that the result is compliant to the project description.
* Bid: an offer made by someone to execute a project at a given price
  following a given timeline
* Project Managers: person(s) appointed by Freexian to handle issues and
  merge requests in this GitLab project. Usually Raphaël Hertzog.
* Freexian manager: Raphaël Hertzog

## Project Proposal

The project development process begins with the completion of a project