Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
simh repo: Add top level COPYRIGHT and LICENSE files
As requested and discussed in #1028
  • Loading branch information
markpizz committed May 12, 2022
1 parent e1ce9f4 commit ce2adce
Show file tree
Hide file tree
Showing 2 changed files with 112 additions and 0 deletions.
69 changes: 69 additions & 0 deletions COPYING.txt
@@ -0,0 +1,69 @@
The LICENSE.txt file summarizes the general simh license which is
essentially stated at the top of all source code files, along with
some additional limitations spelled out in the LICENSE.txt file.

The purpose of this COPYING.txt file is to provide guidance for folks
who may want to include some or all of the simh code in other projects.
The point of this guidance is so that the actual version of the simh
code is retained in whatever derivative work may be produced so that
problems may be reasonably reported AND so that users and developers
can easily determine what simh version they are working with.

The best way to do this leverages git's archive feature which in
the simh case has simh git commit information embedded in the archive.
Alternatively, some live git operations could be done to fetch and
extrace the current commit/version information from that archive
and then pass it around and through the derivative project's build
mechanism.

GIT ARCHIVE CONSIDERATIONS:

For all projects (even those where Internet connectivity may not be
available on all machines that may build the project) the git archive
feature would be most appropriate.
Additionally a few dozen megabytes of storage on the build machine
won't be needed to hold the complete simh codebase. These days
storage is so cheap that this generally shouldn't be a concern, but
some folks really like to keep things to a minimal footprint.

A git archive containing all of the simh components can be acquired
from the simh gitub repository for the latest simh code from:
https://github.com/simh/simh/archive/master.zip
or for a specific simh commit:
https://github.com/simh/simh/archive/<commit-hash>.zip

The archive produced will automatically contain the specifics of the
simh git version that has been archived.

Each time the simh components are acquired as an archive, the
project's interesting simh pieces can then be extracted from the
archive, modified as needed by that project and the project's build
mechanism can then compile the simh components with:

-DSIM_VERSION_MODE=derivative-project-name-and-or-version

This will result in simulators built this way to have SHOW VERSION
output both identifying the particular version of simh pieces that
were used as well as whatever interesting version the project may
want to identify itself with.

Those acquired and extracted pieces can then be stored in the source
code system for the derivative project and potentially be updated
from time to time.

If all of the simh components aren't going to be available in the
derivative project, all of the actual simulator pieces should generally
be gathered and used within the derivative project. These pieces
should certainly include all the source code (and license files) in
the root simh directory along with the particular simulator's source
directory, and any additional directories which may be referenced in
the normal simulator build. These additional directories may include:
display, slirp and slirp_glue.

DIRECT GIT repository access

Using a direct git approach is more complicated and entangles
capturing the git commit id and time and passing that around and
through the derivative project's build mechanisms and the working
environment available in the derivative project. Folks going down
this path are on their own to try to solve this.
43 changes: 43 additions & 0 deletions LICENSE.txt
@@ -0,0 +1,43 @@
This file summarizes below the general simh license which is essentially
stated at the top of all source code files with the respective authors
mentioned there. Pay particular attention to the last couple of paragraphs
below.

Copyright (c) 1993-2022, Robert M Supnik, Mark Pizzolato and others

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
ROBERT M SUPNIK, MARK PIZZOLATO OR OTHERS BE LIABLE FOR ANY CLAIM, DAMAGES
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of Robert M Supnik, Mark
Pizzolato or anyone else shall not be used in advertising or otherwise to
promote the sale, use or other dealings in this Software without prior
written authorization from all those parties.


Additionally, the following restrictions on the use of this software apply.

Any use of this codebase that changes the code to influence the behavior of
the disk access activities is free to do that as long as anyone doing this
is explicitly not licensed to any subsequent changes to any part of the
codebase made by Mark Pizzolato after that functionality was implemented by
Mark Pizzolato. Changes that qualify for this restriction at least include:
changing the behavior or default of SET AUTOSIZE/NOAUTOSIZE, or any code
in sim_disk.c or any simulator components that use the sim_disk routines.

All changes to the codebase made after the inclusion of this LICENSE.txt
file in the github simh repository.

0 comments on commit ce2adce

Please sign in to comment.