<div>                Markus,<br><br>Thanks for the historical background on C and GRASS GIS, it sure has its place in this context!<br><br>That grand job on formalising the code, did indeed pay-off! Today we only need to decide what standard to use in the future.<br>Still compiles without problems.<br>Still no need for major (or any really) changes, language wise.<br>Only the compilers of today are perhaps better to identify weak spots.<br><br><br>Nicklas<br>            </div>            <div class="yahoo_quoted" style="margin:10px 0px 0px 0.8ex;border-left:1px solid #ccc;padding-left:1ex;">                        <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">                                <div>                    On Wednesday, 10 February 2021, 14:27:48 CET, Markus Neteler <neteler@osgeo.org> wrote:                </div>                <div><br></div>                <div><br></div>                <div><div dir="ltr">Hi Nicklas, all,<br clear="none"><br clear="none">Thanks for the summary and pushing things forward!<br clear="none"><br clear="none">Just one addition, for the sake of completeness:<br clear="none"><br clear="none">On Wed, Feb 10, 2021 at 1:16 PM Nicklas Larsson via grass-dev<br clear="none"><<a shape="rect" ymailto="mailto:grass-dev@lists.osgeo.org" href="mailto:grass-dev@lists.osgeo.org">grass-dev@lists.osgeo.org</a>> wrote:<br clear="none">><br clear="none">> First of all, thank you all for your feedback and contribution to this topic. I think it is really important to clearly state the "rules of the game" for going forward.<br clear="none">><br clear="none">> Let me try summarise the need for this:<br clear="none">><br clear="none">...<br clear="none">> - G7 has seen the transition from Python 2 to 3 [1]. Going forward, a final (official and unambiguous) dot for Python 2 need to be put with a statement of minimum support of a Python 3 version.<br clear="none"><br clear="none">There was another big transition in the past, being worked on, if I<br clear="none">recall correctly, from 2002 onwards (we started discussions in<br clear="none">ITC-irst with Prof Giulio Antoniol) and implemented the final result<br clear="none">after many discussions in the repo in Januar 2006:<br clear="none"><br clear="none">Source code conversion of K&R C notation to ANSI C, modifying almost<br clear="none">all GRASS GIS files:<br clear="none">- [details](<a shape="rect" href="https://lists.osgeo.org/pipermail/grass-dev/2006-January/020767.html" target="_blank">https://lists.osgeo.org/pipermail/grass-dev/2006-January/020767.html</a>)<br clear="none">- [scientific article](<a shape="rect" href="http://www.antoniol.net/wp-content/papercite-data/pdf/2006/04021333.pdf" target="_blank">http://www.antoniol.net/wp-content/papercite-data/pdf/2006/04021333.pdf</a>):<br clear="none">A Feedback Based Quality Assessment to Support Open Source Software<br clear="none">Evolution: the GRASS Case Study,22nd IEEE International Conference on<br clear="none">Software Maintenance (ICSM'2006),<br clear="none">- related source code changes:<br clear="none">    - [r18618](<a shape="rect" href="https://trac.osgeo.org/grass/changeset/18618" target="_blank">https://trac.osgeo.org/grass/changeset/18618</a>),<br clear="none">    - [r18619](<a shape="rect" href="https://trac.osgeo.org/grass/changeset/18619" target="_blank">https://trac.osgeo.org/grass/changeset/18619</a>),<br clear="none">    - [r18623](<a shape="rect" href="https://trac.osgeo.org/grass/changeset/18623" target="_blank">https://trac.osgeo.org/grass/changeset/18623</a>),<br clear="none">    - [r18625](<a shape="rect" href="https://trac.osgeo.org/grass/changeset/18625" target="_blank">https://trac.osgeo.org/grass/changeset/18625</a>),<br clear="none">    - [r18626](<a shape="rect" href="https://trac.osgeo.org/grass/changeset/18626" target="_blank">https://trac.osgeo.org/grass/changeset/18626</a>),<br clear="none">    - [r18627](<a shape="rect" href="https://trac.osgeo.org/grass/changeset/18627" target="_blank">https://trac.osgeo.org/grass/changeset/18627</a>),<br clear="none">    - [r18628](<a shape="rect" href="https://trac.osgeo.org/grass/changeset/18628" target="_blank">https://trac.osgeo.org/grass/changeset/18628</a>),<br clear="none">    - [r18632](<a shape="rect" href="https://trac.osgeo.org/grass/changeset/18632" target="_blank">https://trac.osgeo.org/grass/changeset/18632</a>),<br clear="none">    - [r18633](<a shape="rect" href="https://trac.osgeo.org/grass/changeset/18633" target="_blank">https://trac.osgeo.org/grass/changeset/18633</a>)<br clear="none"><br clear="none">It was a massive C change as you can see which we managed to generate<br clear="none">by eventually automating most of the conversion/update tasks.<br clear="none">We worked with Prof Antoniol and his team for a long time on this<br clear="none">topic and it was definitely worth it!<div class="yqt8859668538" id="yqtfd90309"><br clear="none"><br clear="none">Best,<br clear="none">Markus</div><br clear="none"><br clear="none">Other related references:<br clear="none">* Di Penta, M., M. Neteler, G. Antoniol, E. Merlo, 2005: A<br clear="none">Language-Independent Software Renovation Framework. Journal of Systems<br clear="none">and Software, 77(3), pp. 225-240. (IF 2005: 0.744),<br clear="none"><a shape="rect" href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.140.4762&rep=rep1&type=pdf" target="_blank">http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.140.4762&rep=rep1&type=pdf</a><br clear="none">* Antoniol, G., M. Di Penta, and M. Neteler, 2003. Moving to smaller<br clear="none">libraries via clustering and genetic algorithms. In CSMR 2003, 7th<br clear="none">IEEE European Conference on Software Maintenance and Reengineering,<br clear="none">Proc. IEEE Computer Society, 307-316,<br clear="none"><a shape="rect" href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.58.988&rep=rep1&type=pdf" target="_blank">http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.58.988&rep=rep1&type=pdf</a><br clear="none">* Di Penta, M. Neteler, G. Antoniol and E. Merlo, 2002. Knowledge<br clear="none">Based Library Refactoring for an Open Source Project. IEEE Working<br clear="none">Conference on Reverse Engineering WCRE, Oct. 28 – Nov. 1, Richmond,<br clear="none">Virginia, USA. Proc. IEEE Computer Society, pp. 319-328.,<br clear="none"><a shape="rect" href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.4.4165&rep=rep1&type=pdf" target="_blank">http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.4.4165&rep=rep1&type=pdf</a><br clear="none"><br clear="none">-- <br clear="none">Markus Neteler, PhD<br clear="none"><a shape="rect" href="https://www.mundialis.de " target="_blank">https://www.mundialis.de </a>- free data with free software<br clear="none"><a shape="rect" href="https://grass.osgeo.org" target="_blank">https://grass.osgeo.org</a><br clear="none"><a shape="rect" href="https://courses.neteler.org/blog" target="_blank">https://courses.neteler.org/blog</a><div class="yqt8859668538" id="yqtfd07806"><br clear="none"></div></div></div>            </div>                </div>