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