Hello, I am a student doing a research project about FOSS and I have a question regarding the definition of open-source that is on the official website (The Open Source Definition – Open Source Initiative). In section 2.“Source Code” it is stated that for a program to be considered open-source the source code must be publicly available. However, if a program is written in assembly for example, would it be impossible for it to be considered FOSS, given that it has no source code? Even if the developer publishes it under one of the approved licenses and thoroughly documents it. I imagine that is not the case, then, is assembly an exception to section 2, or is it considered “source code” perhaps?
Hi @Abad, thank you for your great question!
Section 2 also highlights that “the source code must be the preferred form in which a programmer would modify the program.”
If assembly is the preferred form to modify the program, then that qualifies as source code. It’s perfectly possible that that might be the case, as assembly is a popular low-level language used to access the hardware directly.
However, section 2 states "Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.’
What that means is that a program that was initially developed using high-level language and converted to assembly to deliberately obfuscate its source code would not comply with Section 2 of the OSD, and thus would not be considered to be Open Source.