Changes between Initial Version and Version 1 of MaintainingFFmpeg

Sep 30, 2012, 12:59:42 AM (7 years ago)



  • MaintainingFFmpeg

    v1 v1  
     1= Notes on Maintaining FFmpeg Source Code =
     3== Introduction ==
     4Like many open source projects FFmpeg code base is maintained by a group of volunteers.
     5Given the size and diversity of the code contained in FFmpeg it is clear that it is not
     6a fit for a single person to maintain all of the code.
     8Who maintains what gets tracked in the `MAINTAINERS` file in the FFmpeg source tree.
     10== Qualifying as a Maintainer ==
     11Original authors of a piece of code (can be anything from a function to an encoder to a
     12build system feature) or contributors/reviewers that have shown a good understanding of
     13the code are considered candidates for maintaining that code. Usually they will be asked
     14by an FFmpeg developer on the ffmpeg-devel mailing list if they want to maintain it. But
     15it is also possible to actively apply as a maintainer on the list.
     17There is also a different kind of maintenance that is dependent on the target platform
     18(architecture/operating system/compiler). Obviously someone who wants to maintain a
     19platform must have access to that platform.
     21== Tasks of a Maintainer ==
     22Maintenance for software is a very different kind of maintenance then say for machines. So
     23even though the term is probably a misnomer it is widely used amongst software developers.
     24In FFmpeg maintainers should take care of the following tasks:
     26* reviewing patches on the ffmpeg-devel mailing list that touch their area of maintenance
     27* observing development of the code base and figuring out if and how it interferes with code under their maintenance
     28* preventing their code from "bitrot" as new versions of hardware, operating systems, libraries and compilers appear
     29* refactoring their code to enable further development or to reduce maintenance burden
     31The addition of new features or optimization of the code is not a maintenance task. It is
     32perfectly fine for a maintainer to not do any active development (though most often maintainers
     33are also active contributors).
     35== Additional Hints ==
     36It has proven to be quite handy for a maintainer to have a public Git clone of FFmpeg where
     37she can publish experimental changes or accumulate patches for integration testing which will
     38eventually get merged into the main line of development in the official FFmpeg Git repository.