A user emailed me to ask about the license for JEMM. We list this as "Artistic License" on the website, but JEMM includes a few public domain components. https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/repositories/1.3/pkg-html/jemm.html
I wanted to share my reply to this person on the email list. Please reply if you have comments. Overall: I think "Artistic License" is an okay designation for this (see note at end). I looked at JEMM and the Readme.txt file says this: > 8. License > > - JEMM386/JEMMEX: partly Artistic License (see ARTISTIC.TXT for details) > - UMBM: Public Domain > - JEMFBHLP: Public Domain > - CPUID: Public Domain > - CPUSTAT: Public Domain > - EMSSTAT: Public Domain > - XMSSTAT: Public Domain > - MEMSTAT: Public Domain > - MOVEXBDA: Public Domain > - VCPI: Public Domain And it's okay for a project to include public domain code. When someone releases a program as "public domain" they give up all claims to it. (I understand there is some nuance to "public domain" - but that's the general view.) Looking at individual components from JEMM's list: UMBM.ASM * No source code comment about public domain, but line 728 is a message that declares public domain JEMFBHLP.ASM * No source code comments about any license, no printed statement that I could see CPUID.ASM ;--- CPUID displays status of CPU. ;--- Public Domain. ;--- Masm syntax. To be assembled with JWasm or Masm. ;--- uses 16-bit printf CPUSTAT.ASM ;--- CPUSTAT displays status of CPU. ;--- Public Domain. ;--- Masm syntax. To be assembled with JWasm or Masm. ;--- uses 16-bit printf EMSSTAT.ASM ;--- EMSSTAT: display EMS status. ;--- Public Domain. ;--- tools: JWasm/Masm v6 and WLink. XMSSTAT.ASM ;--- XMSSTAT: display xms status. ;--- Public Domain. ;--- to be assembled with JWasm or Masm v6. MEMSTAT.ASM * No source code comments about any license, no printed statement that I could see MOVEXBDA.ASM ;--- MOVEXBDA moves XBDA to low memory. If the XBDA is already moved ;--- or if it is too large, nothing is done. ;--- MOVEXBDA hooks interrupt 19h and will restore the XBDA to its ;--- previous location if this interrupt is called. ;--- MOVEXBDA is Public Domain. VCPI.ASM * No source code comments about any license, no printed statement that I could see ^^ Those are all in the "Tools" directory, and they all seem to be public domain as advertised. No problems so far. :-) The source to JEMM386/JEMMEX is in the "src" directory. Several of the *.ASM files indicate public domain. Here are the exceptions that I found: src/DMA.ASM ;--- DMA port trapping code ;--- originally written by Harald Albrecht ;--- modified for Jemm by Japheth ;--- copyright (c) 1990 c't/Harald Albrecht src/EMS.ASM ;--- EMS implementation ;--- EMS 4.0 is Public Domain, originally written by Michael Devore, ;--- extended and modified for Jemm by Japheth ;--- the EMS 3.2 part is copyrighted and has therefore ;--- been moved into a separate include file (EMS32.INC) src/EMU.ASM ;--- privileged opcode emulation ;--- copyright Tom Ehlert src/INIT16.ASM *No source comments, but found this oin line 152: szCopyRight DB NAMEMOD, '. Parts (c) tom ehlert 2001-2006 c''t/H. Albrecht 1990', LF, 0 src/JEMM32.ASM ;***************************************************************************** ;** This is the main 32bit ASM part of JEMM. ;** ;** JEMM contains code of FreeDOS Emm386, which in turn used the source of ;** an EMM made public in c't (a german IT magazine) in 08/90, page 214, ;** written by Harald Albrecht. ;** ;** some parts the code which is based on FD Emm386 is copyright protected and ;** licensed under the Artistic License version (see LICENSE.TXT for details). ;** ;** 1. EMS 3.2 functions (file EMS32.INC) ;** (c) 1990 c't/Harald Albrecht ;** (c) 2001-2004 tom ehlert ;** 2. DMA support (file DMA.ASM) ;** (c) 1990 c't/Harald Albrecht ;** 3. privileged opcode emulation (file EMU.ASM) ;** (c) 2001-2004 tom ehlert ;** ;** The rest of the 32bit source is Public Domain. ;** ;***************************************************************************** Those are the only *.ASM files that don't seem to be public domain. These seem to originate from an article written by Harald Albrecht in C't magazine, but I searched their website and couldn't find the article. I may have found something in the archives, but it requires purchasing the backissue to find out, and I didn't do that. I don't know what license C't uses for code published in their magazines. From other magazines I've written articles for (about programming) the source code is usually released into the public domain, or at least some very broad permissive license, because readers are encouraged to reuse it to learn more about the topic. The person who emailed me about this was basically asking if "Artistic License" is descriptive enough, or if it should be "Artistic plus public domain" or something like that. My two cents: I think "Artistic License" is still correct. I don't think the inclusion of public domain code requires calling that out; public domain means no one claims it, so that suggests to me that the primary license (i.e. the one to mention in the software list) is still "Artistic License." For example, in some of my programs, I'll release the whole thing under the GNU GPL (if it's very big) or MIT (if it's not so big) but I'll usually put any "support" programs I create under a public domain license (in my case: test programs, or programs that "prepare data" for the larger program). But I still advertise the program as a whole as under the GNU GPL (or MIT, depending). Thoughts? Jim _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel