From: Nicolas George <george@nsup.org> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] What is FFmpeg and what should it be Date: Thu, 3 Aug 2023 15:25:42 +0200 Message-ID: <ZMuq1oseJ8fPDF8Z@phare.normalesup.org> (raw) In-Reply-To: <144c5ccfa009bfaee7d1527383812f2740756030.camel@haerdin.se> Tomas Härdin (12023-07-31): > As far as I recall libxml2 does not enable the fancier features of XML > unless told to do so. And if it can't disable things like DTD then a > ticket should be opened with them to make that possible. You are missing the point: even if all these features are entirely disabled (which we cannot be really sure), the code and data structure have to be designed to make them possible. That means significantly more complex code, much more prone to bugs, including security-relevant. > It is foolish to spread scarce developer time more thinly. For that, see below. > It almost certainly means worse security, not better. I am quite sure your estimation in this is wrong. > The same goes for all things that FFmpeg reimplements. HTTP has already > been mentioned. How many developer hours have been wasted on it when > libcurl could be used instead, and a fraction of those hours going to > improving it rather than a duplicate implementation? > > I have been accused of being a "bean counter". But what are these beans > that I count? They are developer time, the sole source of value of the > free software movement as a whole. When I see things like HTTP or MXF > being reimplemented I don't see features. I see liabilities. You are neglecting a very important point here: The time of other people is not yours to count. You are not a boss directing the time of your employees towards the task most profitable for you. Michael is not hacking software defined radio to be profitable for somebody, he is having fun with it (probably because he recently got his hands on the hardware). And I want to write a <foo bar="qux"> parser because it is an interesting challenge. But since Michael is a very talented hacker, the result of he having fun ends up being code that is in some way already better than existing alternatives. As a member of a community project, you do not have the authority to choose what other developers work on. The only authority you have is to decide whether you will welcome the fruit of their work as an useful new feature (while being vigilant about code quality) or whether you will be so annoying about it that they give up trying to contribute to FFmpeg. As of now, you seem to be making the wrong choice. And I can tell you about my own situation: for several months now, the attitude of some developers here, including you very strongly, has mostly disgusted me from contributing to FFmpeg. The stupid farmer kills the goose with the golden eggs by opening up her belly. The smart farmer kills the goose with the golden eggs by trying to force her to lay on a schedule. > Layering is not an end in itself as you rightfully point out. It is a > tool. To what end? > In the free software world we don't layer and segregate things for no > reason. We do it so that programs can interact with each other through > standardized interfaces. The effect is a comedy of the commons. More > can be done with less labour. For an FM receiver program the > appropriate interfaces are ALSA, PulseAudio and/or JACK. That way its > audio can be piped to many programs. As you point: layering is not an end. “The scope” is not the reason, it is only a quick summary of the reasons when they are obvious and we all agree. So please stop invoking “the scope” as a reason. Second, layering is indeed something to wish for in a complex project, but it has to come organically, it has to appear progressively as the code becomes more complex and the useful boundaries and interfaces appear. When people start with layering, the result looks like the OSI model for network stacks: it makes a few nice paragraphs in textbooks and is completely worthless in practice. > It is true that we can add more features, and it is also certainly true > that these are useful for a non-empty set of users. But is it a good > use of scarce developer time? Were SDR limited to only Michael's time > then there would be no problem. But it isn't. It unavoidably touches > many other parts of the code, as we are already seeing. It is the second time you say this, and it is the second time I have to tell you: no, it is not true at all. We are seeing exactly the opposite: Michael's code is big, but it is self-contained and completely optional. Furthermore, it is not wasting any developer time. Only these sterile objections are wasting precious time. -- Nicolas George _______________________________________________ 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".
next prev parent reply other threads:[~2023-08-03 13:25 UTC|newest] Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-07-22 19:29 [FFmpeg-devel] [PATCH 1/6] configure: libavradio support Michael Niedermayer 2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 2/6] avutil/log: Add AV_CLASS_CATEGORY_RADIO_INPUT Michael Niedermayer 2023-07-22 20:30 ` Paul B Mahol 2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 3/6] avformat: add support for demuxers/inputs from avradio Michael Niedermayer 2023-07-22 20:35 ` Paul B Mahol 2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 4/6] avdevice/utils: add test for AV_CLASS_CATEGORY_RADIO_INPUT Michael Niedermayer 2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 5/6] fftools: avradio support Michael Niedermayer 2023-07-22 21:39 ` Lynne 2023-07-23 15:23 ` Michael Niedermayer 2023-07-23 18:49 ` Tomas Härdin 2023-07-23 19:01 ` James Almer 2023-07-23 22:56 ` Michael Niedermayer 2023-07-24 8:19 ` Nicolas George 2023-07-24 15:57 ` Michael Niedermayer 2023-07-24 22:30 ` Tomas Härdin 2023-07-25 14:17 ` Tomas Härdin 2023-07-24 20:19 ` Tomas Härdin 2023-07-25 9:37 ` Nicolas George 2023-07-26 10:37 ` Michael Niedermayer 2023-07-27 13:05 ` Tomas Härdin 2023-07-27 18:36 ` Michael Niedermayer 2023-07-27 18:48 ` Nicolas George [not found] ` <CC2992B9-B047-4724-8DE5-01C02CBE31FD@cosmin.at> 2023-08-01 19:51 ` Cosmin Stejerean 2023-08-01 20:06 ` Paul B Mahol 2023-08-02 12:46 ` Michael Niedermayer 2023-08-02 13:00 ` Paul B Mahol 2023-08-02 13:01 ` Michael Niedermayer 2023-07-24 8:13 ` Nicolas George 2023-07-24 20:22 ` Tomas Härdin 2023-07-25 9:33 ` Nicolas George 2023-07-25 9:51 ` Kieran Kunhya 2023-07-25 9:56 ` Nicolas George 2023-07-25 10:16 ` Kieran Kunhya 2023-07-25 13:55 ` Nicolas George 2023-07-25 14:37 ` Kieran Kunhya 2023-07-27 17:56 ` Nicolas George 2023-07-28 11:07 ` Kieran Kunhya 2023-07-30 13:04 ` [FFmpeg-devel] What is FFmpeg and what should it be Nicolas George 2023-07-30 17:07 ` Andrey Turkin 2023-07-30 18:29 ` Kieran Kunhya 2023-07-30 18:54 ` Nicolas George 2023-08-01 7:48 ` Rémi Denis-Courmont 2023-07-31 13:56 ` Tomas Härdin 2023-08-03 13:25 ` Nicolas George [this message] 2023-08-03 20:50 ` Tomas Härdin 2023-08-02 1:44 ` Vittorio Giovara 2023-08-02 12:55 ` Michael Niedermayer 2023-08-02 12:59 ` Jean-Baptiste Kempf 2023-08-02 14:12 ` Brad Isbell 2023-08-02 14:19 ` Nicolas George 2023-08-02 14:26 ` Michael Niedermayer 2023-08-02 14:30 ` Nicolas George [not found] ` <A3B35B92-8333-4637-B4AA-FA9D9750E784@cosmin.at> 2023-08-02 15:46 ` Cosmin Stejerean 2023-08-03 15:40 ` Michael Niedermayer 2023-08-02 14:20 ` Michael Niedermayer 2023-08-02 14:44 ` Jean-Baptiste Kempf 2023-08-03 17:45 ` Michael Niedermayer 2023-08-03 18:24 ` Kieran Kunhya 2023-08-03 19:25 ` Michael Niedermayer 2023-08-03 20:04 ` Kieran Kunhya 2023-08-04 17:09 ` Michael Niedermayer 2023-08-04 17:35 ` Nicolas George 2023-08-04 23:17 ` Kieran Kunhya 2023-08-05 18:55 ` Michael Niedermayer 2023-08-05 19:17 ` Paul B Mahol 2023-08-05 23:32 ` Vittorio Giovara 2023-08-06 8:28 ` Tomas Härdin 2023-08-06 19:53 ` Michael Niedermayer 2023-08-07 15:39 ` Rémi Denis-Courmont 2023-08-08 15:22 ` Michael Niedermayer 2023-08-08 15:37 ` Paul B Mahol 2023-08-08 18:53 ` Rémi Denis-Courmont 2023-08-09 15:59 ` Michael Niedermayer 2023-08-09 16:24 ` Paul B Mahol 2023-08-10 12:39 ` Nicolas George 2023-08-10 14:58 ` Vittorio Giovara 2023-08-12 17:12 ` Michael Niedermayer 2023-08-10 15:01 ` James Almer 2023-08-10 15:43 ` Jean-Baptiste Kempf 2023-08-10 18:39 ` Tomas Härdin 2023-08-03 11:38 ` Tomas Härdin 2023-08-03 13:29 ` Nicolas George 2023-07-25 12:02 ` [FFmpeg-devel] [PATCH 5/6] fftools: avradio support Tomas Härdin 2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 6/6] tools/uncoded_frame: " Michael Niedermayer
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=ZMuq1oseJ8fPDF8Z@phare.normalesup.org \ --to=george@nsup.org \ --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