3

Imagine a person develops a program. During development, he/she writes tests for it. But tests are removed before publishing the program.

If the developer relies heavily on the tests then they seem to be a part of the "preferred source of modification". So deleting tests is a form of obfuscation.

Can such software be considered free?

simpadjo
  • 133
  • 3
  • I've seen many "opensource" softwares where checking the code, I can't believe that it was written by hand, by a human being. – peterh Sep 25 '20 at 16:43

1 Answers1

3

Tests are not generally part of a program, so I would consider a license that requires tests to be published to be non-free. Conversely, I think that deliberately withholding tests for open-source software is technically fine, but quite uncooperative.

Unlike the actual source code or build scripts, access to tests is not required to inspect or modify a software. In practice, lack of tests is a barrier to successfully forking a project as the fork might become more buggy than the original project. However, this barrier doesn't actually prevent succesful forking. The relevant software freedoms can still be exercised without tests.

A notable project that doesn't publish its test suite is SQLite, but it uses a very “cathedral” development process (“open source, not open contribution”).

amon
  • 38,880
  • 1
  • 86
  • 113