<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>Hello<br></div><div><br></div><div>On Wed, Oct 2, 2019, at 18:13, Abdullah Alansari wrote:<br></div><blockquote type="cite" id="qt"><div dir="ltr"><div>Hi everyone,<br></div><div><br></div><div>First and foremost, I just got into the mailing-list today and may just be blabbing on and my understanding of the VLC project current state or direction is way off. So if you're too busy just ignore the rest. However, if you have some free time, please read on and sorry in advance for taking so much of your time. I also understand if you kick me off this thread (just say the word).<br></div></div></blockquote><div><br></div><div>It's a very long but very fine post, no need to kick you for that ;)<br></div><div><br></div><div>Did you sent this mail following the discussion we had in <a href="https://mailman.videolan.org/pipermail/vlc-devel/2019-October/128041.html">https://mailman.videolan.org/pipermail/vlc-devel/2019-October/128041.html</a> ?<br></div><div>In that case, you could have responded in this thread directly (for more context).<br></div><div><br></div><blockquote type="cite" id="qt"><div dir="ltr"><div><br></div><div>Silencing a single warning is fine in itself but what happens in reality is that warnings are silenced once at a time until the number of silenced warnings is bigger than what anyone would agrees to initially (even the ones most asking for silencing the warnings).<br></div><div><br></div><div>On the other hand, adding warnings can be hard or just impractical for some projects.<br></div><div><br></div><div>In addition, making the build process more lax/warning-tolerant is hard to backup from and any decision that is hard to change shouldn't be taken lightly.<br></div><div><br></div><div>Code review is not enough. Quite the opposite, what happens for many projects with strong code-review is that a lot of code is waiting for review and a major contributing factor is that reviewers spend a lot of time discussing style and casting and stuff. So to resolve this they add warnings and try to automate style-checks (and auto style-fixes) as much as possible (including adding as many warnings as they can) to use the reviewer's time only for stuff that no automation can do.<br></div><div><br></div><div>Some of these are a 1st-world problems. For example:<br></div><div>Styling and compiler warnings that can easily be added manifest most in heavy code-review projects.<br></div><div>Change-detector tests, tests that require unnecessary changes when the implementation change, manifest most in heavy test-automation projects.<br></div><div><br></div><div>There are also unconventional techniques (e.g: git-hooks to only run on changed files) to gradually add warnings and such.<br></div><div><br></div><div>I think what makes these issues hard is they are in the far future and may be many moves ahead.<br></div><div><br></div><div>This can also affect small projects by killing them because the cost to work with existing code is too high and the cost to rewrite is non-trivial too. A small project can also grow faster than expected with super technical-dept.<br></div></div></blockquote><div><br></div><div>Yes, that's what we want to avoid.<br></div><div><br></div><blockquote type="cite" id="qt"><div dir="ltr"><div><br></div><div>I know the <a href="https://gitlab.gnome.org/GNOME/epiphany">GNOME Web (epiphany)</a> use Gitlab's CI and fails a build if there's a single warning (not sure what error-flags they have though) but the local build naturally doesn't fail with warnings. I have experienced this first hand when a lib has just added a new API and deprecated the old one at the same and the CI failed my build for this:sweat_smile:. In general, I think GNOME Web can be used as a reference for some cool building tools. I understand that VLC is another ball-game (e.g: some dangerous warnings may need to be disabled in VLC build).<br></div><div><br></div><div>As an aside when I was compiling VLC I had to do `<span class="qt-gmail-ki qt-gmail-kj qt-gmail-ch qt-gmail-bc qt-gmail-jt qt-gmail-b qt-gmail-dq qt-gmail-kn qt-gmail-ko qt-gmail-kp qt-gmail-kq qt-gmail-kr qt-gmail-kl qt-gmail-l qt-gmail-km" id="qt-gmail-9d30">./configure --disable-mpc --disable-medialibrary --disable-opencv</span><span class="qt-gmail-ki qt-gmail-kj qt-gmail-ch qt-gmail-bc qt-gmail-jt qt-gmail-b qt-gmail-dq qt-gmail-kn qt-gmail-ko qt-gmail-kp qt-gmail-kq qt-gmail-kr qt-gmail-kl qt-gmail-l qt-gmail-km" id="qt-gmail-9d30">` but the Jenkins build was fine so I suspect that the Jenkins/CI build doesn't cover some of the codebase and can succeed even some stuff doesn't compile:sweat_smile:. I wrote a mini-post on <a href="https://medium.com/@ahimta/compiling-vlc-from-source-on-fedora-29-387fdbf873bf">Compiling VLC on Fedora 29</a> if you're curious.</span><br></div></div></blockquote><div><br></div><div>I think our build documentation is not always up to date, and most of us are using debian. Maybe this could help some people using Fedora, thanks.<br></div><div><br></div><div>Regards,<br></div><div>Thomas<br></div><div><br></div><blockquote type="cite" id="qt"><div dir="ltr"><div><span class="qt-gmail-ki qt-gmail-kj qt-gmail-ch qt-gmail-bc qt-gmail-jt qt-gmail-b qt-gmail-dq qt-gmail-kn qt-gmail-ko qt-gmail-kp qt-gmail-kq qt-gmail-kr qt-gmail-kl qt-gmail-l qt-gmail-km" id="qt-gmail-9d30"></span><br></div><div><span class="qt-gmail-ki qt-gmail-kj qt-gmail-ch qt-gmail-bc qt-gmail-jt qt-gmail-b qt-gmail-dq qt-gmail-kn qt-gmail-ko qt-gmail-kp qt-gmail-kq qt-gmail-kr qt-gmail-kl qt-gmail-l qt-gmail-km" id="qt-gmail-9d30">Links:</span><br></div><div><span class="qt-gmail-ki qt-gmail-kj qt-gmail-ch qt-gmail-bc qt-gmail-jt qt-gmail-b qt-gmail-dq qt-gmail-kn qt-gmail-ko qt-gmail-kp qt-gmail-kq qt-gmail-kr qt-gmail-kl qt-gmail-l qt-gmail-km" id="qt-gmail-9d30">1. GNOME Web (epiphany): <a href="https://gitlab.gnome.org/GNOME/epiphany">https://gitlab.gnome.org/GNOME/epiphany</a></span><br></div><div><span class="qt-gmail-ki qt-gmail-kj qt-gmail-ch qt-gmail-bc qt-gmail-jt qt-gmail-b qt-gmail-dq qt-gmail-kn qt-gmail-ko qt-gmail-kp qt-gmail-kq qt-gmail-kr qt-gmail-kl qt-gmail-l qt-gmail-km" id="qt-gmail-9d30">2. Compiling VLC on Fedora 29 mini-post: <a href="https://medium.com/@ahimta/compiling-vlc-from-source-on-fedora-29-387fdbf873bf">https://medium.com/@ahimta/compiling-vlc-from-source-on-fedora-29-387fdbf873bf</a></span><br></div><div><div><br></div><div>-- <br></div><div class="qt-gmail_signature" dir="ltr"><div dir="ltr"><div><div dir="ltr"><div>Abdullah Alansari,<br></div><div><br></div><div>LinkedIn: <a href="https://linkedin.com/in/ahimta">https://linkedin.com/in/ahimta</a><br></div><div>GitHub: <a href="https://github.com/Ahimta">https://github.com/Ahimta</a><br></div><div>Twitter: <a href="https://twitter.com/Ahymta">https://twitter.com/Ahymta</a><br></div></div></div></div></div></div></div><div>_______________________________________________<br></div><div>vlc-devel mailing list<br></div><div>To unsubscribe or modify your subscription options:<br></div><div>https://mailman.videolan.org/listinfo/vlc-devel<br></div></blockquote><div><br></div></body></html>