<div dir="ltr"><div dir="ltr">Hi<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 14, 2020 at 2:32 PM Marc-André Lureau <<a href="mailto:marcandre.lureau@gmail.com">marcandre.lureau@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 11, 2020 at 12:16 PM Marc-André Lureau <<a href="mailto:marcandre.lureau@redhat.com" target="_blank">marcandre.lureau@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
About "Move code to C++":<br>
<a href="https://gitlab.freedesktop.org/spice/spice/-/merge_requests/62" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/spice/spice/-/merge_requests/62</a><br>
<br>
I would like to know how the decision happened. As long as I have been<br>
involved in the Spice project, we had open discussions and did<br>
mandatory review for anything non-trivial.<br>
<br>
This change is substantial, and impacts the work and contribution of<br>
others. Where did the discussion happen? Who reviewed the code<br>
changes?<br>
<br></blockquote><div><br></div><div>Since no real discussion nor public review took place, I propose to revert the change and add a HACKING file to make the rules clear. See:<br></div><div><br></div><div><a href="https://gitlab.freedesktop.org/spice/spice/-/merge_requests/91" target="_blank">https://gitlab.freedesktop.org/spice/spice/-/merge_requests/91</a></div><div><br></div></div></div></blockquote><div><br></div><div>Based on the discussion there, and the fact that a majority of developper are willing to take the change, I closed the MR.<br></div><div><br>Fwiw, beside the fact that the change wasn't done with review nor discussion (which on its own is detrimental), I think using C++ is wrong:<br>- C++ is much more complex than C, and fewer developper know it. A good C++ developper is an even better C developper.<br>- in our common ecosystem, QEMU, Linux, the GNOME desktop, are 90% C projects, and perhaps? 1% C++? (I don't know a single C++ system/core project tbh - only apps like KDE/LibreOffice/Firefox)<br>- C++ projects are switching away from it (ex Firefox), I don't know of a core/system project talking about switching to C++ these days.<br>- switching to C++ is going to be costly, as it is endless, and it will leave a bitter taste of previous/existing C. We could have used that time for other things... I would be pleasantly surprised if such refactoring would lead to regressions.<br>- C has better interoperability story than C++, especially because the code was GObjectified. We could have added/exported more friendly API/bindings for GNOME easily.<br><br>Overall, it's a waste of effort to me. What is the overall direction of the project? Except a few language improvements for a lower number of developpers, what does C++ bring us that we couldn't do with C for our users?</div><div> </div><div>Nevertheless, I will try to invest some time reviewing the changes.</div><div><br></div><div>I hope we can agree on better project rules and directions for the future.<br></div></div></div>