From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 9A3534CD8D for ; Tue, 12 Aug 2025 12:34:33 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 95ABA68C466; Tue, 12 Aug 2025 15:34:28 +0300 (EEST) Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.201]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id E5927688FDA for ; Tue, 12 Aug 2025 15:34:21 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 3FCEE43B0C for ; Tue, 12 Aug 2025 12:34:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1755002061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=i7wqaw/qiJ10SbLIBso6wdheH9ruL5IJNEm8LLV77Jw=; b=ChZQ4wRIukgOOi/MflwmIEPb/zdAG3c1/mgTm29pHR51UXBLlmM7wGdMPmQnyKb1Gy4q2v pEPEfercgv9qV1dMHGCQs6Y9o+wl14vkaL5oU09CuWGvIYJj20ngK0GCVIqLHdPFM6xceY V3fX5poqzFSj1n+OyKisOMev42DKXQBSE8x3Cr34CmXJde34flhDPjz9Udu4L+MRjAn2nD znLSx/9hlFwCP9l29IHOIOdd9GLaisFFY8qmFNQPDcCaG+m1vDTb/1pBLXq5deAJK6O0H0 4n5ed9FIlPEDmrfQsBbCV0TTZEnuBN4vzHNuRqL9rMvvfdFFlyuwt7nKgY6jAA== Date: Tue, 12 Aug 2025 14:34:20 +0200 From: Michael Niedermayer To: FFmpeg development discussions and patches Message-ID: <20250812123420.GJ29660@pb2> References: <6e208946-690c-4cbb-9539-bd85df02430c@lynne.ee> MIME-Version: 1.0 In-Reply-To: <6e208946-690c-4cbb-9539-bd85df02430c@lynne.ee> X-GND-State: clean X-GND-Score: -70 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgddufeehfeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlhcuvffnffculdeftddmnecujfgurhepfffhvffukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpefoihgthhgrvghlucfpihgvuggvrhhmrgihvghruceomhhitghhrggvlhesnhhivgguvghrmhgrhigvrhdrtggtqeenucggtffrrghtthgvrhhnpeeigeektdejudffjefhteegjedtgeettefggedthfejgfevhfetgeekjedtvdfhveenucfkphepgedurdeiiedrieehrddujeeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepgedurdeiiedrieehrddujeeipdhhvghloheplhhotggrlhhhohhsthdpmhgrihhlfhhrohhmpehmihgthhgrvghlsehnihgvuggvrhhmrgihvghrrdgttgdpnhgspghrtghpthhtohepuddprhgtphhtthhopehffhhmphgvghdquggvvhgvlhesfhhfmhhpvghgrdhorhhg X-GND-Sasl: michael@niedermayer.cc Subject: Re: [FFmpeg-devel] Plugins architecture X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="===============6446570090970334682==" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --===============6446570090970334682== Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="7EqhSoAP3vuRkOub" Content-Disposition: inline --7EqhSoAP3vuRkOub Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Aug 11, 2025 at 09:22:26PM +0900, Lynne wrote: > Recently, the issue of plugins was raised. >=20 > Michael pushed a patch to enable out of tree branches to be freely added = to > FFmpeg. I did not very much like the option of having officially-endorsed > source plugins, as to me, it moved all the burden of maintenance to FFmpeg > maintainers. > The commit was reverted, with the tentative agreement to open a discussion > on the nature of plugins we would like to have. >=20 > To me, at least, I can imagine five options: >=20 > Option 1 - we have an official binary plugin interface, free for > everyone to use with no limitation. > Option 2 - we have an official source plugin interface, free for > everyone to use with no limitations. This means that all > plugins are source-code based. External plugins would result > in a build with a different license - if one of the plugins > used was non-free, then the resulting build would be non > free. > Basically, the status quo now, only we would avoid breaking > interfaces like AVCodec. > The list of source plugins would not be maintained by us, but > could be a text file that users could share between. > Option 3 - we have an official source plugin interface, free for > everyone to use, with license limitations. All source plugins > The list of source plugins would be maintained by us, and > policing of the list for violations (including using > dlopen() to workaround licensing) would be left to us. > The list of such plugins would be maintained by us. > Option 4 - we have an official source plugins interface for repositories > maintained by FFmpeg developers. This means that for > developers interested in developing features outside of the > scope of the project, there would exist an interface which > would allow developers to conveniently maintain and > distribute their work as an optional extension for the > project. > Option 5 - we have an official source plugins interface for repositories > affiliated with the FFmpeg project. This means that rather > than just using it for libpostproc, we could use the plugins > interface to split up the project into individual > repositories for each library. this is a little "TLDR" May i shorten this to: Option 1: Binary plugin API which doesnt exist and noone will maintain Option 2: Plugin List is maintained outside ffmpeg thus outside our control Option 3: Plugin List is maintained in ffmpeg repository, we can control wh= ats on it Option 4: like option 3 but we forbid Non FFmpeg developers which makes thi= s pointless Option 5: We turn our libs into plugins (cool idea but unrelated) option 4 is a subset of option 3. We can have a list and still add nothing = but us to it So really the question remaining is Do we maintain a list of plugins or do we delegate this to outside FFmpeg ? If we do choose to have this list on ffmpeg.org then we can decide what we put on it like "no closed source". OTOH if we dont put it on ffmpeg.org then there is nothing further to discuss here thx [...] --=20 Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If the United States is serious about tackling the national security threat= s=20 related to an insecure 5G network, it needs to rethink the extent to which = it values corporate profits and government espionage over security.-Bruce Schn= eier --7EqhSoAP3vuRkOub Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABEKAB0WIQSf8hKLFH72cwut8TNhHseHBAsPqwUCaJs0yAAKCRBhHseHBAsP q8sqAJ9TeVNRwIGex58uuh9bT6ii1yZYAACfV5TQvBmg6vpNJutrEUgPNnfH37Y= =3U9G -----END PGP SIGNATURE----- --7EqhSoAP3vuRkOub-- --===============6446570090970334682== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --===============6446570090970334682==--