In the natural sciences there is a conceptual tool to make a distinction between discovery and invention: discoveries are embodied in nature while inventions are embodied in artefacts. Notions such as ``reality'' and ``observation'' are used to explain that the instruments--being artefacts--used during experiments lead to valid conclusions that are independent from the actual instruments being used.
In the world of software no plausible distinction between invention and discovery seems possible. As we have seen in Section 2.1, dictionaries fail to make a sharp distinction between these words. It is also artificial to split discovery and invention as the results of science versus those of technology. As a consequence, it seems hard to distinguish algorithmic inventions/discoveries--usually considered as scientific discoveries and thus being unpatentable--from other software inventions. This explains why proponents of software patents have a hard time delineating the scope of patentable content. We expect that no reliable distinction can be made.
It is commonly considered a good thing that countries maintain groups of public knowledge workers who produce software inventions/discoveries which are published before they can ever be patented. This provides a balancing force against software patenting.
Even if the mentioned knowledge workers are classified as scientists and are employed by general universities, that fails to provide any criterion or deeper grounds as to why certain topics in software engineering are being investigated with the purpose of publication in mind rather than that of patenting. It is the phenomenal effectiveness of the scientific mode of operation that justifies the public costs that go with the employment of these software engineering scientists as well as with the facilities that they need for their work. However, each theme within software engineering can be approached in the publication-oriented scientific tradition as well as in a more closed and patent-oriented commercial R & D tradition and both approaches can lead to valid and useful outcomes.