In several of the cases listed here, the game's developers released the source code expressly to prevent their work from becoming abandonware. Such source code is often released under varying (free and non-free, commercial and non-commercial) software licenses to the games' communities or the public; artwork and data are often released under a different license than the source code, as the copyright situation is different or more complicated. The source code may be pushed by the developers to public repositories (e.g. SourceForge or GitHub), or given to selected game community members, or sold with the game, or become available by other means. The game may be written in an interpreted language such as BASIC or Python, and distributed as raw source code without being compiled; early software was often distributed in text form, as in the book BASIC Computer Games. In some cases when a game's source code is not available by other means, the game's community "reconstructs" source code from compiled binary files through time-demanding reverse engineering techniques.
Some user-communities convince companies to voluntarily relinquish copyright on software, putting it into the public domain, or re-license it as free software (freeware). Unlike so-called abandonware, it is perfectly legal to transfer public domain or freely licensed software.
Amstrad is an example which supports emulation and free distribution of CPC and ZX Spectrum hardware ROMs and software. Borland released "antique software" as freeware. Smith Engineering permits not-for-profit reproduction and distribution of Vectrex games and documentation.
Groups that lobby companies to release their software as freeware have met with mixed results. One example is the library of educational titles released by MECC. MECC was sold to Brøderbund, which was sold to The Learning Company. When TLC was contacted about releasing classic MECC titles as freeware, the documentation proving that TLC held the rights to these titles could not be located, and therefore the rights for these titles are "in limbo" and may never be legally released. Lost or unclear copyrights to vintage out-of-print software is not uncommon, as rights to the No One Lives Forever series illustrates.
The problem of missing technical support for a software can be most effectively solved when the source code becomes available. Therefore, several companies decided to release the source code specifically to allow the user communities to provide further technical software support (bug fixes, compatibility adaptions etc.) themselves, e.g. by community patches or source ports to new computing platforms. For instance, in December 2015 Microsoft released the Windows Live Writer source code to allow the community to continue the support.
Id Software and 3D Realms are early proponents in this practice, releasing the source code for the game engines of some older titles under a free software license (but not the actual game content, such as levels or textures). Also Falcon 4.0's lead designer Kevin Klemmick argued in 2011 that availability of the source code of his software for the community was a good thing:
The chilling effect of drawing a possible lawsuit can discourage release of source code. Efforts to persuade IBM to release OS/2 as open source software were ignored since some of the code was co-developed by Microsoft.
In addition to viewing 3D models, you can use Bentley View as a free CAD viewer with capabilities to search for objects, measure distances and areas accurately, and print drawings to scale with full fidelity, on every desktop, for free. You can easily open DWG and open DXF designs with the same fidelity as the authoring software.
There are also free bug finders, of sorts, as you are noting, and yes, that would tend to make them far more reclusive. Why continue scouring open source software for free security vulnerabilities, when you could get mega cash with a totally clear conscience by simply selling to the government?
To turn a simple diode into a guard requires quite a bit more effort on the software side and quite a bit more knowledge, much of which is not freely available and changes with various attack surfaces. Put simply you are looking at the message not as a container as for the simple data diode but inside the container for malicious or prohibited by policy content, that needs to be expunged before forwarding to the data diode. 2b1af7f3a8