[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How to leverage money to accomplish high impact Debian projects

Gunnar Wolf <gwolf@debian.org> writes:

> Debian is very large and diverse, and I know that any generalization
> will underrepresent people. Maybe this would mostly apply to
> long-standing DDs, or whatever. That said, I feel many areas of Debian
> consist of people quite similar to myself -- Fully employed
> professionals who can _spare some cycles_ for the aspects they can
> contribute to the project.

> In my case, fortunately my livelihood is guaranteed, and depending on
> many things, I will have more or less time available for the projects in
> Debian I most care about... Adding money offers to the mix won't change
> the results.

The unpleasant realization that I came to a while back is that the free
software world has fundamentally changed in large part due to our success,
but in a way that is quite challenging for volunteer projects.

Free software won, in the sense that many (all?) of the largest
corporations in the world are now based heavily on free software.  Many
well-funded corporations have embraced this fact and started investing in
free software development.  As a result, the pace of change in the free
software world has increased dramatically, both in terms of rate of change
in specific pieces of software and in terms of the quantity of new useful
software that is being generated.

Debian has invested a lot of effort into improving our infrastructure and
tooling so that we can scale sublinearly with the amount of software that
we package and the amount of churn in the software that we do package.  We
have been largely successful!  But sublinear does not mean zero, and I'm
not sure the slope of increased effort over increased churn is that much
less than 1.  As a result, this dramatic increase in the pace of software
development requires a similarly (if slightly lesser) increase in the pace
of Debian development.

However, this is where we encounter the fundamental economic problem: the
pace of change in free software in general has occurred because of a
dramatic increase in the number of people who are paid to develop free
software as a substantial portion of their job.  This unlocked significant
additional resources in the form of paid work hours for free software.
This is great for free software as a whole (overall; it causes problems as
well, but I won't get into that here).  But Debian is not structured (nor
do I think we want it to be structured) in such a way as to get a similar
significant infusion of resources.

Some project members have always been able to work on Debian during paid
work time, and that hasn't changed, and possibly has increased slightly as
a second-order effect from the growing commerical acceptance of free
software, but the change is nowhere near as dramatic as the acceleration
of development from, e.g., Facebook, Google, and Intel paying significant
number of engineers to do full-time free software devleopment.

This is a deep structural problem that we're going to struggle to solve
with modest changes such as increased efficiency to try to make our
scaling more sublinear, or increased recruitment (of still primarily
unpaid volunteers).  There is more happening than before, and we're
struggling to keep up, let alone get out in front and lead.  This is due,
fundamentally, to a lack of resources, and it's hard for me to see how we
can close that resource gap while still being a volunteer project (nor do
I want us to stop being a volunteer project).  For example, one obvious
way to get a similar scaling of resources would be to change from being a
volunteer project to being an industry consortium with paid staff so that
we can be the recipient of that increased corporate spending.  But I
highly doubt most Debian Developers (myself included) have any appetite
for that.

The obvious alternative is to scale back our aspirations and find a
narrower niche in which we can find the resources to scale to keep up with
that niche.  It's unsatisfying, but to some extent it's already happening;
for example, despite heroic efforts packaging individual applications,
it's not really feasible to do Node development purely using software
packaged in Debian the way that is to do Python or Perl development.  And
this is not new; doing Java development using only software packaged by
Debian has been similarly iffy for a while.  We just don't have the raw
resources required to keep up with packaging the entirety of complex and
extremely fast-moving ecosystems, and to some extent have acknowledged
that and put our attention elsewhere.

Russ Allbery (rra@debian.org)              <https://www.eyrie.org/~eagle/>

Reply to: