Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Stefano Sabatini <stefasab@gmail.com>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] Sovereign Tech Fund
Date: Tue, 30 Jan 2024 00:53:25 +0100
Message-ID: <Zbg6dWENtLCPF0vf@mariano> (raw)
In-Reply-To: <170656270992.8914.17597847459142276038@lain.khirnov.net>

On date Monday 2024-01-29 22:11:49 +0100, Anton Khirnov wrote:
> Quoting Michael Niedermayer (2024-01-28 04:25:49)
> > There can be no late objections here to any project suggestions.
> > Objections must be before a project suggestion is submitted to STF,
> > objections after that cannot be considered!
> 
> Self-imposed restrictions like these at the very least need a GA vote
> IMO.
> 
> > Also once the person doing the work reaches the agreed milestone.
> > She will submit an invoice with stefano and my help to SPI/STF.
> > (in the unlikely case of a dispute on reaching a milestone
> >  it would be decided by the technical committee if the milestone
> >  has been reached from FFmpegs point of view)
> 
> Unlikely? I believe you are overlooking and/or trivializing the most
> serious problems that need to be addressed before we can submit any
> applications and not have it end in disaster.
> 
> These are, IMO:

The following are good points, I propose some possible solutions.  I
think these should be based on the assumptions that failure can
occurr, and the system should be designed to be robust to failures.

> 1) How does the project protect itself from pre-approving some code that
>    does not exist yet? This is not just some theoretical danger, it's
>    easily possible that some project sounds good in theory, but actually
>    implementing it comes with so many gotchas and caveats that it ends
>    up being not worth it. Or there are fundamental technical
>    disagreements about the specific way it's been implemented. Both
>    cases exist in our history.

The design and investigative work should be covered as part of the
SOW. In other words, the SOW should also cover the preliminary design
and experimentation. In case it leads to no committable work (which is
unlikely but not impossible), the output should be a document/report
documenting the result of the initial investigation, and the project
might be aborted at that point.

This should protect both the developer and the project. In each case
it should be assumed that the final result of the investigation would
not lead to committable deliverables, but to design documents which
might lay the foundation of further work (possibly in a different
direction).

> 2) How do developers protect themselves from spending vast amounts of
>    time on work they may not get paid for? As per 1), we may easily run
>    into fundamental technical disagreements which result in the work
>    having to be scrapped or redone entirely.
> 
>    It's also very hard to accurately estimate the amount of work
>    required to do something. What do we do when someone spends a month
>    working before realizing the project needs 5x more time than it's
>    budgeted for?

Assuming a SOW can be split in several parts, the first one being the
initial investigation, and assuming that the developer can split her
work in parts, and that only the first one (the one about the initial
investigation) can be invoiced in case there is no consensus about the
actual implementation. Again, I don't think this is very likely to
happen, but we should have a mechanism to handle this (and protect
both the project and the developer committing the work), in order to
minimize the risk.

> 3) Who exactly will be judging what amount of money is appropriate for
>    what amount of work performed? How will we avoid conflicts of
>    interest, or endless bikesheds over who is getting too much money for
>    too little work? We just bikeshud a thread to death over rather
>    little money, now imagine what would happen with ten times the
>    amount.

The amount of money might be defined based on economic parameters
related to the living country of the developer and according an
estimated amount of time. This is not perfect but it's probably the
best we can come around.

As per the final decision (e.g. in case there is no community
consensus after the investigatory stage) probably the Technical
Committee should be involved. This assumes that once the TC committee
reaches a decision, this cannot be reverted. At the end this is one of
the reasons why the TC exists in the first place, use delegation to
reach consensus in case the overall community cannot find it.

> Contrary to the overall mood of this thread so far, I hope these issues
> can be overcome and some useful work sponsored successfully. But they
> need to be taken seriously first.
> 
> I'd also like to ask Jonatas whether anything requires the projects to
> be owned by individuals. Were I to propose a project, I'd much rather it
> went through FFlabs than myself individually.

Also it would probably help to define the areas for the candidate
projects, I can think several things related to documentation for
example like completing/reviewing the documentation for the missing
parts which belong to low-risk area (note: I would not be able to
apply for any SOW given my employment status).

Probably it would help, if rather than discussing these things in
general, we would have some concrete project and candidate to get a
measure of what it could be like. I hope that if even we don't end up
with enough proposals, this should help to gain more experience to
understand what can and cannot work.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  parent reply	other threads:[~2024-01-29 23:53 UTC|newest]

Thread overview: 123+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-28  3:25 Michael Niedermayer
2024-01-28 15:54 ` Kieran Kunhya
2024-01-28 17:12   ` Michael Niedermayer
2024-01-28 18:59     ` Kieran Kunhya
2024-01-28 19:20       ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-28 19:30         ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-28 19:34         ` Kieran Kunhya
2024-01-28 21:18           ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-28 21:33             ` Kieran Kunhya
2024-01-29 21:27           ` Anton Khirnov
2024-01-28 20:06       ` Michael Niedermayer
2024-01-28 20:32         ` Kieran Kunhya
2024-01-28 20:34         ` Kieran Kunhya
2024-01-28 20:37         ` Kieran Kunhya
2024-01-28 20:42           ` Kieran Kunhya
2024-01-28 21:47             ` Michael Niedermayer
2024-01-29 18:31               ` Kieran Kunhya
2024-01-29 18:46                 ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-29 18:54                 ` Michael Niedermayer
2024-01-29 19:02                   ` Kieran Kunhya
2024-01-29 20:04                     ` Michael Niedermayer
2024-01-29 22:54                       ` Kieran Kunhya
2024-01-30  9:20                       ` Tomas Härdin
2024-01-28 21:34           ` Michael Niedermayer
2024-01-28 21:39             ` Kieran Kunhya
2024-01-29  2:26               ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-29 14:52                 ` Derek Buitenhuis
2024-01-29 15:02                 ` Kieran Kunhya
2024-01-29 15:05                   ` Derek Buitenhuis
2024-01-29 16:40                   ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-29 17:05                     ` Kieran Kunhya
2024-01-29 17:27                   ` Michael Niedermayer
2024-01-29 17:36                     ` Kieran Kunhya
2024-01-29 17:43                     ` Rémi Denis-Courmont
2024-01-29 18:11                       ` Michael Niedermayer
2024-01-29 21:01                         ` Rémi Denis-Courmont
2024-01-29 22:43                           ` Michael Niedermayer
2024-01-30  6:30                             ` Rémi Denis-Courmont
2024-01-30 17:15                               ` Michael Niedermayer
2024-01-30 18:00                               ` Michael Niedermayer
     [not found]   ` <A40E9FF7-EC74-458A-A195-26EE8062992E@cosmin.at>
2024-01-29 22:23     ` Cosmin Stejerean via ffmpeg-devel
2024-01-29 22:31       ` Kieran Kunhya
2024-01-30 10:12         ` Nicolas George
2024-01-30 10:19           ` Kieran Kunhya
2024-01-30 10:31             ` Nicolas George
2024-01-30 10:44               ` Kieran Kunhya
2024-01-30 10:46                 ` Nicolas George
2024-01-30 10:53                   ` Kieran Kunhya
2024-01-30 11:47           ` Anton Khirnov
2024-01-28 19:17 ` Rémi Denis-Courmont
2024-01-28 20:33   ` Michael Niedermayer
2024-01-29 14:38 ` Derek Buitenhuis
2024-01-29 18:25   ` Michael Niedermayer
2024-01-29 18:37     ` Derek Buitenhuis
2024-01-29 19:21       ` Michael Niedermayer
2024-01-29 20:09         ` Vittorio Giovara
2024-01-29 20:15           ` Derek Buitenhuis
2024-01-30  6:48             ` Rémi Denis-Courmont
2024-01-29 20:19           ` Anton Khirnov
2024-01-29 20:20             ` Derek Buitenhuis
2024-01-29 20:36             ` Vittorio Giovara
2024-01-29 21:27               ` Michael Niedermayer
2024-01-31 11:19                 ` Anton Khirnov
2024-01-29 20:41           ` Diederick C. Niehorster
2024-01-29 21:19             ` Anton Khirnov
2024-01-29 21:11 ` Anton Khirnov
2024-01-29 23:41   ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-29 23:53   ` Stefano Sabatini [this message]
2024-01-31 12:30     ` Anton Khirnov
2024-01-31 21:26       ` Stefano Sabatini
2024-01-30  0:15   ` Michael Niedermayer
2024-01-30  0:19     ` Michael Niedermayer
2024-01-31 12:59     ` Anton Khirnov
2024-01-31 14:10       ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-31 15:17         ` Anton Khirnov
2024-01-31 15:17         ` Kieran Kunhya
2024-01-31 16:00           ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-31 16:03             ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-31 16:10         ` Rémi Denis-Courmont
2024-01-31 17:04           ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-31 18:03             ` Michael Niedermayer
2024-01-31 18:22               ` Kieran Kunhya
2024-01-31 18:40                 ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-31 18:48                   ` Kieran Kunhya
2024-01-31 19:07                 ` Michael Niedermayer
     [not found]                   ` <A7F30D96-F8DB-45EA-9CDB-3545E3ECE0C9@cosmin.at>
2024-01-31 19:16                     ` Cosmin Stejerean via ffmpeg-devel
2024-01-31 20:19                       ` Kieran Kunhya
2024-01-31 21:43                         ` Michael Niedermayer
2024-01-31 21:54                           ` Kieran Kunhya
2024-01-31 22:40                             ` Michael Niedermayer
2024-01-31 22:45                               ` Kieran Kunhya
2024-02-02 13:52                                 ` Michael Niedermayer
2024-02-02 13:58                                   ` Kieran Kunhya
2024-01-31 19:20                   ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-31 17:58           ` Michael Niedermayer
2024-01-31 23:15           ` Stefano Sabatini
2024-02-01  0:16             ` Stefano Sabatini
2024-02-06  0:00               ` Jonatas L. Nogueira via ffmpeg-devel
2024-01-30  1:48 ` Michael Niedermayer
2024-01-30  9:32   ` Vittorio Giovara
2024-01-30 10:07     ` Nicolas George
2024-01-30 10:13       ` Vittorio Giovara
2024-01-30 10:15         ` Nicolas George
2024-01-30 10:56           ` Vittorio Giovara
2024-01-31  1:07     ` Michael Niedermayer
2024-01-31 21:44   ` Derek Buitenhuis
2024-01-31 21:55     ` Kieran Kunhya
2024-01-31 23:07       ` Michael Niedermayer
2024-02-01 17:59         ` Anton Khirnov
2024-02-01 18:14           ` Rémi Denis-Courmont
2024-02-01 22:55           ` Michael Niedermayer
2024-02-05 10:21       ` Michael Niedermayer
2024-02-05 11:53         ` Kieran Kunhya
2024-02-05 13:10         ` Zhao Zhili
2024-02-01 19:22     ` Derek Buitenhuis
2024-02-04  9:49       ` Rémi Denis-Courmont
2024-02-04 10:02         ` J. Dekker
2024-02-04 10:09           ` Paul B Mahol
2024-02-04 13:41           ` Michael Niedermayer
2024-02-04 14:38             ` Rémi Denis-Courmont
2024-02-04 19:28               ` Michael Niedermayer
2024-02-04 21:21                 ` Rémi Denis-Courmont
2024-04-12 23:43 ` Thilo Borgmann via ffmpeg-devel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Zbg6dWENtLCPF0vf@mariano \
    --to=stefasab@gmail.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git