[vlc-devel] How to start contributing?

Fatih Uzunoğlu fuzun54 at outlook.com
Thu Apr 29 19:33:27 UTC 2021


Hi,

The VLC Project is a granular type of software, it consists of many 
modules that make it
a very big project overall. As far as I know, there are more than a 
hundred modules.

The modules vary with their complexity. Some of them are high level, and 
some of them
are low level. Also depending on your knowledge, you might be better off 
by starting to
contribute to a high level module if you are not familiar with libVLC 
internals.

When you look from the top, the VLC project might look a very big and 
complex
project that one needs to spend a lot of time to get familiar. However, 
the modular
design of the project actually allows a random developer to contribute 
rather quick.
There might even be some modules that you don't need to know VLC 
internals at all.

The VLC Project is owned by the VideoLAN Organization, located in 
France. The
leader and the president is Jean-Baptiste Kempf. As a GSoC student I had 
some
chances to interact with him and I can tell that he is a great person. 
However,
he is a very busy man so if you have questions about the project you 
should first
ask them to the 'maintainer' of a specific module. If you get involved 
with the
project, you can talk with him about important matters.

There are a couple of developers dedicated to some specific modules,
depending on their availability it is a good idea to interact with them
through e-mail and/or IRC (#videolan). Maybe, they can provide you
a simple guide to how to start to contribute a module.

For example, I have been trying to contribute to the GUI (Qt) module. The
next major release is going to incorporate a new user interface so it has
a lot of work to do. It is expected for the developer to know modern C++
and Qt Framework 5 for the development of Qt based GUI module. If you
know C++ and Qt 5, you can talk with the maintainer of the GUI module
to get started. His name is Pierre Lamot, another great person.

As a first step, you should try building the whole project (refer to the
official wiki). There are a lot of library dependencies that are needed 
to build,
they are called contribs and it is generally advised to build them yourself
instead of getting them precompiled. I had some trouble with building
the external libraries initially so don't worry if it fails. Just know 
that when
there is a problem with the building, it is usually caused by the contribs.

I think a Linux based distribution is pretty much required to build. There
are some ways like the MSYS way (which never worked for me), and the
recent alternative WSL based one. WSL might work OK as long as the
module allows for it. Still, I'd use Linux for development. If you want
more information on the WSL way, you can talk with Steve Lhomme,
who I think is a member of the dev team. He knows the exact steps
on how to build VLC on Windows using WSL.

The VLC team has been preparing the next major version which is 4.0.
So there are separate branches for 3.x (current) and the upcoming 4.0.
If you create a patch, it must conform for either of them, or both of them.

Before sending a patch, it might be a good idea to ask for the maintainer
to pre-review it so that you can make necessary changes without cluttering
the mailing list and send the mailing list the most refined one.

I'm not a member of the developer team so some of these information
might be wrong. I just wanted to tell what I know about the project.

Good Luck!


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4490 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20210429/beebc1e1/attachment.bin>


More information about the vlc-devel mailing list