FSFE-defined coding standards?

Johannes Zarl-Zierl johannes at zarl-zierl.at
Thu Feb 11 22:58:57 UTC 2021


Hi,

Apart from the principal discussion whether FSFE is well-equipped to define 
"coding standards" without defining a scope for that discussion, I'd like to 
address the introductory paragraph that almost reads as FUD to me:

> The (F)LOSS ecosystem is currently mostly focusing on quantity over quality

Do you have any evidence of this? Intuitively, I would rather assume the 
opposite: proprietary software has a higher incentive to focus on quantity 
over quality, while writing FLOSS software means that one's code is under 
public scrutiny and writing "bad" code can potentially harm your future job 
prospects.

Data from code analyser vendors seems to support this thesis:
https://blog.semmle.com/open-source-vs-proprietary-software/
http://www.ciol.com/coverity-scan-report-source-software-quality-outpaces-proprietary-code/

If there is newer data or academic research that suggests otherwise, I'd like 
to hear about it.


> which results in bloat of software that is not reliable in a mission
> critical environment (and thus making it inferior to proprietary software)

Is that the reason why all core internet protocols are dominated by FLOSS 
implementations?

> or software that requires “reinventing the wheel” because of authors bad
> decision (lack of abstracting → Malpractice).

Yes, "reinventing the wheel" or "not invented here" (NIH) does also affect 
FLOSS communities. Yet proprietary software development practically depends on 
it.


> This proposal is expected to contribute to the solution.

You should start with defining the problem, ideally in a quantifiable way. 
Here are questions that your problem description could potentially benefit 
from:

What is the problem domain?
My guess it's not "the (F)LOSS ecosystem", but judging on your example it may 
be as narrow as "bourne shell scripting".
The great thing about this is that providing coding standards or best 
practices for a narrow set of languages and use-cases is far easier (meaning 
"actually possible") than for each and every programming language in present-
day use.

Is there prior art that is relevant?
Best practices are highly valued in both FLOSS and proprietary environments. 
Hence there are already ample resources, albeit not necessarily evenly 
distributed among programming languages and domains. As an example, consider 
the C++ best guidelines:

https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#main

Looking at academic literature may also yield good approaches for your problem 
description.


What makes the FSFE well-suited to contribute to the solution?
I mean, yes, I support the FSFE and I think the world would be a worse place 
without it - not to mention the many great individuals that are part of FSFE 
and the FSFE community. I also don't want to discourage you from discussing 
topics like this on FSFE community channels. After all, we all care about 
creating high quality FLOSS software that empowers all users.

But going back to my C++ example: who could be better suited to providing best 
practices for a language than the language community itself?


Regards,
  Johannes





More information about the Discussion mailing list