From ce2adce632e1a22e6d76d4bf726d6b863373c550 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Thu, 12 May 2022 13:11:40 -0700 Subject: [PATCH] simh repo: Add top level COPYRIGHT and LICENSE files As requested and discussed in #1028 --- COPYING.txt | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++ LICENSE.txt | 43 +++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 COPYING.txt create mode 100644 LICENSE.txt diff --git a/COPYING.txt b/COPYING.txt new file mode 100644 index 00000000..d4d49aa6 --- /dev/null +++ b/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/.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. diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 00000000..0eef9505 --- /dev/null +++ b/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.